diff --git a/.github/workflows/deploy-docs-pages.yml b/.github/workflows/deploy-docs-pages.yml
index f043171..e6018be 100644
--- a/.github/workflows/deploy-docs-pages.yml
+++ b/.github/workflows/deploy-docs-pages.yml
@@ -5,6 +5,7 @@ on:
branches: [main]
paths:
- 'web_examples/**'
+ - 'packages/axoloth-behavior/src/**'
- 'packages/axoloth-style/src/**'
- 'packages/axoloth-style/metadata/**'
- '.github/workflows/deploy-docs-pages.yml'
@@ -53,11 +54,14 @@ jobs:
set -euo pipefail
rm -rf dist-pages
mkdir -p dist-pages/packages/axoloth-style
+ mkdir -p dist-pages/packages/axoloth-behavior
cp -R web_examples/. dist-pages/
+ cp -R packages/axoloth-behavior/src dist-pages/packages/axoloth-behavior/src
cp -R packages/axoloth-style/src dist-pages/packages/axoloth-style/src
sed -i 's#../packages/axoloth-style/src/axoloth.css#./packages/axoloth-style/src/axoloth.css#g' dist-pages/index.html
find dist-pages/examples -name index.html -print0 | xargs -0 sed -i 's#../../../packages/axoloth-style/src/axoloth.css#../../packages/axoloth-style/src/axoloth.css#g'
find dist-pages/docs -name index.html -print0 | xargs -0 sed -i 's#../../../packages/axoloth-style/src/axoloth.css#../../packages/axoloth-style/src/axoloth.css#g'
+ find dist-pages/recipes -name index.html -print0 | xargs -0 sed -i 's#../../../packages/axoloth-style/src/axoloth.css#../../packages/axoloth-style/src/axoloth.css#g'
- name: Configure GitHub Pages
uses: actions/configure-pages@v5
diff --git a/README.md b/README.md
index 5feb223..df8aece 100644
--- a/README.md
+++ b/README.md
@@ -86,7 +86,10 @@ For browser-native Vanilla JavaScript, import a pinned behavior module:
```
Behavior is never initialized by the CSS package. Import and initialize only
-the components the page uses.
+the components the page uses. See the
+[Behavior Guide](https://amilliondriver.github.io/MotionStyleLibrary/docs/behavior/)
+for installation, initialize-all and per-component patterns, cleanup,
+troubleshooting, and runnable Vanilla examples.
### Bundler And Modular CSS
diff --git a/packages/axoloth-behavior/README.md b/packages/axoloth-behavior/README.md
index 2e24f22..9ee3010 100644
--- a/packages/axoloth-behavior/README.md
+++ b/packages/axoloth-behavior/README.md
@@ -4,6 +4,12 @@ Optional zero-dependency JavaScript behaviors for `@quertys/axoloth-style`.
Axoloth Behavior keeps interactive state separate from the CSS-first package. Install it only when a layout needs tabs, accordions, dropdowns, toasts, drawers, an off-canvas sidebar, or a dialog. The package is framework-neutral and works with plain HTML, React, Vue, Svelte, Angular, or any DOM-based application.
+> Axoloth Style provides layout and presentation. Axoloth Behavior attaches interaction to
+> `data-axo-*` attributes. Importing the CSS alone never initializes JavaScript behavior.
+
+Read the [Behavior Guide and live Vanilla demos](https://amilliondriver.github.io/MotionStyleLibrary/docs/behavior/)
+for runnable tabs, accordion, dialog, and drawer examples.
+
## API Stability
Version `0.6.0` validates package exports, initializers, declarative attributes,
@@ -17,7 +23,47 @@ and custom events against the reviewed `0.4.0` baseline. Read
npm install @quertys/axoloth-style @quertys/axoloth-behavior
```
-Import the Axoloth CSS once, then initialize only the behavior you use:
+## Initialize Everything
+
+Import the Axoloth CSS once, then initialize the behavior package after the DOM is available:
+
+```js
+import '@quertys/axoloth-style/axoloth.css';
+import { initAxolothBehaviors } from '@quertys/axoloth-behavior';
+
+const axoloth = initAxolothBehaviors();
+
+// Remove every listener when the page or application is disposed.
+window.addEventListener('pagehide', () => axoloth.destroy(), { once: true });
+```
+
+`initAxolothBehaviors()` initializes every exported behavior and returns their controllers under
+`accordion`, `dialog`, `drawer`, `dropdown`, `offcanvas`, `tabs`, and `toast`.
+
+## CDN / Native ES Modules
+
+No bundler is required. Load the CSS with a stylesheet link and import the JavaScript from an ES
+module script:
+
+```html
+
+
+
+```
+
+Pin both versions in production so a future release cannot change a deployed page unexpectedly.
+
+## Initialize One Behavior
+
+Import only the behavior used by the page when you want a smaller, explicit setup:
```js
import '@quertys/axoloth-style/axoloth.css';
@@ -42,6 +88,21 @@ All initializers accept an optional root as their first argument and options as
their second argument. For example, configure Toast with
`initToast(document, { duration: 4500, limit: 3 })`.
+Scope an initializer to one part of a page and clean it up independently:
+
+```js
+import { initTabs } from '@quertys/axoloth-behavior/tabs';
+
+const accountSection = document.querySelector('#account-section');
+const tabs = initTabs(accountSection);
+
+// Re-scan after adding matching markup dynamically.
+tabs.refresh();
+
+// Remove listeners before replacing or unmounting the section.
+tabs.destroy();
+```
+
## Tabs
```html
@@ -308,18 +369,42 @@ dialogElement.addEventListener('axo:dialog-close', () => {
Off-canvas controllers dispatch `axo:offcanvas-open` and `axo:offcanvas-close`.
-## Initialize All Available Behaviors
+## Troubleshooting
-```js
-import { initAxolothBehaviors } from '@quertys/axoloth-behavior';
+### `data-axo-*` attributes do nothing
-const axoloth = initAxolothBehaviors();
+The package intentionally does not auto-initialize. Confirm that the behavior package is imported
+from a `
+
+
+
+