@fpkit/acss 0.5.13 → 0.6.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/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 +32 -1
- 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 +450 -76
- 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 +21 -1
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../components/alert/alert.scss"],"names":[],"mappings":"AAAA;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACE;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA,YACE;EAEF;EACA;AAWA;AAMA;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../components/alert/alert.scss"],"names":[],"mappings":"AAAA;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;AACE;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;EACA;EACA;AAEA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;EACA,YACE;EAEF;EACA;AAWA;AAMA;AAmEA;AA8BA;AAKA;;AArHA;EACE;EACA;;AAGF;EAlDF;IAmDI;;;AAIF;EACE;EACA;;AAIF;EACE;;AAGF;EACE;EACA;;AAGF;EACE;EACA;AAEA;AASA;;AARA;EACE;EACA;EACA;EACA;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAIA;EACE;EACA;;AAKJ;EACE;;AAEA;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAGF;EACE;EACA;;AAKJ;EACE;;AAIF;AACE;;AAGF;EACE","file":"alert.css"}
|
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] {
|
|
@@ -1420,7 +1565,7 @@ body > nav ul > li,
|
|
|
1420
1565
|
}
|
|
1421
1566
|
body > nav ul > li:hover,
|
|
1422
1567
|
[aria-label~=navbar] ul > li:hover, .navbar ul > li:hover {
|
|
1423
|
-
background-color: var(--nav-hov-bg,
|
|
1568
|
+
background-color: var(--nav-hov-bg, #e8e8e8);
|
|
1424
1569
|
}
|
|
1425
1570
|
body > nav ul > li:hover:where(img),
|
|
1426
1571
|
[aria-label~=navbar] ul > li:hover:where(img), .navbar ul > li:hover:where(img) {
|
|
@@ -1428,6 +1573,10 @@ body > nav ul > li:hover:where(img),
|
|
|
1428
1573
|
}
|
|
1429
1574
|
|
|
1430
1575
|
nav {
|
|
1576
|
+
--nav-focus-color: currentColor;
|
|
1577
|
+
--nav-focus-width: 0.125rem;
|
|
1578
|
+
--nav-focus-offset: 0.125rem;
|
|
1579
|
+
--nav-focus-style: solid;
|
|
1431
1580
|
display: var(--nav-dsp, flex);
|
|
1432
1581
|
flex-direction: var(--nav-direction, row);
|
|
1433
1582
|
width: var(--nav-w, auto);
|
|
@@ -1476,6 +1625,22 @@ nav[data-variant] {
|
|
|
1476
1625
|
nav > div {
|
|
1477
1626
|
margin-block-start: 0;
|
|
1478
1627
|
}
|
|
1628
|
+
nav a:focus {
|
|
1629
|
+
outline: var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);
|
|
1630
|
+
outline-offset: var(--nav-focus-offset);
|
|
1631
|
+
}
|
|
1632
|
+
nav a:focus-visible {
|
|
1633
|
+
outline: var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);
|
|
1634
|
+
outline-offset: var(--nav-focus-offset);
|
|
1635
|
+
}
|
|
1636
|
+
nav button:focus {
|
|
1637
|
+
outline: var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);
|
|
1638
|
+
outline-offset: var(--nav-focus-offset);
|
|
1639
|
+
}
|
|
1640
|
+
nav button:focus-visible {
|
|
1641
|
+
outline: var(--nav-focus-width) var(--nav-focus-style) var(--nav-focus-color);
|
|
1642
|
+
outline-offset: var(--nav-focus-offset);
|
|
1643
|
+
}
|
|
1479
1644
|
|
|
1480
1645
|
:root {
|
|
1481
1646
|
--input-border-color: gray;
|
|
@@ -1610,6 +1775,217 @@ nav[data-breadcrumb] ol li a[href][aria-current] {
|
|
|
1610
1775
|
text-decoration: none;
|
|
1611
1776
|
}
|
|
1612
1777
|
|
|
1778
|
+
/**
|
|
1779
|
+
* List Component Styles
|
|
1780
|
+
*
|
|
1781
|
+
* Provides default styling for ul, ol, and dl list elements with CSS custom
|
|
1782
|
+
* properties for theming. Uses rem units exclusively for accessibility.
|
|
1783
|
+
*
|
|
1784
|
+
* @base-rem: 16px = 1rem
|
|
1785
|
+
*/
|
|
1786
|
+
ul,
|
|
1787
|
+
ol,
|
|
1788
|
+
dl {
|
|
1789
|
+
--list-margin-top: 0;
|
|
1790
|
+
--list-margin-bottom: 1rem;
|
|
1791
|
+
--list-margin-inline: 0;
|
|
1792
|
+
--list-padding-inline: 2.5rem;
|
|
1793
|
+
--list-gap: 0.5rem;
|
|
1794
|
+
--list-marker-color: currentColor;
|
|
1795
|
+
--list-marker-size: 1em;
|
|
1796
|
+
--list-marker-offset: 0.5rem;
|
|
1797
|
+
--list-font-size: 1rem;
|
|
1798
|
+
--list-line-height: 1.5;
|
|
1799
|
+
--list-font-family: inherit;
|
|
1800
|
+
--list-color: inherit;
|
|
1801
|
+
--list-item-margin-bottom: 0.5rem;
|
|
1802
|
+
--list-item-padding-inline: 0;
|
|
1803
|
+
--list-item-padding-block: 0;
|
|
1804
|
+
--dt-font-weight: 600;
|
|
1805
|
+
--dt-margin-bottom: 0.25rem;
|
|
1806
|
+
--dd-margin-inline-start: 2rem;
|
|
1807
|
+
--dd-margin-bottom: 1rem;
|
|
1808
|
+
}
|
|
1809
|
+
|
|
1810
|
+
ul,
|
|
1811
|
+
ol,
|
|
1812
|
+
dl {
|
|
1813
|
+
margin-block-start: var(--list-margin-top);
|
|
1814
|
+
margin-block-end: var(--list-margin-bottom);
|
|
1815
|
+
margin-inline: var(--list-margin-inline);
|
|
1816
|
+
padding-inline-start: var(--list-padding-inline);
|
|
1817
|
+
font-size: var(--list-font-size);
|
|
1818
|
+
line-height: var(--list-line-height);
|
|
1819
|
+
font-family: var(--list-font-family);
|
|
1820
|
+
color: var(--list-color);
|
|
1821
|
+
}
|
|
1822
|
+
ul ul,
|
|
1823
|
+
ul ol,
|
|
1824
|
+
ul dl,
|
|
1825
|
+
ol ul,
|
|
1826
|
+
ol ol,
|
|
1827
|
+
ol dl,
|
|
1828
|
+
dl ul,
|
|
1829
|
+
dl ol,
|
|
1830
|
+
dl dl {
|
|
1831
|
+
margin-block-start: var(--list-gap);
|
|
1832
|
+
margin-block-end: var(--list-gap);
|
|
1833
|
+
}
|
|
1834
|
+
|
|
1835
|
+
ul {
|
|
1836
|
+
list-style-type: disc;
|
|
1837
|
+
}
|
|
1838
|
+
ul::marker {
|
|
1839
|
+
color: var(--list-marker-color);
|
|
1840
|
+
font-size: var(--list-marker-size);
|
|
1841
|
+
}
|
|
1842
|
+
ul ul {
|
|
1843
|
+
list-style-type: circle;
|
|
1844
|
+
}
|
|
1845
|
+
ul ul ul {
|
|
1846
|
+
list-style-type: square;
|
|
1847
|
+
}
|
|
1848
|
+
|
|
1849
|
+
ol {
|
|
1850
|
+
list-style-type: decimal;
|
|
1851
|
+
}
|
|
1852
|
+
ol::marker {
|
|
1853
|
+
color: var(--list-marker-color);
|
|
1854
|
+
font-size: var(--list-marker-size);
|
|
1855
|
+
}
|
|
1856
|
+
ol ol {
|
|
1857
|
+
list-style-type: lower-alpha;
|
|
1858
|
+
}
|
|
1859
|
+
ol ol ol {
|
|
1860
|
+
list-style-type: lower-roman;
|
|
1861
|
+
}
|
|
1862
|
+
|
|
1863
|
+
li {
|
|
1864
|
+
margin-block-end: var(--list-item-margin-bottom);
|
|
1865
|
+
padding-inline: var(--list-item-padding-inline);
|
|
1866
|
+
padding-block: var(--list-item-padding-block);
|
|
1867
|
+
padding-inline-start: var(--list-marker-offset);
|
|
1868
|
+
}
|
|
1869
|
+
li:last-child {
|
|
1870
|
+
margin-block-end: 0;
|
|
1871
|
+
}
|
|
1872
|
+
|
|
1873
|
+
dl {
|
|
1874
|
+
padding-inline-start: 0;
|
|
1875
|
+
}
|
|
1876
|
+
|
|
1877
|
+
dt {
|
|
1878
|
+
font-weight: var(--dt-font-weight);
|
|
1879
|
+
margin-block-end: var(--dt-margin-bottom);
|
|
1880
|
+
padding-inline: var(--list-item-padding-inline);
|
|
1881
|
+
padding-block: var(--list-item-padding-block);
|
|
1882
|
+
}
|
|
1883
|
+
|
|
1884
|
+
dd {
|
|
1885
|
+
margin-inline-start: var(--dd-margin-inline-start);
|
|
1886
|
+
margin-block-end: var(--dd-margin-bottom);
|
|
1887
|
+
padding-inline: var(--list-item-padding-inline);
|
|
1888
|
+
padding-block: var(--list-item-padding-block);
|
|
1889
|
+
}
|
|
1890
|
+
dd:last-child {
|
|
1891
|
+
margin-block-end: 0;
|
|
1892
|
+
}
|
|
1893
|
+
|
|
1894
|
+
ul[data-variant=none],
|
|
1895
|
+
ol[data-variant=none],
|
|
1896
|
+
dl[data-variant=none] {
|
|
1897
|
+
list-style-type: none;
|
|
1898
|
+
padding-inline-start: 0;
|
|
1899
|
+
}
|
|
1900
|
+
ul[data-variant=none] li,
|
|
1901
|
+
ol[data-variant=none] li,
|
|
1902
|
+
dl[data-variant=none] li {
|
|
1903
|
+
padding-inline-start: 0;
|
|
1904
|
+
}
|
|
1905
|
+
ul[data-variant=inline],
|
|
1906
|
+
ol[data-variant=inline],
|
|
1907
|
+
dl[data-variant=inline] {
|
|
1908
|
+
display: flex;
|
|
1909
|
+
flex-direction: row;
|
|
1910
|
+
flex-wrap: wrap;
|
|
1911
|
+
gap: var(--list-gap);
|
|
1912
|
+
padding-inline-start: 0;
|
|
1913
|
+
list-style-type: none;
|
|
1914
|
+
}
|
|
1915
|
+
ul[data-variant=inline] li,
|
|
1916
|
+
ol[data-variant=inline] li,
|
|
1917
|
+
dl[data-variant=inline] li {
|
|
1918
|
+
padding-inline-start: 0;
|
|
1919
|
+
margin-block-end: 0;
|
|
1920
|
+
}
|
|
1921
|
+
ul[data-variant=custom],
|
|
1922
|
+
ol[data-variant=custom],
|
|
1923
|
+
dl[data-variant=custom] {
|
|
1924
|
+
list-style-type: none;
|
|
1925
|
+
padding-inline-start: 0;
|
|
1926
|
+
}
|
|
1927
|
+
ul[data-variant=custom] li,
|
|
1928
|
+
ol[data-variant=custom] li,
|
|
1929
|
+
dl[data-variant=custom] li {
|
|
1930
|
+
position: relative;
|
|
1931
|
+
padding-inline-start: calc(var(--list-marker-size) + var(--list-marker-offset));
|
|
1932
|
+
}
|
|
1933
|
+
ul[data-variant=custom] li::before,
|
|
1934
|
+
ol[data-variant=custom] li::before,
|
|
1935
|
+
dl[data-variant=custom] li::before {
|
|
1936
|
+
content: var(--list-marker-content, "•");
|
|
1937
|
+
color: var(--list-marker-color);
|
|
1938
|
+
font-size: var(--list-marker-size);
|
|
1939
|
+
position: absolute;
|
|
1940
|
+
left: 0;
|
|
1941
|
+
}
|
|
1942
|
+
ul[data-variant=compact],
|
|
1943
|
+
ol[data-variant=compact],
|
|
1944
|
+
dl[data-variant=compact] {
|
|
1945
|
+
--list-gap: 0.25rem;
|
|
1946
|
+
--list-item-margin-bottom: 0.25rem;
|
|
1947
|
+
--list-margin-bottom: 0.5rem;
|
|
1948
|
+
}
|
|
1949
|
+
ul[data-variant=spaced],
|
|
1950
|
+
ol[data-variant=spaced],
|
|
1951
|
+
dl[data-variant=spaced] {
|
|
1952
|
+
--list-gap: 1rem;
|
|
1953
|
+
--list-item-margin-bottom: 1rem;
|
|
1954
|
+
}
|
|
1955
|
+
|
|
1956
|
+
li:has(a:focus-visible),
|
|
1957
|
+
li:has(button:focus-visible) {
|
|
1958
|
+
outline: 0.0625rem solid transparent;
|
|
1959
|
+
}
|
|
1960
|
+
|
|
1961
|
+
li:has(> a),
|
|
1962
|
+
li:has(> button) {
|
|
1963
|
+
margin-block-end: 0;
|
|
1964
|
+
}
|
|
1965
|
+
|
|
1966
|
+
@media print {
|
|
1967
|
+
ul,
|
|
1968
|
+
ol,
|
|
1969
|
+
dl {
|
|
1970
|
+
--list-margin-bottom: 0.5rem;
|
|
1971
|
+
--list-item-margin-bottom: 0.25rem;
|
|
1972
|
+
}
|
|
1973
|
+
ul,
|
|
1974
|
+
ol {
|
|
1975
|
+
list-style-position: inside;
|
|
1976
|
+
}
|
|
1977
|
+
}
|
|
1978
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1979
|
+
ul,
|
|
1980
|
+
ol,
|
|
1981
|
+
dl,
|
|
1982
|
+
li,
|
|
1983
|
+
dt,
|
|
1984
|
+
dd {
|
|
1985
|
+
animation: none;
|
|
1986
|
+
transition: none;
|
|
1987
|
+
}
|
|
1988
|
+
}
|
|
1613
1989
|
/* Screen reader only utility class */
|
|
1614
1990
|
.sr-only {
|
|
1615
1991
|
position: absolute;
|
|
@@ -1729,9 +2105,7 @@ nav[data-breadcrumb] ol li a[href][aria-current] {
|
|
|
1729
2105
|
}
|
|
1730
2106
|
[role=alert] button[data-btn~=icon] {
|
|
1731
2107
|
--btn-bg: transparent;
|
|
1732
|
-
|
|
1733
|
-
[role=alert] * + div {
|
|
1734
|
-
margin-block-start: var(--spc-1);
|
|
2108
|
+
align-items: flex-start;
|
|
1735
2109
|
}
|
|
1736
2110
|
[role=alert][data-variant=filled] {
|
|
1737
2111
|
border: none;
|