@fpkit/acss 0.5.13 → 0.6.1
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/libs/{chunk-PQ2K3BM6.cjs → chunk-2NRIP6RB.cjs} +3 -3
- package/libs/chunk-33PNJ4LO.cjs +15 -0
- package/libs/chunk-33PNJ4LO.cjs.map +1 -0
- package/libs/chunk-4BZKFPEC.cjs +17 -0
- package/libs/chunk-4BZKFPEC.cjs.map +1 -0
- package/libs/{chunk-772NRB75.js → chunk-5QD3DWFI.js} +2 -2
- package/libs/chunk-6SAHIYCZ.js +7 -0
- package/libs/chunk-6SAHIYCZ.js.map +1 -0
- package/libs/{chunk-3MKLDCKQ.cjs → chunk-6WTC4JXH.cjs} +3 -3
- package/libs/chunk-75QHTLFO.js +7 -0
- package/libs/chunk-75QHTLFO.js.map +1 -0
- package/libs/{chunk-ZANSFMTD.js → chunk-7XPFW7CB.js} +3 -3
- package/libs/chunk-BFK62VX5.js +5 -0
- package/libs/chunk-BFK62VX5.js.map +1 -0
- package/libs/{chunk-ROZI23GS.cjs → chunk-DKTHCQ5P.cjs} +4 -4
- package/libs/chunk-E2AJURUW.cjs +13 -0
- package/libs/chunk-E2AJURUW.cjs.map +1 -0
- package/libs/{chunk-L75OQKEI.cjs → chunk-ENTCUJ3A.cjs} +3 -3
- package/libs/chunk-ENTCUJ3A.cjs.map +1 -0
- package/libs/chunk-F5EYMVQM.js +10 -0
- package/libs/chunk-F5EYMVQM.js.map +1 -0
- package/libs/chunk-FVROL3V5.js +9 -0
- package/libs/chunk-FVROL3V5.js.map +1 -0
- package/libs/chunk-GT77BX4L.cjs +17 -0
- package/libs/chunk-GT77BX4L.cjs.map +1 -0
- package/libs/chunk-GUJSMQ3V.cjs +16 -0
- package/libs/chunk-GUJSMQ3V.cjs.map +1 -0
- package/libs/chunk-HHLNOC5T.js +7 -0
- package/libs/chunk-HHLNOC5T.js.map +1 -0
- package/libs/chunk-HRRHPLER.js +8 -0
- package/libs/chunk-HRRHPLER.js.map +1 -0
- package/libs/chunk-IEB64SWY.js +8 -0
- package/libs/chunk-IEB64SWY.js.map +1 -0
- package/libs/{chunk-NGTJDDFO.js → chunk-IQ76HGVP.js} +2 -2
- package/libs/chunk-IRLFZ3OL.js +9 -0
- package/libs/chunk-IRLFZ3OL.js.map +1 -0
- package/libs/{chunk-JJ43O4Y5.js → chunk-KK47SYZI.js} +2 -2
- package/libs/chunk-O3JIHC5M.cjs +15 -0
- package/libs/chunk-O3JIHC5M.cjs.map +1 -0
- package/libs/chunk-O5XAJ7BY.cjs +18 -0
- package/libs/chunk-O5XAJ7BY.cjs.map +1 -0
- package/libs/chunk-OVWLQYMK.js +10 -0
- package/libs/chunk-OVWLQYMK.js.map +1 -0
- package/libs/chunk-PNWIRCG3.cjs +7 -0
- package/libs/chunk-PNWIRCG3.cjs.map +1 -0
- package/libs/{chunk-D4YLRWAO.cjs → chunk-QVW6W76L.cjs} +6 -6
- package/libs/chunk-T4T6GWYQ.cjs +17 -0
- package/libs/chunk-T4T6GWYQ.cjs.map +1 -0
- package/libs/chunk-TON2YGMD.cjs +9 -0
- package/libs/chunk-TON2YGMD.cjs.map +1 -0
- package/libs/chunk-UEPAWMDF.js +8 -0
- package/libs/chunk-UEPAWMDF.js.map +1 -0
- package/libs/{chunk-LT5KZ2QW.cjs → chunk-US2I5GI7.cjs} +3 -3
- package/libs/{chunk-B7F5FS6D.cjs → chunk-W2UIN7EV.cjs} +3 -3
- package/libs/{chunk-P2DC76ZZ.cjs → chunk-W5TKWBFC.cjs} +3 -3
- package/libs/chunk-WXBFBWYF.cjs +16 -0
- package/libs/chunk-WXBFBWYF.cjs.map +1 -0
- package/libs/{chunk-VUH3FXGJ.js → chunk-X3JCTEPD.js} +5 -5
- package/libs/chunk-X5LGFCWG.js +9 -0
- package/libs/chunk-X5LGFCWG.js.map +1 -0
- package/libs/{chunk-5M57K4SW.js → chunk-Y2PFDELK.js} +2 -2
- package/libs/{chunk-ETFLFC2S.js → chunk-ZFJ4U45S.js} +2 -2
- package/libs/{component-props-a8a2f97e.d.ts → component-props-67d978a2.d.ts} +4 -4
- package/libs/components/alert/alert.css +1 -1
- package/libs/components/alert/alert.css.map +1 -1
- package/libs/components/alert/alert.min.css +2 -2
- package/libs/components/breadcrumbs/breadcrumb.cjs +6 -6
- package/libs/components/breadcrumbs/breadcrumb.d.cts +11 -11
- package/libs/components/breadcrumbs/breadcrumb.d.ts +11 -11
- package/libs/components/breadcrumbs/breadcrumb.js +3 -3
- package/libs/components/button.cjs +6 -4
- package/libs/components/button.d.cts +97 -4
- package/libs/components/button.d.ts +97 -4
- package/libs/components/button.js +4 -2
- package/libs/components/card.cjs +7 -7
- package/libs/components/card.d.cts +14 -14
- package/libs/components/card.d.ts +14 -14
- package/libs/components/card.js +2 -2
- package/libs/components/dialog/dialog.cjs +9 -7
- package/libs/components/dialog/dialog.d.cts +3 -3
- package/libs/components/dialog/dialog.d.ts +3 -3
- package/libs/components/dialog/dialog.js +7 -5
- package/libs/components/form/fields.cjs +4 -4
- package/libs/components/form/fields.d.cts +16 -7
- package/libs/components/form/fields.d.ts +16 -7
- package/libs/components/form/fields.js +2 -2
- package/libs/components/form/inputs.cjs +6 -4
- package/libs/components/form/inputs.d.cts +50 -2
- package/libs/components/form/inputs.d.ts +50 -2
- package/libs/components/form/inputs.js +4 -2
- package/libs/components/form/textarea.cjs +5 -4
- package/libs/components/form/textarea.d.cts +32 -23
- package/libs/components/form/textarea.d.ts +32 -23
- package/libs/components/form/textarea.js +3 -2
- package/libs/components/heading/heading.cjs +3 -3
- package/libs/components/heading/heading.d.cts +2 -2
- package/libs/components/heading/heading.d.ts +2 -2
- package/libs/components/heading/heading.js +2 -2
- package/libs/components/icons/icon.cjs +4 -4
- package/libs/components/icons/icon.d.cts +38 -38
- package/libs/components/icons/icon.d.ts +38 -38
- package/libs/components/icons/icon.js +2 -2
- package/libs/components/link/link.cjs +4 -4
- package/libs/components/link/link.css +1 -1
- package/libs/components/link/link.css.map +1 -1
- package/libs/components/link/link.d.cts +3 -19
- package/libs/components/link/link.d.ts +3 -19
- package/libs/components/link/link.js +2 -2
- package/libs/components/link/link.min.css +2 -2
- package/libs/components/list/list.cjs +5 -5
- package/libs/components/list/list.css +1 -0
- package/libs/components/list/list.css.map +1 -0
- package/libs/components/list/list.d.cts +120 -33
- package/libs/components/list/list.d.ts +120 -33
- package/libs/components/list/list.js +2 -2
- package/libs/components/list/list.min.css +3 -0
- package/libs/components/modal.cjs +6 -4
- package/libs/components/modal.d.cts +8 -8
- package/libs/components/modal.d.ts +8 -8
- package/libs/components/modal.js +5 -3
- package/libs/components/nav/nav.cjs +7 -7
- package/libs/components/nav/nav.css +1 -1
- package/libs/components/nav/nav.css.map +1 -1
- package/libs/components/nav/nav.d.cts +550 -34
- package/libs/components/nav/nav.d.ts +550 -34
- package/libs/components/nav/nav.js +3 -3
- package/libs/components/nav/nav.min.css +2 -2
- package/libs/components/popover/popover.d.cts +5 -5
- package/libs/components/popover/popover.d.ts +5 -5
- package/libs/components/tables/table.cjs +5 -5
- package/libs/components/tables/table.d.cts +8 -8
- package/libs/components/tables/table.d.ts +8 -8
- package/libs/components/tables/table.js +2 -2
- package/libs/components/tag/tag.css +1 -1
- package/libs/components/tag/tag.css.map +1 -1
- package/libs/components/tag/tag.min.css +2 -2
- package/libs/components/text/text.cjs +5 -5
- package/libs/components/text/text.d.cts +5 -5
- package/libs/components/text/text.d.ts +5 -5
- package/libs/components/text/text.js +2 -2
- package/libs/form.types-d25ebfac.d.ts +233 -0
- package/libs/{heading-3648c538.d.ts → heading-7446cb46.d.ts} +8 -8
- package/libs/hooks.cjs +9 -4
- package/libs/hooks.d.cts +137 -3
- package/libs/hooks.d.ts +137 -3
- package/libs/hooks.js +4 -3
- package/libs/icons.cjs +3 -3
- package/libs/icons.d.cts +2 -2
- package/libs/icons.d.ts +2 -2
- package/libs/icons.js +2 -2
- package/libs/index.cjs +53 -51
- package/libs/index.cjs.map +1 -1
- package/libs/index.css +1 -1
- package/libs/index.css.map +1 -1
- package/libs/index.d.cts +338 -49
- package/libs/index.d.ts +338 -49
- package/libs/index.js +24 -22
- package/libs/index.js.map +1 -1
- package/libs/link-5192f411.d.ts +323 -0
- package/libs/list.types-d26de310.d.ts +245 -0
- package/libs/{ui-645f95b5.d.ts → ui-d01b50d4.d.ts} +16 -12
- package/package.json +4 -6
- package/src/components/alert/alert.scss +1 -4
- package/src/components/breadcrumbs/breadcrumb.tsx +4 -1
- package/src/components/buttons/README.mdx +102 -1
- package/src/components/buttons/button.stories.tsx +106 -0
- package/src/components/buttons/button.tsx +82 -52
- package/src/components/dialog/dialog-a11y-review.md +653 -0
- package/src/components/form/README.mdx +725 -43
- package/src/components/form/WCAG-REVIEW.md +654 -0
- package/src/components/form/fields.tsx +10 -1
- package/src/components/form/form.stories.tsx +604 -23
- package/src/components/form/form.tsx +204 -63
- package/src/components/form/form.types.ts +378 -0
- package/src/components/form/input.stories.tsx +71 -3
- package/src/components/form/inputs.tsx +159 -67
- package/src/components/form/select.tsx +122 -66
- package/src/components/form/textarea.tsx +120 -73
- package/src/components/fp.tsx +86 -11
- package/src/components/link/README.mdx +923 -0
- package/src/components/link/link.scss +79 -26
- package/src/components/link/link.stories.tsx +383 -30
- package/src/components/link/link.test.tsx +677 -0
- package/src/components/link/link.tsx +163 -57
- package/src/components/link/link.types.ts +261 -0
- package/src/components/list/README.mdx +764 -0
- package/src/components/list/list.scss +285 -0
- package/src/components/list/list.stories.tsx +514 -27
- package/src/components/list/list.test.tsx +554 -0
- package/src/components/list/list.tsx +153 -51
- package/src/components/list/list.types.ts +255 -0
- package/src/components/nav/ACCESSIBILITY.md +649 -0
- package/src/components/nav/README.mdx +782 -0
- package/src/components/nav/nav.scss +37 -4
- package/src/components/nav/nav.stories.tsx +44 -6
- package/src/components/nav/nav.tsx +302 -51
- package/src/components/nav/nav.types.ts +308 -0
- package/src/components/tag/README.mdx +426 -0
- package/src/components/tag/tag.scss +101 -27
- package/src/components/tag/tag.stories.tsx +384 -10
- package/src/components/tag/tag.test.tsx +210 -0
- package/src/components/tag/tag.tsx +106 -9
- package/src/components/tag/tag.types.ts +107 -0
- package/src/components/ui.tsx +8 -3
- package/src/hooks/use-disabled-state.test.tsx +536 -0
- package/src/hooks/use-disabled-state.ts +246 -0
- package/src/hooks/useDisabledState.md +393 -0
- package/src/hooks.ts +6 -0
- package/src/index.scss +2 -0
- package/src/index.ts +2 -1
- package/src/sass/_globals.scss +2 -7
- package/src/styles/alert/alert.css +1 -3
- package/src/styles/alert/alert.css.map +1 -1
- package/src/styles/index.css +461 -81
- package/src/styles/index.css.map +1 -1
- package/src/styles/link/link.css +45 -28
- package/src/styles/link/link.css.map +1 -1
- package/src/styles/list/list.css +214 -0
- package/src/styles/list/list.css.map +1 -0
- package/src/styles/nav/nav.css +32 -6
- package/src/styles/nav/nav.css.map +1 -1
- package/src/styles/tag/tag.css +113 -35
- package/src/styles/tag/tag.css.map +1 -1
- package/src/styles/utilities/_disabled.scss +58 -0
- package/src/types/shared.ts +43 -6
- package/src/utils/accessibility.ts +109 -0
- package/libs/chunk-2LTJ7HHX.cjs +0 -18
- package/libs/chunk-2LTJ7HHX.cjs.map +0 -1
- package/libs/chunk-2Y7W75TT.js +0 -9
- package/libs/chunk-2Y7W75TT.js.map +0 -1
- package/libs/chunk-5S4ORA4C.cjs +0 -15
- package/libs/chunk-5S4ORA4C.cjs.map +0 -1
- package/libs/chunk-AHDJGCG5.cjs +0 -15
- package/libs/chunk-AHDJGCG5.cjs.map +0 -1
- package/libs/chunk-BHRQBJRY.js +0 -8
- package/libs/chunk-BHRQBJRY.js.map +0 -1
- package/libs/chunk-GZ4QFPRY.js +0 -9
- package/libs/chunk-GZ4QFPRY.js.map +0 -1
- package/libs/chunk-IYUN2EW3.cjs +0 -15
- package/libs/chunk-IYUN2EW3.cjs.map +0 -1
- package/libs/chunk-J32EZPYD.cjs +0 -15
- package/libs/chunk-J32EZPYD.cjs.map +0 -1
- package/libs/chunk-KUKIVRC2.js +0 -7
- package/libs/chunk-KUKIVRC2.js.map +0 -1
- package/libs/chunk-L75OQKEI.cjs.map +0 -1
- package/libs/chunk-M5RRNTVX.cjs +0 -15
- package/libs/chunk-M5RRNTVX.cjs.map +0 -1
- package/libs/chunk-OK5QEIMD.cjs +0 -17
- package/libs/chunk-OK5QEIMD.cjs.map +0 -1
- package/libs/chunk-P7TTEYCD.js +0 -7
- package/libs/chunk-P7TTEYCD.js.map +0 -1
- package/libs/chunk-QLZWHAMK.js +0 -8
- package/libs/chunk-QLZWHAMK.js.map +0 -1
- package/libs/chunk-RIVUMPOG.js +0 -8
- package/libs/chunk-RIVUMPOG.js.map +0 -1
- package/libs/chunk-S7BABR7Z.cjs +0 -13
- package/libs/chunk-S7BABR7Z.cjs.map +0 -1
- package/libs/chunk-SMYRLO3E.js +0 -8
- package/libs/chunk-SMYRLO3E.js.map +0 -1
- package/libs/chunk-TYRCEX2L.js +0 -8
- package/libs/chunk-TYRCEX2L.js.map +0 -1
- package/libs/chunk-XBA562WW.js +0 -8
- package/libs/chunk-XBA562WW.js.map +0 -1
- package/libs/chunk-XTQKWY7W.cjs +0 -32
- package/libs/chunk-XTQKWY7W.cjs.map +0 -1
- package/libs/inputs-f3a216db.d.ts +0 -45
- /package/libs/{chunk-PQ2K3BM6.cjs.map → chunk-2NRIP6RB.cjs.map} +0 -0
- /package/libs/{chunk-772NRB75.js.map → chunk-5QD3DWFI.js.map} +0 -0
- /package/libs/{chunk-3MKLDCKQ.cjs.map → chunk-6WTC4JXH.cjs.map} +0 -0
- /package/libs/{chunk-ZANSFMTD.js.map → chunk-7XPFW7CB.js.map} +0 -0
- /package/libs/{chunk-ROZI23GS.cjs.map → chunk-DKTHCQ5P.cjs.map} +0 -0
- /package/libs/{chunk-NGTJDDFO.js.map → chunk-IQ76HGVP.js.map} +0 -0
- /package/libs/{chunk-JJ43O4Y5.js.map → chunk-KK47SYZI.js.map} +0 -0
- /package/libs/{chunk-D4YLRWAO.cjs.map → chunk-QVW6W76L.cjs.map} +0 -0
- /package/libs/{chunk-LT5KZ2QW.cjs.map → chunk-US2I5GI7.cjs.map} +0 -0
- /package/libs/{chunk-B7F5FS6D.cjs.map → chunk-W2UIN7EV.cjs.map} +0 -0
- /package/libs/{chunk-P2DC76ZZ.cjs.map → chunk-W5TKWBFC.cjs.map} +0 -0
- /package/libs/{chunk-VUH3FXGJ.js.map → chunk-X3JCTEPD.js.map} +0 -0
- /package/libs/{chunk-5M57K4SW.js.map → chunk-Y2PFDELK.js.map} +0 -0
- /package/libs/{chunk-ETFLFC2S.js.map → chunk-ZFJ4U45S.js.map} +0 -0
package/src/styles/index.css
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
1
2
|
*,
|
|
2
3
|
*::before,
|
|
3
4
|
*::after {
|
|
@@ -298,14 +299,7 @@ body > a[href^="#"]:focus {
|
|
|
298
299
|
top: 0;
|
|
299
300
|
}
|
|
300
301
|
|
|
301
|
-
|
|
302
|
-
* + ul,
|
|
303
|
-
* + section {
|
|
304
|
-
margin-block-start: 1rem;
|
|
305
|
-
}
|
|
306
|
-
* + div:empty,
|
|
307
|
-
* + ul:empty,
|
|
308
|
-
* + section:empty {
|
|
302
|
+
div:empty {
|
|
309
303
|
display: none;
|
|
310
304
|
}
|
|
311
305
|
|
|
@@ -428,6 +422,63 @@ h6:has(span:first-of-type) > span {
|
|
|
428
422
|
--title-6: var(--h6);
|
|
429
423
|
}
|
|
430
424
|
|
|
425
|
+
/**
|
|
426
|
+
* Disabled State Utility Styles
|
|
427
|
+
*
|
|
428
|
+
* Provides accessible styling for disabled form elements using aria-disabled pattern.
|
|
429
|
+
* Meets WCAG 2.1 Level AA requirements for visual distinction and contrast.
|
|
430
|
+
*
|
|
431
|
+
* WCAG References:
|
|
432
|
+
* - WCAG 1.4.3 (Contrast Minimum): UI components require 3:1 contrast minimum
|
|
433
|
+
* - WCAG 2.1.1 (Keyboard): Elements remain focusable via keyboard
|
|
434
|
+
* - WCAG 4.1.2 (Name, Role, Value): aria-disabled properly announces state
|
|
435
|
+
*
|
|
436
|
+
* Usage:
|
|
437
|
+
* - Apply .is-disabled class OR aria-disabled="true" attribute
|
|
438
|
+
* - Customize via CSS custom properties (--disabled-opacity, --disabled-cursor, --disabled-color)
|
|
439
|
+
* - Default color (hsl(0 0% 40%)) ensures 3:1 contrast on white backgrounds
|
|
440
|
+
*
|
|
441
|
+
* WARNING: If overriding --disabled-color, ensure WCAG 1.4.3 compliance
|
|
442
|
+
* (minimum 3:1 contrast ratio for UI components)
|
|
443
|
+
*/
|
|
444
|
+
.is-disabled,
|
|
445
|
+
[aria-disabled=true] {
|
|
446
|
+
/* CSS Custom Properties for theming */
|
|
447
|
+
--disabled-opacity: 0.6;
|
|
448
|
+
--disabled-cursor: not-allowed;
|
|
449
|
+
/* hsl(0 0% 40%) = #666666, provides 3:1 contrast on white (#ffffff) */
|
|
450
|
+
--disabled-color: hsl(0 0% 40%);
|
|
451
|
+
/* Apply disabled styles */
|
|
452
|
+
opacity: var(--disabled-opacity);
|
|
453
|
+
cursor: var(--disabled-cursor);
|
|
454
|
+
color: var(--disabled-color);
|
|
455
|
+
/**
|
|
456
|
+
* Maintain focus visibility for keyboard navigation (WCAG 2.4.7)
|
|
457
|
+
* Disabled elements must still be focusable and have visible focus indicators
|
|
458
|
+
*
|
|
459
|
+
* WCAG 2.4.7 requires focus indicators to have 3:1 contrast against both:
|
|
460
|
+
* - The background color
|
|
461
|
+
* - Adjacent non-focused component colors
|
|
462
|
+
*
|
|
463
|
+
* Theme authors: If providing a custom --focus-color, ensure it meets WCAG 2.4.7
|
|
464
|
+
* contrast requirements (3:1 minimum) against all background colors in your theme.
|
|
465
|
+
*
|
|
466
|
+
* Example theme customization:
|
|
467
|
+
* :root {
|
|
468
|
+
* --focus-color: #005fcc; // Ensure 3:1 contrast on your backgrounds
|
|
469
|
+
* }
|
|
470
|
+
*/
|
|
471
|
+
}
|
|
472
|
+
.is-disabled:focus-visible,
|
|
473
|
+
[aria-disabled=true]:focus-visible {
|
|
474
|
+
/* Preserve focus ring from global styles */
|
|
475
|
+
outline-width: 0.125rem; /* 2px */
|
|
476
|
+
outline-style: solid;
|
|
477
|
+
outline-offset: 0.125rem; /* 2px */
|
|
478
|
+
/* Use custom focus color with currentColor fallback */
|
|
479
|
+
outline-color: var(--focus-color, currentColor);
|
|
480
|
+
}
|
|
481
|
+
|
|
431
482
|
button {
|
|
432
483
|
--btn-xs: 0.6875rem;
|
|
433
484
|
--btn-sm: 0.8125rem;
|
|
@@ -546,21 +597,40 @@ button .btn-text:is(:hover, :focus) {
|
|
|
546
597
|
filter: none;
|
|
547
598
|
}
|
|
548
599
|
|
|
600
|
+
/**
|
|
601
|
+
* Tag Component Styles - WCAG 2.1 AA Compliant
|
|
602
|
+
*
|
|
603
|
+
* Provides visual styling for the Tag component with CSS custom properties
|
|
604
|
+
* for easy theming and variant support. All measurements use rem units
|
|
605
|
+
* for scalability and accessibility.
|
|
606
|
+
*
|
|
607
|
+
* Accessibility Features:
|
|
608
|
+
* - Color contrast ratios meet WCAG AA 4.5:1 minimum (WCAG 1.4.3)
|
|
609
|
+
* - Visual indicators beyond color (symbols via ::before) (WCAG 1.4.1)
|
|
610
|
+
* - Visible focus indicators with 3:1 contrast (WCAG 2.4.7)
|
|
611
|
+
*/
|
|
612
|
+
/**
|
|
613
|
+
* Base Tag Styles
|
|
614
|
+
* Applied to all tag elements via role and data-tag attributes
|
|
615
|
+
*/
|
|
549
616
|
p[role=note],
|
|
550
617
|
[role=note],
|
|
551
618
|
small > span,
|
|
552
619
|
[data-tag] {
|
|
553
|
-
|
|
554
|
-
--
|
|
555
|
-
--
|
|
556
|
-
--
|
|
557
|
-
|
|
558
|
-
--tag-
|
|
559
|
-
--tag-
|
|
560
|
-
--tag-
|
|
561
|
-
--tag-
|
|
562
|
-
--tag-
|
|
563
|
-
--tag-
|
|
620
|
+
/* Variant color tokens - WCAG AA compliant colors */
|
|
621
|
+
--beta: #fbbf24; /* Amber: 6.94:1 contrast with black */
|
|
622
|
+
--stable: #0f7c3e; /* Dark green: 4.56:1 contrast with white */
|
|
623
|
+
--production: #1e3a8a; /* Dark blue: 8.59:1 contrast with white */
|
|
624
|
+
/* Tag component tokens */
|
|
625
|
+
--tag-px: 0.7rem; /* Horizontal padding (11.2px at 16px base) */
|
|
626
|
+
--tag-py: 0.2rem; /* Vertical padding (3.2px at 16px base) */
|
|
627
|
+
--tag-fs: 0.8rem; /* Font size (12.8px at 16px base) */
|
|
628
|
+
--tag-radius: 99rem; /* Fully rounded pill shape */
|
|
629
|
+
--tag-bg: lightgray; /* Default background color */
|
|
630
|
+
--tag-fw: 500; /* Medium font weight */
|
|
631
|
+
--tag-color: currentColor; /* Default text color (inherits) */
|
|
632
|
+
--tag-display: inline-block; /* Display type */
|
|
633
|
+
/* Apply CSS custom properties */
|
|
564
634
|
display: var(--tag-display);
|
|
565
635
|
padding-inline: var(--tag-px);
|
|
566
636
|
padding-block: var(--tag-py);
|
|
@@ -568,52 +638,110 @@ small > span,
|
|
|
568
638
|
color: var(--tag-color);
|
|
569
639
|
background-color: var(--tag-bg);
|
|
570
640
|
border-radius: var(--tag-radius);
|
|
641
|
+
/**
|
|
642
|
+
* Focus Indicators (WCAG 2.4.7)
|
|
643
|
+
* Visible focus for keyboard navigation with 3:1 minimum contrast
|
|
644
|
+
*/
|
|
645
|
+
/* Remove outline for mouse users while preserving for keyboard users */
|
|
646
|
+
/**
|
|
647
|
+
* Variant Modifiers
|
|
648
|
+
* Applied via data-tag attribute (e.g., data-tag="beta")
|
|
649
|
+
* Each variant includes both color AND visual symbol for accessibility (WCAG 1.4.1)
|
|
650
|
+
*/
|
|
651
|
+
/* Alpha variant - early development stage */
|
|
652
|
+
/* Beta variant - pre-release version */
|
|
653
|
+
/* Stable variant - production-ready release */
|
|
654
|
+
/* Production variant - live environment indicator */
|
|
655
|
+
}
|
|
656
|
+
p[role=note]:focus-visible,
|
|
657
|
+
[role=note]:focus-visible,
|
|
658
|
+
small > span:focus-visible,
|
|
659
|
+
[data-tag]:focus-visible {
|
|
660
|
+
outline: 2px solid currentColor;
|
|
661
|
+
outline-offset: 2px;
|
|
662
|
+
}
|
|
663
|
+
p[role=note]:focus:not(:focus-visible),
|
|
664
|
+
[role=note]:focus:not(:focus-visible),
|
|
665
|
+
small > span:focus:not(:focus-visible),
|
|
666
|
+
[data-tag]:focus:not(:focus-visible) {
|
|
667
|
+
outline: none;
|
|
668
|
+
}
|
|
669
|
+
p[role=note][data-tag~=alpha],
|
|
670
|
+
[role=note][data-tag~=alpha],
|
|
671
|
+
small > span[data-tag~=alpha],
|
|
672
|
+
[data-tag][data-tag~=alpha] {
|
|
673
|
+
--tag-color: #000000; /* Black: maximum contrast with amber background */
|
|
674
|
+
--tag-bg: var(--beta);
|
|
675
|
+
/* Visual indicator beyond color - warning symbol */
|
|
676
|
+
}
|
|
677
|
+
p[role=note][data-tag~=alpha]::before,
|
|
678
|
+
[role=note][data-tag~=alpha]::before,
|
|
679
|
+
small > span[data-tag~=alpha]::before,
|
|
680
|
+
[data-tag][data-tag~=alpha]::before {
|
|
681
|
+
content: "⚠";
|
|
682
|
+
margin-inline-end: 0.25rem;
|
|
683
|
+
font-weight: 700;
|
|
684
|
+
aria-hidden: true;
|
|
571
685
|
}
|
|
572
686
|
p[role=note][data-tag~=beta],
|
|
573
687
|
[role=note][data-tag~=beta],
|
|
574
688
|
small > span[data-tag~=beta],
|
|
575
689
|
[data-tag][data-tag~=beta] {
|
|
576
|
-
|
|
690
|
+
--tag-color: #000000; /* Black: maximum contrast with amber background */
|
|
691
|
+
--tag-bg: var(--beta);
|
|
692
|
+
/* Visual indicator beyond color - warning symbol */
|
|
693
|
+
}
|
|
694
|
+
p[role=note][data-tag~=beta]::before,
|
|
695
|
+
[role=note][data-tag~=beta]::before,
|
|
696
|
+
small > span[data-tag~=beta]::before,
|
|
697
|
+
[data-tag][data-tag~=beta]::before {
|
|
698
|
+
content: "⚠";
|
|
699
|
+
margin-inline-end: 0.25rem;
|
|
700
|
+
font-weight: 700;
|
|
701
|
+
aria-hidden: true;
|
|
577
702
|
}
|
|
578
703
|
p[role=note][data-tag~=stable],
|
|
579
704
|
[role=note][data-tag~=stable],
|
|
580
705
|
small > span[data-tag~=stable],
|
|
581
706
|
[data-tag][data-tag~=stable] {
|
|
582
|
-
--tag-
|
|
707
|
+
--tag-color: #ffffff; /* White: 4.56:1 contrast with dark green */
|
|
583
708
|
--tag-bg: var(--stable);
|
|
709
|
+
/* Visual indicator beyond color - checkmark symbol */
|
|
710
|
+
}
|
|
711
|
+
p[role=note][data-tag~=stable]::before,
|
|
712
|
+
[role=note][data-tag~=stable]::before,
|
|
713
|
+
small > span[data-tag~=stable]::before,
|
|
714
|
+
[data-tag][data-tag~=stable]::before {
|
|
715
|
+
content: "✓";
|
|
716
|
+
margin-inline-end: 0.25rem;
|
|
717
|
+
font-weight: 700;
|
|
718
|
+
aria-hidden: true;
|
|
584
719
|
}
|
|
585
720
|
p[role=note][data-tag~=production],
|
|
586
721
|
[role=note][data-tag~=production],
|
|
587
722
|
small > span[data-tag~=production],
|
|
588
723
|
[data-tag][data-tag~=production] {
|
|
589
|
-
--tag-color:
|
|
724
|
+
--tag-color: #ffffff; /* White: 8.59:1 contrast with dark blue */
|
|
590
725
|
--tag-bg: var(--production);
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
[role=note][data-tag~=
|
|
594
|
-
|
|
595
|
-
[data-tag
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
small > span[data-tag~=alpha],
|
|
602
|
-
[data-tag][data-tag~=alpha] {
|
|
603
|
-
--tag-color: currentColor;
|
|
604
|
-
--tag-bg: var(--beta);
|
|
605
|
-
}
|
|
606
|
-
p[role=note][data-tag~=beta],
|
|
607
|
-
[role=note][data-tag~=beta],
|
|
608
|
-
small > span[data-tag~=beta],
|
|
609
|
-
[data-tag][data-tag~=beta] {
|
|
610
|
-
--tag-color: currentColor;
|
|
611
|
-
--tag-bg: var(--beta);
|
|
726
|
+
/* Visual indicator beyond color - live indicator symbol */
|
|
727
|
+
}
|
|
728
|
+
p[role=note][data-tag~=production]::before,
|
|
729
|
+
[role=note][data-tag~=production]::before,
|
|
730
|
+
small > span[data-tag~=production]::before,
|
|
731
|
+
[data-tag][data-tag~=production]::before {
|
|
732
|
+
content: "●";
|
|
733
|
+
margin-inline-end: 0.25rem;
|
|
734
|
+
font-weight: 700;
|
|
735
|
+
aria-hidden: true;
|
|
612
736
|
}
|
|
613
737
|
|
|
738
|
+
/**
|
|
739
|
+
* Block-level tag modifier
|
|
740
|
+
* Applied when Tag renders as <p> element
|
|
741
|
+
*/
|
|
614
742
|
p[role=note] {
|
|
615
743
|
--tag-display: block;
|
|
616
|
-
--
|
|
744
|
+
--tag-radius: 0.5rem; /* Less rounded for block tags (8px at 16px base) */
|
|
617
745
|
}
|
|
618
746
|
|
|
619
747
|
/**
|
|
@@ -902,33 +1030,44 @@ details[open] > section {
|
|
|
902
1030
|
}
|
|
903
1031
|
}
|
|
904
1032
|
|
|
1033
|
+
/**
|
|
1034
|
+
* Link Component Styles
|
|
1035
|
+
*
|
|
1036
|
+
* Provides accessible, customizable link styles using CSS custom properties.
|
|
1037
|
+
* Supports standard text links, button-styled links, and pill variants.
|
|
1038
|
+
*
|
|
1039
|
+
* WCAG 2.1 AA Compliance:
|
|
1040
|
+
* - Focus indicators meet 2.4.7 (3:1 contrast minimum)
|
|
1041
|
+
* - Color contrast meets 1.4.3 (4.5:1 for normal text)
|
|
1042
|
+
* - Uses :focus-visible for better UX (keyboard vs mouse)
|
|
1043
|
+
*/
|
|
905
1044
|
a[href] {
|
|
906
|
-
--link-decoration: none;
|
|
907
1045
|
--link-color: #085ab7;
|
|
1046
|
+
--link-weight: 400;
|
|
1047
|
+
--link-fs: 1rem;
|
|
1048
|
+
--link-decoration: none;
|
|
1049
|
+
--link-decoration-offset: 0.09375rem;
|
|
1050
|
+
--link-decoration-thickness: 0.0625rem;
|
|
1051
|
+
--link-skip-ink: auto;
|
|
908
1052
|
--link-bg: transparent;
|
|
1053
|
+
--link-radius: 0.25rem;
|
|
909
1054
|
--link-px: 0;
|
|
910
1055
|
--link-py: 0;
|
|
911
1056
|
--link-transition: all 0.75s ease-in-out;
|
|
912
|
-
--link-
|
|
913
|
-
--link-
|
|
914
|
-
--link-
|
|
915
|
-
--link-
|
|
916
|
-
--link-decoration-thickness: 3px;
|
|
917
|
-
--link-decoration: color: var(--link-color) var(--link-decoration-offset)
|
|
918
|
-
var(--link-decoration-thickness) var(--link-skip-ink);
|
|
919
|
-
--link-decoration-thickness: 3px;
|
|
920
|
-
--link-decoration: color: var(--link-color) var(--link-decoration-offset)
|
|
921
|
-
var(--link-decoration-thickness) var(--link-skip-ink);
|
|
1057
|
+
--link-focus-color: currentColor;
|
|
1058
|
+
--link-focus-width: 0.125rem;
|
|
1059
|
+
--link-focus-offset: 0.125rem;
|
|
1060
|
+
--link-focus-style: solid;
|
|
922
1061
|
color: var(--link-color);
|
|
923
1062
|
font-size: var(--link-fs);
|
|
1063
|
+
font-weight: var(--link-weight);
|
|
924
1064
|
text-decoration: var(--link-decoration);
|
|
925
1065
|
text-underline-offset: var(--link-decoration-offset);
|
|
1066
|
+
text-decoration-thickness: var(--link-decoration-thickness);
|
|
926
1067
|
text-decoration-skip-ink: var(--link-skip-ink);
|
|
927
1068
|
background-color: var(--link-bg);
|
|
928
1069
|
border-radius: var(--link-radius);
|
|
929
|
-
|
|
930
|
-
border-radius: var(--link-radius);
|
|
931
|
-
font-weight: var(--link-weight);
|
|
1070
|
+
transition: var(--link-transition);
|
|
932
1071
|
}
|
|
933
1072
|
a[href] > i,
|
|
934
1073
|
a[href] > b {
|
|
@@ -939,41 +1078,51 @@ a[href]:hover {
|
|
|
939
1078
|
--link-decoration: underline;
|
|
940
1079
|
}
|
|
941
1080
|
a[href]:focus {
|
|
942
|
-
outline:
|
|
1081
|
+
outline: var(--link-focus-width) var(--link-focus-style) var(--link-focus-color);
|
|
1082
|
+
outline-offset: var(--link-focus-offset);
|
|
943
1083
|
--link-decoration: underline;
|
|
944
1084
|
}
|
|
1085
|
+
a[href]:focus-visible {
|
|
1086
|
+
outline: var(--link-focus-width) var(--link-focus-style) var(--link-focus-color);
|
|
1087
|
+
outline-offset: var(--link-focus-offset);
|
|
1088
|
+
}
|
|
945
1089
|
a[href]:visited, a[href]:active {
|
|
946
1090
|
--link-color: currentColor;
|
|
947
1091
|
}
|
|
948
|
-
a[href]:has(> b), a[href][data-
|
|
1092
|
+
a[href]:has(> b), a[href][data-btn], a[href]:has(> i) {
|
|
949
1093
|
--link-button-color: var(--link-color);
|
|
950
1094
|
--link-bg: transparent;
|
|
951
1095
|
--link-decoration: none;
|
|
952
|
-
--link-border:
|
|
1096
|
+
--link-border-width: 0.125rem;
|
|
1097
|
+
--link-border-color: currentColor;
|
|
1098
|
+
--link-border-style: solid;
|
|
953
1099
|
--link-fs: 0.9rem;
|
|
1100
|
+
color: var(--link-button-color);
|
|
954
1101
|
background-color: var(--link-bg);
|
|
955
1102
|
font-style: normal;
|
|
956
1103
|
font-size: var(--link-fs);
|
|
957
|
-
color: var(--link-button-color);
|
|
958
1104
|
padding-inline: var(--link-fs);
|
|
959
1105
|
padding-block: calc(var(--link-fs) - 0.4rem);
|
|
960
1106
|
border-radius: var(--link-radius, 99rem);
|
|
961
1107
|
display: inline-flex;
|
|
962
|
-
|
|
1108
|
+
align-items: center;
|
|
1109
|
+
justify-content: center;
|
|
1110
|
+
outline: var(--link-border-width) var(--link-border-color) var(--link-border-style);
|
|
963
1111
|
--scale-transition: transform 0.25s ease;
|
|
964
1112
|
--scale: scale(1);
|
|
965
1113
|
--scale-to: scale(1.05);
|
|
966
1114
|
transform: var(--scale);
|
|
967
1115
|
transition: var(--scale-transition);
|
|
968
1116
|
}
|
|
969
|
-
a[href]:has(> b):focus, a[href][data-
|
|
970
|
-
outline: var(--link-border);
|
|
1117
|
+
a[href]:has(> b):focus, a[href]:has(> b):focus-visible, a[href][data-btn]:focus, a[href][data-btn]:focus-visible, a[href]:has(> i):focus, a[href]:has(> i):focus-visible {
|
|
1118
|
+
outline: var(--link-border-width) var(--link-border-color) var(--link-border-style);
|
|
1119
|
+
outline-offset: var(--link-focus-offset);
|
|
971
1120
|
--link-decoration: none;
|
|
972
1121
|
}
|
|
973
|
-
a[href]:has(> b):hover, a[href][data-
|
|
1122
|
+
a[href]:has(> b):hover, a[href][data-btn]:hover, a[href]:has(> i):hover {
|
|
974
1123
|
--link-decoration: none;
|
|
975
1124
|
}
|
|
976
|
-
a[href]:has(> b):hover, a[href][data-
|
|
1125
|
+
a[href]:has(> b):hover, a[href][data-btn]:hover, a[href]:has(> i):hover {
|
|
977
1126
|
transform: var(--scale-to);
|
|
978
1127
|
}
|
|
979
1128
|
a[href][data-link~=pill], a[href]:has(> i) {
|
|
@@ -981,14 +1130,10 @@ a[href][data-link~=pill], a[href]:has(> i) {
|
|
|
981
1130
|
--link-decoration: none;
|
|
982
1131
|
font-style: normal;
|
|
983
1132
|
}
|
|
984
|
-
a[href][data-link~=pill]:hover, a[href][data-link~=pill]:focus, a[href]:has(> i):hover, a[href]:has(> i):focus {
|
|
1133
|
+
a[href][data-link~=pill]:hover, a[href][data-link~=pill]:focus, a[href][data-link~=pill]:focus-visible, a[href]:has(> i):hover, a[href]:has(> i):focus, a[href]:has(> i):focus-visible {
|
|
985
1134
|
--link-decoration: none;
|
|
986
1135
|
}
|
|
987
1136
|
|
|
988
|
-
header > section {
|
|
989
|
-
width: auto;
|
|
990
|
-
}
|
|
991
|
-
|
|
992
1137
|
header,
|
|
993
1138
|
[data-hero],
|
|
994
1139
|
[data-grid~=overlay] {
|
|
@@ -1394,13 +1539,15 @@ sup:has(> span)[data-badge~=rounded] span {
|
|
|
1394
1539
|
}
|
|
1395
1540
|
|
|
1396
1541
|
body > nav,
|
|
1397
|
-
[aria-label~=navbar],
|
|
1542
|
+
[aria-label~=navbar],
|
|
1543
|
+
.navbar {
|
|
1398
1544
|
padding-inline: var(--nav-px, 1rem);
|
|
1399
1545
|
min-height: var(--nav-h, fit-content);
|
|
1400
1546
|
}
|
|
1401
1547
|
@media (max-width: 580px) {
|
|
1402
1548
|
body > nav,
|
|
1403
|
-
[aria-label~=navbar],
|
|
1549
|
+
[aria-label~=navbar],
|
|
1550
|
+
.navbar {
|
|
1404
1551
|
flex-direction: column;
|
|
1405
1552
|
height: fit-content;
|
|
1406
1553
|
min-height: fit-content;
|
|
@@ -1409,7 +1556,8 @@ body > nav,
|
|
|
1409
1556
|
}
|
|
1410
1557
|
}
|
|
1411
1558
|
body > nav ul > li,
|
|
1412
|
-
[aria-label~=navbar] ul > li,
|
|
1559
|
+
[aria-label~=navbar] ul > li,
|
|
1560
|
+
.navbar ul > li {
|
|
1413
1561
|
display: flex;
|
|
1414
1562
|
align-items: center;
|
|
1415
1563
|
list-style: none;
|
|
@@ -1419,15 +1567,21 @@ body > nav ul > li,
|
|
|
1419
1567
|
padding-inline: var(--nav-px, 0.75rem);
|
|
1420
1568
|
}
|
|
1421
1569
|
body > nav ul > li:hover,
|
|
1422
|
-
[aria-label~=navbar] ul > li:hover,
|
|
1423
|
-
|
|
1570
|
+
[aria-label~=navbar] ul > li:hover,
|
|
1571
|
+
.navbar ul > li:hover {
|
|
1572
|
+
background-color: var(--nav-hov-bg, #e8e8e8);
|
|
1424
1573
|
}
|
|
1425
1574
|
body > nav ul > li:hover:where(img),
|
|
1426
|
-
[aria-label~=navbar] ul > li:hover:where(img),
|
|
1575
|
+
[aria-label~=navbar] ul > li:hover:where(img),
|
|
1576
|
+
.navbar ul > li:hover:where(img) {
|
|
1427
1577
|
background-color: transparent;
|
|
1428
1578
|
}
|
|
1429
1579
|
|
|
1430
1580
|
nav {
|
|
1581
|
+
--nav-focus-color: currentColor;
|
|
1582
|
+
--nav-focus-width: 0.125rem;
|
|
1583
|
+
--nav-focus-offset: 0.125rem;
|
|
1584
|
+
--nav-focus-style: solid;
|
|
1431
1585
|
display: var(--nav-dsp, flex);
|
|
1432
1586
|
flex-direction: var(--nav-direction, row);
|
|
1433
1587
|
width: var(--nav-w, auto);
|
|
@@ -1446,6 +1600,7 @@ nav > ul {
|
|
|
1446
1600
|
align-items: var(--nav-align, center);
|
|
1447
1601
|
padding-inline: var(--nav-px, 1rem);
|
|
1448
1602
|
padding-block: var(--nav-py, 0);
|
|
1603
|
+
margin-block-end: var(--nav-mb, 0);
|
|
1449
1604
|
height: 100%;
|
|
1450
1605
|
}
|
|
1451
1606
|
nav > section[data-list~=block],
|
|
@@ -1476,6 +1631,22 @@ nav[data-variant] {
|
|
|
1476
1631
|
nav > div {
|
|
1477
1632
|
margin-block-start: 0;
|
|
1478
1633
|
}
|
|
1634
|
+
nav a:focus {
|
|
1635
|
+
outline: var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);
|
|
1636
|
+
outline-offset: var(--nav-focus-offset);
|
|
1637
|
+
}
|
|
1638
|
+
nav a:focus-visible {
|
|
1639
|
+
outline: var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);
|
|
1640
|
+
outline-offset: var(--nav-focus-offset);
|
|
1641
|
+
}
|
|
1642
|
+
nav button:focus {
|
|
1643
|
+
outline: var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);
|
|
1644
|
+
outline-offset: var(--nav-focus-offset);
|
|
1645
|
+
}
|
|
1646
|
+
nav button:focus-visible {
|
|
1647
|
+
outline: var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);
|
|
1648
|
+
outline-offset: var(--nav-focus-offset);
|
|
1649
|
+
}
|
|
1479
1650
|
|
|
1480
1651
|
:root {
|
|
1481
1652
|
--input-border-color: gray;
|
|
@@ -1610,6 +1781,217 @@ nav[data-breadcrumb] ol li a[href][aria-current] {
|
|
|
1610
1781
|
text-decoration: none;
|
|
1611
1782
|
}
|
|
1612
1783
|
|
|
1784
|
+
/**
|
|
1785
|
+
* List Component Styles
|
|
1786
|
+
*
|
|
1787
|
+
* Provides default styling for ul, ol, and dl list elements with CSS custom
|
|
1788
|
+
* properties for theming. Uses rem units exclusively for accessibility.
|
|
1789
|
+
*
|
|
1790
|
+
* @base-rem: 16px = 1rem
|
|
1791
|
+
*/
|
|
1792
|
+
ul,
|
|
1793
|
+
ol,
|
|
1794
|
+
dl {
|
|
1795
|
+
--list-margin-top: 0;
|
|
1796
|
+
--list-margin-bottom: 1rem;
|
|
1797
|
+
--list-margin-inline: 0;
|
|
1798
|
+
--list-padding-inline: 2.5rem;
|
|
1799
|
+
--list-gap: 0.5rem;
|
|
1800
|
+
--list-marker-color: currentColor;
|
|
1801
|
+
--list-marker-size: 1em;
|
|
1802
|
+
--list-marker-offset: 0.5rem;
|
|
1803
|
+
--list-font-size: 1rem;
|
|
1804
|
+
--list-line-height: 1.5;
|
|
1805
|
+
--list-font-family: inherit;
|
|
1806
|
+
--list-color: inherit;
|
|
1807
|
+
--list-item-margin-bottom: 0.5rem;
|
|
1808
|
+
--list-item-padding-inline: 0;
|
|
1809
|
+
--list-item-padding-block: 0;
|
|
1810
|
+
--dt-font-weight: 600;
|
|
1811
|
+
--dt-margin-bottom: 0.25rem;
|
|
1812
|
+
--dd-margin-inline-start: 2rem;
|
|
1813
|
+
--dd-margin-bottom: 1rem;
|
|
1814
|
+
}
|
|
1815
|
+
|
|
1816
|
+
ul,
|
|
1817
|
+
ol,
|
|
1818
|
+
dl {
|
|
1819
|
+
margin-block-start: var(--list-margin-top);
|
|
1820
|
+
margin-block-end: var(--list-margin-bottom);
|
|
1821
|
+
margin-inline: var(--list-margin-inline);
|
|
1822
|
+
padding-inline-start: var(--list-padding-inline);
|
|
1823
|
+
font-size: var(--list-font-size);
|
|
1824
|
+
line-height: var(--list-line-height);
|
|
1825
|
+
font-family: var(--list-font-family);
|
|
1826
|
+
color: var(--list-color);
|
|
1827
|
+
}
|
|
1828
|
+
ul ul,
|
|
1829
|
+
ul ol,
|
|
1830
|
+
ul dl,
|
|
1831
|
+
ol ul,
|
|
1832
|
+
ol ol,
|
|
1833
|
+
ol dl,
|
|
1834
|
+
dl ul,
|
|
1835
|
+
dl ol,
|
|
1836
|
+
dl dl {
|
|
1837
|
+
margin-block-start: var(--list-gap);
|
|
1838
|
+
margin-block-end: var(--list-gap);
|
|
1839
|
+
}
|
|
1840
|
+
|
|
1841
|
+
ul {
|
|
1842
|
+
list-style-type: disc;
|
|
1843
|
+
}
|
|
1844
|
+
ul::marker {
|
|
1845
|
+
color: var(--list-marker-color);
|
|
1846
|
+
font-size: var(--list-marker-size);
|
|
1847
|
+
}
|
|
1848
|
+
ul ul {
|
|
1849
|
+
list-style-type: circle;
|
|
1850
|
+
}
|
|
1851
|
+
ul ul ul {
|
|
1852
|
+
list-style-type: square;
|
|
1853
|
+
}
|
|
1854
|
+
|
|
1855
|
+
ol {
|
|
1856
|
+
list-style-type: decimal;
|
|
1857
|
+
}
|
|
1858
|
+
ol::marker {
|
|
1859
|
+
color: var(--list-marker-color);
|
|
1860
|
+
font-size: var(--list-marker-size);
|
|
1861
|
+
}
|
|
1862
|
+
ol ol {
|
|
1863
|
+
list-style-type: lower-alpha;
|
|
1864
|
+
}
|
|
1865
|
+
ol ol ol {
|
|
1866
|
+
list-style-type: lower-roman;
|
|
1867
|
+
}
|
|
1868
|
+
|
|
1869
|
+
li {
|
|
1870
|
+
margin-block-end: var(--list-item-margin-bottom);
|
|
1871
|
+
padding-inline: var(--list-item-padding-inline);
|
|
1872
|
+
padding-block: var(--list-item-padding-block);
|
|
1873
|
+
padding-inline-start: var(--list-marker-offset);
|
|
1874
|
+
}
|
|
1875
|
+
li:last-child {
|
|
1876
|
+
margin-block-end: 0;
|
|
1877
|
+
}
|
|
1878
|
+
|
|
1879
|
+
dl {
|
|
1880
|
+
padding-inline-start: 0;
|
|
1881
|
+
}
|
|
1882
|
+
|
|
1883
|
+
dt {
|
|
1884
|
+
font-weight: var(--dt-font-weight);
|
|
1885
|
+
margin-block-end: var(--dt-margin-bottom);
|
|
1886
|
+
padding-inline: var(--list-item-padding-inline);
|
|
1887
|
+
padding-block: var(--list-item-padding-block);
|
|
1888
|
+
}
|
|
1889
|
+
|
|
1890
|
+
dd {
|
|
1891
|
+
margin-inline-start: var(--dd-margin-inline-start);
|
|
1892
|
+
margin-block-end: var(--dd-margin-bottom);
|
|
1893
|
+
padding-inline: var(--list-item-padding-inline);
|
|
1894
|
+
padding-block: var(--list-item-padding-block);
|
|
1895
|
+
}
|
|
1896
|
+
dd:last-child {
|
|
1897
|
+
margin-block-end: 0;
|
|
1898
|
+
}
|
|
1899
|
+
|
|
1900
|
+
ul[data-variant=none],
|
|
1901
|
+
ol[data-variant=none],
|
|
1902
|
+
dl[data-variant=none] {
|
|
1903
|
+
list-style-type: none;
|
|
1904
|
+
padding-inline-start: 0;
|
|
1905
|
+
}
|
|
1906
|
+
ul[data-variant=none] li,
|
|
1907
|
+
ol[data-variant=none] li,
|
|
1908
|
+
dl[data-variant=none] li {
|
|
1909
|
+
padding-inline-start: 0;
|
|
1910
|
+
}
|
|
1911
|
+
ul[data-variant=inline],
|
|
1912
|
+
ol[data-variant=inline],
|
|
1913
|
+
dl[data-variant=inline] {
|
|
1914
|
+
display: flex;
|
|
1915
|
+
flex-direction: row;
|
|
1916
|
+
flex-wrap: wrap;
|
|
1917
|
+
gap: var(--list-gap);
|
|
1918
|
+
padding-inline-start: 0;
|
|
1919
|
+
list-style-type: none;
|
|
1920
|
+
}
|
|
1921
|
+
ul[data-variant=inline] li,
|
|
1922
|
+
ol[data-variant=inline] li,
|
|
1923
|
+
dl[data-variant=inline] li {
|
|
1924
|
+
padding-inline-start: 0;
|
|
1925
|
+
margin-block-end: 0;
|
|
1926
|
+
}
|
|
1927
|
+
ul[data-variant=custom],
|
|
1928
|
+
ol[data-variant=custom],
|
|
1929
|
+
dl[data-variant=custom] {
|
|
1930
|
+
list-style-type: none;
|
|
1931
|
+
padding-inline-start: 0;
|
|
1932
|
+
}
|
|
1933
|
+
ul[data-variant=custom] li,
|
|
1934
|
+
ol[data-variant=custom] li,
|
|
1935
|
+
dl[data-variant=custom] li {
|
|
1936
|
+
position: relative;
|
|
1937
|
+
padding-inline-start: calc(var(--list-marker-size) + var(--list-marker-offset));
|
|
1938
|
+
}
|
|
1939
|
+
ul[data-variant=custom] li::before,
|
|
1940
|
+
ol[data-variant=custom] li::before,
|
|
1941
|
+
dl[data-variant=custom] li::before {
|
|
1942
|
+
content: var(--list-marker-content, "•");
|
|
1943
|
+
color: var(--list-marker-color);
|
|
1944
|
+
font-size: var(--list-marker-size);
|
|
1945
|
+
position: absolute;
|
|
1946
|
+
left: 0;
|
|
1947
|
+
}
|
|
1948
|
+
ul[data-variant=compact],
|
|
1949
|
+
ol[data-variant=compact],
|
|
1950
|
+
dl[data-variant=compact] {
|
|
1951
|
+
--list-gap: 0.25rem;
|
|
1952
|
+
--list-item-margin-bottom: 0.25rem;
|
|
1953
|
+
--list-margin-bottom: 0.5rem;
|
|
1954
|
+
}
|
|
1955
|
+
ul[data-variant=spaced],
|
|
1956
|
+
ol[data-variant=spaced],
|
|
1957
|
+
dl[data-variant=spaced] {
|
|
1958
|
+
--list-gap: 1rem;
|
|
1959
|
+
--list-item-margin-bottom: 1rem;
|
|
1960
|
+
}
|
|
1961
|
+
|
|
1962
|
+
li:has(a:focus-visible),
|
|
1963
|
+
li:has(button:focus-visible) {
|
|
1964
|
+
outline: 0.0625rem solid transparent;
|
|
1965
|
+
}
|
|
1966
|
+
|
|
1967
|
+
li:has(> a),
|
|
1968
|
+
li:has(> button) {
|
|
1969
|
+
margin-block-end: 0;
|
|
1970
|
+
}
|
|
1971
|
+
|
|
1972
|
+
@media print {
|
|
1973
|
+
ul,
|
|
1974
|
+
ol,
|
|
1975
|
+
dl {
|
|
1976
|
+
--list-margin-bottom: 0.5rem;
|
|
1977
|
+
--list-item-margin-bottom: 0.25rem;
|
|
1978
|
+
}
|
|
1979
|
+
ul,
|
|
1980
|
+
ol {
|
|
1981
|
+
list-style-position: inside;
|
|
1982
|
+
}
|
|
1983
|
+
}
|
|
1984
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1985
|
+
ul,
|
|
1986
|
+
ol,
|
|
1987
|
+
dl,
|
|
1988
|
+
li,
|
|
1989
|
+
dt,
|
|
1990
|
+
dd {
|
|
1991
|
+
animation: none;
|
|
1992
|
+
transition: none;
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1613
1995
|
/* Screen reader only utility class */
|
|
1614
1996
|
.sr-only {
|
|
1615
1997
|
position: absolute;
|
|
@@ -1729,9 +2111,7 @@ nav[data-breadcrumb] ol li a[href][aria-current] {
|
|
|
1729
2111
|
}
|
|
1730
2112
|
[role=alert] button[data-btn~=icon] {
|
|
1731
2113
|
--btn-bg: transparent;
|
|
1732
|
-
|
|
1733
|
-
[role=alert] * + div {
|
|
1734
|
-
margin-block-start: var(--spc-1);
|
|
2114
|
+
align-items: flex-start;
|
|
1735
2115
|
}
|
|
1736
2116
|
[role=alert][data-variant=filled] {
|
|
1737
2117
|
border: none;
|