@warp-ds/elements 2.10.0-next.14 → 2.10.0-next.17
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/dist/.storybook/utilities.js +4 -4
- package/dist/api.js.map +2 -2
- package/dist/custom-elements.json +437 -53
- package/dist/docs/affix/affix.md +2 -2
- package/dist/docs/affix/api.md +2 -2
- package/dist/docs/alert/alert.md +4 -4
- package/dist/docs/alert/api.md +4 -4
- package/dist/docs/attention/api.md +50 -2
- package/dist/docs/attention/attention.md +50 -2
- package/dist/docs/badge/api.md +50 -4
- package/dist/docs/badge/badge.md +50 -4
- package/dist/docs/box/api.md +2 -2
- package/dist/docs/box/box.md +2 -2
- package/dist/docs/button/api.md +8 -0
- package/dist/docs/button/button.md +8 -0
- package/dist/docs/card/api.md +8 -0
- package/dist/docs/card/card.md +8 -0
- package/dist/docs/checkbox/api.md +50 -2
- package/dist/docs/checkbox/checkbox.md +224 -2
- package/dist/docs/checkbox/styling.md +173 -0
- package/dist/docs/checkbox-group/api.md +24 -0
- package/dist/docs/checkbox-group/checkbox-group.md +67 -30
- package/dist/docs/checkbox-group/styling.md +31 -29
- package/dist/docs/combobox/api.md +20 -12
- package/dist/docs/combobox/combobox.md +20 -12
- package/dist/docs/datepicker/api.md +14 -6
- package/dist/docs/datepicker/datepicker.md +14 -6
- package/dist/docs/icon/api.md +3 -3
- package/dist/docs/icon/icon.md +3 -3
- package/dist/docs/index.md +3 -1
- package/dist/docs/modal/api.md +16 -0
- package/dist/docs/modal/modal.md +16 -0
- package/dist/docs/radio-group/api.md +4 -4
- package/dist/docs/radio-group/radio-group.md +183 -68
- package/dist/docs/radio-group/styling.md +179 -64
- package/dist/docs/slider-thumb/api.md +16 -0
- package/dist/docs/slider-thumb/slider-thumb.md +16 -0
- package/dist/docs/snackbar/accessibility.md +20 -0
- package/dist/docs/snackbar/api.md +30 -0
- package/dist/docs/snackbar/examples.md +191 -0
- package/dist/docs/snackbar/snackbar.md +385 -0
- package/dist/docs/snackbar/styling.md +72 -0
- package/dist/docs/snackbar/usage.md +60 -0
- package/dist/docs/snackbar-item/api.md +41 -0
- package/dist/docs/snackbar-item/snackbar-item.md +49 -0
- package/dist/docs/step/api.md +16 -0
- package/dist/docs/step/step.md +16 -0
- package/dist/docs/switch/api.md +8 -0
- package/dist/docs/switch/switch.md +8 -0
- package/dist/docs/textarea/api.md +40 -0
- package/dist/docs/textarea/textarea.md +40 -0
- package/dist/docs/textfield/api.md +32 -0
- package/dist/docs/textfield/textfield.md +32 -0
- package/dist/index.d.ts +316 -3
- package/dist/packages/affix/affix.d.ts +4 -4
- package/dist/packages/affix/affix.hydration.test.d.ts +1 -1
- package/dist/packages/affix/affix.hydration.test.js +15 -15
- package/dist/packages/affix/affix.js +346 -316
- package/dist/packages/affix/affix.js.map +2 -2
- package/dist/packages/affix/affix.react.stories.d.ts +2 -2
- package/dist/packages/affix/affix.react.stories.js +3 -3
- package/dist/packages/affix/affix.react.test.js +5 -3
- package/dist/packages/affix/affix.stories.d.ts +3 -3
- package/dist/packages/affix/affix.stories.js +10 -10
- package/dist/packages/affix/affix.test.d.ts +1 -1
- package/dist/packages/affix/affix.test.js +10 -10
- package/dist/packages/affix/react.d.ts +2 -2
- package/dist/packages/affix/react.js +6 -6
- package/dist/packages/affix/styles.js +1 -1
- package/dist/packages/alert/alert.d.ts +3 -3
- package/dist/packages/alert/alert.hydration.test.d.ts +1 -1
- package/dist/packages/alert/alert.hydration.test.js +21 -21
- package/dist/packages/alert/alert.js +345 -320
- package/dist/packages/alert/alert.js.map +2 -2
- package/dist/packages/alert/alert.react.stories.d.ts +2 -2
- package/dist/packages/alert/alert.react.stories.js +13 -13
- package/dist/packages/alert/alert.stories.d.ts +4 -4
- package/dist/packages/alert/alert.stories.js +29 -27
- package/dist/packages/alert/alert.test.d.ts +1 -1
- package/dist/packages/alert/alert.test.js +34 -21
- package/dist/packages/alert/react.d.ts +1 -1
- package/dist/packages/alert/react.js +4 -4
- package/dist/packages/alert/styles.js +1 -1
- package/dist/packages/attention/attention.d.ts +11 -6
- package/dist/packages/attention/attention.hydration.test.d.ts +1 -1
- package/dist/packages/attention/attention.hydration.test.js +29 -29
- package/dist/packages/attention/attention.js +1737 -1695
- package/dist/packages/attention/attention.js.map +2 -2
- package/dist/packages/attention/attention.react.stories.d.ts +3 -3
- package/dist/packages/attention/attention.react.stories.js +13 -13
- package/dist/packages/attention/attention.react.test.js +11 -7
- package/dist/packages/attention/attention.stories.d.ts +4 -4
- package/dist/packages/attention/attention.stories.js +126 -117
- package/dist/packages/attention/attention.test.d.ts +1 -1
- package/dist/packages/attention/attention.test.js +18 -10
- package/dist/packages/attention/layout-styles.js +900 -900
- package/dist/packages/attention/react.d.ts +4 -4
- package/dist/packages/attention/react.js +13 -11
- package/dist/packages/attention/styles.js +1 -1
- package/dist/packages/badge/badge.d.ts +3 -3
- package/dist/packages/badge/badge.hydration.test.d.ts +1 -1
- package/dist/packages/badge/badge.hydration.test.js +25 -25
- package/dist/packages/badge/badge.js +276 -276
- package/dist/packages/badge/badge.js.map +2 -2
- package/dist/packages/badge/badge.react.stories.d.ts +3 -3
- package/dist/packages/badge/badge.react.stories.js +17 -17
- package/dist/packages/badge/badge.stories.d.ts +3 -3
- package/dist/packages/badge/badge.stories.js +22 -20
- package/dist/packages/badge/badge.test.d.ts +1 -1
- package/dist/packages/badge/badge.test.js +13 -11
- package/dist/packages/badge/react.d.ts +1 -1
- package/dist/packages/badge/react.js +4 -4
- package/dist/packages/badge/styles.js +1 -1
- package/dist/packages/box/box.d.ts +1 -1
- package/dist/packages/box/box.hydration.test.d.ts +1 -1
- package/dist/packages/box/box.hydration.test.js +14 -14
- package/dist/packages/box/box.js +283 -283
- package/dist/packages/box/box.js.map +2 -2
- package/dist/packages/box/box.react.stories.d.ts +3 -3
- package/dist/packages/box/box.react.stories.js +8 -8
- package/dist/packages/box/box.stories.d.ts +3 -3
- package/dist/packages/box/box.stories.js +25 -19
- package/dist/packages/box/box.test.d.ts +1 -1
- package/dist/packages/box/box.test.js +6 -6
- package/dist/packages/box/react.d.ts +1 -1
- package/dist/packages/box/react.js +4 -4
- package/dist/packages/box/slot.test.d.ts +1 -1
- package/dist/packages/box/slot.test.js +6 -6
- package/dist/packages/box/styles.js +1 -1
- package/dist/packages/breadcrumbs/breadcrumbs.d.ts +1 -1
- package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.d.ts +1 -1
- package/dist/packages/breadcrumbs/breadcrumbs.hydration.test.js +55 -49
- package/dist/packages/breadcrumbs/breadcrumbs.js +284 -278
- package/dist/packages/breadcrumbs/breadcrumbs.js.map +2 -2
- package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +3 -3
- package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +6 -6
- package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +3 -3
- package/dist/packages/breadcrumbs/breadcrumbs.stories.js +27 -26
- package/dist/packages/breadcrumbs/breadcrumbs.test.d.ts +1 -1
- package/dist/packages/breadcrumbs/breadcrumbs.test.js +19 -17
- package/dist/packages/breadcrumbs/react.d.ts +1 -1
- package/dist/packages/breadcrumbs/react.js +4 -4
- package/dist/packages/breadcrumbs/styles.js +1 -1
- package/dist/packages/button/button.d.ts +9 -4
- package/dist/packages/button/button.hydration.test.d.ts +1 -1
- package/dist/packages/button/button.hydration.test.js +19 -19
- package/dist/packages/button/button.js +743 -717
- package/dist/packages/button/button.js.map +2 -2
- package/dist/packages/button/button.react.stories.d.ts +5 -5
- package/dist/packages/button/button.react.stories.js +30 -30
- package/dist/packages/button/button.react.test.js +13 -13
- package/dist/packages/button/button.stories.d.ts +4 -4
- package/dist/packages/button/button.stories.js +276 -167
- package/dist/packages/button/button.test.d.ts +1 -1
- package/dist/packages/button/button.test.js +36 -35
- package/dist/packages/button/react.d.ts +3 -3
- package/dist/packages/button/react.js +7 -7
- package/dist/packages/button/styles.js +373 -347
- package/dist/packages/card/card.d.ts +1 -1
- package/dist/packages/card/card.hydration.test.d.ts +1 -1
- package/dist/packages/card/card.hydration.test.js +14 -14
- package/dist/packages/card/card.js +305 -290
- package/dist/packages/card/card.js.map +2 -2
- package/dist/packages/card/card.react.stories.d.ts +3 -3
- package/dist/packages/card/card.react.stories.js +11 -11
- package/dist/packages/card/card.stories.d.ts +3 -3
- package/dist/packages/card/card.stories.js +36 -24
- package/dist/packages/card/card.test.d.ts +1 -1
- package/dist/packages/card/card.test.js +6 -6
- package/dist/packages/card/react.d.ts +1 -1
- package/dist/packages/card/react.js +4 -4
- package/dist/packages/card/styles.js +1 -1
- package/dist/packages/checkbox/checkbox.a11y.test.d.ts +1 -1
- package/dist/packages/checkbox/checkbox.a11y.test.js +47 -33
- package/dist/packages/checkbox/checkbox.d.ts +2 -2
- package/dist/packages/checkbox/checkbox.hydration.test.d.ts +1 -1
- package/dist/packages/checkbox/checkbox.hydration.test.js +21 -21
- package/dist/packages/checkbox/checkbox.js +475 -424
- package/dist/packages/checkbox/checkbox.js.map +2 -2
- package/dist/packages/checkbox/checkbox.react.stories.d.ts +2 -2
- package/dist/packages/checkbox/checkbox.react.stories.js +3 -3
- package/dist/packages/checkbox/checkbox.stories.d.ts +4 -4
- package/dist/packages/checkbox/checkbox.stories.js +99 -91
- package/dist/packages/checkbox/checkbox.test.d.ts +1 -1
- package/dist/packages/checkbox/checkbox.test.js +64 -64
- package/dist/packages/checkbox/react.d.ts +1 -1
- package/dist/packages/checkbox/react.js +6 -6
- package/dist/packages/checkbox/styles.js +183 -132
- package/dist/packages/checkbox-group/checkbox-group.a11y.test.d.ts +2 -2
- package/dist/packages/checkbox-group/checkbox-group.a11y.test.js +83 -73
- package/dist/packages/checkbox-group/checkbox-group.d.ts +16 -2
- package/dist/packages/checkbox-group/checkbox-group.hydration.test.d.ts +2 -2
- package/dist/packages/checkbox-group/checkbox-group.hydration.test.js +36 -19
- package/dist/packages/checkbox-group/checkbox-group.js +60 -55
- package/dist/packages/checkbox-group/checkbox-group.js.map +2 -2
- package/dist/packages/checkbox-group/checkbox-group.react.test.js +4 -4
- package/dist/packages/checkbox-group/checkbox-group.test.d.ts +2 -2
- package/dist/packages/checkbox-group/checkbox-group.test.js +96 -90
- package/dist/packages/checkbox-group/react.d.ts +2 -2
- package/dist/packages/checkbox-group/react.js +6 -6
- package/dist/packages/combobox/combobox.a11y.test.d.ts +2 -2
- package/dist/packages/combobox/combobox.a11y.test.js +72 -49
- package/dist/packages/combobox/combobox.d.ts +2 -2
- package/dist/packages/combobox/combobox.hydration.test.d.ts +1 -1
- package/dist/packages/combobox/combobox.hydration.test.js +45 -45
- package/dist/packages/combobox/combobox.js +332 -332
- package/dist/packages/combobox/combobox.js.map +3 -3
- package/dist/packages/combobox/combobox.react.stories.d.ts +3 -3
- package/dist/packages/combobox/combobox.react.stories.js +29 -29
- package/dist/packages/combobox/combobox.react.test.js +8 -8
- package/dist/packages/combobox/combobox.stories.d.ts +4 -4
- package/dist/packages/combobox/combobox.stories.js +100 -94
- package/dist/packages/combobox/combobox.test.d.ts +2 -2
- package/dist/packages/combobox/combobox.test.js +148 -133
- package/dist/packages/combobox/react.d.ts +2 -2
- package/dist/packages/combobox/react.js +14 -14
- package/dist/packages/combobox/styles.js +1 -1
- package/dist/packages/datepicker/DatePicker.test.d.ts +2 -2
- package/dist/packages/datepicker/DatePicker.test.js +46 -41
- package/dist/packages/datepicker/datepicker.d.ts +3 -3
- package/dist/packages/datepicker/datepicker.hydration.test.d.ts +1 -1
- package/dist/packages/datepicker/datepicker.hydration.test.js +21 -21
- package/dist/packages/datepicker/datepicker.js +665 -625
- package/dist/packages/datepicker/datepicker.js.map +3 -3
- package/dist/packages/datepicker/datepicker.react.stories.d.ts +3 -3
- package/dist/packages/datepicker/datepicker.react.stories.js +9 -9
- package/dist/packages/datepicker/datepicker.react.test.js +6 -6
- package/dist/packages/datepicker/datepicker.stories.d.ts +4 -4
- package/dist/packages/datepicker/datepicker.stories.js +32 -32
- package/dist/packages/datepicker/datepicker.test.d.ts +2 -2
- package/dist/packages/datepicker/datepicker.test.js +77 -79
- package/dist/packages/datepicker/react.d.ts +2 -2
- package/dist/packages/datepicker/react.js +16 -14
- package/dist/packages/datepicker/styles/w-datepicker-calendar.styles.js +13 -12
- package/dist/packages/datepicker/styles/w-datepicker-day.styles.js +58 -55
- package/dist/packages/datepicker/styles/w-datepicker-month.styles.js +60 -57
- package/dist/packages/datepicker/styles/w-datepicker.styles.js +87 -87
- package/dist/packages/datepicker/utils.d.ts +1 -1
- package/dist/packages/datepicker/utils.js +25 -19
- package/dist/packages/datepicker/utils.test.js +20 -20
- package/dist/packages/expandable/expandable.d.ts +4 -4
- package/dist/packages/expandable/expandable.hydration.test.d.ts +1 -1
- package/dist/packages/expandable/expandable.hydration.test.js +21 -21
- package/dist/packages/expandable/expandable.js +357 -330
- package/dist/packages/expandable/expandable.js.map +4 -4
- package/dist/packages/expandable/expandable.react.stories.d.ts +3 -3
- package/dist/packages/expandable/expandable.react.stories.js +7 -7
- package/dist/packages/expandable/expandable.react.test.js +15 -7
- package/dist/packages/expandable/expandable.stories.d.ts +5 -5
- package/dist/packages/expandable/expandable.stories.js +51 -45
- package/dist/packages/expandable/expandable.test.d.ts +1 -1
- package/dist/packages/expandable/expandable.test.js +19 -17
- package/dist/packages/expandable/react.d.ts +2 -2
- package/dist/packages/expandable/react.js +9 -9
- package/dist/packages/expandable/styles.js +1 -1
- package/dist/packages/global.d.ts +1 -0
- package/dist/packages/global.js +5 -0
- package/dist/packages/i18n.d.ts +1 -1
- package/dist/packages/i18n.js +37 -29
- package/dist/packages/icon/icon.d.ts +7 -2
- package/dist/packages/icon/icon.hydration.test.d.ts +1 -1
- package/dist/packages/icon/icon.hydration.test.js +25 -25
- package/dist/packages/icon/icon.js +31 -26
- package/dist/packages/icon/icon.js.map +2 -2
- package/dist/packages/icon/icon.react.stories.d.ts +1 -1
- package/dist/packages/icon/icon.react.stories.js +283 -284
- package/dist/packages/icon/icon.stories.d.ts +3 -3
- package/dist/packages/icon/icon.stories.js +299 -298
- package/dist/packages/icon/icon.test.d.ts +1 -1
- package/dist/packages/icon/icon.test.js +36 -28
- package/dist/packages/icon/react.d.ts +1 -1
- package/dist/packages/icon/react.js +4 -4
- package/dist/packages/icon/style.js +24 -25
- package/dist/packages/interaction-type-detection.d.ts +22 -0
- package/dist/packages/interaction-type-detection.js +38 -0
- package/dist/packages/link/link.d.ts +2 -2
- package/dist/packages/link/link.hydration.test.d.ts +1 -1
- package/dist/packages/link/link.hydration.test.js +27 -27
- package/dist/packages/link/link.js +709 -683
- package/dist/packages/link/link.js.map +2 -2
- package/dist/packages/link/link.react.stories.d.ts +3 -3
- package/dist/packages/link/link.react.stories.js +42 -42
- package/dist/packages/link/link.react.test.js +5 -3
- package/dist/packages/link/link.stories.d.ts +3 -3
- package/dist/packages/link/link.stories.js +51 -51
- package/dist/packages/link/link.test.d.ts +1 -1
- package/dist/packages/link/link.test.js +11 -7
- package/dist/packages/link/react.d.ts +2 -2
- package/dist/packages/link/react.js +6 -6
- package/dist/packages/link/styles.js +57 -57
- package/dist/packages/modal/index.d.ts +7 -7
- package/dist/packages/modal/index.js +7 -7
- package/dist/packages/modal/modal.d.ts +1 -1
- package/dist/packages/modal/modal.hydration.test.d.ts +1 -1
- package/dist/packages/modal/modal.hydration.test.js +12 -12
- package/dist/packages/modal/modal.js +405 -405
- package/dist/packages/modal/modal.js.map +2 -2
- package/dist/packages/modal/modal.react.stories.d.ts +3 -3
- package/dist/packages/modal/modal.react.stories.js +7 -6
- package/dist/packages/modal/modal.react.test.js +5 -5
- package/dist/packages/modal/modal.stories.d.ts +6 -6
- package/dist/packages/modal/modal.stories.js +253 -238
- package/dist/packages/modal/react.d.ts +4 -4
- package/dist/packages/modal/react.js +13 -13
- package/dist/packages/modal/util.js +2 -2
- package/dist/packages/modal-footer/modal-footer.d.ts +1 -1
- package/dist/packages/modal-footer/modal-footer.js +291 -291
- package/dist/packages/modal-footer/modal-footer.js.map +2 -2
- package/dist/packages/modal-footer/react.d.ts +1 -1
- package/dist/packages/modal-footer/react.js +4 -4
- package/dist/packages/modal-header/modal-header.d.ts +2 -2
- package/dist/packages/modal-header/modal-header.js +439 -418
- package/dist/packages/modal-header/modal-header.js.map +2 -2
- package/dist/packages/modal-header/modal-header.react.test.js +5 -3
- package/dist/packages/modal-header/react.d.ts +2 -2
- package/dist/packages/modal-header/react.js +8 -8
- package/dist/packages/page-indicator/page-indicator.d.ts +1 -1
- package/dist/packages/page-indicator/page-indicator.hydration.test.d.ts +1 -1
- package/dist/packages/page-indicator/page-indicator.hydration.test.js +22 -22
- package/dist/packages/page-indicator/page-indicator.js +26 -26
- package/dist/packages/page-indicator/page-indicator.js.map +2 -2
- package/dist/packages/page-indicator/page-indicator.react.stories.d.ts +3 -3
- package/dist/packages/page-indicator/page-indicator.react.stories.js +11 -11
- package/dist/packages/page-indicator/page-indicator.react.test.js +5 -5
- package/dist/packages/page-indicator/page-indicator.stories.d.ts +3 -3
- package/dist/packages/page-indicator/page-indicator.stories.js +56 -27
- package/dist/packages/page-indicator/page-indicator.test.d.ts +1 -1
- package/dist/packages/page-indicator/page-indicator.test.js +110 -70
- package/dist/packages/page-indicator/react.d.ts +2 -2
- package/dist/packages/page-indicator/react.js +7 -7
- package/dist/packages/page-indicator/style.js +21 -21
- package/dist/packages/pagination/pagination.a11y.test.d.ts +1 -1
- package/dist/packages/pagination/pagination.a11y.test.js +59 -25
- package/dist/packages/pagination/pagination.d.ts +3 -3
- package/dist/packages/pagination/pagination.hydration.test.d.ts +1 -1
- package/dist/packages/pagination/pagination.hydration.test.js +19 -19
- package/dist/packages/pagination/pagination.js +380 -349
- package/dist/packages/pagination/pagination.js.map +2 -2
- package/dist/packages/pagination/pagination.react.stories.d.ts +5 -5
- package/dist/packages/pagination/pagination.react.stories.js +8 -8
- package/dist/packages/pagination/pagination.react.test.js +6 -6
- package/dist/packages/pagination/pagination.stories.d.ts +3 -3
- package/dist/packages/pagination/pagination.stories.js +18 -18
- package/dist/packages/pagination/pagination.test.d.ts +1 -1
- package/dist/packages/pagination/pagination.test.js +146 -69
- package/dist/packages/pagination/react.d.ts +3 -3
- package/dist/packages/pagination/react.js +12 -10
- package/dist/packages/pagination/styles.js +1 -1
- package/dist/packages/pill/pill.d.ts +2 -2
- package/dist/packages/pill/pill.hydration.test.d.ts +1 -1
- package/dist/packages/pill/pill.hydration.test.js +14 -14
- package/dist/packages/pill/pill.js +334 -311
- package/dist/packages/pill/pill.js.map +2 -2
- package/dist/packages/pill/pill.react.stories.d.ts +3 -3
- package/dist/packages/pill/pill.react.stories.js +3 -3
- package/dist/packages/pill/pill.react.test.js +8 -8
- package/dist/packages/pill/pill.stories.d.ts +3 -3
- package/dist/packages/pill/pill.stories.js +8 -8
- package/dist/packages/pill/pill.test.d.ts +1 -1
- package/dist/packages/pill/pill.test.js +17 -15
- package/dist/packages/pill/react.d.ts +2 -2
- package/dist/packages/pill/react.js +18 -14
- package/dist/packages/pill/styles.js +1 -1
- package/dist/packages/radio/base-element.d.ts +3 -3
- package/dist/packages/radio/base-element.js +3 -3
- package/dist/packages/radio/custom-error-validator.d.ts +1 -1
- package/dist/packages/radio/custom-error-validator.js +3 -3
- package/dist/packages/radio/form-associated-element.d.ts +8 -8
- package/dist/packages/radio/form-associated-element.js +27 -26
- package/dist/packages/radio/host-styles.js +9 -9
- package/dist/packages/radio/invalid.d.ts +1 -1
- package/dist/packages/radio/invalid.js +1 -1
- package/dist/packages/radio/radio-styles.js +199 -160
- package/dist/packages/radio/radio.a11y.test.d.ts +2 -2
- package/dist/packages/radio/radio.a11y.test.js +60 -58
- package/dist/packages/radio/radio.d.ts +3 -3
- package/dist/packages/radio/radio.hydration.test.d.ts +1 -1
- package/dist/packages/radio/radio.hydration.test.js +23 -14
- package/dist/packages/radio/radio.js +485 -446
- package/dist/packages/radio/radio.js.map +3 -3
- package/dist/packages/radio/radio.react.stories.d.ts +2 -2
- package/dist/packages/radio/radio.react.stories.js +3 -3
- package/dist/packages/radio/radio.stories.d.ts +4 -4
- package/dist/packages/radio/radio.stories.js +152 -136
- package/dist/packages/radio/radio.test.d.ts +1 -1
- package/dist/packages/radio/radio.test.js +74 -73
- package/dist/packages/radio/react.d.ts +1 -1
- package/dist/packages/radio/react.js +4 -4
- package/dist/packages/radio/required-validator.d.ts +1 -1
- package/dist/packages/radio/required-validator.js +12 -7
- package/dist/packages/radio/slot.d.ts +1 -1
- package/dist/packages/radio/slot.js +11 -8
- package/dist/packages/radio/watch.d.ts +1 -1
- package/dist/packages/radio/watch.js +3 -1
- package/dist/packages/radio-group/radio-group-styles.js +121 -88
- package/dist/packages/radio-group/radio-group.a11y.test.d.ts +2 -2
- package/dist/packages/radio-group/radio-group.a11y.test.js +81 -79
- package/dist/packages/radio-group/radio-group.d.ts +14 -5
- package/dist/packages/radio-group/radio-group.hydration.test.d.ts +2 -2
- package/dist/packages/radio-group/radio-group.hydration.test.js +29 -18
- package/dist/packages/radio-group/radio-group.js +648 -560
- package/dist/packages/radio-group/radio-group.js.map +3 -3
- package/dist/packages/radio-group/radio-group.react.test.js +4 -4
- package/dist/packages/radio-group/radio-group.test.d.ts +2 -2
- package/dist/packages/radio-group/radio-group.test.js +234 -229
- package/dist/packages/radio-group/react.d.ts +2 -2
- package/dist/packages/radio-group/react.js +10 -10
- package/dist/packages/select/react.d.ts +2 -2
- package/dist/packages/select/react.js +11 -11
- package/dist/packages/select/select.a11y.test.d.ts +1 -1
- package/dist/packages/select/select.a11y.test.js +98 -91
- package/dist/packages/select/select.d.ts +4 -4
- package/dist/packages/select/select.hydration.test.d.ts +1 -1
- package/dist/packages/select/select.hydration.test.js +16 -16
- package/dist/packages/select/select.js +350 -331
- package/dist/packages/select/select.js.map +2 -2
- package/dist/packages/select/select.react.stories.d.ts +3 -3
- package/dist/packages/select/select.react.stories.js +7 -7
- package/dist/packages/select/select.react.test.js +6 -6
- package/dist/packages/select/select.stories.d.ts +3 -3
- package/dist/packages/select/select.stories.js +51 -48
- package/dist/packages/select/select.test.d.ts +1 -1
- package/dist/packages/select/select.test.js +175 -178
- package/dist/packages/select/styles.js +1 -1
- package/dist/packages/slider/Slider.d.ts +1 -1
- package/dist/packages/slider/Slider.js +4 -4
- package/dist/packages/slider/index.d.ts +2 -2
- package/dist/packages/slider/index.js +2 -2
- package/dist/packages/slider/react.d.ts +3 -3
- package/dist/packages/slider/react.js +9 -9
- package/dist/packages/slider/slider.d.ts +3 -3
- package/dist/packages/slider/slider.hydration.test.d.ts +1 -1
- package/dist/packages/slider/slider.hydration.test.js +39 -20
- package/dist/packages/slider/slider.js +480 -462
- package/dist/packages/slider/slider.js.map +2 -2
- package/dist/packages/slider/slider.react.stories.d.ts +3 -3
- package/dist/packages/slider/slider.react.stories.js +31 -34
- package/dist/packages/slider/slider.react.test.js +6 -6
- package/dist/packages/slider/slider.stories.d.ts +7 -7
- package/dist/packages/slider/slider.stories.js +332 -340
- package/dist/packages/slider/slider.test.d.ts +5 -5
- package/dist/packages/slider/slider.test.js +367 -334
- package/dist/packages/slider/styles/w-slider.styles.js +166 -148
- package/dist/packages/slider/styles.js +1 -1
- package/dist/packages/slider-thumb/SliderThumb.d.ts +1 -1
- package/dist/packages/slider-thumb/SliderThumb.js +4 -4
- package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.d.ts +1 -1
- package/dist/packages/slider-thumb/oddbird-css-anchor-positioning.js +1 -1
- package/dist/packages/slider-thumb/react.d.ts +3 -3
- package/dist/packages/slider-thumb/react.js +11 -9
- package/dist/packages/slider-thumb/slider-thumb.d.ts +3 -3
- package/dist/packages/slider-thumb/slider-thumb.hydration.test.d.ts +1 -1
- package/dist/packages/slider-thumb/slider-thumb.hydration.test.js +26 -17
- package/dist/packages/slider-thumb/slider-thumb.js +545 -548
- package/dist/packages/slider-thumb/slider-thumb.js.map +3 -3
- package/dist/packages/slider-thumb/slider-thumb.react.test.js +9 -5
- package/dist/packages/slider-thumb/styles/w-slider-thumb.styles.js +189 -188
- package/dist/packages/slider-thumb/styles.js +1 -1
- package/dist/packages/snackbar/locales/da/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/da/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/en/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/en/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/fi/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/fi/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/nb/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/nb/messages.mjs +1 -0
- package/dist/packages/snackbar/locales/sv/messages.d.mts +1 -0
- package/dist/packages/snackbar/locales/sv/messages.mjs +1 -0
- package/dist/packages/snackbar/react.d.ts +2 -0
- package/dist/packages/snackbar/react.js +11 -0
- package/dist/packages/snackbar/snackbar.d.ts +132 -0
- package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -0
- package/dist/packages/snackbar/snackbar.hydration.test.js +13 -0
- package/dist/packages/snackbar/snackbar.js +2665 -0
- package/dist/packages/snackbar/snackbar.js.map +7 -0
- package/dist/packages/snackbar/snackbar.react.stories.d.ts +12 -0
- package/dist/packages/snackbar/snackbar.react.stories.js +160 -0
- package/dist/packages/snackbar/snackbar.stories.d.ts +20 -0
- package/dist/packages/snackbar/snackbar.stories.js +363 -0
- package/dist/packages/snackbar/snackbar.test.d.ts +4 -0
- package/dist/packages/snackbar/snackbar.test.js +17 -0
- package/dist/packages/snackbar/styles.d.ts +1 -0
- package/dist/packages/snackbar/styles.js +35 -0
- package/dist/packages/snackbar-item/react.d.ts +5 -0
- package/dist/packages/snackbar-item/react.js +16 -0
- package/dist/packages/snackbar-item/snackbar-item.d.ts +69 -0
- package/dist/packages/snackbar-item/snackbar-item.js +2620 -0
- package/dist/packages/snackbar-item/snackbar-item.js.map +7 -0
- package/dist/packages/snackbar-item/snackbar-item.react.test.d.ts +1 -0
- package/dist/packages/snackbar-item/snackbar-item.react.test.js +5 -0
- package/dist/packages/snackbar-item/styles.d.ts +1 -0
- package/dist/packages/snackbar-item/styles.js +133 -0
- package/dist/packages/step/react.d.ts +1 -1
- package/dist/packages/step/react.js +4 -4
- package/dist/packages/step/step.d.ts +2 -2
- package/dist/packages/step/step.hydration.test.d.ts +1 -1
- package/dist/packages/step/step.hydration.test.js +10 -10
- package/dist/packages/step/step.js +334 -312
- package/dist/packages/step/step.js.map +2 -2
- package/dist/packages/step-indicator/index.d.ts +2 -2
- package/dist/packages/step-indicator/index.js +2 -2
- package/dist/packages/step-indicator/react.d.ts +2 -2
- package/dist/packages/step-indicator/react.js +5 -5
- package/dist/packages/step-indicator/step-indicator.a11y.test.d.ts +2 -2
- package/dist/packages/step-indicator/step-indicator.a11y.test.js +48 -46
- package/dist/packages/step-indicator/step-indicator.d.ts +1 -1
- package/dist/packages/step-indicator/step-indicator.hydration.test.d.ts +1 -1
- package/dist/packages/step-indicator/step-indicator.hydration.test.js +10 -10
- package/dist/packages/step-indicator/step-indicator.js +280 -276
- package/dist/packages/step-indicator/step-indicator.js.map +2 -2
- package/dist/packages/step-indicator/stepindicator.react.stories.d.ts +2 -2
- package/dist/packages/step-indicator/stepindicator.react.stories.js +3 -3
- package/dist/packages/step-indicator/stepindicator.stories.d.ts +3 -3
- package/dist/packages/step-indicator/stepindicator.stories.js +129 -129
- package/dist/packages/step-indicator/styles.js +1 -1
- package/dist/packages/styles.js +274 -274
- package/dist/packages/switch/react.d.ts +1 -1
- package/dist/packages/switch/react.js +6 -6
- package/dist/packages/switch/styles.js +1 -1
- package/dist/packages/switch/switch.a11y.test.d.ts +1 -1
- package/dist/packages/switch/switch.a11y.test.js +46 -38
- package/dist/packages/switch/switch.d.ts +1 -1
- package/dist/packages/switch/switch.hydration.test.d.ts +1 -1
- package/dist/packages/switch/switch.hydration.test.js +23 -23
- package/dist/packages/switch/switch.js +299 -299
- package/dist/packages/switch/switch.js.map +2 -2
- package/dist/packages/switch/switch.react.stories.d.ts +2 -2
- package/dist/packages/switch/switch.react.stories.js +2 -2
- package/dist/packages/switch/switch.stories.d.ts +2 -2
- package/dist/packages/switch/switch.stories.js +42 -37
- package/dist/packages/switch/switch.test.d.ts +1 -1
- package/dist/packages/switch/switch.test.js +30 -35
- package/dist/packages/tab/react.d.ts +6 -4
- package/dist/packages/tab/react.js +11 -10
- package/dist/packages/tab/styles.d.ts +1 -0
- package/dist/packages/tab/styles.js +2 -0
- package/dist/packages/tab/tab.d.ts +5 -5
- package/dist/packages/tab/tab.hydration.test.d.ts +1 -1
- package/dist/packages/tab/tab.hydration.test.js +18 -12
- package/dist/packages/tab/tab.js +305 -304
- package/dist/packages/tab/tab.js.map +3 -3
- package/dist/packages/tab/tab.react.test.js +5 -3
- package/dist/packages/tab-panel/react.d.ts +3 -2
- package/dist/packages/tab-panel/react.js +11 -5
- package/dist/packages/tab-panel/tab-panel.d.ts +3 -3
- package/dist/packages/tab-panel/tab-panel.hydration.test.d.ts +1 -1
- package/dist/packages/tab-panel/tab-panel.hydration.test.js +13 -10
- package/dist/packages/tab-panel/tab-panel.js +289 -287
- package/dist/packages/tab-panel/tab-panel.js.map +2 -2
- package/dist/packages/tabs/index.d.ts +4 -4
- package/dist/packages/tabs/index.js +3 -3
- package/dist/packages/tabs/react.d.ts +27 -8
- package/dist/packages/tabs/react.js +30 -9
- package/dist/packages/tabs/styles.js +1 -1
- package/dist/packages/tabs/tabs.a11y.test.d.ts +3 -3
- package/dist/packages/tabs/tabs.a11y.test.js +188 -169
- package/dist/packages/tabs/tabs.d.ts +3 -3
- package/dist/packages/tabs/tabs.hydration.test.d.ts +3 -1
- package/dist/packages/tabs/tabs.hydration.test.js +22 -8
- package/dist/packages/tabs/tabs.js +289 -282
- package/dist/packages/tabs/tabs.js.map +2 -2
- package/dist/packages/tabs/tabs.react.stories.d.ts +12 -10
- package/dist/packages/tabs/tabs.react.stories.js +28 -28
- package/dist/packages/tabs/tabs.stories.d.ts +4 -4
- package/dist/packages/tabs/tabs.stories.js +101 -95
- package/dist/packages/tabs/tabs.test.d.ts +3 -3
- package/dist/packages/tabs/tabs.test.js +136 -122
- package/dist/packages/textarea/react.d.ts +2 -2
- package/dist/packages/textarea/react.js +17 -17
- package/dist/packages/textarea/styles.js +1 -1
- package/dist/packages/textarea/textarea.a11y.test.d.ts +1 -1
- package/dist/packages/textarea/textarea.a11y.test.js +89 -57
- package/dist/packages/textarea/textarea.d.ts +1 -1
- package/dist/packages/textarea/textarea.hydration.test.d.ts +1 -1
- package/dist/packages/textarea/textarea.hydration.test.js +19 -19
- package/dist/packages/textarea/textarea.js +300 -298
- package/dist/packages/textarea/textarea.js.map +2 -2
- package/dist/packages/textarea/textarea.react.stories.d.ts +3 -3
- package/dist/packages/textarea/textarea.react.stories.js +13 -13
- package/dist/packages/textarea/textarea.react.test.js +7 -7
- package/dist/packages/textarea/textarea.stories.d.ts +3 -3
- package/dist/packages/textarea/textarea.stories.js +44 -42
- package/dist/packages/textarea/textarea.test.d.ts +1 -1
- package/dist/packages/textarea/textarea.test.js +124 -88
- package/dist/packages/textfield/react.d.ts +2 -2
- package/dist/packages/textfield/react.js +17 -17
- package/dist/packages/textfield/styles/w-textfield.styles.js +60 -58
- package/dist/packages/textfield/styles.js +1 -1
- package/dist/packages/textfield/textfield.d.ts +3 -3
- package/dist/packages/textfield/textfield.hydration.test.d.ts +1 -1
- package/dist/packages/textfield/textfield.hydration.test.js +19 -19
- package/dist/packages/textfield/textfield.js +376 -368
- package/dist/packages/textfield/textfield.js.map +3 -3
- package/dist/packages/textfield/textfield.react.stories.d.ts +3 -3
- package/dist/packages/textfield/textfield.react.stories.js +31 -31
- package/dist/packages/textfield/textfield.react.test.js +7 -7
- package/dist/packages/textfield/textfield.stories.d.ts +4 -4
- package/dist/packages/textfield/textfield.stories.js +107 -89
- package/dist/packages/textfield/textfield.test.d.ts +2 -2
- package/dist/packages/textfield/textfield.test.js +103 -71
- package/dist/packages/toast/api.d.ts +1 -1
- package/dist/packages/toast/api.js +3 -3
- package/dist/packages/toast/index.d.ts +5 -5
- package/dist/packages/toast/index.js +5 -5
- package/dist/packages/toast/toast.d.ts +4 -4
- package/dist/packages/toast/toast.js +346 -317
- package/dist/packages/toast/toast.js.map +4 -4
- package/dist/packages/toast/toast.stories.d.ts +4 -4
- package/dist/packages/toast/toast.stories.js +37 -16
- package/dist/packages/toast/toast.test.d.ts +1 -1
- package/dist/packages/toast/toast.test.js +48 -31
- package/dist/packages/toast/types.d.ts +1 -1
- package/dist/packages/toast-container/styles.js +1 -1
- package/dist/packages/toast-container/toast-container.d.ts +2 -2
- package/dist/packages/toast-container/toast-container.js +291 -290
- package/dist/packages/toast-container/toast-container.js.map +2 -2
- package/dist/packages/utils/element-collapse.d.ts +12 -0
- package/dist/packages/utils/element-collapse.js +102 -0
- package/dist/packages/utils/expand-transition.d.ts +1 -1
- package/dist/packages/utils/expand-transition.js +12 -10
- package/dist/packages/utils/unstyled-heading.d.ts +1 -1
- package/dist/packages/utils/unstyled-heading.js +4 -4
- package/dist/packages/utils/window-exists.js +1 -1
- package/dist/packages/utils.js +2 -2
- package/dist/setup-tests.d.ts +3 -3
- package/dist/setup-tests.js +16 -13
- package/dist/tests/react-hydration.js +29 -30
- package/dist/tests/react-ssr-attributes.d.ts +1 -1
- package/dist/tests/react-ssr-attributes.js +4 -4
- package/dist/web-types.json +110 -22
- package/eik/index.js +12 -12
- package/package.json +11 -18
|
@@ -1,118 +1,233 @@
|
|
|
1
|
-
|
|
1
|
+
# Radio and Radio Group Styling
|
|
2
2
|
|
|
3
|
-
This
|
|
3
|
+
This document covers the styling API for both `<w-radio>` (individual radio buttons) and `<w-radio-group>` (the container that manages them).
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Quick Start
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
```html
|
|
8
|
+
<w-radio-group label="Choose a size" name="size">
|
|
9
|
+
<w-radio value="small">Small</w-radio>
|
|
10
|
+
<w-radio value="medium">Medium</w-radio>
|
|
11
|
+
<w-radio value="large">Large</w-radio>
|
|
12
|
+
</w-radio-group>
|
|
13
|
+
```
|
|
8
14
|
|
|
9
|
-
|
|
10
|
-
- Use **parts** only for small, local tweaks.
|
|
11
|
-
- Avoid relying on internal class names or selectors.
|
|
15
|
+
Customize via component tokens:
|
|
12
16
|
|
|
13
|
-
|
|
17
|
+
```css
|
|
18
|
+
/* Style all radio groups in a section */
|
|
19
|
+
.settings {
|
|
20
|
+
--w-c-radio-group-gap: 12px;
|
|
21
|
+
--w-c-radio-size: 2.4rem;
|
|
22
|
+
}
|
|
23
|
+
```
|
|
14
24
|
|
|
15
|
-
|
|
25
|
+
---
|
|
16
26
|
|
|
17
|
-
|
|
18
|
-
|---|---|---|
|
|
19
|
-
| `control` | radio control (circle) | minor alignment or sizing tweaks |
|
|
20
|
-
| `label` | label content | typography tweaks |
|
|
27
|
+
## Styling Philosophy
|
|
21
28
|
|
|
22
|
-
|
|
29
|
+
Before customizing, remember that changing defaults can create inconsistent experiences. Prefer the defaults.
|
|
23
30
|
|
|
31
|
+
- **Component tokens** for size, spacing, color, and state styling
|
|
32
|
+
- **Parts** only for small, one-off tweaks
|
|
33
|
+
- Avoid relying on internal class names
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Radio Group (`<w-radio-group>`)
|
|
38
|
+
|
|
39
|
+
### Parts
|
|
40
|
+
|
|
41
|
+
| Part | Targets | Use Case |
|
|
42
|
+
|------|---------|----------|
|
|
43
|
+
| `form-control` | The `<fieldset>` wrapper | Outer container tweaks |
|
|
44
|
+
| `form-control-label` | The group label element | Label typography overrides |
|
|
45
|
+
| `form-control-input` | Container for radio buttons | Adjust layout/flow of radios |
|
|
46
|
+
| `help-text` | Help text / error message | Style hint text |
|
|
47
|
+
|
|
48
|
+
**Example:**
|
|
24
49
|
```css
|
|
25
|
-
w-radio::part(label) {
|
|
26
|
-
|
|
50
|
+
w-radio-group::part(form-control-label) {
|
|
51
|
+
text-transform: uppercase;
|
|
27
52
|
}
|
|
28
53
|
|
|
29
|
-
w-radio::part(control) {
|
|
30
|
-
|
|
54
|
+
w-radio-group::part(form-control-input) {
|
|
55
|
+
flex-direction: row; /* horizontal radios */
|
|
31
56
|
}
|
|
32
57
|
```
|
|
33
58
|
|
|
34
|
-
|
|
35
|
-
Prefer component tokens for anything state‑ or size‑related.
|
|
59
|
+
### Component Tokens
|
|
36
60
|
|
|
61
|
+
#### Label
|
|
37
62
|
|
|
38
|
-
|
|
63
|
+
| Token | Purpose | Default |
|
|
64
|
+
|-------|---------|---------|
|
|
65
|
+
| `--w-c-radio-group-label-font-size` | Label font size | `var(--w-font-size-s)` |
|
|
66
|
+
| `--w-c-radio-group-label-line-height` | Label line height | `var(--w-line-height-s)` |
|
|
67
|
+
| `--w-c-radio-group-label-font-weight` | Label font weight | `700` |
|
|
68
|
+
| `--w-c-radio-group-label-color` | Label text color | `var(--w-s-color-text)` |
|
|
69
|
+
| `--w-c-radio-group-label-color-disabled` | Label color when disabled | `var(--w-s-color-text-disabled)` |
|
|
70
|
+
| `--w-c-radio-group-label-padding-bottom` | Space below label | `16px` |
|
|
39
71
|
|
|
40
|
-
|
|
41
|
-
They can be set directly on the component or inherited from a parent container.
|
|
72
|
+
#### Optional Indicator
|
|
42
73
|
|
|
74
|
+
| Token | Purpose | Default |
|
|
75
|
+
|-------|---------|---------|
|
|
76
|
+
| `--w-c-radio-group-optional-font-weight` | "Optional" text weight | `400` |
|
|
77
|
+
| `--w-c-radio-group-optional-color` | "Optional" text color | `var(--w-s-color-text-subtle)` |
|
|
78
|
+
| `--w-c-radio-group-optional-margin-inline-start` | Space before "Optional" | `0.5rem` |
|
|
79
|
+
|
|
80
|
+
#### Radio Spacing
|
|
81
|
+
|
|
82
|
+
| Token | Purpose | Default |
|
|
83
|
+
|-------|---------|---------|
|
|
84
|
+
| `--w-c-radio-group-gap` | Gap between radio buttons | `16px` |
|
|
85
|
+
|
|
86
|
+
#### Help Text
|
|
87
|
+
|
|
88
|
+
| Token | Purpose | Default |
|
|
89
|
+
|-------|---------|---------|
|
|
90
|
+
| `--w-c-radio-group-help-text-margin-block-start` | Space above help text | `16px` |
|
|
91
|
+
| `--w-c-radio-group-help-text-font-size` | Help text font size | `var(--w-font-size-xs)` |
|
|
92
|
+
| `--w-c-radio-group-help-text-line-height` | Help text line height | `var(--w-line-height-xs)` |
|
|
93
|
+
| `--w-c-radio-group-help-text-color` | Help text color | `var(--w-s-color-text-subtle)` |
|
|
94
|
+
| `--w-c-radio-group-help-text-color-disabled` | Help text color when disabled | `var(--w-s-color-text-disabled)` |
|
|
95
|
+
| `--w-c-radio-group-help-text-color-error` | Help text color when invalid | `var(--w-s-color-text-negative)` |
|
|
96
|
+
|
|
97
|
+
**Example:**
|
|
43
98
|
```css
|
|
44
|
-
|
|
45
|
-
--w-c-radio-gap: 12px;
|
|
99
|
+
w-radio-group {
|
|
100
|
+
--w-c-radio-group-gap: 12px;
|
|
101
|
+
--w-c-radio-group-label-font-weight: 600;
|
|
102
|
+
--w-c-radio-group-help-text-color: var(--w-s-color-text);
|
|
46
103
|
}
|
|
47
104
|
```
|
|
48
105
|
|
|
49
|
-
|
|
106
|
+
---
|
|
50
107
|
|
|
108
|
+
## Individual Radio (`<w-radio>`)
|
|
51
109
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
| Token | Purpose | Default |
|
|
55
|
-
|---|---|---|
|
|
56
|
-
| `--w-c-radio-gap` | space between control and label | `8px` |
|
|
57
|
-
| `--w-c-radio-size` | width/height of the control | `2rem` |
|
|
58
|
-
| `--w-c-radio-radius` | border radius of the control | `50%` |
|
|
59
|
-
| `--w-c-radio-border-width` | border width | `1px` |
|
|
60
|
-
| `--w-c-radio-checked-border-width` | border width when checked | `0.6rem` |
|
|
110
|
+
### Parts
|
|
61
111
|
|
|
112
|
+
| Part | Targets | Use Case |
|
|
113
|
+
|------|---------|----------|
|
|
114
|
+
| `base` | Wrapper containing control and label | Container-level adjustments |
|
|
115
|
+
| `control` | Radio control (circle) | Alignment or sizing tweaks |
|
|
116
|
+
| `label` | Label content | Typography overrides |
|
|
62
117
|
|
|
63
|
-
|
|
118
|
+
**Example:**
|
|
119
|
+
```css
|
|
120
|
+
w-radio::part(label) {
|
|
121
|
+
font-weight: 600;
|
|
122
|
+
}
|
|
64
123
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
| `--w-c-radio-border-color-checked` | border color when checked | theme default |
|
|
70
|
-
| `--w-c-radio-label-color` | label text color | `currentColor` |
|
|
124
|
+
w-radio::part(control) {
|
|
125
|
+
margin-top: 1px;
|
|
126
|
+
}
|
|
127
|
+
```
|
|
71
128
|
|
|
129
|
+
### Component Tokens
|
|
72
130
|
|
|
73
|
-
####
|
|
131
|
+
#### Layout & Size
|
|
74
132
|
|
|
75
133
|
| Token | Purpose | Default |
|
|
76
|
-
|
|
77
|
-
| `--w-c-radio-
|
|
134
|
+
|-------|---------|---------|
|
|
135
|
+
| `--w-c-radio-gap` | Space between control and label | `8px` |
|
|
136
|
+
| `--w-c-radio-size` | Width/height of control | `2rem` |
|
|
137
|
+
| `--w-c-radio-radius` | Border radius | `50%` |
|
|
138
|
+
| `--w-c-radio-border-width` | Border width | `1px` |
|
|
139
|
+
| `--w-c-radio-checked-border-width` | Border width when checked | `0.6rem` |
|
|
140
|
+
|
|
141
|
+
#### Colors
|
|
78
142
|
|
|
143
|
+
| Token | Purpose | Default |
|
|
144
|
+
|-------|---------|---------|
|
|
145
|
+
| `--w-c-radio-bg` | Control background | `var(--w-s-color-background)` |
|
|
146
|
+
| `--w-c-radio-border-color` | Control border color | `var(--w-s-color-border-strong)` |
|
|
147
|
+
| `--w-c-radio-border-color-checked` | Border when checked | `var(--w-s-color-border-selected)` |
|
|
148
|
+
| `--w-c-radio-border-color-invalid` | Border when invalid | `var(--w-s-color-border-negative)` |
|
|
149
|
+
| `--w-c-radio-label-color` | Label text color | `currentColor` |
|
|
79
150
|
|
|
80
|
-
#### Disabled
|
|
151
|
+
#### Disabled State
|
|
81
152
|
|
|
82
153
|
| Token | Purpose | Default |
|
|
83
|
-
|
|
84
|
-
| `--w-c-radio-bg-disabled` |
|
|
85
|
-
| `--w-c-radio-border-color-disabled` |
|
|
86
|
-
| `--w-c-radio-label-color-disabled` |
|
|
87
|
-
| `--w-c-radio-cursor-disabled` |
|
|
154
|
+
|-------|---------|---------|
|
|
155
|
+
| `--w-c-radio-bg-disabled` | Background when disabled | `var(--w-s-color-background-disabled-subtle)` |
|
|
156
|
+
| `--w-c-radio-border-color-disabled` | Border when disabled | `var(--w-s-color-border-disabled)` |
|
|
157
|
+
| `--w-c-radio-label-color-disabled` | Label color when disabled | `var(--w-s-color-text-disabled)` |
|
|
158
|
+
| `--w-c-radio-cursor-disabled` | Cursor when disabled | `not-allowed` |
|
|
88
159
|
|
|
89
160
|
#### Typography
|
|
90
161
|
|
|
91
162
|
| Token | Purpose | Default |
|
|
92
|
-
|
|
93
|
-
| `--w-c-radio-label-font-size` |
|
|
94
|
-
| `--w-c-radio-label-line-height` |
|
|
95
|
-
|
|
163
|
+
|-------|---------|---------|
|
|
164
|
+
| `--w-c-radio-label-font-size` | Label font size | `var(--w-font-size-m)` |
|
|
165
|
+
| `--w-c-radio-label-line-height` | Label line height | `var(--w-line-height-m)` |
|
|
96
166
|
|
|
97
167
|
#### Focus
|
|
98
168
|
|
|
99
169
|
| Token | Purpose | Default |
|
|
100
|
-
|
|
101
|
-
| `--w-c-radio-outline-width` |
|
|
102
|
-
| `--w-c-radio-outline-color` |
|
|
103
|
-
| `--w-c-radio-outline-offset` |
|
|
170
|
+
|-------|---------|---------|
|
|
171
|
+
| `--w-c-radio-outline-width` | Focus outline width | `2px` |
|
|
172
|
+
| `--w-c-radio-outline-color` | Focus outline color | `var(--w-s-color-border-focus)` |
|
|
173
|
+
| `--w-c-radio-outline-offset` | Focus outline offset | `var(--w-outline-offset, 1px)` |
|
|
104
174
|
|
|
105
175
|
#### Interaction
|
|
106
176
|
|
|
107
177
|
| Token | Purpose | Default |
|
|
108
|
-
|
|
109
|
-
| `--w-c-radio-cursor` |
|
|
178
|
+
|-------|---------|---------|
|
|
179
|
+
| `--w-c-radio-cursor` | Cursor in enabled state | `pointer` |
|
|
110
180
|
|
|
111
181
|
#### Motion
|
|
112
182
|
|
|
113
183
|
| Token | Purpose | Default |
|
|
114
|
-
|
|
115
|
-
| `--w-c-radio-transition` |
|
|
184
|
+
|-------|---------|---------|
|
|
185
|
+
| `--w-c-radio-transition` | Transition for control | `border-color 150ms, border-width 150ms, background-color 150ms` |
|
|
186
|
+
|
|
187
|
+
**Note:** Transitions automatically disable when `prefers-reduced-motion: reduce` is active.
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## Complete Examples
|
|
192
|
+
|
|
193
|
+
### Horizontal Radio Group
|
|
194
|
+
|
|
195
|
+
```css
|
|
196
|
+
w-radio-group::part(form-control-input) {
|
|
197
|
+
flex-direction: row;
|
|
198
|
+
flex-wrap: wrap;
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Larger Radio Buttons
|
|
203
|
+
|
|
204
|
+
```css
|
|
205
|
+
w-radio {
|
|
206
|
+
--w-c-radio-size: 2.4rem;
|
|
207
|
+
--w-c-radio-checked-border-width: 0.8rem;
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### Custom Colors
|
|
212
|
+
|
|
213
|
+
```css
|
|
214
|
+
w-radio {
|
|
215
|
+
--w-c-radio-border-color-checked: var(--w-s-color-border-success);
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
### Tighter Spacing
|
|
220
|
+
|
|
221
|
+
```css
|
|
222
|
+
w-radio-group {
|
|
223
|
+
--w-c-radio-group-gap: 8px;
|
|
224
|
+
--w-c-radio-group-label-padding-bottom: 8px;
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
---
|
|
229
|
+
|
|
230
|
+
## Architecture Note
|
|
116
231
|
|
|
117
|
-
|
|
232
|
+
**Radio-group uses `<fieldset>`** which is the semantic HTML element for grouping form controls. Note that `<w-checkbox-group>` currently uses `<div>` instead - this inconsistency may be addressed in a future major version to align both components on the more accessible `<fieldset>` approach.
|
|
118
233
|
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
| aria-label | `string \| null` | `null` | Label for the range input. |
|
|
9
9
|
| name | `string \| undefined` | `-` | The name of this input field in the form. The canonical source of the value is the text field. |
|
|
10
10
|
| placeholder | `string \| undefined` | `-` | Placeholder in empty text fields |
|
|
11
|
+
| resetFormControl (JS only) | `resetFormControl() => void` | `-` | - |
|
|
12
|
+
| updateFieldAfterValidation (JS only) | `updateFieldAfterValidation() => void` | `-` | - |
|
|
11
13
|
| value | `string \| undefined` | `-` | The initial value, if any |
|
|
12
14
|
|
|
13
15
|
#### Property Details
|
|
@@ -40,6 +42,20 @@ Placeholder in empty text fields
|
|
|
40
42
|
- Type: `string | undefined`
|
|
41
43
|
- Default: `-`
|
|
42
44
|
|
|
45
|
+
##### resetFormControl (JS only)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
- Type: `resetFormControl() => void`
|
|
50
|
+
- Default: `-`
|
|
51
|
+
|
|
52
|
+
##### updateFieldAfterValidation (JS only)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
- Type: `updateFieldAfterValidation() => void`
|
|
57
|
+
- Default: `-`
|
|
58
|
+
|
|
43
59
|
##### value
|
|
44
60
|
|
|
45
61
|
The initial value, if any
|
|
@@ -22,6 +22,8 @@ Component to place inside a `<w-slider>`.
|
|
|
22
22
|
| aria-label | `string \| null` | `null` | Label for the range input. |
|
|
23
23
|
| name | `string \| undefined` | `-` | The name of this input field in the form. The canonical source of the value is the text field. |
|
|
24
24
|
| placeholder | `string \| undefined` | `-` | Placeholder in empty text fields |
|
|
25
|
+
| resetFormControl (JS only) | `resetFormControl() => void` | `-` | - |
|
|
26
|
+
| updateFieldAfterValidation (JS only) | `updateFieldAfterValidation() => void` | `-` | - |
|
|
25
27
|
| value | `string \| undefined` | `-` | The initial value, if any |
|
|
26
28
|
|
|
27
29
|
#### Property Details
|
|
@@ -54,6 +56,20 @@ Placeholder in empty text fields
|
|
|
54
56
|
- Type: `string | undefined`
|
|
55
57
|
- Default: `-`
|
|
56
58
|
|
|
59
|
+
##### resetFormControl (JS only)
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
- Type: `resetFormControl() => void`
|
|
64
|
+
- Default: `-`
|
|
65
|
+
|
|
66
|
+
##### updateFieldAfterValidation (JS only)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
- Type: `updateFieldAfterValidation() => void`
|
|
71
|
+
- Default: `-`
|
|
72
|
+
|
|
57
73
|
##### value
|
|
58
74
|
|
|
59
75
|
The initial value, if any
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
## Accessibility
|
|
2
|
+
|
|
3
|
+
From an accessibility perspective the snackbar component is problematic.
|
|
4
|
+
|
|
5
|
+
- Since the snackbar items disappear on their own users might not even see them, especially when zoomed in.
|
|
6
|
+
- The snackbar items are in practice impossible to reach with keyboard since they appear in the DOM away from the element that triggered them.
|
|
7
|
+
- Important elements on the page might get hidden behind the snackbar item.
|
|
8
|
+
|
|
9
|
+
A snackbar must never be the backbone of your user experience, it should only ever include information and actions that are available elsewhere.
|
|
10
|
+
|
|
11
|
+
- Keep messages and actions short since the snackbar item is available only for a short time.
|
|
12
|
+
- Ensure any information and action in the snackbar, such as Undo, is possible to do elsewhere.
|
|
13
|
+
|
|
14
|
+
`<w-snackbar>` creates an ARIA live region so messages you add to the snackbar get announced to assistive technologies.
|
|
15
|
+
|
|
16
|
+
### Keyboard behavior
|
|
17
|
+
|
|
18
|
+
`<w-snackbar>` is problematic from a keyboard user perspective. We do not override the default <kbd>Tab</kbd> behavior, with the result that the focusable buttons in a snackbar item probably come first or last in the focus order, depending on what end of `<body>` you put `<w-snackbar>`. We're investigating ways to provide keyboard shortcuts for moving focus to the snackbar item, but have yet to conclude on a design.
|
|
19
|
+
|
|
20
|
+
`<w-snackbar>` sets up a keyboard event listener on `document`. Pressing <kbd>Escape</kbd> while a snackbar item is open will close it. If more than one item is open the oldest one will close.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
## `<w-snackbar>` API
|
|
2
|
+
|
|
3
|
+
Unless otherwise noted all properties are HTML attributes (as opposed to JavaScript object properties).
|
|
4
|
+
|
|
5
|
+
### Properties
|
|
6
|
+
|
|
7
|
+
| Name | Type | Default | Summary |
|
|
8
|
+
|-|-|-|-|
|
|
9
|
+
| create (JS only) | `create(message: string, options: CreateSnackbarOptions = {}) => void` | `-` | Creates a snackbar item and immediately adds it to the snackbar. |
|
|
10
|
+
|
|
11
|
+
### Property Details
|
|
12
|
+
|
|
13
|
+
#### create (JS only)
|
|
14
|
+
|
|
15
|
+
Creates a snackbar item and immediately adds it to the snackbar.
|
|
16
|
+
|
|
17
|
+
By default the snackbar item automatically closes after 4 seconds (`SnackbarDuration.Short`).
|
|
18
|
+
|
|
19
|
+
If you include an `action` in the options the default `duration` is
|
|
20
|
+
set to 10 seconds (`SnackbarDuration.Long`) and can not be made shorter.
|
|
21
|
+
|
|
22
|
+
A `duration` of 10 seconds or longer forces the close button to be visible.
|
|
23
|
+
|
|
24
|
+
The default `variant` is `neutral` which does not have an icon.
|
|
25
|
+
|
|
26
|
+
Set `duration` to `SnackbarDuration.Infinite` if you want a persistent message.
|
|
27
|
+
|
|
28
|
+
- Type: `create(message: string, options: CreateSnackbarOptions = {}) => void`
|
|
29
|
+
- Default: `-`
|
|
30
|
+
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
## Examples
|
|
2
|
+
|
|
3
|
+
### Default
|
|
4
|
+
|
|
5
|
+
Snackbar uses the `neutral` variant with a short duration by default.
|
|
6
|
+
|
|
7
|
+
<elements-example>
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<w-button data-testid="neutral-noaction">Neutral variant</w-button>
|
|
11
|
+
|
|
12
|
+
<script>
|
|
13
|
+
document.querySelector('w-button[data-testid="neutral-noaction"]').onclick = () => {
|
|
14
|
+
const snackbar = document.querySelector("w-snackbar");
|
|
15
|
+
snackbar.create("Snackbar message");
|
|
16
|
+
};
|
|
17
|
+
</script>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
</elements-example>
|
|
21
|
+
|
|
22
|
+
#### With action
|
|
23
|
+
|
|
24
|
+
You can include an action in the snackbar by providing a label and an onclick handler. By default the action button and close button are inline with the text.
|
|
25
|
+
|
|
26
|
+
Clicking an action button automatically closes the snackbar item. If you want to prevent this call `event.preventDefault()`.
|
|
27
|
+
|
|
28
|
+
You can use an action with any `variant`.
|
|
29
|
+
|
|
30
|
+
<elements-example>
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<w-button data-testid="neutral-action">Neutral variant with action</w-button>
|
|
34
|
+
|
|
35
|
+
<script>
|
|
36
|
+
document.querySelector('w-button[data-testid="neutral-action"]').onclick = () => {
|
|
37
|
+
const snackbar = document.querySelector("w-snackbar");
|
|
38
|
+
snackbar.create("Snackbar message", {
|
|
39
|
+
action: {
|
|
40
|
+
label: "Undo",
|
|
41
|
+
onclick(e) {
|
|
42
|
+
console.log(e);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
</script>
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
</elements-example>
|
|
51
|
+
|
|
52
|
+
#### With long action label
|
|
53
|
+
|
|
54
|
+
By default a long label will result in the action and close buttons on a separate row. A label gets treated as long if it contains whitespace.
|
|
55
|
+
|
|
56
|
+
Clicking an action button automatically closes the snackbar item. If you want to prevent this call `event.preventDefault()`.
|
|
57
|
+
|
|
58
|
+
You can use an action with any `variant`.
|
|
59
|
+
|
|
60
|
+
<elements-example>
|
|
61
|
+
|
|
62
|
+
```html
|
|
63
|
+
<w-button data-testid="neutral-longlabel">Neutral variant, long label</w-button>
|
|
64
|
+
|
|
65
|
+
<script>
|
|
66
|
+
document.querySelector('w-button[data-testid="neutral-longlabel"]').onclick = () => {
|
|
67
|
+
const snackbar = document.querySelector("w-snackbar");
|
|
68
|
+
snackbar.create("Snackbar message", {
|
|
69
|
+
action: {
|
|
70
|
+
label: "Undo this thing",
|
|
71
|
+
onclick(e) {
|
|
72
|
+
console.log(e);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
</script>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
</elements-example>
|
|
81
|
+
|
|
82
|
+
### Positive
|
|
83
|
+
|
|
84
|
+
<elements-example>
|
|
85
|
+
|
|
86
|
+
```html
|
|
87
|
+
<w-button data-testid="positive-noaction">Positive variant</w-button>
|
|
88
|
+
|
|
89
|
+
<script>
|
|
90
|
+
document.querySelector('w-button[data-testid="positive-noaction"]').onclick = () => {
|
|
91
|
+
const snackbar = document.querySelector("w-snackbar");
|
|
92
|
+
snackbar.create("Snackbar message", {
|
|
93
|
+
variant: "positive",
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
</script>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
</elements-example>
|
|
100
|
+
|
|
101
|
+
### Warning
|
|
102
|
+
|
|
103
|
+
<elements-example>
|
|
104
|
+
|
|
105
|
+
```html
|
|
106
|
+
<w-button data-testid="warning-noaction">Warning variant</w-button>
|
|
107
|
+
|
|
108
|
+
<script>
|
|
109
|
+
document.querySelector('w-button[data-testid="warning-noaction"]').onclick = () => {
|
|
110
|
+
const snackbar = document.querySelector("w-snackbar");
|
|
111
|
+
snackbar.create("Snackbar message", {
|
|
112
|
+
variant: "warning",
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
</script>
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
</elements-example>
|
|
119
|
+
|
|
120
|
+
### Negative
|
|
121
|
+
|
|
122
|
+
<elements-example>
|
|
123
|
+
|
|
124
|
+
```html
|
|
125
|
+
<w-button data-testid="negative-noaction">Negative variant</w-button>
|
|
126
|
+
|
|
127
|
+
<script>
|
|
128
|
+
document.querySelector('w-button[data-testid="negative-noaction"]').onclick = () => {
|
|
129
|
+
const snackbar = document.querySelector("w-snackbar");
|
|
130
|
+
snackbar.create("Snackbar message", {
|
|
131
|
+
variant: "negative",
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
</script>
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
</elements-example>
|
|
138
|
+
|
|
139
|
+
### Info
|
|
140
|
+
|
|
141
|
+
<elements-example>
|
|
142
|
+
|
|
143
|
+
```html
|
|
144
|
+
<w-button data-testid="info-noaction">Info variant</w-button>
|
|
145
|
+
|
|
146
|
+
<script>
|
|
147
|
+
document.querySelector('w-button[data-testid="info-noaction"]').onclick = () => {
|
|
148
|
+
const snackbar = document.querySelector("w-snackbar");
|
|
149
|
+
snackbar.create("Snackbar message", {
|
|
150
|
+
variant: "info",
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
</script>
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
</elements-example>
|
|
157
|
+
|
|
158
|
+
### Neutral with custom icon
|
|
159
|
+
|
|
160
|
+
If you have cases not covered by the `create` API you can change the item returned by `create`.
|
|
161
|
+
|
|
162
|
+
For example, here is how you can add a custom icon to the neutral variant.
|
|
163
|
+
|
|
164
|
+
```ts
|
|
165
|
+
const snackbar = document.querySelector<WarpSnackbar>('w-snackbar');
|
|
166
|
+
|
|
167
|
+
// the default neutral variant is without an icon
|
|
168
|
+
const snackbarItem = snackbar!.create('The message should be short');
|
|
169
|
+
|
|
170
|
+
const customIcon = document.createElement('w-icon');
|
|
171
|
+
customIcon.name = 'Rocket';
|
|
172
|
+
customIcon.slot = 'icon';
|
|
173
|
+
snackbarItem.prepend(customIcon);
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Create `<w-snackbar-item>` manually
|
|
177
|
+
|
|
178
|
+
Alternatively you can create a `w-snackbar-item` manually and call [prepend](https://developer.mozilla.org/en-US/docs/Web/API/Element/prepend) on `<w-snackbar>`. The snackbar item handles its entire lifecycle on its own.
|
|
179
|
+
|
|
180
|
+
Note that by not using `snackbar.create()` you have to create and wire up event handlers any close- and action button.
|
|
181
|
+
|
|
182
|
+
```ts
|
|
183
|
+
const snackbar = document.querySelector("w-snackbar");
|
|
184
|
+
const item = document.createElement("w-snackbar-item");
|
|
185
|
+
item.variant = "info";
|
|
186
|
+
item.innerHTML = /* html */ `
|
|
187
|
+
<w-icon slot="icon" name="Rocket"></w-icon>
|
|
188
|
+
Warp speed engaged!
|
|
189
|
+
`;
|
|
190
|
+
snackbar.prepend(item);
|
|
191
|
+
```
|