@excom/valence 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.rush/temp/chunked-rush-logs/valence.apply-exports.chunks.jsonl +1 -0
- package/.rush/temp/chunked-rush-logs/valence.build_package-metas.chunks.jsonl +1 -0
- package/.rush/temp/operation/apply-exports/all.log +1 -0
- package/.rush/temp/operation/apply-exports/log-chunks.jsonl +1 -0
- package/.rush/temp/operation/apply-exports/state.json +3 -0
- package/.rush/temp/operation/build_package-metas/all.log +1 -0
- package/.rush/temp/operation/build_package-metas/log-chunks.jsonl +1 -0
- package/.rush/temp/operation/build_package-metas/state.json +3 -0
- package/.rush/temp/shrinkwrap-deps.json +3 -0
- package/basic-vars.css +395 -0
- package/basic.css +3 -0
- package/package.json +35 -0
- package/rush-logs/valence.apply-exports.cache.log +1 -0
- package/rush-logs/valence.apply-exports.log +1 -0
- package/rush-logs/valence.build_package-metas.cache.log +1 -0
- package/rush-logs/valence.build_package-metas.log +1 -0
- package/src/aliases.css +125 -0
- package/src/apply.css +54 -0
- package/src/components/accordion.css +134 -0
- package/src/components/card.css +54 -0
- package/src/components/dropdown.css +235 -0
- package/src/components/group.css +119 -0
- package/src/components/loading.css +41 -0
- package/src/components/modal.css +172 -0
- package/src/components/nav.css +198 -0
- package/src/components/popover.css +83 -0
- package/src/components/progress.css +88 -0
- package/src/components/tooltip.css +209 -0
- package/src/content/button.css +184 -0
- package/src/content/code.css +68 -0
- package/src/content/embedded.css +49 -0
- package/src/content/figure.css +17 -0
- package/src/content/link.css +79 -0
- package/src/content/misc.css +29 -0
- package/src/content/table.css +144 -0
- package/src/content/typography.css +218 -0
- package/src/forms/basics.css +415 -0
- package/src/forms/checkbox-radio-switch.css +163 -0
- package/src/forms/input-color.css +27 -0
- package/src/forms/input-date.css +66 -0
- package/src/forms/input-file.css +37 -0
- package/src/forms/input-range.css +109 -0
- package/src/forms/input-search.css +52 -0
- package/src/layout/abstract.css +9 -0
- package/src/layout/container.css +43 -0
- package/src/layout/document.css +45 -0
- package/src/layout/grid.css +24 -0
- package/src/layout/landmarks.css +54 -0
- package/src/layout/overflow-auto.css +33 -0
- package/src/layout/section.css +10 -0
- package/src/mixins.basic.css +308 -0
- package/src/mixins.default.css +49 -0
- package/src/util.default.css +55 -0
- package/src/utilities/accessibility.css +69 -0
- package/src/utilities/opt-outs.css +32 -0
- package/support/demos/accordion.html +18 -0
- package/support/demos/aliases.html +6 -0
- package/support/demos/button.html +14 -0
- package/support/demos/card.html +8 -0
- package/support/demos/checkboxes.html +22 -0
- package/support/demos/code.html +6 -0
- package/support/demos/container.html +15 -0
- package/support/demos/css-variables.html +14 -0
- package/support/demos/dropdown.html +17 -0
- package/support/demos/embedded.html +7 -0
- package/support/demos/forms.html +18 -0
- package/support/demos/grid.html +13 -0
- package/support/demos/group.html +14 -0
- package/support/demos/input.html +11 -0
- package/support/demos/landmarks.html +20 -0
- package/support/demos/link.html +7 -0
- package/support/demos/loading.html +5 -0
- package/support/demos/modal.html +18 -0
- package/support/demos/nav.html +39 -0
- package/support/demos/opt-outs.html +8 -0
- package/support/demos/overflow-auto.html +12 -0
- package/support/demos/popover.html +6 -0
- package/support/demos/progress.html +4 -0
- package/support/demos/range.html +6 -0
- package/support/demos/schemes.html +12 -0
- package/support/demos/select.html +13 -0
- package/support/demos/table.html +18 -0
- package/support/demos/textarea.html +7 -0
- package/support/demos/tooltip.html +7 -0
- package/support/demos/typography.html +18 -0
- package/support/docs/ACCORDION.md +26 -0
- package/support/docs/ALIASES.md +35 -0
- package/support/docs/BUTTON.md +28 -0
- package/support/docs/CARD.md +23 -0
- package/support/docs/CHECKBOXES.md +21 -0
- package/support/docs/CODE.md +18 -0
- package/support/docs/CONTAINER.md +24 -0
- package/support/docs/CSS_VARIABLES.md +44 -0
- package/support/docs/DROPDOWN.md +22 -0
- package/support/docs/EMBEDDED.md +18 -0
- package/support/docs/FORMS.md +44 -0
- package/support/docs/GRID.md +19 -0
- package/support/docs/GROUP.md +24 -0
- package/support/docs/INPUT.md +26 -0
- package/support/docs/LANDMARKS.md +25 -0
- package/support/docs/LINK.md +23 -0
- package/support/docs/LOADING.md +15 -0
- package/support/docs/MODAL.md +36 -0
- package/support/docs/NAV.md +25 -0
- package/support/docs/OPT_OUTS.md +31 -0
- package/support/docs/OVERFLOW_AUTO.md +15 -0
- package/support/docs/POPOVER.md +19 -0
- package/support/docs/PROGRESS.md +14 -0
- package/support/docs/RANGE.md +16 -0
- package/support/docs/README.md +70 -0
- package/support/docs/SCHEMES.md +20 -0
- package/support/docs/SELECT.md +18 -0
- package/support/docs/TABLE.md +29 -0
- package/support/docs/TEXTAREA.md +16 -0
- package/support/docs/THEMES.md +39 -0
- package/support/docs/TOOLTIP.md +18 -0
- package/support/docs/TYPOGRAPHY.md +29 -0
- package/support/docs-sections.json +45 -0
- package/support/flat-vars.css +197 -0
- package/support/flat.css +4 -0
- package/support/package-meta.json +1820 -0
- package/support/paper-vars.css +203 -0
- package/support/paper.css +4 -0
|
@@ -0,0 +1,1820 @@
|
|
|
1
|
+
{
|
|
2
|
+
"shortName": "valence",
|
|
3
|
+
"package": {
|
|
4
|
+
"name": "@excom/valence",
|
|
5
|
+
"version": "0.1.0",
|
|
6
|
+
"description": "Semantic CSS with class / ARIA aliases for native HTML and custom elements",
|
|
7
|
+
"peerDependencies": {},
|
|
8
|
+
"excom": {
|
|
9
|
+
"packageType": "library"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"demos": {
|
|
13
|
+
"accordion": "<div>\n <details open>\n <summary>Plain accordion</summary>\n <p>Content animates open and closed.</p>\n </details>\n <details>\n <summary role=\"button\">Button summary</summary>\n <p>A <code>summary[role=\"button\"]</code> is a full-width button.</p>\n </details>\n <details>\n <summary role=\"button\" class=\"outline secondary\">Outline secondary</summary>\n <p>Button flavors apply to summaries too.</p>\n </details>\n <x-disclosure class=\"tag-details\" open>\n <span class=\"tag-summary\">Aliased accordion</span>\n <p>Custom elements join in with <code>.tag-details</code> / <code>.tag-summary</code>.</p>\n </x-disclosure>\n</div>\n",
|
|
14
|
+
"aliases": "<div>\n <article>Native <code><article></code></article>\n <div role=\"article\">Role alias <code>[role=\"article\"]</code></div>\n <x-panel class=\"tag-article\">Class alias on a custom element <code>.tag-article</code></x-panel>\n <x-action class=\"tag-button\">.tag-button</x-action>\n</div>\n",
|
|
15
|
+
"button": "<div>\n <button>Primary</button>\n <button class=\"secondary\">Secondary</button>\n <button class=\"contrast\">Contrast</button>\n <button class=\"outline\">Outline</button>\n <button class=\"outline secondary\">Outline secondary</button>\n <button class=\"outline contrast\">Outline contrast</button>\n <button disabled>Disabled</button>\n <button aria-busy=\"true\">Busy</button>\n <x-action class=\"tag-button\">Custom element</x-action>\n <style>\n #demo-valence-button > :first-child > * { margin: 0 0.25rem 0.5rem 0; }\n </style>\n</div>\n",
|
|
16
|
+
"card": "<article>\n <header>Header</header>\n <p>Cards are <code>article</code>s: padding, radius and shadow come from <code>--v-card-*</code>.</p>\n <article class=\"nested\">\n <p>A <code>.nested</code> card sits quietly inside another.</p>\n </article>\n <footer>Footer</footer>\n</article>\n",
|
|
17
|
+
"checkboxes": "<form>\n <fieldset>\n <legend>Checkboxes</legend>\n <label><input type=\"checkbox\" checked /> Checked</label>\n <label><input type=\"checkbox\" id=\"demo-indeterminate\" /> Indeterminate</label>\n <label><input type=\"checkbox\" disabled /> Disabled</label>\n </fieldset>\n <fieldset>\n <legend>Radios</legend>\n <label><input type=\"radio\" name=\"r\" checked /> One</label>\n <label><input type=\"radio\" name=\"r\" /> Two</label>\n </fieldset>\n <fieldset>\n <legend>Switches</legend>\n <label><input type=\"checkbox\" role=\"switch\" checked /> On</label>\n <label><input type=\"checkbox\" role=\"switch\" /> Off</label>\n <label><input type=\"checkbox\" role=\"switch\" aria-invalid=\"true\" checked /> Invalid</label>\n </fieldset>\n <script type=\"module\">\n document.getElementById(\"demo-indeterminate\").indeterminate = true;\n </script>\n</form>\n",
|
|
18
|
+
"code": "<div>\n <p>Inline <code>code</code>, keyboard <kbd>⌘</kbd> <kbd>K</kbd> and sample output <samp>ok</samp>.</p>\n <pre><code><article class=\"tag-article\">\n Aliased card\n</article></code></pre>\n</div>\n",
|
|
19
|
+
"container": "<div>\n <div class=\"container\">\n <p><code>.container</code> — centered, max-width per breakpoint</p>\n </div>\n <div class=\"container-fluid\">\n <p><code>.container-fluid</code> — full width, padding only</p>\n </div>\n <style>\n #demo-valence-container > :first-child > div {\n margin-bottom: var(--v-spacing);\n border: 1px dashed var(--v-muted-color);\n p { margin: 0; padding: var(--v-spacing) 0; }\n }\n </style>\n</div>\n",
|
|
20
|
+
"css-variables": "<section>\n <button>Themed button</button>\n <a href=\"#\">Themed link</a>\n <style>\n #demo-valence-css-variables > :first-child {\n --v-primary: #7c3aed;\n --v-primary-background: #7c3aed;\n --v-primary-hover: #5b21b6;\n --v-primary-hover-background: #6d28d9;\n --v-primary-underline: rgba(124, 58, 237, 0.5);\n --v-border-radius: 2rem;\n }\n </style>\n</section>\n",
|
|
21
|
+
"dropdown": "<div>\n <details class=\"dropdown\">\n <summary>Choose a planet…</summary>\n <ul>\n <li><a href=\"#\">Mercury</a></li>\n <li><a href=\"#\">Venus</a></li>\n <li><a href=\"#\">Earth</a></li>\n </ul>\n </details>\n <details class=\"dropdown\">\n <summary role=\"button\">Button dropdown</summary>\n <ul>\n <li><label><input type=\"checkbox\" checked /> Rings</label></li>\n <li><label><input type=\"checkbox\" /> Moons</label></li>\n </ul>\n </details>\n</div>\n",
|
|
22
|
+
"embedded": "<figure>\n <svg viewBox=\"0 0 320 120\" role=\"img\" aria-label=\"Placeholder image\" style=\"width: 100%; background: var(--v-card-sectioning-background-color); border-radius: var(--v-border-radius)\">\n <circle cx=\"60\" cy=\"60\" r=\"36\" fill=\"var(--v-primary)\" />\n <rect x=\"130\" y=\"30\" width=\"150\" height=\"60\" rx=\"8\" fill=\"var(--v-secondary)\" />\n </svg>\n <figcaption>Media is responsive and middle-aligned; <code>figcaption</code> is muted.</figcaption>\n</figure>\n",
|
|
23
|
+
"forms": "<form>\n <label>\n Email\n <input type=\"email\" name=\"email\" placeholder=\"you@example.com\" autocomplete=\"email\" />\n </label>\n <label>\n Password\n <input type=\"password\" name=\"password\" aria-invalid=\"true\" />\n <small>At least 8 characters.</small>\n </label>\n <fieldset>\n <legend>Plan</legend>\n <label><input type=\"radio\" name=\"plan\" value=\"free\" checked /> Free</label>\n <label><input type=\"radio\" name=\"plan\" value=\"pro\" /> Pro</label>\n </fieldset>\n <label><input type=\"checkbox\" name=\"terms\" /> I agree to the terms</label>\n <button type=\"submit\">Sign up</button>\n</form>\n",
|
|
24
|
+
"grid": "<div class=\"grid\">\n <div>1</div>\n <div>2</div>\n <div>3</div>\n <style>\n #demo-valence-grid > :first-child > div {\n padding: var(--v-spacing);\n text-align: center;\n border: 1px dashed var(--v-muted-color);\n border-radius: var(--v-border-radius);\n }\n </style>\n</div>\n",
|
|
25
|
+
"group": "<form>\n <fieldset role=\"group\">\n <input type=\"email\" placeholder=\"Email\" aria-label=\"Email\" autocomplete=\"email\" />\n <button type=\"submit\">Subscribe</button>\n </fieldset>\n <fieldset role=\"search\">\n <input type=\"search\" placeholder=\"Search\" aria-label=\"Search\" />\n <button type=\"submit\">Go</button>\n </fieldset>\n <fieldset role=\"group\">\n <input type=\"text\" placeholder=\"Domain\" aria-label=\"Domain\" />\n <label><input type=\"checkbox\" role=\"switch\" checked /> HTTPS</label>\n </fieldset>\n</form>\n",
|
|
26
|
+
"input": "<form>\n <input type=\"text\" placeholder=\"Text\" aria-label=\"Text\" />\n <input type=\"search\" placeholder=\"Search\" aria-label=\"Search\" />\n <input type=\"date\" aria-label=\"Date\" />\n <input type=\"text\" value=\"Valid\" aria-invalid=\"false\" aria-label=\"Valid\" />\n <input type=\"text\" value=\"Invalid\" aria-invalid=\"true\" aria-label=\"Invalid\" />\n <input type=\"text\" value=\"Read-only\" readonly aria-label=\"Read-only\" />\n <input type=\"text\" value=\"Disabled\" disabled aria-label=\"Disabled\" />\n <input type=\"file\" aria-label=\"File\" />\n <input type=\"color\" value=\"#0172ad\" aria-label=\"Color\" />\n</form>\n",
|
|
27
|
+
"landmarks": "<div>\n <section>\n <hgroup>\n <h4>First section</h4>\n <p>Sections space themselves vertically</p>\n </hgroup>\n </section>\n <section>\n <hgroup>\n <h4>Second section</h4>\n <p><code>--v-block-spacing-vertical</code> grows with the viewport</p>\n </hgroup>\n </section>\n <style>\n #demo-valence-landmarks > :first-child section {\n border: 1px dashed var(--v-muted-color);\n padding: var(--v-spacing);\n }\n </style>\n</div>\n",
|
|
28
|
+
"link": "<p>\n <a href=\"#\">Primary</a> ·\n <a href=\"#\" class=\"secondary\">Secondary</a> ·\n <a href=\"#\" class=\"contrast\">Contrast</a> ·\n <a href=\"#\" aria-current=\"page\">Current</a> ·\n <a href=\"#\" role=\"button\">Link as button</a>\n</p>\n",
|
|
29
|
+
"loading": "<div>\n <button aria-busy=\"true\">Saving…</button>\n <button class=\"secondary outline\" aria-busy=\"true\"></button>\n <article aria-busy=\"true\">Loading the card…</article>\n</div>\n",
|
|
30
|
+
"modal": "<div>\n <event-handler target-ref=\":scope ~ dialog\" command-name=\"show-modal\" class=\"tag-button\">Open modal</event-handler>\n <dialog>\n <article>\n <header>\n <event-handler target-ref=\":scope ~ dialog, dialog:has(:scope)\" command-name=\"close\" class=\"tag-button\" rel=\"prev\" aria-label=\"Close\"></event-handler>\n <h5>Confirm</h5>\n </header>\n <p>A <code>dialog</code> centers its <code>article</code>; the header close control and the footer buttons are styled for you.</p>\n <footer>\n <form method=\"dialog\">\n <button class=\"secondary\">Cancel</button>\n <button>Confirm</button>\n </form>\n </footer>\n </article>\n </dialog>\n</div>\n",
|
|
31
|
+
"nav": "<div>\n <nav>\n <ul>\n <li><strong>Brand</strong></li>\n </ul>\n <ul>\n <li><a href=\"#\">Docs</a></li>\n <li><a href=\"#\" aria-current=\"page\">Blog</a></li>\n <li>\n <details class=\"dropdown\">\n <summary>More</summary>\n <ul dir=\"rtl\">\n <li><a href=\"#\">About</a></li>\n <li><a href=\"#\">Contact</a></li>\n </ul>\n </details>\n </li>\n </ul>\n </nav>\n <nav aria-label=\"breadcrumb\">\n <ul>\n <li><a href=\"#\">Home</a></li>\n <li><a href=\"#\">Docs</a></li>\n <li><a href=\"#\" aria-current=\"page\">Nav</a></li>\n </ul>\n </nav>\n <aside>\n <nav>\n <ul role=\"tree\">\n <li><a href=\"#\" aria-current=\"page\">Getting started</a></li>\n <li><a href=\"#\">Layout</a>\n <ul role=\"tree\">\n <li><a href=\"#\">Grid</a></li>\n </ul>\n </li>\n </ul>\n </nav>\n </aside>\n</div>\n",
|
|
32
|
+
"opt-outs": "<div>\n <button>Styled</button>\n <button class=\"unstyled\">Unstyled (browser default)</button>\n <article class=\"unstyled-all\">\n <p>This card and everything inside it is left to the browser.</p>\n <button>Native button</button>\n </article>\n</div>\n",
|
|
33
|
+
"overflow-auto": "<div class=\"overflow-auto\">\n <table>\n <thead>\n <tr><th>Planet</th><th>Diameter (km)</th><th>Distance from Sun (10⁶ km)</th><th>Orbital period (days)</th><th>Moons</th></tr>\n </thead>\n <tbody>\n <tr><td>Mercury</td><td>4,879</td><td>57.9</td><td>88</td><td>0</td></tr>\n <tr><td>Venus</td><td>12,104</td><td>108.2</td><td>224.7</td><td>0</td></tr>\n <tr><td>Earth</td><td>12,756</td><td>149.6</td><td>365.2</td><td>1</td></tr>\n </tbody>\n </table>\n</div>\n",
|
|
34
|
+
"popover": "<p>\n <button popovertarget=\"demo-valence-pop-top\" popovertargetaction=\"toggle\">Top</button>\n <div id=\"demo-valence-pop-top\" popover>Anchored above the button.</div>\n <button popovertarget=\"demo-valence-pop-bottom\" class=\"secondary\">Bottom</button>\n <div id=\"demo-valence-pop-bottom\" popover data-placement=\"bottom\">Anchored below the button.</div>\n</p>\n",
|
|
35
|
+
"progress": "<div>\n <progress value=\"35\" max=\"100\"></progress>\n <progress></progress>\n</div>\n",
|
|
36
|
+
"range": "<form>\n <label>\n Brightness\n <input type=\"range\" min=\"0\" max=\"100\" value=\"40\" />\n </label>\n</form>\n",
|
|
37
|
+
"schemes": "<div>\n <article data-scheme=\"light\">\n <h4>Light</h4>\n <p>Forced with <code>data-scheme=\"light\"</code>.</p>\n <button>Primary</button>\n </article>\n <article data-scheme=\"dark\">\n <h4>Dark</h4>\n <p>Forced with <code>data-scheme=\"dark\"</code>.</p>\n <button>Primary</button>\n </article>\n</div>\n",
|
|
38
|
+
"select": "<form>\n <select name=\"planet\" aria-label=\"Planet\" required>\n <option selected disabled value=\"\">Select a planet…</option>\n <option>Mercury</option>\n <option>Venus</option>\n <option>Earth</option>\n </select>\n <select name=\"moons\" aria-label=\"Moons\" multiple size=\"3\">\n <option selected>Luna</option>\n <option>Phobos</option>\n <option>Deimos</option>\n </select>\n</form>\n",
|
|
39
|
+
"table": "<table class=\"striped\">\n <thead>\n <tr>\n <th scope=\"col\" aria-sort=\"ascending\">Planet</th>\n <th scope=\"col\" aria-sort=\"none\">Diameter</th>\n <th scope=\"col\">Moons</th>\n </tr>\n </thead>\n <tbody>\n <tr><th scope=\"row\">Mercury</th><td>4,879 km</td><td>0</td></tr>\n <tr><th scope=\"row\">Venus</th><td>12,104 km</td><td>0</td></tr>\n <tr><th scope=\"row\">Earth</th><td>12,756 km</td><td>1</td></tr>\n <tr><th scope=\"row\">Mars</th><td>6,792 km</td><td>2</td></tr>\n </tbody>\n <tfoot>\n <tr><th scope=\"row\">Total</th><td></td><td>3</td></tr>\n </tfoot>\n</table>\n",
|
|
40
|
+
"textarea": "<form>\n <label>\n Message\n <textarea name=\"message\" placeholder=\"Write something…\" rows=\"3\"></textarea>\n <small>Resizes vertically.</small>\n </label>\n</form>\n",
|
|
41
|
+
"tooltip": "<p>\n <span role=\"tooltip\" aria-description=\"Shown above by default\">Hover me</span>\n ·\n <button role=\"tooltip\" aria-description=\"Placed below\" data-placement=\"bottom\">Bottom</button>\n ·\n <a href=\"#\" role=\"tooltip\" aria-description=\"To the right\" data-placement=\"right\">Right</a>\n</p>\n",
|
|
42
|
+
"typography": "<div>\n <hgroup>\n <h3>Heading group</h3>\n <p>The last child of an <code>hgroup</code> is muted</p>\n </hgroup>\n <p>A paragraph with <strong>strong</strong>, <em>emphasis</em>, <mark>mark</mark>, <ins>ins</ins>, <del>del</del>, <abbr title=\"Accessible Rich Internet Applications\">ARIA</abbr>, <kbd>Ctrl</kbd> and <code>code</code>.</p>\n <ul>\n <li>Square markers on <code>ul</code></li>\n <li>Nested lists keep their spacing\n <ul><li>like this one</li></ul>\n </li>\n </ul>\n <blockquote>\n Valence.css is a lightly modified fork of Pico.\n <footer><cite>— the README</cite></footer>\n </blockquote>\n <small role=\"note\">A <code>small[role=\"note\"]</code> is a block-level muted note.</small>\n</div>\n"
|
|
43
|
+
},
|
|
44
|
+
"readme": "<h1 id=\"md-valence-css\">Valence.css</h1>\n<p>Classless CSS that still loves your custom elements — Pico's elegance, remixed for the modern web.</p>\n<p>Valence.css is a lightly modified fork of the excellent <a href=\"https://picocss.com\">Pico CSS</a>. Pico styles are tightly bound to native tag names (<code>article</code>, <code>button</code>, …), which custom elements cannot reuse. Valence.css keeps Pico's look and adds:</p>\n<ul>\n<li><strong>Tag aliases</strong> — <code>@custom-selector</code> synonyms so <code>[role="…"]</code> / <code>.tag-*</code> (and custom element tags) share the same semantic styles</li>\n<li><strong>Opt-outs</strong> — <code>.unstyled</code> / <code>.unstyled-all</code> (and <code>.unanimated*</code>) for document flexibility where framework styles would fight you</li>\n<li><strong>Drop-in themes</strong> — <code>basic</code> (Pico-faithful) ships today; further themes share the same tokens so they can be swapped without touching markup. Light/dark is a <em>scheme</em> (<code>[data-scheme]</code>)</li>\n<li><strong>Molecules</strong> — cards, dropdowns, modals (<code>dialog::backdrop</code> / <code>[role="presentation"]</code> / <code>.tag-backdrop</code>), nav, progress, and native <code>[popover]</code> styles on top of Pico's element styles</li>\n<li><strong>Tokens</strong> — <code>--pico-*</code> renamed to <code>--v-*</code> for a clear Valence.css namespace</li>\n</ul>\n<h2 id=\"md-features\">Features</h2>\n<ul>\n<li><strong>Semantic tag aliases</strong> Style <code>article</code>, <code>dialog</code>, <code>button</code>, … — the same rules apply to the <code>[role="…"]</code> / <code>.tag-*</code> forms</li>\n<li><strong>Custom-element friendly</strong> <code>class="tag-article"</code> on any host inherits Valence.css styles without rewriting selectors</li>\n<li><strong>Drop-in themes</strong> <code>basic</code> (Pico-flavor) ships; further themes share the same tokens. Scheme via <code>[data-scheme="light|dark"]</code></li>\n<li><strong>Opt-outs</strong> <code>.unstyled</code> / <code>.unstyled-all</code> (and motion: <code>.unanimated*</code>)</li>\n<li><strong>Molecules</strong> Cards, dropdowns, modals (<code>dialog::backdrop</code> / <code>[role="presentation"]</code> / <code>.tag-backdrop</code>), nav, progress, popovers, tooltips</li>\n</ul>\n<h2 id=\"md-installation\">Installation</h2>\n<p><include-content is-active template-ref=\"/views/install-section/install-section.html\"></include-content></p>\n<h2 id=\"md-usage\">Usage</h2>\n<p>Import a theme entry (CSS). Prefer aliases when styling custom elements.</p>\n<include-content data-language=\"css\"><template>@import \"@excom/valence/basic.css\";</template></include-content>\n<include-content data-language=\"html\"><template><article>Native card</article>\n<event-handler class=\"tag-article\">Aliased card</event-handler>\n<button class=\"outline secondary\">Outline</button></template></include-content>\n<h3 id=\"md-documentation\">Documentation</h3>\n<p>Getting started</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/schemes\" role=\"link\">Color schemes</spa-a> — automatic light / dark, <code>data-scheme</code></li>\n<li><spa-a route-href=\"/nucleus/packages/valence/aliases\" role=\"link\">Aliases</spa-a> — tag, role and <code>.tag-*</code> forms of every alias; custom elements</li>\n<li><spa-a route-href=\"/nucleus/packages/valence/opt_outs\" role=\"link\">Opt-outs</spa-a> — <code>.unstyled</code>, <code>.unanimated</code>, <code>.abstract</code></li>\n</ul>\n<p>Customization</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/css_variables\" role=\"link\">CSS variables</spa-a> — the <code>--v-*</code> tokens</li>\n<li><spa-a route-href=\"/nucleus/packages/valence/themes\" role=\"link\">Themes & layers</spa-a> — entries, <code>@layer</code> strategy, mixins for element authors</li>\n</ul>\n<p>Layout</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/container\" role=\"link\">Container</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/landmarks\" role=\"link\">Landmarks & section</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/grid\" role=\"link\">Grid</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/overflow_auto\" role=\"link\">Overflow auto</spa-a></li>\n</ul>\n<p>Content</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/typography\" role=\"link\">Typography</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/link\" role=\"link\">Link</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/button\" role=\"link\">Button</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/table\" role=\"link\">Table</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/code\" role=\"link\">Code</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/embedded\" role=\"link\">Embedded content</spa-a></li>\n</ul>\n<p>Forms</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/forms\" role=\"link\">Forms</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/input\" role=\"link\">Input</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/textarea\" role=\"link\">Textarea</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/select\" role=\"link\">Select</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/checkboxes\" role=\"link\">Checkboxes, radios & switches</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/range\" role=\"link\">Range</spa-a></li>\n</ul>\n<p>Components</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/accordion\" role=\"link\">Accordion</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/card\" role=\"link\">Card</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/dropdown\" role=\"link\">Dropdown</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/group\" role=\"link\">Group</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/loading\" role=\"link\">Loading</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/modal\" role=\"link\">Modal</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/nav\" role=\"link\">Nav</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/popover\" role=\"link\">Popover</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/progress\" role=\"link\">Progress</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/tooltip\" role=\"link\">Tooltip</spa-a></li>\n</ul>\n<h3 id=\"md-api-reference\">API Reference</h3>\n<p><include-content is-active template-ref=\"/views/api-reference/api-reference.html\"></include-content></p>\n",
|
|
45
|
+
"docs": {
|
|
46
|
+
"accordion": "<h1 id=\"md-accordion\">Accordion</h1>\n<p><code>details</code> / <code>summary</code> is the accordion: a chevron marker, animated content, and a <code>summary[role="button"]</code> variant.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"accordion\"></include-content></p>\n<include-content data-language=\"html\"><template><details>\n <summary>Title</summary>\n <p>Content</p>\n</details>\n<details>\n <summary role=\"button\" class=\"outline secondary\">Button summary</summary>\n <p>Content</p>\n</details></template></include-content>\n<ul>\n<li>The content (<code>::details-content</code>) animates height and opacity on open / close (<code>interpolate-size</code>; instant under reduced motion).</li>\n<li><code>summary[role="button"]</code> is a full-width button and takes every <spa-a route-href=\"/nucleus/packages/valence/button\" role=\"link\">button</spa-a> flavor.</li>\n<li>Open state is <code>:--details--open</code>: <code>[open]</code> or <code>aria-expanded="true"</code>, so a custom disclosure element reflecting ARIA gets the rotated marker and colors.</li>\n</ul>\n<h2 id=\"md-aliases\">Aliases</h2>\n<p><code>.tag-details</code> / <code>.tag-summary</code> (<code>details</code> has no ARIA role; <code>summary</code>'s implicit role is <code>button</code>, deliberately not aliased to avoid colliding with <code>:--button</code>). A <spa-a route-href=\"/nucleus/packages/valence/dropdown\" role=\"link\">dropdown</spa-a> is an accordion with <code>.dropdown</code>.</p>\n",
|
|
47
|
+
"aliases": "<h1 id=\"md-aliases\">Aliases</h1>\n<p>Every Valence.css tag alias is a <code>@custom-selector</code> that matches the native tag, its ARIA role and an <code>.tag-*</code> class — so a custom element or a plain <code>div</code> can wear any semantic style.</p>\n<h2 id=\"md-three-ways-to-match\">Three ways to match</h2>\n<p><code>:--article</code> expands to <code>article, [role="article"], .tag-article</code>. Pico ties its styles to tag names, which custom elements cannot reuse; Valence.css adds the role and class forms to every tag alias:</p>\n<p><include-content data-demo=\"aliases\"></include-content></p>\n<table>\n<thead>\n<tr>\n<th>Alias</th>\n<th>Matches</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>:--article</code></td>\n<td><code>article</code>, <code>[role="article"]</code>, <code>.tag-article</code></td>\n</tr>\n<tr>\n<td><code>:--button</code></td>\n<td><code>button</code>, <code>[role="button"]</code>, <code>[type="button"]</code>, <code>.tag-button</code></td>\n</tr>\n<tr>\n<td><code>:--details</code> / <code>:--summary</code></td>\n<td><code>details</code> / <code>summary</code>, <code>.tag-details</code> / <code>.tag-summary</code></td>\n</tr>\n<tr>\n<td><code>:--dialog</code></td>\n<td><code>dialog</code>, <code>[role="dialog"]</code>, <code>.tag-dialog</code></td>\n</tr>\n<tr>\n<td><code>:--nav</code>, <code>:--list</code>, <code>:--li</code></td>\n<td><code>nav</code> / <code>[role="navigation"]</code>, <code>ul</code> / <code>ol</code> / <code>[role="list"]</code>, <code>li</code> / <code>[role="listitem"]</code></td>\n</tr>\n<tr>\n<td><code>:--table</code>, <code>:--tr</code>, <code>:--th</code>, <code>:--td</code></td>\n<td>tags, <code>[role="table"]</code> / <code>"row"</code> / <code>"columnheader"</code> / <code>"cell"</code>, <code>[scope]</code></td>\n</tr>\n<tr>\n<td><code>:--heading</code>, <code>:--h1</code> … <code>:--h6</code></td>\n<td><code>h1</code>…<code>h6</code>, <code>[role="heading"][aria-level]</code></td>\n</tr>\n</tbody></table>\n<p>The full list is in the <em>API Reference</em> on the <spa-a route-href=\"/nucleus/packages/valence#md-api-reference\" role=\"link\">package page</spa-a> (<em>CSS aliases</em>). Prefer the role form when the element genuinely has that role (screen readers benefit too); use <code>.tag-*</code> when it does not.</p>\n<h2 id=\"md-state-aliases\">State aliases</h2>\n<p>States are <code>:--{element}--{state}</code> and match ARIA as well as native state: <code>:--details--open</code> is <code>[open], [aria-expanded="true"]</code>; <code>:--button--disabled</code> is <code>[disabled], [aria-disabled="true"]</code>; <code>:--progress--value</code> is <code>[value], [aria-valuenow]</code>. A custom element that reflects <code>aria-expanded</code> gets the open styling for free.</p>\n<h2 id=\"md-custom-elements\">Custom elements</h2>\n<ul>\n<li>Put the tag alias class on the host (<code><content-drawer class="tag-article"></code>) — styles apply without the element knowing Valence.css exists.</li>\n<li>Elements with a shadow root inherit the tokens through <code>:host</code>; only the tokens cross the boundary, the rules do not.</li>\n<li><code>.abstract</code> (<code>display: contents</code>) lets a wrapper element sit between a parent and the children a rule expects (<code>article > header</code>): see <spa-a route-href=\"/nucleus/packages/valence/opt_outs\" role=\"link\">Opt-outs</spa-a>.</li>\n</ul>\n<h2 id=\"md-not-aliased\">Not aliased</h2>\n<p>Inimitable natives — <code>input</code>, <code>textarea</code>, <code>select</code> — have no alias; style a wrapper or use the native control. Pseudo-elements cannot be aliased (<code>postcss-custom-selectors</code> wraps in <code>:is()</code>), which is why the modal backdrop is a sibling element for custom hosts (see <spa-a route-href=\"/nucleus/packages/valence/modal\" role=\"link\">Modal</spa-a>).</p>\n",
|
|
48
|
+
"button": "<h1 id=\"md-button\">Button</h1>\n<p>Buttons come in primary, <code>.secondary</code> and <code>.contrast</code>, each with an <code>.outline</code> variant, and the same styles apply to any <code>[role="button"]</code> or <code>.tag-button</code> element.</p>\n<h2 id=\"md-flavors\">Flavors</h2>\n<p><include-content data-demo=\"button\"></include-content></p>\n<include-content data-language=\"html\"><template><button>Primary</button>\n<button class=\"secondary\">Secondary</button>\n<button class=\"contrast\">Contrast</button>\n<button class=\"outline\">Outline</button>\n<button class=\"outline secondary\">Outline secondary</button></template></include-content>\n<p><code>[type="submit"]</code> is primary, <code>[type="reset"]</code> secondary and <code>[type="file"]</code>'s selector button secondary. Buttons are <code>inline-block</code>; a <code>[type="submit"]</code> inside a form is full-width (see <spa-a route-href=\"/nucleus/packages/valence/forms\" role=\"link\">Forms</spa-a>).</p>\n<h2 id=\"md-states\">States</h2>\n<ul>\n<li><strong>Disabled</strong> — <code>[disabled]</code> or <code>aria-disabled="true"</code> (<code>:--button--disabled</code>): half opacity, no pointer events; a <code>fieldset[disabled]</code> disables every button inside.</li>\n<li><strong>Busy</strong> — <code>aria-busy="true"</code> shows the <spa-a route-href=\"/nucleus/packages/valence/loading\" role=\"link\">loading</spa-a> spinner and blocks pointer events.</li>\n<li><strong>Current</strong> — <code>[aria-current]</code> (not <code>"false"</code>) renders the hover state.</li>\n<li><strong>Focus</strong> — a <code>--v-primary-focus</code> ring (<code>-secondary-</code> / <code>-contrast-</code> per flavor).</li>\n</ul>\n<h2 id=\"md-tokens\">Tokens</h2>\n<p>A button reads <code>--v-background-color</code>, <code>--v-border-color</code>, <code>--v-color</code> and <code>--v-box-shadow</code> from its flavor (<code>--v-primary-background</code>, <code>--v-primary-border</code>, <code>--v-primary-inverse</code>, …); override those on the element or restyle a flavor globally through the <spa-a route-href=\"/nucleus/packages/valence/css_variables\" role=\"link\">CSS variables</spa-a>.</p>\n",
|
|
49
|
+
"card": "<h1 id=\"md-card\">Card</h1>\n<p>An <code>article</code> is a card: padding, radius, shadow, and sectioned <code>header</code> / <code>footer</code> bands.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"card\"></include-content></p>\n<include-content data-language=\"html\"><template><article>\n <header>Header</header>\n Body\n <footer>Footer</footer>\n</article></template></include-content>\n<p><code>header</code> / <code>footer</code> (direct children, or through an <code>.abstract</code> wrapper) bleed to the card edges with <code>--v-card-sectioning-background-color</code> and a <code>--v-card-border-color</code> rule. <code>.nested</code> quiets a card inside another card (<code>--v-multiply-color-*</code> surfaces).</p>\n<p>Tokens: <code>--v-card-background-color</code>, <code>--v-card-border-color</code>, <code>--v-card-box-shadow</code>, <code>--v-card-sectioning-background-color</code>; the padding is <code>--v-block-spacing-vertical</code> / <code>-horizontal</code>, so cards grow with the viewport like <spa-a route-href=\"/nucleus/packages/valence/landmarks\" role=\"link\">sections</spa-a>.</p>\n<h2 id=\"md-aliases\">Aliases</h2>\n<p><code>[role="article"]</code> / <code>.tag-article</code> — the usual way to make a custom element a card (<code><content-drawer class="tag-article"></code>).</p>\n",
|
|
50
|
+
"checkboxes": "<h1 id=\"md-checkboxes-radios-amp-switches\">Checkboxes, radios & switches</h1>\n<p>Native <code>checkbox</code> and <code>radio</code> inputs are restyled with the primary color; <code>role="switch"</code> turns a checkbox into a toggle.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"checkboxes\"></include-content></p>\n<include-content data-language=\"html\"><template><label><input type=\"checkbox\" checked /> Checked</label>\n<label><input type=\"radio\" name=\"r\" /> Radio</label>\n<label><input type=\"checkbox\" role=\"switch\" /> Switch</label></template></include-content>\n<ul>\n<li>A checkbox in the <code>indeterminate</code> state (set from JS) shows a minus.</li>\n<li>A <code>label</code> that wraps a checkbox / radio shrinks to its content and gets a pointer cursor; labels after the input (<code>input ~ label</code>) stay inline.</li>\n<li><code>aria-invalid="true"</code> / <code>"false"</code> recolor the checked control.</li>\n</ul>\n<h2 id=\"md-switch\">Switch</h2>\n<p><code>[type="checkbox"][role="switch"]</code> is a <code>2.25em × 1.25em</code> track (<code>--v-switch-background-color</code>, checked <code>--v-switch-checked-background-color</code>) with an animated thumb; inside a <spa-a route-href=\"/nucleus/packages/valence/group\" role=\"link\">group</spa-a> a switch label becomes an attached segment.</p>\n",
|
|
51
|
+
"code": "<h1 id=\"md-code\">Code</h1>\n<p><code>code</code>, <code>kbd</code>, <code>samp</code> and <code>pre</code> share the monospace tokens; <code>pre > code</code> becomes a scrollable block.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"code\"></include-content></p>\n<include-content data-language=\"html\"><template><p>Press <kbd>⌘</kbd> <kbd>K</kbd> to run <code>build</code>.</p>\n<pre><code>npm install @excom/valence</code></pre></template></include-content>\n<ul>\n<li>Inline <code>code</code> / <code>samp</code>: <code>--v-code-background-color</code> / <code>--v-code-color</code>, small padding, <code>0.75em</code>.</li>\n<li><code>kbd</code>: inverted (<code>--v-code-kbd-background-color</code> / <code>-color</code>).</li>\n<li><code>pre</code>: block, <code>overflow-x: auto</code>, <code>--v-spacing</code> padding on the inner <code>code</code> / <code>samp</code>.</li>\n</ul>\n<p>Aliases: <code>[role="code"]</code> / <code>.tag-code</code>, <code>.tag-pre</code>, <code>.tag-kbd</code>, <code>.tag-samp</code>.</p>\n",
|
|
52
|
+
"container": "<h1 id=\"md-container\">Container</h1>\n<p><code>.container</code> centers content in a responsive column; <code>.container-fluid</code> spans the full width with padding only.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"container\"></include-content></p>\n<include-content data-language=\"html\"><template><main class=\"container\">…</main></template></include-content>\n<h2 id=\"md-breakpoints\">Breakpoints</h2>\n<table>\n<thead>\n<tr>\n<th>Viewport</th>\n<th><code>.container</code> max-width</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>< 576px</td>\n<td>100% (with <code>--v-spacing</code> padding)</td>\n</tr>\n<tr>\n<td>≥ 576px</td>\n<td>510px</td>\n</tr>\n<tr>\n<td>≥ 768px</td>\n<td>700px</td>\n</tr>\n<tr>\n<td>≥ 1024px</td>\n<td>950px</td>\n</tr>\n<tr>\n<td>≥ 1280px</td>\n<td>1200px</td>\n</tr>\n<tr>\n<td>≥ 1536px</td>\n<td>1450px</td>\n</tr>\n</tbody></table>\n<p>Landmark children of <code>body</code> (<code>header</code>, <code>main</code>, <code>footer</code>) get the same column without any class — see <spa-a route-href=\"/nucleus/packages/valence/landmarks\" role=\"link\">Landmarks & section</spa-a>.</p>\n",
|
|
53
|
+
"css_variables": "<h1 id=\"md-css-variables\">CSS variables</h1>\n<p>Every color, size and spacing is a <code>--v-*</code> custom property; override them on <code>:root</code> or on any subtree.</p>\n<h2 id=\"md-overriding-tokens\">Overriding tokens</h2>\n<p><include-content data-demo=\"css-variables\"></include-content></p>\n<include-content data-language=\"css\"><template>:root {\n --v-primary: #7c3aed;\n --v-primary-background: #7c3aed;\n --v-border-radius: 2rem;\n}</template></include-content>\n<p>Scheme-dependent tokens (colors) are declared per scheme, so override them under both <code>[data-scheme="light"]</code> / <code>:root:not([data-scheme="dark"])</code> and <code>[data-scheme="dark"]</code> (plus the <code>prefers-color-scheme: dark</code> auto case) when the value should differ — see <spa-a route-href=\"/nucleus/packages/valence/schemes\" role=\"link\">Color schemes</spa-a>.</p>\n<h2 id=\"md-token-families\">Token families</h2>\n<table>\n<thead>\n<tr>\n<th>Family</th>\n<th>Examples</th>\n</tr>\n</thead>\n<tbody><tr>\n<td>Typography</td>\n<td><code>--v-font-family</code>, <code>--v-font-size</code>, <code>--v-line-height</code>, <code>--v-font-weight</code>, <code>--v-h1-color</code> … <code>--v-h6-color</code></td>\n</tr>\n<tr>\n<td>Spacing</td>\n<td><code>--v-spacing</code>, <code>--v-typography-spacing-vertical</code>, <code>--v-block-spacing-vertical</code> / <code>-horizontal</code>, <code>--v-grid-column-gap</code> / <code>-row-gap</code></td>\n</tr>\n<tr>\n<td>Borders & outline</td>\n<td><code>--v-border-radius</code>, <code>--v-border-width</code>, <code>--v-outline-width</code>, <code>--v-box-shadow</code></td>\n</tr>\n<tr>\n<td>Colors</td>\n<td><code>--v-background-color</code>, <code>--v-color</code>, <code>--v-muted-color</code>, <code>--v-muted-border-color</code>, <code>--v-primary*</code>, <code>--v-secondary*</code>, <code>--v-contrast*</code> (each with <code>-background</code>, <code>-border</code>, <code>-hover</code>, <code>-focus</code>, <code>-inverse</code>, <code>-underline</code>)</td>\n</tr>\n<tr>\n<td>Forms</td>\n<td><code>--v-form-element-*</code> (background, border, color, placeholder, active, focus, valid / invalid, disabled opacity), <code>--v-switch-*</code>, <code>--v-range-*</code>, <code>--v-icon-*</code></td>\n</tr>\n<tr>\n<td>Components</td>\n<td><code>--v-card-*</code>, <code>--v-accordion-*</code>, <code>--v-dropdown-*</code>, <code>--v-modal-overlay-*</code>, <code>--v-popover-*</code>, <code>--v-progress-*</code>, <code>--v-tooltip-*</code>, <code>--v-nav-*</code>, <code>--v-table-*</code>, <code>--v-code-*</code></td>\n</tr>\n<tr>\n<td>Motion</td>\n<td><code>--v-transition</code>, <code>--v-transition-duration-fast</code> / <code>-standard</code> / <code>-slow</code>, <code>--v-transition-ease-out</code> / <code>-in</code> / <code>-in-out</code></td>\n</tr>\n</tbody></table>\n<p>The complete list with defaults is the <em>CSS properties</em> table of the <spa-a route-href=\"/nucleus/packages/valence#md-api-reference\" role=\"link\">API Reference</spa-a>.</p>\n<h2 id=\"md-element-level-tokens\">Element-level tokens</h2>\n<p>Elements redefine tokens locally rather than setting properties: a button sets <code>--v-background-color</code> and <code>--v-color</code>, headings set <code>--v-font-size</code>, <code>--v-line-height</code> and <code>--v-typography-spacing-top</code>. Override those on the element to restyle one kind of element without touching the rule:</p>\n<include-content data-language=\"css\"><template>h1 { --v-font-size: 2.5rem; }\nbutton.cta { --v-background-color: var(--v-contrast-background); }</template></include-content>\n<h2 id=\"md-writing-tokens-from-quark\">Writing tokens from Quark</h2>\n<p><code>--name:</code> declarations write custom properties on matched elements, so State can drive theming (<code>:scope { --v-primary: $brand; }</code>) — see the quark docs <em>CSS variables</em>.</p>\n",
|
|
54
|
+
"dropdown": "<h1 id=\"md-dropdown\">Dropdown</h1>\n<p>A <code>details.dropdown</code> opens a menu below its <code>summary</code>: select-styled by default, button-styled with <code>role="button"</code>, and inline inside a <spa-a route-href=\"/nucleus/packages/valence/nav\" role=\"link\">nav</spa-a>.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"dropdown\"></include-content></p>\n<include-content data-language=\"html\"><template><details class=\"dropdown\">\n <summary>Choose…</summary>\n <ul>\n <li><a href=\"#\">Option</a></li>\n <li><label><input type=\"checkbox\" /> Toggle</label></li>\n </ul>\n</details></template></include-content>\n<ul>\n<li>The default <code>summary</code> looks like a <code>select</code> (chevron, <code>--v-form-element-*</code> tokens, <code>aria-invalid</code> colors); <code>summary[role="button"]</code> looks like a <spa-a route-href=\"/nucleus/packages/valence/button\" role=\"link\">button</spa-a>.</li>\n<li>The menu is the <code>ul</code> right after the summary: absolutely positioned, <code>--v-dropdown-*</code> tokens, links and labels fill each row; <code>dir="rtl"</code> on the list right-aligns it.</li>\n<li>While open, an invisible full-page <code>::before</code> on the summary closes the menu on an outside click — no JS.</li>\n<li>Inside a <code>nav</code>, the dropdown sits inline with the links; inside a <code>label</code>, it aligns like a control.</li>\n</ul>\n",
|
|
55
|
+
"embedded": "<h1 id=\"md-embedded-content\">Embedded content</h1>\n<p>Images, media and figures are responsive by default; <code>figcaption</code> is muted.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"embedded\"></include-content></p>\n<include-content data-language=\"html\"><template><figure>\n <img src=\"…\" alt=\"…\" />\n <figcaption>Caption</figcaption>\n</figure></template></include-content>\n<ul>\n<li><code>img</code> (and <code>[role="img"]</code> / <code>.tag-img</code>): <code>max-width: 100%</code>, <code>height: auto</code>, no border.</li>\n<li><code>audio</code>, <code>canvas</code>, <code>iframe</code>, <code>img</code>, <code>svg</code>, <code>video</code>: middle-aligned; <code>iframe</code> has no border; <code>svg</code> without <code>fill</code> inherits <code>currentColor</code>.</li>\n<li><code>figure</code> has no margin; <code>figcaption</code> (<code>[role="caption"]</code> inside a figure) is padded and <code>--v-muted-color</code>.</li>\n</ul>\n",
|
|
56
|
+
"forms": "<h1 id=\"md-forms\">Forms</h1>\n<p>Form controls are full-width, labels stack above them, and validity, helper text and disabled states come from attributes alone.</p>\n<h2 id=\"md-overview\">Overview</h2>\n<p><include-content data-demo=\"forms\"></include-content></p>\n<include-content data-language=\"html\"><template><form>\n <label>\n Email\n <input type=\"email\" name=\"email\" />\n <small>We never share it.</small>\n </label>\n <fieldset>\n <legend>Plan</legend>\n <label><input type=\"radio\" name=\"plan\" checked /> Free</label>\n </fieldset>\n <button type=\"submit\">Sign up</button>\n</form></template></include-content>\n<h2 id=\"md-layout\">Layout</h2>\n<ul>\n<li><code>input</code> (except checkbox / radio), <code>select</code>, <code>textarea</code> and <code>button[type="submit"]</code> are <code>width: 100%</code> with <code>--v-spacing</code> below.</li>\n<li>A <code>label</code> is a block with the control inside it or before it; <code>fieldset</code> / <code>legend</code> group controls without borders.</li>\n<li>Put controls in a <spa-a route-href=\"/nucleus/packages/valence/grid\" role=\"link\"><code>.grid</code></spa-a> for columns, or in a <spa-a route-href=\"/nucleus/packages/valence/group\" role=\"link\">group</spa-a> for an input + button pair.</li>\n</ul>\n<h2 id=\"md-helper-text\">Helper text</h2>\n<p>A <code>small</code> right after an <code>input</code>, <code>select</code>, <code>textarea</code>, <code>fieldset</code> or <code>.grid</code> becomes a muted note; it turns green / red after a control with <code>aria-invalid="false"</code> / <code>"true"</code>.</p>\n<h2 id=\"md-validation\">Validation</h2>\n<p><code>aria-invalid="true"</code> / <code>"false"</code> colors the border and focus ring and draws an icon inside text-like inputs (<code>--v-icon-invalid</code> / <code>--v-icon-valid</code>). No class is needed and the state stays in the document, where CSS, Quark and assistive technology all read it.</p>\n<h2 id=\"md-disabled\">Disabled</h2>\n<p><code>[disabled]</code> controls (and every control inside a <code>fieldset[disabled]</code>) drop to <code>--v-form-element-disabled-opacity</code> and ignore the pointer; a <code>label[aria-disabled="true"]</code> mutes its text too.</p>\n<h2 id=\"md-controls\">Controls</h2>\n<p><spa-a route-href=\"/nucleus/packages/valence/input\" role=\"link\">Input</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/textarea\" role=\"link\">Textarea</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/select\" role=\"link\">Select</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/checkboxes\" role=\"link\">Checkboxes, radios & switches</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/range\" role=\"link\">Range</spa-a></p>\n",
|
|
57
|
+
"grid": "<h1 id=\"md-grid\">Grid</h1>\n<p><code>.grid</code> lays its children out in equal auto-fit columns from 768px up, and stacks them below.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"grid\"></include-content></p>\n<include-content data-language=\"html\"><template><div class=\"grid\">\n <div>1</div>\n <div>2</div>\n <div>3</div>\n</div></template></include-content>\n<p>Gaps are <code>--v-grid-column-gap</code> / <code>--v-grid-row-gap</code> (both <code>--v-spacing</code>). Children get <code>min-width: 0</code> so overflowing content scrolls instead of stretching the column.</p>\n<p>Inside a form, <code>.grid</code> also carries the helper-text rule: a <code>small</code> right after a <code>.grid</code> of inputs is a muted note (see <spa-a route-href=\"/nucleus/packages/valence/forms\" role=\"link\">Forms</spa-a>).</p>\n",
|
|
58
|
+
"group": "<h1 id=\"md-group\">Group</h1>\n<p><code>[role="group"]</code> joins an input and a button (or several controls) into one pill; <code>[role="search"]</code> is the rounded variant.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"group\"></include-content></p>\n<include-content data-language=\"html\"><template><fieldset role=\"group\">\n <input type=\"email\" placeholder=\"Email\" />\n <button type=\"submit\">Subscribe</button>\n</fieldset>\n<fieldset role=\"search\">\n <input type=\"search\" placeholder=\"Search\" />\n <button type=\"submit\">Go</button>\n</fieldset></template></include-content>\n<ul>\n<li>Children lose their inner radii and margins; buttons shrink to their content and get wider padding.</li>\n<li>Focus moves to the group: <code>--v-group-box-shadow-focus-with-input</code> when an input is focused, <code>--v-group-box-shadow-focus-with-button</code> (per button flavor) when a button is.</li>\n<li>A <code>label</code> holding a <code>role="switch"</code> checkbox becomes an attached segment.</li>\n</ul>\n<p>Aliases: <code>.tag-group</code>, <code>.tag-search</code>.</p>\n",
|
|
59
|
+
"input": "<h1 id=\"md-input\">Input</h1>\n<p>Text-like inputs share one look; <code>search</code>, date / time, <code>color</code> and <code>file</code> add their own affordances.</p>\n<h2 id=\"md-types\">Types</h2>\n<p><include-content data-demo=\"input\"></include-content></p>\n<table>\n<thead>\n<tr>\n<th>Type</th>\n<th>Extra</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>text</code>, <code>email</code>, <code>password</code>, <code>number</code>, <code>tel</code>, <code>url</code></td>\n<td>The base look: <code>--v-form-element-*</code> tokens, focus ring</td>\n</tr>\n<tr>\n<td><code>search</code></td>\n<td>Pill radius (<code>5rem</code>) and a leading search icon</td>\n</tr>\n<tr>\n<td><code>date</code>, <code>datetime-local</code>, <code>month</code>, <code>time</code>, <code>week</code></td>\n<td>Trailing calendar / clock icon over the native picker</td>\n</tr>\n<tr>\n<td><code>color</code></td>\n<td>Swatch fills the control</td>\n</tr>\n<tr>\n<td><code>file</code></td>\n<td>Borderless, with a secondary-flavored selector button</td>\n</tr>\n<tr>\n<td><code>range</code></td>\n<td>See <spa-a route-href=\"/nucleus/packages/valence/range\" role=\"link\">Range</spa-a></td>\n</tr>\n</tbody></table>\n<h2 id=\"md-states\">States</h2>\n<ul>\n<li><code>placeholder</code> uses <code>--v-form-element-placeholder-color</code>.</li>\n<li><code>aria-invalid="true"</code> / <code>"false"</code> — border, focus ring and a trailing icon (see <spa-a route-href=\"/nucleus/packages/valence/forms\" role=\"link\">Forms</spa-a>).</li>\n<li><code>readonly</code> keeps the resting look on focus; <code>disabled</code> fades the control.</li>\n</ul>\n<h2 id=\"md-sizing\">Sizing</h2>\n<p>Height is derived from the tokens (<code>1rem × --v-line-height + 2 × --v-form-element-spacing-vertical + 2 × --v-border-width</code>), so a button and an input line up in a <spa-a route-href=\"/nucleus/packages/valence/group\" role=\"link\">group</spa-a>.</p>\n",
|
|
60
|
+
"landmarks": "<h1 id=\"md-landmarks-amp-section\">Landmarks & section</h1>\n<p><code>body > header</code>, <code>main</code> and <code>footer</code> are centered columns out of the box; <code>section</code>s space themselves vertically.</p>\n<h2 id=\"md-landmarks\">Landmarks</h2>\n<include-content data-language=\"html\"><template><body>\n <header>…</header>\n <main>…</main>\n <footer>…</footer>\n</body></template></include-content>\n<p>Each direct landmark child of <code>body</code> gets the <spa-a route-href=\"/nucleus/packages/valence/container\" role=\"link\">container</spa-a> column and <code>--v-block-spacing-vertical</code> / <code>-horizontal</code> padding. The role and class aliases (<code>[role="main"]</code>, <code>.tag-main</code>, …) count as landmarks too, and an <code>.abstract</code> wrapper between <code>body</code> and the landmark is looked through (an <code><include-content class="abstract"></code> around a header keeps it a landmark).</p>\n<h2 id=\"md-section\">Section</h2>\n<p><include-content data-demo=\"landmarks\"></include-content></p>\n<p><code>section</code> (and <code>[role="section"]</code> / <code>.tag-section</code>) is a block with <code>--v-block-spacing-vertical</code> below it. The spacing grows with the viewport: <code>1×</code> <code>--v-spacing</code> below 576px up to <code>2.25×</code> at 1536px, on landmarks, sections and cards alike.</p>\n<h2 id=\"md-document\">Document</h2>\n<p>The root sets the font stack, size, weight, line height, <code>overflow-wrap: break-word</code>, <code>box-sizing: border-box</code> everywhere and a responsive root font size (<code>100%</code> → <code>131.25%</code> at 1536px), so every <code>rem</code> scales with the viewport.</p>\n",
|
|
61
|
+
"link": "<h1 id=\"md-link\">Link</h1>\n<p>Links are primary-colored and underlined; <code>.secondary</code> and <code>.contrast</code> change the flavor, <code>aria-current</code> marks the active one.</p>\n<h2 id=\"md-flavors\">Flavors</h2>\n<p><include-content data-demo=\"link\"></include-content></p>\n<include-content data-language=\"html\"><template><a href=\"#\">Primary</a>\n<a href=\"#\" class=\"secondary\">Secondary</a>\n<a href=\"#\" class=\"contrast\">Contrast</a></template></include-content>\n<p>Hover, focus, active and <code>[aria-current]</code> (any value but <code>"false"</code>) switch to the <code>-hover</code> tokens; <code>:focus-visible</code> adds a <code>--v-primary-focus</code> ring. The underline color is <code>--v-primary-underline</code> (and <code>-secondary-</code> / <code>-contrast-</code>).</p>\n<h2 id=\"md-link-as-button\">Link as button</h2>\n<p><code><a role="button"></code> (or <code>.tag-button</code>) takes the full <spa-a route-href=\"/nucleus/packages/valence/button\" role=\"link\">button</spa-a> styling, including the flavors and <code>.outline</code>.</p>\n<h2 id=\"md-aliases\">Aliases</h2>\n<p><code>:--link</code> is <code>a</code>, <code>[role="link"]</code>, <code>.tag-link</code> — a <code><spa-a role="link"></code> custom element is styled as a link without any CSS of its own.</p>\n",
|
|
62
|
+
"loading": "<h1 id=\"md-loading\">Loading</h1>\n<p><code>aria-busy="true"</code> on almost any element shows a spinner before its content; on buttons and links it also blocks the pointer.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"loading\"></include-content></p>\n<include-content data-language=\"html\"><template><button aria-busy=\"true\">Saving…</button>\n<button aria-busy=\"true\"></button> <!-- spinner only -->\n<article aria-busy=\"true\">Loading…</article></template></include-content>\n<p>The spinner is <code>--v-icon-loading</code> (<code>1em</code>); empty busy elements center it. Form controls (<code>input</code>, <code>select</code>, <code>textarea</code>) and <code>form</code> / <code>html</code> are excluded. Because the state is an attribute, a Quark rule sets it from any fact: <code>button { aria-busy: attr("is-loading") != null; }</code> or <code>provider-fetch[is-loading] button { aria-busy: "true"; }</code> (with its inverse).</p>\n",
|
|
63
|
+
"modal": "<h1 id=\"md-modal\">Modal</h1>\n<p>A native <code>dialog</code> centers an <code>article</code> over a dimmed backdrop; the header's close control and the footer buttons are styled, and <code>[role="dialog"]</code> hosts get the same look with a sibling backdrop.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"modal\"></include-content></p>\n<include-content data-language=\"html\"><template><dialog>\n <article>\n <header>\n <button rel=\"prev\" aria-label=\"Close\"></button>\n <h5>Confirm</h5>\n </header>\n <p>…</p>\n <footer>\n <form method=\"dialog\">\n <button class=\"secondary\">Cancel</button>\n <button>Confirm</button>\n </form>\n </footer>\n </article>\n</dialog></template></include-content>\n<ul>\n<li>Open it with <code>dialog.showModal()</code>, <code><dialog-anchor></code>, or an <code><event-handler command-name="show-modal"></code> (the demo); a <code>form[method="dialog"]</code> closes it without JS.</li>\n<li><strong>Close control</strong>: <code>.close</code>, or a <code>button</code> / <code>a</code> with <code>rel="prev"</code> (<code>:--dialog-close</code>), renders the <code>--v-icon-close</code> glyph; in the <code>header</code> it floats right.</li>\n<li>The <code>article</code> caps its width per breakpoint (510px / 700px), scrolls internally, and its <code>footer</code> right-aligns buttons.</li>\n<li><code>dialog::backdrop</code> blurs and dims (<code>--v-modal-overlay-backdrop-filter</code>, <code>--v-modal-overlay-background-color</code>); scrolling stays inside the dialog.</li>\n</ul>\n<h2 id=\"md-custom-hosts\">Custom hosts</h2>\n<p><code>[role="dialog"]</code> / <code>.tag-dialog</code> (<code>:--dialog</code>) get the same layout; open state is <code>[open]</code> or <code>aria-expanded="true"</code>. Pseudo-elements cannot be aliased, so a custom host dims with a <strong>sibling</strong> element: <code>[role="presentation"]</code> or <code>.tag-backdrop</code> as the dialog's first child (<code>:--dialog-backdrop-aliases</code>) — <code><content-drawer></code> uses this. <code>.absolute</code> on the dialog positions it (and its backdrop) inside a <code>position: relative</code> parent instead of the viewport.</p>\n<p>Element authors reuse the exact same dimmer through the <code>modal-backdrop</code> mixin — see <spa-a route-href=\"/nucleus/packages/valence/themes\" role=\"link\">Themes & layers</spa-a>.</p>\n",
|
|
64
|
+
"nav": "<h1 id=\"md-nav\">Nav</h1>\n<p>A <code>nav</code> lays its lists out horizontally — one left, one right — and becomes a breadcrumb with <code>aria-label="breadcrumb"</code>, a vertical menu inside an <code>aside</code>, or an outline tree with <code>role="tree"</code>.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"nav\"></include-content></p>\n<include-content data-language=\"html\"><template><nav>\n <ul><li><strong>Brand</strong></li></ul>\n <ul>\n <li><a href=\"#\">Docs</a></li>\n <li><a href=\"#\" aria-current=\"page\">Blog</a></li>\n <li><details class=\"dropdown\"><summary>More</summary><ul dir=\"rtl\">…</ul></details></li>\n </ul>\n</nav></template></include-content>\n<ul>\n<li>Links are padded pills (<code>--v-nav-link-spacing-*</code>) without underline until hover; buttons, inputs and selects inside a nav shrink to fit; a <spa-a route-href=\"/nucleus/packages/valence/dropdown\" role=\"link\">dropdown</spa-a> sits inline.</li>\n<li><strong>Breadcrumb</strong>: <code>nav[aria-label="breadcrumb"]</code> joins items with <code>--v-nav-breadcrumb-divider</code> (<code>></code>) and mutes the <code>aria-current</code> link.</li>\n<li><strong>Vertical</strong>: inside an <code>aside</code>, <code>nav</code>, its lists and items stack; links fill the row.</li>\n<li><strong>Tree</strong>: <code>ul[role="tree"]</code> (or <code>.tag-tree</code>) draws a left rule, indents nested trees and highlights the <code>aria-current</code> link with a primary border — the docs sidebar is one.</li>\n</ul>\n<p>Aliases: <code>[role="navigation"]</code> / <code>.tag-nav</code>, <code>[role="list"]</code> / <code>.tag-list</code>, <code>[role="listitem"]</code> / <code>.tag-li</code>.</p>\n",
|
|
65
|
+
"opt_outs": "<h1 id=\"md-opt-outs\">Opt-outs</h1>\n<p>Valence.css is opinionated; these classes hand an element — or a subtree — back to the browser.</p>\n<h2 id=\"md-unstyled\">Unstyled</h2>\n<p><code>.unstyled</code> reverts every Valence.css rule on one element; <code>.unstyled-all</code> does it for the element and all its descendants (<code>all: revert !important</code>).</p>\n<p><include-content data-demo=\"opt-outs\"></include-content></p>\n<p>Use them where a third-party widget or a custom element brings its own styling and Valence.css would fight it.</p>\n<h2 id=\"md-unanimated\">Unanimated</h2>\n<p><code>.unanimated</code> / <code>.unanimated-all</code> kill transitions and animations (the same rules <code>prefers-reduced-motion: reduce</code> applies everywhere, except on <code>[aria-busy="true"]</code> spinners).</p>\n<h2 id=\"md-abstract-wrappers\">Abstract wrappers</h2>\n<p><code>.abstract</code> sets <code>display: contents</code>, so a wrapper — typically a custom element — is invisible to layout <em>and</em> to the Valence.css direct-child rules: <code>article > .abstract > header</code> is still styled as a card header. Rules that expect direct children (<code>article > header</code>, <code>details > summary</code>, <code>dialog > article</code>, <code>label > input</code>) look through one or two <code>.abstract</code> levels.</p>\n<include-content data-language=\"html\"><template><article>\n <event-handler class=\"abstract\">\n <header>Still a card header</header>\n </event-handler>\n</article></template></include-content>\n<h2 id=\"md-layers\">Layers</h2>\n<p>Element and alias styles sit in an anonymous <code>@layer</code>, so a consumer stylesheet or a custom element's own CSS overrides them at any specificity. The class utilities (<code>.grid</code>, <code>.container</code>, <code>.abstract</code>, the opt-outs) stay unlayered so they still win — see <spa-a route-href=\"/nucleus/packages/valence/themes\" role=\"link\">Themes & layers</spa-a>.</p>\n",
|
|
66
|
+
"overflow_auto": "<h1 id=\"md-overflow-auto\">Overflow auto</h1>\n<p>Wrap wide content in <code>.overflow-auto</code> to scroll it inside its box; <code>.show-scrollbar</code> keeps a styled scrollbar visible.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"overflow-auto\"></include-content></p>\n<include-content data-language=\"html\"><template><div class=\"overflow-auto\">\n <table>…</table>\n</div></template></include-content>\n<p><code>.show-scrollbar</code> forces <code>overflow-y: scroll</code> with a slim themed thumb (<code>--v-muted-color</code>) — useful for panels whose content changes height.</p>\n",
|
|
67
|
+
"popover": "<h1 id=\"md-popover\">Popover</h1>\n<p>A native <code>[popover]</code> opened by a <code>popovertarget</code> button is styled as a bubble and anchored to its invoker; <code>data-placement</code> picks the side.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"popover\"></include-content></p>\n<include-content data-language=\"html\"><template><button popovertarget=\"tip\">Info</button>\n<div id=\"tip\" popover data-placement=\"bottom\">Bubble content</div></template></include-content>\n<ul>\n<li>Anchored with CSS anchor positioning (<code>position-anchor</code> on the invoker's parent); <code>data-placement</code> is <code>top</code> (default), <code>bottom</code>, <code>left</code> or <code>right</code>.</li>\n<li>Fades in and out (<code>@starting-style</code>, <code>transition-behavior: allow-discrete</code>); the UA backdrop is hidden.</li>\n<li><code>--v-popover-max-width</code> (20rem), <code>--v-popover-background-color</code>, <code>--v-popover-border-color</code>, <code>--v-popover-color</code>, <code>--v-popover-box-shadow</code>.</li>\n<li>Open state is <code>:--popover--open</code>: <code>:popover-open</code> or <code>aria-expanded="true"</code> (<code>.tag-popover</code> for custom hosts).</li>\n</ul>\n<p>For text-only hints use a <spa-a route-href=\"/nucleus/packages/valence/tooltip\" role=\"link\">tooltip</spa-a>.</p>\n",
|
|
68
|
+
"progress": "<h1 id=\"md-progress\">Progress</h1>\n<p><code>progress</code> is a slim primary bar; without a <code>value</code> it animates as indeterminate.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"progress\"></include-content></p>\n<include-content data-language=\"html\"><template><progress value=\"35\" max=\"100\"></progress>\n<progress></progress></template></include-content>\n<p>Tokens: <code>--v-progress-background-color</code>, <code>--v-progress-color</code>. The indeterminate animation respects <code>prefers-reduced-motion</code>. <code>[role="progressbar"]</code> / <code>.tag-progress</code> hosts get the track and, with <code>aria-valuenow</code>, the bar color on their <code>::before</code> (custom hosts size the bar themselves).</p>\n",
|
|
69
|
+
"range": "<h1 id=\"md-range\">Range</h1>\n<p><code>input[type="range"]</code> is a themed slider: a slim track and a round thumb that grows while dragging.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"range\"></include-content></p>\n<include-content data-language=\"html\"><template><label>\n Brightness\n <input type=\"range\" min=\"0\" max=\"100\" value=\"40\" />\n</label></template></include-content>\n<p>Tokens: <code>--v-range-border-color</code> (track), <code>--v-range-active-border-color</code>, <code>--v-range-thumb-color</code>, <code>--v-range-thumb-active-color</code>, <code>--v-range-thumb-border-color</code>.</p>\n",
|
|
70
|
+
"readme": "<h1 id=\"md-valence-css\">Valence.css</h1>\n<p>Classless CSS that still loves your custom elements — Pico's elegance, remixed for the modern web.</p>\n<p>Valence.css is a lightly modified fork of the excellent <a href=\"https://picocss.com\">Pico CSS</a>. Pico styles are tightly bound to native tag names (<code>article</code>, <code>button</code>, …), which custom elements cannot reuse. Valence.css keeps Pico's look and adds:</p>\n<ul>\n<li><strong>Tag aliases</strong> — <code>@custom-selector</code> synonyms so <code>[role="…"]</code> / <code>.tag-*</code> (and custom element tags) share the same semantic styles</li>\n<li><strong>Opt-outs</strong> — <code>.unstyled</code> / <code>.unstyled-all</code> (and <code>.unanimated*</code>) for document flexibility where framework styles would fight you</li>\n<li><strong>Drop-in themes</strong> — <code>basic</code> (Pico-faithful) ships today; further themes share the same tokens so they can be swapped without touching markup. Light/dark is a <em>scheme</em> (<code>[data-scheme]</code>)</li>\n<li><strong>Molecules</strong> — cards, dropdowns, modals (<code>dialog::backdrop</code> / <code>[role="presentation"]</code> / <code>.tag-backdrop</code>), nav, progress, and native <code>[popover]</code> styles on top of Pico's element styles</li>\n<li><strong>Tokens</strong> — <code>--pico-*</code> renamed to <code>--v-*</code> for a clear Valence.css namespace</li>\n</ul>\n<h2 id=\"md-features\">Features</h2>\n<ul>\n<li><strong>Semantic tag aliases</strong> Style <code>article</code>, <code>dialog</code>, <code>button</code>, … — the same rules apply to the <code>[role="…"]</code> / <code>.tag-*</code> forms</li>\n<li><strong>Custom-element friendly</strong> <code>class="tag-article"</code> on any host inherits Valence.css styles without rewriting selectors</li>\n<li><strong>Drop-in themes</strong> <code>basic</code> (Pico-flavor) ships; further themes share the same tokens. Scheme via <code>[data-scheme="light|dark"]</code></li>\n<li><strong>Opt-outs</strong> <code>.unstyled</code> / <code>.unstyled-all</code> (and motion: <code>.unanimated*</code>)</li>\n<li><strong>Molecules</strong> Cards, dropdowns, modals (<code>dialog::backdrop</code> / <code>[role="presentation"]</code> / <code>.tag-backdrop</code>), nav, progress, popovers, tooltips</li>\n</ul>\n<h2 id=\"md-installation\">Installation</h2>\n<p><include-content is-active template-ref=\"/views/install-section/install-section.html\"></include-content></p>\n<h2 id=\"md-usage\">Usage</h2>\n<p>Import a theme entry (CSS). Prefer aliases when styling custom elements.</p>\n<include-content data-language=\"css\"><template>@import \"@excom/valence/basic.css\";</template></include-content>\n<include-content data-language=\"html\"><template><article>Native card</article>\n<event-handler class=\"tag-article\">Aliased card</event-handler>\n<button class=\"outline secondary\">Outline</button></template></include-content>\n<h3 id=\"md-documentation\">Documentation</h3>\n<p>Getting started</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/schemes\" role=\"link\">Color schemes</spa-a> — automatic light / dark, <code>data-scheme</code></li>\n<li><spa-a route-href=\"/nucleus/packages/valence/aliases\" role=\"link\">Aliases</spa-a> — tag, role and <code>.tag-*</code> forms of every alias; custom elements</li>\n<li><spa-a route-href=\"/nucleus/packages/valence/opt_outs\" role=\"link\">Opt-outs</spa-a> — <code>.unstyled</code>, <code>.unanimated</code>, <code>.abstract</code></li>\n</ul>\n<p>Customization</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/css_variables\" role=\"link\">CSS variables</spa-a> — the <code>--v-*</code> tokens</li>\n<li><spa-a route-href=\"/nucleus/packages/valence/themes\" role=\"link\">Themes & layers</spa-a> — entries, <code>@layer</code> strategy, mixins for element authors</li>\n</ul>\n<p>Layout</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/container\" role=\"link\">Container</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/landmarks\" role=\"link\">Landmarks & section</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/grid\" role=\"link\">Grid</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/overflow_auto\" role=\"link\">Overflow auto</spa-a></li>\n</ul>\n<p>Content</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/typography\" role=\"link\">Typography</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/link\" role=\"link\">Link</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/button\" role=\"link\">Button</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/table\" role=\"link\">Table</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/code\" role=\"link\">Code</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/embedded\" role=\"link\">Embedded content</spa-a></li>\n</ul>\n<p>Forms</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/forms\" role=\"link\">Forms</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/input\" role=\"link\">Input</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/textarea\" role=\"link\">Textarea</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/select\" role=\"link\">Select</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/checkboxes\" role=\"link\">Checkboxes, radios & switches</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/range\" role=\"link\">Range</spa-a></li>\n</ul>\n<p>Components</p>\n<ul>\n<li><spa-a route-href=\"/nucleus/packages/valence/accordion\" role=\"link\">Accordion</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/card\" role=\"link\">Card</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/dropdown\" role=\"link\">Dropdown</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/group\" role=\"link\">Group</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/loading\" role=\"link\">Loading</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/modal\" role=\"link\">Modal</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/nav\" role=\"link\">Nav</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/popover\" role=\"link\">Popover</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/progress\" role=\"link\">Progress</spa-a> · <spa-a route-href=\"/nucleus/packages/valence/tooltip\" role=\"link\">Tooltip</spa-a></li>\n</ul>\n<h3 id=\"md-api-reference\">API Reference</h3>\n<p><include-content is-active template-ref=\"/views/api-reference/api-reference.html\"></include-content></p>\n",
|
|
71
|
+
"schemes": "<h1 id=\"md-color-schemes\">Color schemes</h1>\n<p>Light and dark are a <em>scheme</em>: automatic from the OS, or forced on any subtree with <code>data-scheme</code>.</p>\n<h2 id=\"md-automatic\">Automatic</h2>\n<p>With no attribute, the document follows <code>prefers-color-scheme</code>. Every token that differs between the two schemes (<code>--v-background-color</code>, <code>--v-color</code>, <code>--v-primary</code>, the form and card colors, …) is defined once per scheme, so the whole page — and every custom element using the tokens — flips together.</p>\n<h2 id=\"md-forcing-a-scheme\">Forcing a scheme</h2>\n<p><code>data-scheme="light"</code> or <code>data-scheme="dark"</code> on <code><html></code> forces the document; on any other element it forces that subtree. The attribute also sets <code>color-scheme</code>, so native controls and scrollbars follow.</p>\n<p><include-content data-demo=\"schemes\"></include-content></p>\n<include-content data-language=\"html\"><template><html data-scheme=\"dark\">…</html>\n<article data-scheme=\"light\">Always light</article></template></include-content>\n<p>Switching at runtime is one attribute write — a Quark rule (<code>html { data-scheme: $theme; }</code>) or <code><provider-storage></code> can own it. Custom elements with a shadow root get the same tokens through <code>:host</code>.</p>\n",
|
|
72
|
+
"select": "<h1 id=\"md-select\">Select</h1>\n<p>A <code>select</code> gets the input look plus a chevron; <code>multiple</code> / <code>size</code> lists drop the chevron and highlight selected options.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"select\"></include-content></p>\n<include-content data-language=\"html\"><template><select name=\"planet\" required>\n <option selected disabled value=\"\">Select a planet…</option>\n <option>Earth</option>\n</select></template></include-content>\n<p>A <code>required</code> select whose selected option has an empty value renders in the placeholder color (<code>select:invalid</code>). Selected options in a <code>[multiple]</code> list use <code>--v-form-element-selected-background-color</code>.</p>\n<p><code>select</code> has no alias; for a custom picker style a <spa-a route-href=\"/nucleus/packages/valence/dropdown\" role=\"link\">dropdown</spa-a>.</p>\n",
|
|
73
|
+
"table": "<h1 id=\"md-table\">Table</h1>\n<p>Tables are full-width with bordered rows; <code>.striped</code> alternates rows, <code>thead.sticky</code> pins the header, and <code>aria-sort</code> draws sort markers.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"table\"></include-content></p>\n<include-content data-language=\"html\"><template><table class=\"striped\">\n <thead><tr><th scope=\"col\" aria-sort=\"ascending\">Planet</th>…</tr></thead>\n <tbody>…</tbody>\n <tfoot>…</tfoot>\n</table></template></include-content>\n<h2 id=\"md-modifiers\">Modifiers</h2>\n<table>\n<thead>\n<tr>\n<th>Modifier</th>\n<th>Effect</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>.striped</code></td>\n<td>Odd body rows get <code>--v-table-row-stripped-background-color</code></td>\n</tr>\n<tr>\n<td><code>thead.sticky</code></td>\n<td>Header cells stick to <code>--v-table-sticky-top</code> (default <code>0px</code>) while the table scrolls</td>\n</tr>\n<tr>\n<td><code>th[aria-sort]</code></td>\n<td>A <code>▲▼</code> marker; <code>"ascending"</code> / <code>"descending"</code> show one arrow, and the cell gets a pointer cursor</td>\n</tr>\n</tbody></table>\n<p>Corner cells are rounded (<code>--v-border-radius</code>); the last row loses its bottom border so a table sits flush in a card.</p>\n<h2 id=\"md-role-based-tables\">Role-based tables</h2>\n<p><code>[role="table"]</code>, <code>[role="row"]</code>, <code>[role="columnheader"]</code> / <code>[role="rowheader"]</code>, <code>[role="cell"]</code> and <code>[role="rowgroup"]</code> (or the <code>.tag-table</code> … <code>.tag-td</code> classes) render as table parts, so a custom element such as <code><data-table></code> can build a grid from <code>div</code>s and still look like a table. <code>thead</code> / <code>tbody</code> are told apart by their cells (<code>th[scope="col"]</code> vs <code>th[scope="row"]</code> / <code>td</code>); <code>tfoot</code> has no role equivalent.</p>\n",
|
|
74
|
+
"textarea": "<h1 id=\"md-textarea\">Textarea</h1>\n<p>A <code>textarea</code> is a block that resizes vertically only and follows the same tokens and validity styling as inputs.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"textarea\"></include-content></p>\n<include-content data-language=\"html\"><template><label>\n Message\n <textarea name=\"message\" rows=\"3\"></textarea>\n</label></template></include-content>\n<p><code>aria-invalid</code> draws its icon in the top-right corner; helper text and disabled states behave as on <spa-a route-href=\"/nucleus/packages/valence/forms\" role=\"link\">Forms</spa-a>.</p>\n",
|
|
75
|
+
"themes": "<h1 id=\"md-themes-amp-layers\">Themes & layers</h1>\n<p>A theme is a token file plus the shared mixins; <code>basic</code> (Pico-faithful) ships today, and every theme shares the same tokens so markup never changes.</p>\n<h2 id=\"md-entry-points\">Entry points</h2>\n<include-content data-language=\"css\"><template>@import \"@excom/valence/basic.css\"; /* the theme: mixins + tokens + every module */\n@import \"@excom/valence/src/mixins.basic.css\"; /* mixins only, for element authors */</template></include-content>\n<p><code>basic.css</code> is <code>mixins.basic.css</code> + <code>basic-vars.css</code> (the tokens, both schemes) + <code>apply.css</code> (every module applied once). <code>basic-vars.css</code> alone gives the tokens without any element styling.</p>\n<p>The <code>nucleus-kit</code> bundle re-exports <code>basic.css</code>, so Nucleus Kit users already have it.</p>\n<h2 id=\"md-layers\">Layers</h2>\n<p><code>apply.css</code> puts every element / alias module inside one anonymous <code>@layer</code>. Anything unlayered — your stylesheet, a custom element's CSS — beats it regardless of specificity, so overriding Valence.css never needs <code>!important</code>. The class utilities (<code>.container</code>, <code>.grid</code>, <code>.overflow-auto</code>, <code>.abstract</code>, <spa-a route-href=\"/nucleus/packages/valence/opt_outs\" role=\"link\">opt-outs</spa-a>) are deliberately <em>unlayered</em> so they win over element styles a custom element ships later.</p>\n<h2 id=\"md-mixins-for-element-authors\">Mixins for element authors</h2>\n<p>Custom elements that want to look native import <code>src/mixins.basic.css</code> (tokens are read from the document; no theme is duplicated) and apply the mixins in their own CSS:</p>\n<table>\n<thead>\n<tr>\n<th>Mixin</th>\n<th>Use</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>modal-backdrop</code></td>\n<td>The dimmer behind a dialog / drawer (<code>dialog::backdrop</code>, <code>[role="presentation"]</code>, <code>.tag-backdrop</code>)</td>\n</tr>\n<tr>\n<td><code>modal-close-control</code></td>\n<td>The close icon control (<code>.close</code>, <code>[rel="prev"]</code>)</td>\n</tr>\n<tr>\n<td><code>util-nested-card</code>, <code>util-elevated</code></td>\n<td>Card surfaces</td>\n</tr>\n<tr>\n<td><code>util-focus-ring</code>, <code>util-press-feedback</code></td>\n<td>Interaction states</td>\n</tr>\n<tr>\n<td><code>util-small-note</code></td>\n<td>Muted block note (what <code>small[role="note"]</code> uses)</td>\n</tr>\n<tr>\n<td><code>abstract-wrapper</code></td>\n<td>Donut-scope a direct-child rule through <code>.abstract</code> wrappers</td>\n</tr>\n<tr>\n<td><code>details-animated-content</code></td>\n<td>The accordion's animated <code>::details-content</code></td>\n</tr>\n<tr>\n<td><code>unanimated</code></td>\n<td>Kill motion (the opt-out)</td>\n</tr>\n</tbody></table>\n<p>Module mixins (<code>module-button</code>, <code>module-card</code>, …) apply a whole module; a theme calls them all from <code>apply.css</code>.</p>\n<h2 id=\"md-further-themes\">Further themes</h2>\n<p><code>flat</code> and <code>paper</code> token files exist in the repository (<code>support/</code>) but are not published entries yet; they will swap in without markup changes because they only redefine tokens.</p>\n",
|
|
76
|
+
"tooltip": "<h1 id=\"md-tooltip\">Tooltip</h1>\n<p><code>role="tooltip"</code> with an <code>aria-description</code> shows the text in a bubble on hover and focus, above the element by default.</p>\n<h2 id=\"md-usage\">Usage</h2>\n<p><include-content data-demo=\"tooltip\"></include-content></p>\n<include-content data-language=\"html\"><template><span role=\"tooltip\" aria-description=\"Shown above\">Hover me</span>\n<button role=\"tooltip\" aria-description=\"Placed below\" data-placement=\"bottom\">Bottom</button></template></include-content>\n<ul>\n<li><code>data-placement</code>: <code>top</code> (default), <code>bottom</code>, <code>left</code>, <code>right</code>.</li>\n<li>Plain elements get a dotted underline and help cursor; links, buttons and inputs keep their own look.</li>\n<li>Pure CSS (<code>::before</code> / <code>::after</code> read <code>aria-description</code>), with a slide animation on fine pointers; <code>--v-tooltip-background-color</code>, <code>--v-tooltip-color</code>.</li>\n</ul>\n<p>The docs site uses it on its icon buttons (<code>role="tooltip" aria-description="Copy source"</code>). For rich content use a <spa-a route-href=\"/nucleus/packages/valence/popover\" role=\"link\">popover</spa-a>.</p>\n",
|
|
77
|
+
"typography": "<h1 id=\"md-typography\">Typography</h1>\n<p>Headings, paragraphs, lists, quotes and inline text primitives — every one available as a tag, a role or an <code>.tag-*</code> class.</p>\n<h2 id=\"md-headings\">Headings</h2>\n<p><code>h1</code>–<code>h6</code> (or <code>[role="heading"][aria-level="n"]</code>) set their own <code>--v-font-size</code>, <code>--v-line-height</code> and color (<code>--v-h1-color</code> … <code>--v-h6-color</code>). A heading that follows a block (<code>p</code>, <code>ul</code>, <code>article</code>, <code>table</code>, …) gets <code>--v-typography-spacing-top</code> above it, so sections breathe without extra markup.</p>\n<p>An <code>hgroup</code> keeps its children tight and mutes the last one — a title plus a subtitle:</p>\n<p><include-content data-demo=\"typography\"></include-content></p>\n<h2 id=\"md-blocks\">Blocks</h2>\n<p><code>p</code>, <code>ul</code> / <code>ol</code>, <code>dl</code>, <code>blockquote</code>, <code>address</code>, <code>pre</code>, <code>table</code> share <code>--v-typography-spacing-vertical</code> below them. <code>ul</code> lists use square markers; nested lists drop their outer margin. A <code>blockquote</code> gets a left rule (<code>--v-blockquote-border-color</code>) and a muted <code>footer</code> for the citation.</p>\n<h2 id=\"md-inline\">Inline</h2>\n<table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Style</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>strong</code>, <code>b</code></td>\n<td>Bolder</td>\n</tr>\n<tr>\n<td><code>mark</code></td>\n<td><code>--v-mark-background-color</code> highlight</td>\n</tr>\n<tr>\n<td><code>ins</code>, <code>del</code></td>\n<td><code>--v-ins-color</code> / <code>--v-del-color</code></td>\n</tr>\n<tr>\n<td><code>abbr[title]</code></td>\n<td>Dotted underline, help cursor</td>\n</tr>\n<tr>\n<td><code>sub</code>, <code>sup</code></td>\n<td>No line-height change</td>\n</tr>\n<tr>\n<td><code>small</code></td>\n<td><code>0.875em</code>; <code>small[role="note"]</code> is a block-level muted note</td>\n</tr>\n<tr>\n<td><code>kbd</code>, <code>code</code>, <code>samp</code></td>\n<td>See <spa-a route-href=\"/nucleus/packages/valence/code\" role=\"link\">Code</spa-a></td>\n</tr>\n</tbody></table>\n<p><code>hr</code> is a 1px <code>--v-muted-border-color</code> rule with vertical spacing. Text selection uses <code>--v-text-selection-color</code>.</p>\n"
|
|
78
|
+
},
|
|
79
|
+
"docSections": [
|
|
80
|
+
{
|
|
81
|
+
"id": "getting-started",
|
|
82
|
+
"title": "Getting Started",
|
|
83
|
+
"docs": [
|
|
84
|
+
{
|
|
85
|
+
"name": "schemes",
|
|
86
|
+
"title": "Color schemes"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "aliases",
|
|
90
|
+
"title": "Aliases"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "opt_outs",
|
|
94
|
+
"title": "Opt-outs"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "customization",
|
|
100
|
+
"title": "Customization",
|
|
101
|
+
"docs": [
|
|
102
|
+
{
|
|
103
|
+
"name": "css_variables",
|
|
104
|
+
"title": "CSS variables"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "themes",
|
|
108
|
+
"title": "Themes & layers"
|
|
109
|
+
}
|
|
110
|
+
]
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "layout",
|
|
114
|
+
"title": "Layout",
|
|
115
|
+
"docs": [
|
|
116
|
+
{
|
|
117
|
+
"name": "container",
|
|
118
|
+
"title": "Container"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"name": "landmarks",
|
|
122
|
+
"title": "Landmarks & section"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "grid",
|
|
126
|
+
"title": "Grid"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"name": "overflow_auto",
|
|
130
|
+
"title": "Overflow auto"
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"id": "content",
|
|
136
|
+
"title": "Content",
|
|
137
|
+
"docs": [
|
|
138
|
+
{
|
|
139
|
+
"name": "typography",
|
|
140
|
+
"title": "Typography"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"name": "link",
|
|
144
|
+
"title": "Link"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "button",
|
|
148
|
+
"title": "Button"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"name": "table",
|
|
152
|
+
"title": "Table"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "code",
|
|
156
|
+
"title": "Code"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "embedded",
|
|
160
|
+
"title": "Embedded content"
|
|
161
|
+
}
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"id": "forms",
|
|
166
|
+
"title": "Forms",
|
|
167
|
+
"docs": [
|
|
168
|
+
{
|
|
169
|
+
"name": "forms",
|
|
170
|
+
"title": "Forms"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "input",
|
|
174
|
+
"title": "Input"
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "textarea",
|
|
178
|
+
"title": "Textarea"
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
"name": "select",
|
|
182
|
+
"title": "Select"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"name": "checkboxes",
|
|
186
|
+
"title": "Checkboxes, radios & switches"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"name": "range",
|
|
190
|
+
"title": "Range"
|
|
191
|
+
}
|
|
192
|
+
]
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"id": "components",
|
|
196
|
+
"title": "Components",
|
|
197
|
+
"docs": [
|
|
198
|
+
{
|
|
199
|
+
"name": "accordion",
|
|
200
|
+
"title": "Accordion"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"name": "card",
|
|
204
|
+
"title": "Card"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"name": "dropdown",
|
|
208
|
+
"title": "Dropdown"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"name": "group",
|
|
212
|
+
"title": "Group"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"name": "loading",
|
|
216
|
+
"title": "Loading"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"name": "modal",
|
|
220
|
+
"title": "Modal"
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"name": "nav",
|
|
224
|
+
"title": "Nav"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"name": "popover",
|
|
228
|
+
"title": "Popover"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"name": "progress",
|
|
232
|
+
"title": "Progress"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"name": "tooltip",
|
|
236
|
+
"title": "Tooltip"
|
|
237
|
+
}
|
|
238
|
+
]
|
|
239
|
+
}
|
|
240
|
+
],
|
|
241
|
+
"installation": {
|
|
242
|
+
"name": "@excom/valence",
|
|
243
|
+
"shortName": "valence",
|
|
244
|
+
"version": "0.1.0",
|
|
245
|
+
"description": "Semantic CSS with class / ARIA aliases for native HTML and custom elements",
|
|
246
|
+
"packageType": "library",
|
|
247
|
+
"install": {
|
|
248
|
+
"npm": "npm install @excom/valence"
|
|
249
|
+
},
|
|
250
|
+
"imports": {
|
|
251
|
+
"css": "@import \"@excom/valence/basic.css\";"
|
|
252
|
+
},
|
|
253
|
+
"peerDependencies": []
|
|
254
|
+
},
|
|
255
|
+
"elementApis": [
|
|
256
|
+
{
|
|
257
|
+
"tag": "valence",
|
|
258
|
+
"kind": "class",
|
|
259
|
+
"attributes": [],
|
|
260
|
+
"events": [],
|
|
261
|
+
"slots": [],
|
|
262
|
+
"cssProperties": [
|
|
263
|
+
{
|
|
264
|
+
"name": "--v-accordion-active-summary-color",
|
|
265
|
+
"description": "",
|
|
266
|
+
"default": "var(--v-primary-hover)"
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"name": "--v-accordion-border-color",
|
|
270
|
+
"description": "",
|
|
271
|
+
"default": "var(--v-muted-border-color)"
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
"name": "--v-accordion-close-summary-color",
|
|
275
|
+
"description": "",
|
|
276
|
+
"default": "var(--v-color)"
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"name": "--v-accordion-open-summary-color",
|
|
280
|
+
"description": "",
|
|
281
|
+
"default": "var(--v-muted-color)"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"name": "--v-background-color",
|
|
285
|
+
"description": "",
|
|
286
|
+
"default": "#fff"
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"name": "--v-block-spacing-horizontal",
|
|
290
|
+
"description": "",
|
|
291
|
+
"default": "var(--v-spacing)"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"name": "--v-block-spacing-vertical",
|
|
295
|
+
"description": "",
|
|
296
|
+
"default": "var(--v-spacing)"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"name": "--v-blockquote-border-color",
|
|
300
|
+
"description": "",
|
|
301
|
+
"default": "var(--v-muted-border-color)"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"name": "--v-blockquote-footer-color",
|
|
305
|
+
"description": "",
|
|
306
|
+
"default": "var(--v-muted-color)"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"name": "--v-border-radius",
|
|
310
|
+
"description": "",
|
|
311
|
+
"default": "0.25rem"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"name": "--v-border-width",
|
|
315
|
+
"description": "",
|
|
316
|
+
"default": "0.0625rem"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"name": "--v-box-shadow",
|
|
320
|
+
"description": "",
|
|
321
|
+
"default": "0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015)"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"name": "--v-button-box-shadow",
|
|
325
|
+
"description": "",
|
|
326
|
+
"default": "0 0 0 rgba(0, 0, 0, 0)"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"name": "--v-button-hover-box-shadow",
|
|
330
|
+
"description": "",
|
|
331
|
+
"default": "0 0 0 rgba(0, 0, 0, 0)"
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"name": "--v-card-background-color",
|
|
335
|
+
"description": "",
|
|
336
|
+
"default": "var(--v-background-color)"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"name": "--v-card-border-color",
|
|
340
|
+
"description": "",
|
|
341
|
+
"default": "var(--v-muted-border-color)"
|
|
342
|
+
},
|
|
343
|
+
{
|
|
344
|
+
"name": "--v-card-box-shadow",
|
|
345
|
+
"description": "",
|
|
346
|
+
"default": "var(--v-box-shadow)"
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
"name": "--v-card-sectioning-background-color",
|
|
350
|
+
"description": "",
|
|
351
|
+
"default": "rgb(251, 251.5, 252.25)"
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"name": "--v-code-background-color",
|
|
355
|
+
"description": "",
|
|
356
|
+
"default": "rgb(243, 244.5, 246.75)"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"name": "--v-code-color",
|
|
360
|
+
"description": "",
|
|
361
|
+
"default": "#646b79"
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"name": "--v-code-kbd-background-color",
|
|
365
|
+
"description": "",
|
|
366
|
+
"default": "var(--v-color)"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"name": "--v-code-kbd-color",
|
|
370
|
+
"description": "",
|
|
371
|
+
"default": "var(--v-background-color)"
|
|
372
|
+
},
|
|
373
|
+
{
|
|
374
|
+
"name": "--v-color",
|
|
375
|
+
"description": "",
|
|
376
|
+
"default": "#373c44"
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"name": "--v-contrast",
|
|
380
|
+
"description": "",
|
|
381
|
+
"default": "#181c25"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"name": "--v-contrast-background",
|
|
385
|
+
"description": "",
|
|
386
|
+
"default": "#181c25"
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"name": "--v-contrast-border",
|
|
390
|
+
"description": "",
|
|
391
|
+
"default": "var(--v-contrast-background)"
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"name": "--v-contrast-focus",
|
|
395
|
+
"description": "",
|
|
396
|
+
"default": "rgba(93, 107, 137, 0.25)"
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"name": "--v-contrast-hover",
|
|
400
|
+
"description": "",
|
|
401
|
+
"default": "#000"
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"name": "--v-contrast-hover-background",
|
|
405
|
+
"description": "",
|
|
406
|
+
"default": "#000"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"name": "--v-contrast-hover-border",
|
|
410
|
+
"description": "",
|
|
411
|
+
"default": "var(--v-contrast-hover-background)"
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"name": "--v-contrast-hover-underline",
|
|
415
|
+
"description": "",
|
|
416
|
+
"default": "var(--v-secondary-hover)"
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"name": "--v-contrast-inverse",
|
|
420
|
+
"description": "",
|
|
421
|
+
"default": "#fff"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"name": "--v-contrast-underline",
|
|
425
|
+
"description": "",
|
|
426
|
+
"default": "rgba(24, 28, 37, 0.5)"
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"name": "--v-del-color",
|
|
430
|
+
"description": "",
|
|
431
|
+
"default": "rgb(136, 56.5, 53)"
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"name": "--v-dropdown-background-color",
|
|
435
|
+
"description": "",
|
|
436
|
+
"default": "#fff"
|
|
437
|
+
},
|
|
438
|
+
{
|
|
439
|
+
"name": "--v-dropdown-border-color",
|
|
440
|
+
"description": "",
|
|
441
|
+
"default": "#eff1f4"
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"name": "--v-dropdown-box-shadow",
|
|
445
|
+
"description": "",
|
|
446
|
+
"default": "var(--v-box-shadow)"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"name": "--v-dropdown-color",
|
|
450
|
+
"description": "",
|
|
451
|
+
"default": "var(--v-color)"
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"name": "--v-dropdown-hover-background-color",
|
|
455
|
+
"description": "",
|
|
456
|
+
"default": "#eff1f4"
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
"name": "--v-font-family",
|
|
460
|
+
"description": "",
|
|
461
|
+
"default": "var(--v-font-family-sans-serif)"
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"name": "--v-font-family-emoji",
|
|
465
|
+
"description": "",
|
|
466
|
+
"default": "\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\""
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"name": "--v-font-family-monospace",
|
|
470
|
+
"description": "",
|
|
471
|
+
"default": "ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, \"Liberation Mono\", monospace, var(--v-font-family-emoji)"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"name": "--v-font-family-sans-serif",
|
|
475
|
+
"description": "",
|
|
476
|
+
"default": "system-ui, \"Segoe UI\", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, \"Helvetica Neue\", sans-serif, var(--v-font-family-emoji)"
|
|
477
|
+
},
|
|
478
|
+
{
|
|
479
|
+
"name": "--v-font-size",
|
|
480
|
+
"description": "",
|
|
481
|
+
"default": "100%"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"name": "--v-font-weight",
|
|
485
|
+
"description": "",
|
|
486
|
+
"default": "400"
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
"name": "--v-form-element-active-background-color",
|
|
490
|
+
"description": "",
|
|
491
|
+
"default": "#fff"
|
|
492
|
+
},
|
|
493
|
+
{
|
|
494
|
+
"name": "--v-form-element-active-border-color",
|
|
495
|
+
"description": "",
|
|
496
|
+
"default": "var(--v-primary-border)"
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
"name": "--v-form-element-background-color",
|
|
500
|
+
"description": "",
|
|
501
|
+
"default": "rgb(251, 251.5, 252.25)"
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"name": "--v-form-element-border-color",
|
|
505
|
+
"description": "",
|
|
506
|
+
"default": "#cfd5e2"
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"name": "--v-form-element-color",
|
|
510
|
+
"description": "",
|
|
511
|
+
"default": "#23262c"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"name": "--v-form-element-disabled-opacity",
|
|
515
|
+
"description": "",
|
|
516
|
+
"default": "0.5"
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
"name": "--v-form-element-focus-color",
|
|
520
|
+
"description": "",
|
|
521
|
+
"default": "var(--v-primary-border)"
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"name": "--v-form-element-invalid-active-border-color",
|
|
525
|
+
"description": "",
|
|
526
|
+
"default": "rgb(200.25, 79.25, 72.25)"
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"name": "--v-form-element-invalid-border-color",
|
|
530
|
+
"description": "",
|
|
531
|
+
"default": "rgb(183.5, 105.5, 106.5)"
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
"name": "--v-form-element-invalid-focus-color",
|
|
535
|
+
"description": "",
|
|
536
|
+
"default": "var( --v-form-element-invalid-active-border-color )"
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
"name": "--v-form-element-placeholder-color",
|
|
540
|
+
"description": "",
|
|
541
|
+
"default": "var(--v-muted-color)"
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"name": "--v-form-element-selected-background-color",
|
|
545
|
+
"description": "",
|
|
546
|
+
"default": "#dfe3eb"
|
|
547
|
+
},
|
|
548
|
+
{
|
|
549
|
+
"name": "--v-form-element-spacing-horizontal",
|
|
550
|
+
"description": "",
|
|
551
|
+
"default": "1rem"
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"name": "--v-form-element-spacing-vertical",
|
|
555
|
+
"description": "",
|
|
556
|
+
"default": "0.75rem"
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"name": "--v-form-element-valid-active-border-color",
|
|
560
|
+
"description": "",
|
|
561
|
+
"default": "rgb(39, 152.75, 118.75)"
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
"name": "--v-form-element-valid-border-color",
|
|
565
|
+
"description": "",
|
|
566
|
+
"default": "rgb(76, 154.5, 137.5)"
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
"name": "--v-form-element-valid-focus-color",
|
|
570
|
+
"description": "",
|
|
571
|
+
"default": "var( --v-form-element-valid-active-border-color )"
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"name": "--v-grid-column-gap",
|
|
575
|
+
"description": "",
|
|
576
|
+
"default": "var(--v-spacing)"
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"name": "--v-grid-row-gap",
|
|
580
|
+
"description": "",
|
|
581
|
+
"default": "var(--v-spacing)"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"name": "--v-group-box-shadow",
|
|
585
|
+
"description": "",
|
|
586
|
+
"default": "0 0 0 rgba(0, 0, 0, 0)"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"name": "--v-group-box-shadow-focus-with-button",
|
|
590
|
+
"description": "",
|
|
591
|
+
"default": "0 0 0 var(--v-outline-width) var(--v-primary-focus)"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"name": "--v-group-box-shadow-focus-with-input",
|
|
595
|
+
"description": "",
|
|
596
|
+
"default": "0 0 0 0.0625rem var(--v-form-element-border-color)"
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"name": "--v-h1-color",
|
|
600
|
+
"description": "",
|
|
601
|
+
"default": "#2d3138"
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
"name": "--v-h2-color",
|
|
605
|
+
"description": "",
|
|
606
|
+
"default": "#373c44"
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"name": "--v-h3-color",
|
|
610
|
+
"description": "",
|
|
611
|
+
"default": "#424751"
|
|
612
|
+
},
|
|
613
|
+
{
|
|
614
|
+
"name": "--v-h4-color",
|
|
615
|
+
"description": "",
|
|
616
|
+
"default": "#4d535e"
|
|
617
|
+
},
|
|
618
|
+
{
|
|
619
|
+
"name": "--v-h5-color",
|
|
620
|
+
"description": "",
|
|
621
|
+
"default": "#5c6370"
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"name": "--v-h6-color",
|
|
625
|
+
"description": "",
|
|
626
|
+
"default": "#646b79"
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"name": "--v-icon-checkbox",
|
|
630
|
+
"description": "",
|
|
631
|
+
"default": "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\")"
|
|
632
|
+
},
|
|
633
|
+
{
|
|
634
|
+
"name": "--v-icon-chevron",
|
|
635
|
+
"description": "",
|
|
636
|
+
"default": "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\")"
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
"name": "--v-icon-close",
|
|
640
|
+
"description": "",
|
|
641
|
+
"default": "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E\")"
|
|
642
|
+
},
|
|
643
|
+
{
|
|
644
|
+
"name": "--v-icon-date",
|
|
645
|
+
"description": "",
|
|
646
|
+
"default": "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E\")"
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
"name": "--v-icon-invalid",
|
|
650
|
+
"description": "",
|
|
651
|
+
"default": "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E\")"
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"name": "--v-icon-loading",
|
|
655
|
+
"description": "",
|
|
656
|
+
"default": "url(\"data:image/svg+xml,%3Csvg fill='none' height='24' width='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E g %7B animation: rotate 2s linear infinite"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"name": "--v-icon-minus",
|
|
660
|
+
"description": "",
|
|
661
|
+
"default": "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E\")"
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"name": "--v-icon-search",
|
|
665
|
+
"description": "",
|
|
666
|
+
"default": "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E\")"
|
|
667
|
+
},
|
|
668
|
+
{
|
|
669
|
+
"name": "--v-icon-time",
|
|
670
|
+
"description": "",
|
|
671
|
+
"default": "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E\")"
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"name": "--v-icon-valid",
|
|
675
|
+
"description": "",
|
|
676
|
+
"default": "url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\")"
|
|
677
|
+
},
|
|
678
|
+
{
|
|
679
|
+
"name": "--v-ins-color",
|
|
680
|
+
"description": "",
|
|
681
|
+
"default": "rgb(28.5, 105.5, 84)"
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
"name": "--v-line-height",
|
|
685
|
+
"description": "",
|
|
686
|
+
"default": "1.5"
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
"name": "--v-loading-spinner-opacity",
|
|
690
|
+
"description": "",
|
|
691
|
+
"default": "0.5"
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
"name": "--v-mark-background-color",
|
|
695
|
+
"description": "",
|
|
696
|
+
"default": "rgb(252.5, 230.5, 191.5)"
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"name": "--v-mark-color",
|
|
700
|
+
"description": "",
|
|
701
|
+
"default": "#0f1114"
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"name": "--v-modal-overlay-backdrop-filter",
|
|
705
|
+
"description": "",
|
|
706
|
+
"default": "blur(0.375rem)"
|
|
707
|
+
},
|
|
708
|
+
{
|
|
709
|
+
"name": "--v-modal-overlay-background-color",
|
|
710
|
+
"description": "",
|
|
711
|
+
"default": "rgba(232, 234, 237, 0.75)"
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
"name": "--v-multiply-color-0",
|
|
715
|
+
"description": "",
|
|
716
|
+
"default": "rgba(0, 0, 0, 0.02)"
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
"name": "--v-multiply-color-1",
|
|
720
|
+
"description": "",
|
|
721
|
+
"default": "rgba(0, 0, 0, 0.04)"
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
"name": "--v-muted-border-color",
|
|
725
|
+
"description": "",
|
|
726
|
+
"default": "rgb(231, 234, 239.5)"
|
|
727
|
+
},
|
|
728
|
+
{
|
|
729
|
+
"name": "--v-muted-color",
|
|
730
|
+
"description": "",
|
|
731
|
+
"default": "#646b79"
|
|
732
|
+
},
|
|
733
|
+
{
|
|
734
|
+
"name": "--v-nav-breadcrumb-divider",
|
|
735
|
+
"description": "",
|
|
736
|
+
"default": "\">\""
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
"name": "--v-nav-element-spacing-horizontal",
|
|
740
|
+
"description": "",
|
|
741
|
+
"default": "0.5rem"
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"name": "--v-nav-element-spacing-vertical",
|
|
745
|
+
"description": "",
|
|
746
|
+
"default": "1rem"
|
|
747
|
+
},
|
|
748
|
+
{
|
|
749
|
+
"name": "--v-nav-link-spacing-horizontal",
|
|
750
|
+
"description": "",
|
|
751
|
+
"default": "0.5rem"
|
|
752
|
+
},
|
|
753
|
+
{
|
|
754
|
+
"name": "--v-nav-link-spacing-vertical",
|
|
755
|
+
"description": "",
|
|
756
|
+
"default": "0.5rem"
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"name": "--v-outline-width",
|
|
760
|
+
"description": "",
|
|
761
|
+
"default": "0.125rem"
|
|
762
|
+
},
|
|
763
|
+
{
|
|
764
|
+
"name": "--v-popover-background-color",
|
|
765
|
+
"description": "",
|
|
766
|
+
"default": "#fff"
|
|
767
|
+
},
|
|
768
|
+
{
|
|
769
|
+
"name": "--v-popover-border-color",
|
|
770
|
+
"description": "",
|
|
771
|
+
"default": "#eff1f4"
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
"name": "--v-popover-box-shadow",
|
|
775
|
+
"description": "",
|
|
776
|
+
"default": "var(--v-box-shadow)"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"name": "--v-popover-color",
|
|
780
|
+
"description": "",
|
|
781
|
+
"default": "var(--v-color)"
|
|
782
|
+
},
|
|
783
|
+
{
|
|
784
|
+
"name": "--v-popover-max-width",
|
|
785
|
+
"description": "",
|
|
786
|
+
"default": "20rem"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"name": "--v-primary",
|
|
790
|
+
"description": "",
|
|
791
|
+
"default": "#0172ad"
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
"name": "--v-primary-background",
|
|
795
|
+
"description": "",
|
|
796
|
+
"default": "#0172ad"
|
|
797
|
+
},
|
|
798
|
+
{
|
|
799
|
+
"name": "--v-primary-border",
|
|
800
|
+
"description": "",
|
|
801
|
+
"default": "var(--v-primary-background)"
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"name": "--v-primary-focus",
|
|
805
|
+
"description": "",
|
|
806
|
+
"default": "rgba(2, 154, 232, 0.5)"
|
|
807
|
+
},
|
|
808
|
+
{
|
|
809
|
+
"name": "--v-primary-hover",
|
|
810
|
+
"description": "",
|
|
811
|
+
"default": "#015887"
|
|
812
|
+
},
|
|
813
|
+
{
|
|
814
|
+
"name": "--v-primary-hover-background",
|
|
815
|
+
"description": "",
|
|
816
|
+
"default": "#02659a"
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"name": "--v-primary-hover-border",
|
|
820
|
+
"description": "",
|
|
821
|
+
"default": "var(--v-primary-hover-background)"
|
|
822
|
+
},
|
|
823
|
+
{
|
|
824
|
+
"name": "--v-primary-hover-underline",
|
|
825
|
+
"description": "",
|
|
826
|
+
"default": "var(--v-primary-hover)"
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"name": "--v-primary-inverse",
|
|
830
|
+
"description": "",
|
|
831
|
+
"default": "#fff"
|
|
832
|
+
},
|
|
833
|
+
{
|
|
834
|
+
"name": "--v-primary-underline",
|
|
835
|
+
"description": "",
|
|
836
|
+
"default": "rgba(1, 114, 173, 0.5)"
|
|
837
|
+
},
|
|
838
|
+
{
|
|
839
|
+
"name": "--v-progress-background-color",
|
|
840
|
+
"description": "",
|
|
841
|
+
"default": "#dfe3eb"
|
|
842
|
+
},
|
|
843
|
+
{
|
|
844
|
+
"name": "--v-progress-color",
|
|
845
|
+
"description": "",
|
|
846
|
+
"default": "var(--v-primary-background)"
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
"name": "--v-range-active-border-color",
|
|
850
|
+
"description": "",
|
|
851
|
+
"default": "#bfc7d9"
|
|
852
|
+
},
|
|
853
|
+
{
|
|
854
|
+
"name": "--v-range-border-color",
|
|
855
|
+
"description": "",
|
|
856
|
+
"default": "#dfe3eb"
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"name": "--v-range-thumb-active-color",
|
|
860
|
+
"description": "",
|
|
861
|
+
"default": "var(--v-primary-background)"
|
|
862
|
+
},
|
|
863
|
+
{
|
|
864
|
+
"name": "--v-range-thumb-border-color",
|
|
865
|
+
"description": "",
|
|
866
|
+
"default": "var(--v-background-color)"
|
|
867
|
+
},
|
|
868
|
+
{
|
|
869
|
+
"name": "--v-range-thumb-color",
|
|
870
|
+
"description": "",
|
|
871
|
+
"default": "var(--v-secondary-background)"
|
|
872
|
+
},
|
|
873
|
+
{
|
|
874
|
+
"name": "--v-secondary",
|
|
875
|
+
"description": "",
|
|
876
|
+
"default": "#5d6b89"
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
"name": "--v-secondary-background",
|
|
880
|
+
"description": "",
|
|
881
|
+
"default": "#525f7a"
|
|
882
|
+
},
|
|
883
|
+
{
|
|
884
|
+
"name": "--v-secondary-border",
|
|
885
|
+
"description": "",
|
|
886
|
+
"default": "var(--v-secondary-background)"
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
"name": "--v-secondary-focus",
|
|
890
|
+
"description": "",
|
|
891
|
+
"default": "rgba(93, 107, 137, 0.25)"
|
|
892
|
+
},
|
|
893
|
+
{
|
|
894
|
+
"name": "--v-secondary-hover",
|
|
895
|
+
"description": "",
|
|
896
|
+
"default": "#48536b"
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
"name": "--v-secondary-hover-background",
|
|
900
|
+
"description": "",
|
|
901
|
+
"default": "#48536b"
|
|
902
|
+
},
|
|
903
|
+
{
|
|
904
|
+
"name": "--v-secondary-hover-border",
|
|
905
|
+
"description": "",
|
|
906
|
+
"default": "var(--v-secondary-hover-background)"
|
|
907
|
+
},
|
|
908
|
+
{
|
|
909
|
+
"name": "--v-secondary-hover-underline",
|
|
910
|
+
"description": "",
|
|
911
|
+
"default": "var(--v-secondary-hover)"
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"name": "--v-secondary-inverse",
|
|
915
|
+
"description": "",
|
|
916
|
+
"default": "#fff"
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"name": "--v-secondary-underline",
|
|
920
|
+
"description": "",
|
|
921
|
+
"default": "rgba(93, 107, 137, 0.5)"
|
|
922
|
+
},
|
|
923
|
+
{
|
|
924
|
+
"name": "--v-spacing",
|
|
925
|
+
"description": "",
|
|
926
|
+
"default": "1rem"
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"name": "--v-switch-background-color",
|
|
930
|
+
"description": "",
|
|
931
|
+
"default": "#bfc7d9"
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
"name": "--v-switch-checked-background-color",
|
|
935
|
+
"description": "",
|
|
936
|
+
"default": "var(--v-primary-background)"
|
|
937
|
+
},
|
|
938
|
+
{
|
|
939
|
+
"name": "--v-switch-color",
|
|
940
|
+
"description": "",
|
|
941
|
+
"default": "#fff"
|
|
942
|
+
},
|
|
943
|
+
{
|
|
944
|
+
"name": "--v-switch-thumb-box-shadow",
|
|
945
|
+
"description": "",
|
|
946
|
+
"default": "0 0 0 rgba(0, 0, 0, 0)"
|
|
947
|
+
},
|
|
948
|
+
{
|
|
949
|
+
"name": "--v-table-border-color",
|
|
950
|
+
"description": "",
|
|
951
|
+
"default": "var(--v-muted-border-color)"
|
|
952
|
+
},
|
|
953
|
+
{
|
|
954
|
+
"name": "--v-table-row-stripped-background-color",
|
|
955
|
+
"description": "",
|
|
956
|
+
"default": "rgba(111, 120, 135, 0.0375)"
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
"name": "--v-table-sticky-top",
|
|
960
|
+
"description": "",
|
|
961
|
+
"default": "0px"
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
"name": "--v-text-selection-color",
|
|
965
|
+
"description": "",
|
|
966
|
+
"default": "rgba(2, 154, 232, 0.25)"
|
|
967
|
+
},
|
|
968
|
+
{
|
|
969
|
+
"name": "--v-text-underline-offset",
|
|
970
|
+
"description": "",
|
|
971
|
+
"default": "0.1rem"
|
|
972
|
+
},
|
|
973
|
+
{
|
|
974
|
+
"name": "--v-tooltip-background-color",
|
|
975
|
+
"description": "",
|
|
976
|
+
"default": "var(--v-contrast-background)"
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
"name": "--v-tooltip-color",
|
|
980
|
+
"description": "",
|
|
981
|
+
"default": "var(--v-contrast-inverse)"
|
|
982
|
+
},
|
|
983
|
+
{
|
|
984
|
+
"name": "--v-transition",
|
|
985
|
+
"description": "",
|
|
986
|
+
"default": "var(--v-transition-duration-standard) var(--v-transition-ease-out)"
|
|
987
|
+
},
|
|
988
|
+
{
|
|
989
|
+
"name": "--v-transition-duration-fast",
|
|
990
|
+
"description": "",
|
|
991
|
+
"default": "0.15s"
|
|
992
|
+
},
|
|
993
|
+
{
|
|
994
|
+
"name": "--v-transition-duration-slow",
|
|
995
|
+
"description": "",
|
|
996
|
+
"default": "0.4s"
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
"name": "--v-transition-duration-standard",
|
|
1000
|
+
"description": "",
|
|
1001
|
+
"default": "0.25s"
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
"name": "--v-transition-ease-in",
|
|
1005
|
+
"description": "",
|
|
1006
|
+
"default": "cubic-bezier(0.4, 0, 1, 1)"
|
|
1007
|
+
},
|
|
1008
|
+
{
|
|
1009
|
+
"name": "--v-transition-ease-in-out",
|
|
1010
|
+
"description": "",
|
|
1011
|
+
"default": "cubic-bezier(0.4, 0, 0.2, 1)"
|
|
1012
|
+
},
|
|
1013
|
+
{
|
|
1014
|
+
"name": "--v-transition-ease-out",
|
|
1015
|
+
"description": "",
|
|
1016
|
+
"default": "cubic-bezier(0, 0, 0.2, 1)"
|
|
1017
|
+
},
|
|
1018
|
+
{
|
|
1019
|
+
"name": "--v-typography-spacing-vertical",
|
|
1020
|
+
"description": "",
|
|
1021
|
+
"default": "1rem"
|
|
1022
|
+
}
|
|
1023
|
+
],
|
|
1024
|
+
"cssClasses": [
|
|
1025
|
+
{
|
|
1026
|
+
"name": "close",
|
|
1027
|
+
"description": "Close control — <code>.close</code> or <code>:--button</code> / <code>:--link</code> with <code>rel="prev"</code> Renders the theme close icon (empty content)."
|
|
1028
|
+
},
|
|
1029
|
+
{
|
|
1030
|
+
"name": "container",
|
|
1031
|
+
"description": "Centered page column with responsive max-width."
|
|
1032
|
+
},
|
|
1033
|
+
{
|
|
1034
|
+
"name": "container-fluid",
|
|
1035
|
+
"description": "Full-width fluid column (padding only, no max-width)."
|
|
1036
|
+
},
|
|
1037
|
+
{
|
|
1038
|
+
"name": "contrast",
|
|
1039
|
+
"description": "High-contrast link flavor."
|
|
1040
|
+
},
|
|
1041
|
+
{
|
|
1042
|
+
"name": "dropdown",
|
|
1043
|
+
"description": "Dropdown menu — apply to <code><details></code> / <code>:--details</code>."
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
"name": "grid",
|
|
1047
|
+
"description": "Auto-fit responsive columns."
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
"name": "nested",
|
|
1051
|
+
"description": "Nested card — quieter border / shadow inside another card."
|
|
1052
|
+
},
|
|
1053
|
+
{
|
|
1054
|
+
"name": "outline",
|
|
1055
|
+
"description": "Outline (ghost) button flavor — pair with <code>.secondary</code> / <code>.contrast</code>."
|
|
1056
|
+
},
|
|
1057
|
+
{
|
|
1058
|
+
"name": "overflow-auto",
|
|
1059
|
+
"description": "Scrollable overflow container."
|
|
1060
|
+
},
|
|
1061
|
+
{
|
|
1062
|
+
"name": "secondary",
|
|
1063
|
+
"description": "Muted / secondary link flavor."
|
|
1064
|
+
},
|
|
1065
|
+
{
|
|
1066
|
+
"name": "show-scrollbar",
|
|
1067
|
+
"description": "Always show a styled vertical scrollbar."
|
|
1068
|
+
},
|
|
1069
|
+
{
|
|
1070
|
+
"name": "sticky",
|
|
1071
|
+
"description": "Sticky table header row."
|
|
1072
|
+
},
|
|
1073
|
+
{
|
|
1074
|
+
"name": "striped",
|
|
1075
|
+
"description": "Alternating row background."
|
|
1076
|
+
},
|
|
1077
|
+
{
|
|
1078
|
+
"name": "unanimated",
|
|
1079
|
+
"description": "Disable transitions / animations on one element."
|
|
1080
|
+
},
|
|
1081
|
+
{
|
|
1082
|
+
"name": "unanimated-all",
|
|
1083
|
+
"description": "Disable transitions / animations on an element and all descendants."
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
"name": "unstyled",
|
|
1087
|
+
"description": "Opt out of Valence.css styles on one element."
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
"name": "unstyled-all",
|
|
1091
|
+
"description": "Opt out of Valence.css styles on an element and all descendants."
|
|
1092
|
+
}
|
|
1093
|
+
],
|
|
1094
|
+
"cssAliases": [
|
|
1095
|
+
{
|
|
1096
|
+
"name": ":--abbr",
|
|
1097
|
+
"selectors": [
|
|
1098
|
+
"abbr",
|
|
1099
|
+
".tag-abbr"
|
|
1100
|
+
],
|
|
1101
|
+
"kind": "element",
|
|
1102
|
+
"description": ""
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"name": ":--address",
|
|
1106
|
+
"selectors": [
|
|
1107
|
+
"address",
|
|
1108
|
+
".tag-address"
|
|
1109
|
+
],
|
|
1110
|
+
"kind": "element",
|
|
1111
|
+
"description": ""
|
|
1112
|
+
},
|
|
1113
|
+
{
|
|
1114
|
+
"name": ":--article",
|
|
1115
|
+
"selectors": [
|
|
1116
|
+
"article",
|
|
1117
|
+
"[role=\"article\"]",
|
|
1118
|
+
".tag-article"
|
|
1119
|
+
],
|
|
1120
|
+
"kind": "element",
|
|
1121
|
+
"description": ""
|
|
1122
|
+
},
|
|
1123
|
+
{
|
|
1124
|
+
"name": ":--aside",
|
|
1125
|
+
"selectors": [
|
|
1126
|
+
"aside",
|
|
1127
|
+
"[role=\"complementary\"]",
|
|
1128
|
+
".tag-aside"
|
|
1129
|
+
],
|
|
1130
|
+
"kind": "element",
|
|
1131
|
+
"description": ""
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
"name": ":--b",
|
|
1135
|
+
"selectors": [
|
|
1136
|
+
"b",
|
|
1137
|
+
".tag-b"
|
|
1138
|
+
],
|
|
1139
|
+
"kind": "element",
|
|
1140
|
+
"description": ""
|
|
1141
|
+
},
|
|
1142
|
+
{
|
|
1143
|
+
"name": ":--blockquote",
|
|
1144
|
+
"selectors": [
|
|
1145
|
+
"blockquote",
|
|
1146
|
+
"[role=\"blockquote\"]",
|
|
1147
|
+
".tag-blockquote"
|
|
1148
|
+
],
|
|
1149
|
+
"kind": "element",
|
|
1150
|
+
"description": ""
|
|
1151
|
+
},
|
|
1152
|
+
{
|
|
1153
|
+
"name": ":--button",
|
|
1154
|
+
"selectors": [
|
|
1155
|
+
"button",
|
|
1156
|
+
"[role=\"button\"]",
|
|
1157
|
+
"[type=\"button\"]",
|
|
1158
|
+
".tag-button"
|
|
1159
|
+
],
|
|
1160
|
+
"kind": "element",
|
|
1161
|
+
"description": ""
|
|
1162
|
+
},
|
|
1163
|
+
{
|
|
1164
|
+
"name": ":--button--disabled",
|
|
1165
|
+
"selectors": [
|
|
1166
|
+
"[disabled]",
|
|
1167
|
+
"[aria-disabled=\"true\"]"
|
|
1168
|
+
],
|
|
1169
|
+
"kind": "state",
|
|
1170
|
+
"description": ""
|
|
1171
|
+
},
|
|
1172
|
+
{
|
|
1173
|
+
"name": ":--code",
|
|
1174
|
+
"selectors": [
|
|
1175
|
+
"code",
|
|
1176
|
+
"[role=\"code\"]",
|
|
1177
|
+
".tag-code"
|
|
1178
|
+
],
|
|
1179
|
+
"kind": "element",
|
|
1180
|
+
"description": ""
|
|
1181
|
+
},
|
|
1182
|
+
{
|
|
1183
|
+
"name": ":--del",
|
|
1184
|
+
"selectors": [
|
|
1185
|
+
"del",
|
|
1186
|
+
"[role=\"deletion\"]",
|
|
1187
|
+
".tag-del"
|
|
1188
|
+
],
|
|
1189
|
+
"kind": "element",
|
|
1190
|
+
"description": ""
|
|
1191
|
+
},
|
|
1192
|
+
{
|
|
1193
|
+
"name": ":--details",
|
|
1194
|
+
"selectors": [
|
|
1195
|
+
"details",
|
|
1196
|
+
".tag-details"
|
|
1197
|
+
],
|
|
1198
|
+
"kind": "element",
|
|
1199
|
+
"description": ""
|
|
1200
|
+
},
|
|
1201
|
+
{
|
|
1202
|
+
"name": ":--details--open",
|
|
1203
|
+
"selectors": [
|
|
1204
|
+
"[open]",
|
|
1205
|
+
"[aria-expanded=\"true\"]"
|
|
1206
|
+
],
|
|
1207
|
+
"kind": "state",
|
|
1208
|
+
"description": ""
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"name": ":--dialog",
|
|
1212
|
+
"selectors": [
|
|
1213
|
+
"dialog",
|
|
1214
|
+
"[role=\"dialog\"]",
|
|
1215
|
+
".tag-dialog"
|
|
1216
|
+
],
|
|
1217
|
+
"kind": "element",
|
|
1218
|
+
"description": ""
|
|
1219
|
+
},
|
|
1220
|
+
{
|
|
1221
|
+
"name": ":--dialog--open",
|
|
1222
|
+
"selectors": [
|
|
1223
|
+
":is(dialog)[open]",
|
|
1224
|
+
"[aria-expanded=\"true\"]"
|
|
1225
|
+
],
|
|
1226
|
+
"kind": "state",
|
|
1227
|
+
"description": ""
|
|
1228
|
+
},
|
|
1229
|
+
{
|
|
1230
|
+
"name": ":--dialog-backdrop-aliases",
|
|
1231
|
+
"selectors": [
|
|
1232
|
+
"[role=\"presentation\"]",
|
|
1233
|
+
".tag-backdrop"
|
|
1234
|
+
],
|
|
1235
|
+
"kind": "element",
|
|
1236
|
+
"description": ""
|
|
1237
|
+
},
|
|
1238
|
+
{
|
|
1239
|
+
"name": ":--dialog-close",
|
|
1240
|
+
"selectors": [
|
|
1241
|
+
".close",
|
|
1242
|
+
":is(:--link, :--button)[rel=\"prev\"]"
|
|
1243
|
+
],
|
|
1244
|
+
"kind": "element",
|
|
1245
|
+
"description": ""
|
|
1246
|
+
},
|
|
1247
|
+
{
|
|
1248
|
+
"name": ":--dl",
|
|
1249
|
+
"selectors": [
|
|
1250
|
+
"dl",
|
|
1251
|
+
".tag-dl"
|
|
1252
|
+
],
|
|
1253
|
+
"kind": "element",
|
|
1254
|
+
"description": ""
|
|
1255
|
+
},
|
|
1256
|
+
{
|
|
1257
|
+
"name": ":--figcaption",
|
|
1258
|
+
"selectors": [
|
|
1259
|
+
"figcaption",
|
|
1260
|
+
"[role=\"caption\"]:is(figure *, [role=\"figure\"] *)",
|
|
1261
|
+
".tag-figcaption"
|
|
1262
|
+
],
|
|
1263
|
+
"kind": "element",
|
|
1264
|
+
"description": ""
|
|
1265
|
+
},
|
|
1266
|
+
{
|
|
1267
|
+
"name": ":--figure",
|
|
1268
|
+
"selectors": [
|
|
1269
|
+
"figure",
|
|
1270
|
+
"[role=\"figure\"]",
|
|
1271
|
+
".tag-figure"
|
|
1272
|
+
],
|
|
1273
|
+
"kind": "element",
|
|
1274
|
+
"description": ""
|
|
1275
|
+
},
|
|
1276
|
+
{
|
|
1277
|
+
"name": ":--footer",
|
|
1278
|
+
"selectors": [
|
|
1279
|
+
"footer",
|
|
1280
|
+
"[role=\"footer\"]",
|
|
1281
|
+
".tag-footer"
|
|
1282
|
+
],
|
|
1283
|
+
"kind": "element",
|
|
1284
|
+
"description": ""
|
|
1285
|
+
},
|
|
1286
|
+
{
|
|
1287
|
+
"name": ":--form",
|
|
1288
|
+
"selectors": [
|
|
1289
|
+
"form",
|
|
1290
|
+
"[role=\"form\"]",
|
|
1291
|
+
".tag-form"
|
|
1292
|
+
],
|
|
1293
|
+
"kind": "element",
|
|
1294
|
+
"description": ""
|
|
1295
|
+
},
|
|
1296
|
+
{
|
|
1297
|
+
"name": ":--group",
|
|
1298
|
+
"selectors": [
|
|
1299
|
+
"[role=\"group\"]",
|
|
1300
|
+
".tag-group"
|
|
1301
|
+
],
|
|
1302
|
+
"kind": "element",
|
|
1303
|
+
"description": ""
|
|
1304
|
+
},
|
|
1305
|
+
{
|
|
1306
|
+
"name": ":--h1",
|
|
1307
|
+
"selectors": [
|
|
1308
|
+
"h1",
|
|
1309
|
+
"[role=\"heading\"][aria-level=\"1\"]",
|
|
1310
|
+
".tag-h1"
|
|
1311
|
+
],
|
|
1312
|
+
"kind": "element",
|
|
1313
|
+
"description": ""
|
|
1314
|
+
},
|
|
1315
|
+
{
|
|
1316
|
+
"name": ":--h2",
|
|
1317
|
+
"selectors": [
|
|
1318
|
+
"h2",
|
|
1319
|
+
"[role=\"heading\"][aria-level=\"2\"]",
|
|
1320
|
+
".tag-h2"
|
|
1321
|
+
],
|
|
1322
|
+
"kind": "element",
|
|
1323
|
+
"description": ""
|
|
1324
|
+
},
|
|
1325
|
+
{
|
|
1326
|
+
"name": ":--h3",
|
|
1327
|
+
"selectors": [
|
|
1328
|
+
"h3",
|
|
1329
|
+
"[role=\"heading\"][aria-level=\"3\"]",
|
|
1330
|
+
".tag-h3"
|
|
1331
|
+
],
|
|
1332
|
+
"kind": "element",
|
|
1333
|
+
"description": ""
|
|
1334
|
+
},
|
|
1335
|
+
{
|
|
1336
|
+
"name": ":--h4",
|
|
1337
|
+
"selectors": [
|
|
1338
|
+
"h4",
|
|
1339
|
+
"[role=\"heading\"][aria-level=\"4\"]",
|
|
1340
|
+
".tag-h4"
|
|
1341
|
+
],
|
|
1342
|
+
"kind": "element",
|
|
1343
|
+
"description": ""
|
|
1344
|
+
},
|
|
1345
|
+
{
|
|
1346
|
+
"name": ":--h5",
|
|
1347
|
+
"selectors": [
|
|
1348
|
+
"h5",
|
|
1349
|
+
"[role=\"heading\"][aria-level=\"5\"]",
|
|
1350
|
+
".tag-h5"
|
|
1351
|
+
],
|
|
1352
|
+
"kind": "element",
|
|
1353
|
+
"description": ""
|
|
1354
|
+
},
|
|
1355
|
+
{
|
|
1356
|
+
"name": ":--h6",
|
|
1357
|
+
"selectors": [
|
|
1358
|
+
"h6",
|
|
1359
|
+
"[role=\"heading\"][aria-level=\"6\"]",
|
|
1360
|
+
".tag-h6"
|
|
1361
|
+
],
|
|
1362
|
+
"kind": "element",
|
|
1363
|
+
"description": ""
|
|
1364
|
+
},
|
|
1365
|
+
{
|
|
1366
|
+
"name": ":--header",
|
|
1367
|
+
"selectors": [
|
|
1368
|
+
"header",
|
|
1369
|
+
"[role=\"header\"]",
|
|
1370
|
+
".tag-header"
|
|
1371
|
+
],
|
|
1372
|
+
"kind": "element",
|
|
1373
|
+
"description": ""
|
|
1374
|
+
},
|
|
1375
|
+
{
|
|
1376
|
+
"name": ":--heading",
|
|
1377
|
+
"selectors": [
|
|
1378
|
+
"h1",
|
|
1379
|
+
"h2",
|
|
1380
|
+
"h3",
|
|
1381
|
+
"h4",
|
|
1382
|
+
"h5",
|
|
1383
|
+
"h6",
|
|
1384
|
+
"[role=\"heading\"]",
|
|
1385
|
+
".tag-heading"
|
|
1386
|
+
],
|
|
1387
|
+
"kind": "element",
|
|
1388
|
+
"description": ""
|
|
1389
|
+
},
|
|
1390
|
+
{
|
|
1391
|
+
"name": ":--hgroup",
|
|
1392
|
+
"selectors": [
|
|
1393
|
+
"hgroup",
|
|
1394
|
+
".tag-hgroup"
|
|
1395
|
+
],
|
|
1396
|
+
"kind": "element",
|
|
1397
|
+
"description": ""
|
|
1398
|
+
},
|
|
1399
|
+
{
|
|
1400
|
+
"name": ":--hr",
|
|
1401
|
+
"selectors": [
|
|
1402
|
+
"hr",
|
|
1403
|
+
"[role=\"separator\"]",
|
|
1404
|
+
".tag-hr"
|
|
1405
|
+
],
|
|
1406
|
+
"kind": "element",
|
|
1407
|
+
"description": ""
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
"name": ":--img",
|
|
1411
|
+
"selectors": [
|
|
1412
|
+
"img",
|
|
1413
|
+
"[role=\"img\"]",
|
|
1414
|
+
".tag-img"
|
|
1415
|
+
],
|
|
1416
|
+
"kind": "element",
|
|
1417
|
+
"description": ""
|
|
1418
|
+
},
|
|
1419
|
+
{
|
|
1420
|
+
"name": ":--ins",
|
|
1421
|
+
"selectors": [
|
|
1422
|
+
"ins",
|
|
1423
|
+
"[role=\"insertion\"]",
|
|
1424
|
+
".tag-ins"
|
|
1425
|
+
],
|
|
1426
|
+
"kind": "element",
|
|
1427
|
+
"description": ""
|
|
1428
|
+
},
|
|
1429
|
+
{
|
|
1430
|
+
"name": ":--kbd",
|
|
1431
|
+
"selectors": [
|
|
1432
|
+
"kbd",
|
|
1433
|
+
".tag-kbd"
|
|
1434
|
+
],
|
|
1435
|
+
"kind": "element",
|
|
1436
|
+
"description": ""
|
|
1437
|
+
},
|
|
1438
|
+
{
|
|
1439
|
+
"name": ":--label",
|
|
1440
|
+
"selectors": [
|
|
1441
|
+
"label",
|
|
1442
|
+
"[role=\"label\"]",
|
|
1443
|
+
".tag-label"
|
|
1444
|
+
],
|
|
1445
|
+
"kind": "element",
|
|
1446
|
+
"description": ""
|
|
1447
|
+
},
|
|
1448
|
+
{
|
|
1449
|
+
"name": ":--li",
|
|
1450
|
+
"selectors": [
|
|
1451
|
+
"li",
|
|
1452
|
+
"[role=\"listitem\"]",
|
|
1453
|
+
".tag-li"
|
|
1454
|
+
],
|
|
1455
|
+
"kind": "element",
|
|
1456
|
+
"description": ""
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
"name": ":--link",
|
|
1460
|
+
"selectors": [
|
|
1461
|
+
"a",
|
|
1462
|
+
"[role=\"link\"]",
|
|
1463
|
+
".tag-link"
|
|
1464
|
+
],
|
|
1465
|
+
"kind": "element",
|
|
1466
|
+
"description": ""
|
|
1467
|
+
},
|
|
1468
|
+
{
|
|
1469
|
+
"name": ":--list",
|
|
1470
|
+
"selectors": [
|
|
1471
|
+
"ul",
|
|
1472
|
+
"ol",
|
|
1473
|
+
"[role=\"list\"]",
|
|
1474
|
+
".tag-list"
|
|
1475
|
+
],
|
|
1476
|
+
"kind": "element",
|
|
1477
|
+
"description": ""
|
|
1478
|
+
},
|
|
1479
|
+
{
|
|
1480
|
+
"name": ":--main",
|
|
1481
|
+
"selectors": [
|
|
1482
|
+
"main",
|
|
1483
|
+
"[role=\"main\"]",
|
|
1484
|
+
".tag-main"
|
|
1485
|
+
],
|
|
1486
|
+
"kind": "element",
|
|
1487
|
+
"description": ""
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
"name": ":--mark",
|
|
1491
|
+
"selectors": [
|
|
1492
|
+
"mark",
|
|
1493
|
+
"[role=\"mark\"]",
|
|
1494
|
+
".tag-mark"
|
|
1495
|
+
],
|
|
1496
|
+
"kind": "element",
|
|
1497
|
+
"description": ""
|
|
1498
|
+
},
|
|
1499
|
+
{
|
|
1500
|
+
"name": ":--nav",
|
|
1501
|
+
"selectors": [
|
|
1502
|
+
"nav",
|
|
1503
|
+
"[role=\"navigation\"]",
|
|
1504
|
+
".tag-nav"
|
|
1505
|
+
],
|
|
1506
|
+
"kind": "element",
|
|
1507
|
+
"description": ""
|
|
1508
|
+
},
|
|
1509
|
+
{
|
|
1510
|
+
"name": ":--note",
|
|
1511
|
+
"selectors": [
|
|
1512
|
+
"[role=\"note\"]",
|
|
1513
|
+
".tag-note"
|
|
1514
|
+
],
|
|
1515
|
+
"kind": "element",
|
|
1516
|
+
"description": ""
|
|
1517
|
+
},
|
|
1518
|
+
{
|
|
1519
|
+
"name": ":--ol",
|
|
1520
|
+
"selectors": [
|
|
1521
|
+
"ol",
|
|
1522
|
+
".tag-ol"
|
|
1523
|
+
],
|
|
1524
|
+
"kind": "element",
|
|
1525
|
+
"description": ""
|
|
1526
|
+
},
|
|
1527
|
+
{
|
|
1528
|
+
"name": ":--p",
|
|
1529
|
+
"selectors": [
|
|
1530
|
+
"p",
|
|
1531
|
+
"[role=\"paragraph\"]",
|
|
1532
|
+
".tag-p"
|
|
1533
|
+
],
|
|
1534
|
+
"kind": "element",
|
|
1535
|
+
"description": ""
|
|
1536
|
+
},
|
|
1537
|
+
{
|
|
1538
|
+
"name": ":--popover",
|
|
1539
|
+
"selectors": [
|
|
1540
|
+
"[popover]",
|
|
1541
|
+
".tag-popover"
|
|
1542
|
+
],
|
|
1543
|
+
"kind": "element",
|
|
1544
|
+
"description": ""
|
|
1545
|
+
},
|
|
1546
|
+
{
|
|
1547
|
+
"name": ":--popover--open",
|
|
1548
|
+
"selectors": [
|
|
1549
|
+
":popover-open",
|
|
1550
|
+
"[aria-expanded=\"true\"]"
|
|
1551
|
+
],
|
|
1552
|
+
"kind": "state",
|
|
1553
|
+
"description": ""
|
|
1554
|
+
},
|
|
1555
|
+
{
|
|
1556
|
+
"name": ":--pre",
|
|
1557
|
+
"selectors": [
|
|
1558
|
+
"pre",
|
|
1559
|
+
".tag-pre"
|
|
1560
|
+
],
|
|
1561
|
+
"kind": "element",
|
|
1562
|
+
"description": ""
|
|
1563
|
+
},
|
|
1564
|
+
{
|
|
1565
|
+
"name": ":--progress",
|
|
1566
|
+
"selectors": [
|
|
1567
|
+
"progress",
|
|
1568
|
+
"[role=\"progressbar\"]",
|
|
1569
|
+
".tag-progress"
|
|
1570
|
+
],
|
|
1571
|
+
"kind": "element",
|
|
1572
|
+
"description": ""
|
|
1573
|
+
},
|
|
1574
|
+
{
|
|
1575
|
+
"name": ":--progress--indeterminate",
|
|
1576
|
+
"selectors": [
|
|
1577
|
+
":is(progress):indeterminate",
|
|
1578
|
+
":is([role=\"progressbar\"], .tag-progress):not(:--progress--value)"
|
|
1579
|
+
],
|
|
1580
|
+
"kind": "state",
|
|
1581
|
+
"description": ""
|
|
1582
|
+
},
|
|
1583
|
+
{
|
|
1584
|
+
"name": ":--progress--value",
|
|
1585
|
+
"selectors": [
|
|
1586
|
+
"[value]",
|
|
1587
|
+
"[aria-valuenow]"
|
|
1588
|
+
],
|
|
1589
|
+
"kind": "state",
|
|
1590
|
+
"description": ""
|
|
1591
|
+
},
|
|
1592
|
+
{
|
|
1593
|
+
"name": ":--progress-aliases",
|
|
1594
|
+
"selectors": [
|
|
1595
|
+
"[role=\"progressbar\"]",
|
|
1596
|
+
".tag-progress"
|
|
1597
|
+
],
|
|
1598
|
+
"kind": "element",
|
|
1599
|
+
"description": ""
|
|
1600
|
+
},
|
|
1601
|
+
{
|
|
1602
|
+
"name": ":--samp",
|
|
1603
|
+
"selectors": [
|
|
1604
|
+
"samp",
|
|
1605
|
+
".tag-samp"
|
|
1606
|
+
],
|
|
1607
|
+
"kind": "element",
|
|
1608
|
+
"description": ""
|
|
1609
|
+
},
|
|
1610
|
+
{
|
|
1611
|
+
"name": ":--search",
|
|
1612
|
+
"selectors": [
|
|
1613
|
+
"[role=\"search\"]",
|
|
1614
|
+
".tag-search"
|
|
1615
|
+
],
|
|
1616
|
+
"kind": "element",
|
|
1617
|
+
"description": ""
|
|
1618
|
+
},
|
|
1619
|
+
{
|
|
1620
|
+
"name": ":--section",
|
|
1621
|
+
"selectors": [
|
|
1622
|
+
"section",
|
|
1623
|
+
"[role=\"section\"]",
|
|
1624
|
+
".tag-section"
|
|
1625
|
+
],
|
|
1626
|
+
"kind": "element",
|
|
1627
|
+
"description": ""
|
|
1628
|
+
},
|
|
1629
|
+
{
|
|
1630
|
+
"name": ":--small",
|
|
1631
|
+
"selectors": [
|
|
1632
|
+
"small",
|
|
1633
|
+
".tag-small"
|
|
1634
|
+
],
|
|
1635
|
+
"kind": "element",
|
|
1636
|
+
"description": ""
|
|
1637
|
+
},
|
|
1638
|
+
{
|
|
1639
|
+
"name": ":--strong",
|
|
1640
|
+
"selectors": [
|
|
1641
|
+
"strong",
|
|
1642
|
+
".tag-strong"
|
|
1643
|
+
],
|
|
1644
|
+
"kind": "element",
|
|
1645
|
+
"description": ""
|
|
1646
|
+
},
|
|
1647
|
+
{
|
|
1648
|
+
"name": ":--sub",
|
|
1649
|
+
"selectors": [
|
|
1650
|
+
"sub",
|
|
1651
|
+
".tag-sub"
|
|
1652
|
+
],
|
|
1653
|
+
"kind": "element",
|
|
1654
|
+
"description": ""
|
|
1655
|
+
},
|
|
1656
|
+
{
|
|
1657
|
+
"name": ":--summary",
|
|
1658
|
+
"selectors": [
|
|
1659
|
+
"summary",
|
|
1660
|
+
".tag-summary"
|
|
1661
|
+
],
|
|
1662
|
+
"kind": "element",
|
|
1663
|
+
"description": ""
|
|
1664
|
+
},
|
|
1665
|
+
{
|
|
1666
|
+
"name": ":--sup",
|
|
1667
|
+
"selectors": [
|
|
1668
|
+
"sup",
|
|
1669
|
+
".tag-sup"
|
|
1670
|
+
],
|
|
1671
|
+
"kind": "element",
|
|
1672
|
+
"description": ""
|
|
1673
|
+
},
|
|
1674
|
+
{
|
|
1675
|
+
"name": ":--table",
|
|
1676
|
+
"selectors": [
|
|
1677
|
+
"table",
|
|
1678
|
+
"[role=\"table\"]",
|
|
1679
|
+
".tag-table"
|
|
1680
|
+
],
|
|
1681
|
+
"kind": "element",
|
|
1682
|
+
"description": ""
|
|
1683
|
+
},
|
|
1684
|
+
{
|
|
1685
|
+
"name": ":--tbody",
|
|
1686
|
+
"selectors": [
|
|
1687
|
+
"tbody",
|
|
1688
|
+
"[role=\"rowgroup\"]:has(:--tbody-th, :--td)",
|
|
1689
|
+
".tag-tbody"
|
|
1690
|
+
],
|
|
1691
|
+
"kind": "element",
|
|
1692
|
+
"description": ""
|
|
1693
|
+
},
|
|
1694
|
+
{
|
|
1695
|
+
"name": ":--tbody-th",
|
|
1696
|
+
"selectors": [
|
|
1697
|
+
"th:not([scope=\"col\"])",
|
|
1698
|
+
"[role=\"rowheader\"]",
|
|
1699
|
+
"[scope=\"row\"]",
|
|
1700
|
+
".tag-th-row"
|
|
1701
|
+
],
|
|
1702
|
+
"kind": "element",
|
|
1703
|
+
"description": ""
|
|
1704
|
+
},
|
|
1705
|
+
{
|
|
1706
|
+
"name": ":--td",
|
|
1707
|
+
"selectors": [
|
|
1708
|
+
"td",
|
|
1709
|
+
"[role=\"cell\"]",
|
|
1710
|
+
"[role=\"gridcell\"]",
|
|
1711
|
+
".tag-td"
|
|
1712
|
+
],
|
|
1713
|
+
"kind": "element",
|
|
1714
|
+
"description": ""
|
|
1715
|
+
},
|
|
1716
|
+
{
|
|
1717
|
+
"name": ":--tfoot",
|
|
1718
|
+
"selectors": [
|
|
1719
|
+
"tfoot",
|
|
1720
|
+
".tag-tfoot"
|
|
1721
|
+
],
|
|
1722
|
+
"kind": "element",
|
|
1723
|
+
"description": ""
|
|
1724
|
+
},
|
|
1725
|
+
{
|
|
1726
|
+
"name": ":--th",
|
|
1727
|
+
"selectors": [
|
|
1728
|
+
"th",
|
|
1729
|
+
"[role=\"columnheader\"]",
|
|
1730
|
+
"[role=\"rowheader\"]",
|
|
1731
|
+
"[scope=\"col\"]",
|
|
1732
|
+
"[scope=\"row\"]",
|
|
1733
|
+
".tag-th"
|
|
1734
|
+
],
|
|
1735
|
+
"kind": "element",
|
|
1736
|
+
"description": ""
|
|
1737
|
+
},
|
|
1738
|
+
{
|
|
1739
|
+
"name": ":--th--sort",
|
|
1740
|
+
"selectors": [
|
|
1741
|
+
"[aria-sort]"
|
|
1742
|
+
],
|
|
1743
|
+
"kind": "state",
|
|
1744
|
+
"description": ""
|
|
1745
|
+
},
|
|
1746
|
+
{
|
|
1747
|
+
"name": ":--th--sort-asc",
|
|
1748
|
+
"selectors": [
|
|
1749
|
+
"[aria-sort=\"ascending\"]"
|
|
1750
|
+
],
|
|
1751
|
+
"kind": "state",
|
|
1752
|
+
"description": ""
|
|
1753
|
+
},
|
|
1754
|
+
{
|
|
1755
|
+
"name": ":--th--sort-desc",
|
|
1756
|
+
"selectors": [
|
|
1757
|
+
"[aria-sort=\"descending\"]"
|
|
1758
|
+
],
|
|
1759
|
+
"kind": "state",
|
|
1760
|
+
"description": ""
|
|
1761
|
+
},
|
|
1762
|
+
{
|
|
1763
|
+
"name": ":--thead",
|
|
1764
|
+
"selectors": [
|
|
1765
|
+
"thead",
|
|
1766
|
+
"[role=\"rowgroup\"]:has(:--thead-th)",
|
|
1767
|
+
".tag-thead"
|
|
1768
|
+
],
|
|
1769
|
+
"kind": "element",
|
|
1770
|
+
"description": ""
|
|
1771
|
+
},
|
|
1772
|
+
{
|
|
1773
|
+
"name": ":--thead-th",
|
|
1774
|
+
"selectors": [
|
|
1775
|
+
"th:not([scope=\"row\"])",
|
|
1776
|
+
"[role=\"columnheader\"]",
|
|
1777
|
+
"[scope=\"col\"]",
|
|
1778
|
+
".tag-th-col"
|
|
1779
|
+
],
|
|
1780
|
+
"kind": "element",
|
|
1781
|
+
"description": ""
|
|
1782
|
+
},
|
|
1783
|
+
{
|
|
1784
|
+
"name": ":--tr",
|
|
1785
|
+
"selectors": [
|
|
1786
|
+
"tr",
|
|
1787
|
+
"[role=\"row\"]",
|
|
1788
|
+
".tag-tr"
|
|
1789
|
+
],
|
|
1790
|
+
"kind": "element",
|
|
1791
|
+
"description": ""
|
|
1792
|
+
},
|
|
1793
|
+
{
|
|
1794
|
+
"name": ":--tree",
|
|
1795
|
+
"selectors": [
|
|
1796
|
+
"[role=\"tree\"]",
|
|
1797
|
+
".tag-tree"
|
|
1798
|
+
],
|
|
1799
|
+
"kind": "element",
|
|
1800
|
+
"description": ""
|
|
1801
|
+
},
|
|
1802
|
+
{
|
|
1803
|
+
"name": ":--ul",
|
|
1804
|
+
"selectors": [
|
|
1805
|
+
"ul",
|
|
1806
|
+
".tag-ul"
|
|
1807
|
+
],
|
|
1808
|
+
"kind": "element",
|
|
1809
|
+
"description": ""
|
|
1810
|
+
}
|
|
1811
|
+
],
|
|
1812
|
+
"listens": [],
|
|
1813
|
+
"commands": [],
|
|
1814
|
+
"defaultActions": [],
|
|
1815
|
+
"expectedChildren": [],
|
|
1816
|
+
"provisions": []
|
|
1817
|
+
}
|
|
1818
|
+
],
|
|
1819
|
+
"exportedFiles": {}
|
|
1820
|
+
}
|