@warp-ds/elements 2.10.0-next.15 → 2.10.0-next.18
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 +174 -56
- 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 +2 -2
- package/dist/docs/attention/attention.md +2 -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/breadcrumb-item/api.md +27 -0
- package/dist/docs/breadcrumb-item/breadcrumb-item.md +34 -0
- package/dist/docs/breadcrumbs/accessibility.md +8 -18
- package/dist/docs/breadcrumbs/breadcrumbs.md +57 -34
- package/dist/docs/breadcrumbs/examples.md +8 -8
- package/dist/docs/breadcrumbs/styling.md +33 -0
- package/dist/docs/breadcrumbs/usage.md +8 -8
- package/dist/docs/checkbox/api.md +2 -2
- package/dist/docs/checkbox/checkbox.md +176 -2
- package/dist/docs/checkbox/styling.md +173 -0
- package/dist/docs/checkbox-group/checkbox-group.md +43 -30
- package/dist/docs/checkbox-group/styling.md +31 -29
- package/dist/docs/combobox/api.md +12 -12
- package/dist/docs/combobox/combobox.md +12 -12
- package/dist/docs/datepicker/api.md +6 -6
- package/dist/docs/datepicker/datepicker.md +6 -6
- package/dist/docs/icon/api.md +3 -3
- package/dist/docs/icon/icon.md +3 -3
- package/dist/docs/index.md +2 -1
- 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/snackbar/api.md +1 -1
- package/dist/docs/snackbar/snackbar.md +1 -1
- package/dist/docs/snackbar-item/api.md +2 -2
- package/dist/docs/snackbar-item/snackbar-item.md +2 -2
- package/dist/index.d.ts +109 -2
- 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 +345 -315
- 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 +344 -319
- 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 +7 -7
- 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 +1725 -1683
- 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/breadcrumb-item/breadcrumb-item.d.ts +29 -0
- package/dist/packages/breadcrumb-item/breadcrumb-item.js +2520 -0
- package/dist/packages/breadcrumb-item/breadcrumb-item.js.map +7 -0
- package/dist/packages/breadcrumb-item/react.d.ts +2 -0
- package/dist/packages/breadcrumb-item/react.js +11 -0
- package/dist/packages/breadcrumb-item/styles.d.ts +4 -0
- package/dist/packages/breadcrumb-item/styles.js +72 -0
- package/dist/packages/breadcrumbs/breadcrumbs.d.ts +3 -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 +285 -281
- package/dist/packages/breadcrumbs/breadcrumbs.js.map +3 -3
- package/dist/packages/breadcrumbs/breadcrumbs.react.stories.d.ts +3 -3
- package/dist/packages/breadcrumbs/breadcrumbs.react.stories.js +17 -16
- package/dist/packages/breadcrumbs/breadcrumbs.stories.d.ts +7 -8
- package/dist/packages/breadcrumbs/breadcrumbs.stories.js +30 -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 +5 -5
- 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 +741 -715
- package/dist/packages/button/button.js.map +2 -2
- package/dist/packages/button/button.react.stories.d.ts +3 -3
- 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 -34
- package/dist/packages/button/react.d.ts +2 -2
- 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 +353 -326
- package/dist/packages/expandable/expandable.js.map +2 -2
- 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.js +2 -2
- package/dist/packages/i18n.d.ts +1 -1
- package/dist/packages/i18n.js +37 -29
- package/dist/packages/icon/icon.d.ts +3 -3
- 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 +30 -25
- 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.js +9 -9
- 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 +404 -404
- 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 +437 -416
- 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 +7 -7
- 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 +4 -4
- 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 +331 -308
- 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 +348 -329
- 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/react.d.ts +1 -1
- package/dist/packages/snackbar/react.js +4 -4
- package/dist/packages/snackbar/snackbar.d.ts +3 -3
- package/dist/packages/snackbar/snackbar.hydration.test.d.ts +1 -1
- package/dist/packages/snackbar/snackbar.hydration.test.js +6 -6
- package/dist/packages/snackbar/snackbar.js +487 -468
- package/dist/packages/snackbar/snackbar.js.map +2 -2
- package/dist/packages/snackbar/snackbar.react.stories.js +3 -3
- package/dist/packages/snackbar/snackbar.stories.d.ts +11 -11
- package/dist/packages/snackbar/snackbar.stories.js +253 -181
- package/dist/packages/snackbar/snackbar.test.d.ts +4 -4
- package/dist/packages/snackbar/snackbar.test.js +11 -11
- package/dist/packages/snackbar/styles.js +29 -29
- package/dist/packages/snackbar-item/react.d.ts +2 -2
- package/dist/packages/snackbar-item/react.js +6 -5
- package/dist/packages/snackbar-item/snackbar-item.d.ts +4 -4
- package/dist/packages/snackbar-item/snackbar-item.js +454 -435
- package/dist/packages/snackbar-item/snackbar-item.js.map +2 -2
- package/dist/packages/snackbar-item/snackbar-item.react.test.js +4 -4
- package/dist/packages/snackbar-item/styles.js +130 -108
- 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 +330 -308
- 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/styles.js +1 -1
- package/dist/packages/toast/toast.d.ts +4 -4
- package/dist/packages/toast/toast.js +346 -317
- package/dist/packages/toast/toast.js.map +2 -2
- 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 +292 -291
- package/dist/packages/toast-container/toast-container.js.map +3 -3
- package/dist/packages/utils/element-collapse.js +38 -28
- 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 +61 -22
- package/eik/index.js +12 -12
- package/package.json +18 -16
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { html, LitElement } from
|
|
2
|
-
import { unsafeHTML } from
|
|
1
|
+
import { html, LitElement } from "lit";
|
|
2
|
+
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
|
3
3
|
class UnstyledHeading extends LitElement {
|
|
4
4
|
static { this.properties = {
|
|
5
5
|
level: { type: Number },
|
|
@@ -16,7 +16,7 @@ class UnstyledHeading extends LitElement {
|
|
|
16
16
|
return !this.level ? html `<slot></slot>` : unsafeHTML(this._markup);
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
if (!customElements.get(
|
|
20
|
-
customElements.define(
|
|
19
|
+
if (!customElements.get("w-unstyled-heading")) {
|
|
20
|
+
customElements.define("w-unstyled-heading", UnstyledHeading);
|
|
21
21
|
}
|
|
22
22
|
export { UnstyledHeading };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export const windowExists = typeof window !==
|
|
1
|
+
export const windowExists = typeof window !== "undefined";
|
package/dist/packages/utils.js
CHANGED
package/dist/setup-tests.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import type { RunOptions } from
|
|
1
|
+
import "vitest-browser-lit";
|
|
2
|
+
import type { RunOptions } from "axe-core";
|
|
3
3
|
interface AxeMatchers {
|
|
4
4
|
toHaveNoAxeViolations(options?: RunOptions): Promise<void>;
|
|
5
5
|
}
|
|
6
|
-
declare module
|
|
6
|
+
declare module "vitest" {
|
|
7
7
|
interface Assertion extends AxeMatchers {
|
|
8
8
|
}
|
|
9
9
|
interface AsymmetricMatchersContaining extends AxeMatchers {
|
package/dist/setup-tests.js
CHANGED
|
@@ -1,33 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
2
|
+
import "vitest-browser-lit";
|
|
3
|
+
import axe from "axe-core";
|
|
4
|
+
import { expect } from "vitest";
|
|
4
5
|
function formatViolations(violations) {
|
|
5
6
|
if (violations.length === 0) {
|
|
6
|
-
return
|
|
7
|
+
return "";
|
|
7
8
|
}
|
|
8
9
|
return violations
|
|
9
10
|
.map((violation) => {
|
|
10
11
|
const nodeInfo = violation.nodes
|
|
11
12
|
.map((node) => {
|
|
12
|
-
const selector = node.target.join(
|
|
13
|
+
const selector = node.target.join(", ");
|
|
13
14
|
return ` - Element: ${selector}\n HTML: ${node.html}\n ${node.failureSummary}`;
|
|
14
15
|
})
|
|
15
|
-
.join(
|
|
16
|
+
.join("\n");
|
|
16
17
|
return `${violation.id}: ${violation.help}\n Impact: ${violation.impact}\n Help URL: ${violation.helpUrl}\n${nodeInfo}`;
|
|
17
18
|
})
|
|
18
|
-
.join(
|
|
19
|
+
.join("\n\n");
|
|
19
20
|
}
|
|
20
21
|
async function runAxe(container = document.body, options = {}) {
|
|
21
22
|
return axe.run(container, {
|
|
22
23
|
runOnly: {
|
|
23
|
-
type:
|
|
24
|
-
values: [
|
|
24
|
+
type: "tag",
|
|
25
|
+
values: ["wcag2a", "wcag2aa", "wcag21a", "wcag21aa", "wcag22aa"],
|
|
25
26
|
},
|
|
26
27
|
...options,
|
|
27
28
|
});
|
|
28
29
|
}
|
|
29
30
|
function resolveAxeContainer(received) {
|
|
30
|
-
if (received &&
|
|
31
|
+
if (received &&
|
|
32
|
+
typeof received === "object" &&
|
|
33
|
+
"container" in received) {
|
|
31
34
|
const { container } = received;
|
|
32
35
|
if (container instanceof Element)
|
|
33
36
|
return container;
|
|
@@ -41,15 +44,15 @@ function resolveAxeContainer(received) {
|
|
|
41
44
|
return document.body;
|
|
42
45
|
}
|
|
43
46
|
function toHaveNoViolations(results) {
|
|
44
|
-
if (typeof results.violations ===
|
|
45
|
-
throw new Error(
|
|
47
|
+
if (typeof results.violations === "undefined") {
|
|
48
|
+
throw new Error("No axe-core results found, unable to assert");
|
|
46
49
|
}
|
|
47
50
|
const violations = results.violations;
|
|
48
51
|
const pass = violations.length === 0;
|
|
49
52
|
return {
|
|
50
53
|
pass,
|
|
51
54
|
message: () => pass
|
|
52
|
-
?
|
|
55
|
+
? "Expected to have accessibility violations, but none were found"
|
|
53
56
|
: `Expected no accessibility violations, but found ${violations.length}:\n\n${formatViolations(violations)}`,
|
|
54
57
|
actual: violations,
|
|
55
58
|
};
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { hydrateRoot } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { hydrateRoot } from "react-dom/client";
|
|
3
3
|
export function setupHydrationWarningCapture() {
|
|
4
4
|
window.__HYDRATION_WARNINGS__ = [];
|
|
5
5
|
const originalError = console.error;
|
|
6
6
|
console.error = (...args) => {
|
|
7
|
-
const msg = args
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
msg.includes(
|
|
12
|
-
msg.includes(
|
|
13
|
-
msg.includes(
|
|
7
|
+
const msg = args
|
|
8
|
+
.map((a) => (typeof a === "string" ? a : String(a)))
|
|
9
|
+
.join(" ");
|
|
10
|
+
if (msg.includes("Hydration") ||
|
|
11
|
+
msg.includes("hydrat") ||
|
|
12
|
+
msg.includes("did not match") ||
|
|
13
|
+
msg.includes("server rendered HTML") ||
|
|
14
|
+
msg.includes("Text content does not match") ||
|
|
15
|
+
msg.includes("Expected server HTML")) {
|
|
14
16
|
window.__HYDRATION_WARNINGS__.push(msg);
|
|
15
17
|
}
|
|
16
18
|
originalError.apply(console, args);
|
|
@@ -25,11 +27,11 @@ function propsToHtml(props) {
|
|
|
25
27
|
if (value === true)
|
|
26
28
|
return key;
|
|
27
29
|
if (value === false || value === undefined || value === null)
|
|
28
|
-
return
|
|
30
|
+
return "";
|
|
29
31
|
return `${key}="${value}"`;
|
|
30
32
|
})
|
|
31
33
|
.filter(Boolean)
|
|
32
|
-
.join(
|
|
34
|
+
.join(" ");
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
37
|
* Converts a DOM node to a React element.
|
|
@@ -43,15 +45,10 @@ function nodeToReact(node) {
|
|
|
43
45
|
const el = node;
|
|
44
46
|
const props = {};
|
|
45
47
|
for (const attr of el.attributes) {
|
|
46
|
-
|
|
47
|
-
let name = attr.name;
|
|
48
|
-
if (name === 'class')
|
|
49
|
-
name = 'className';
|
|
50
|
-
if (name === 'for')
|
|
51
|
-
name = 'htmlFor';
|
|
48
|
+
const name = attr.name;
|
|
52
49
|
props[name] = attr.value;
|
|
53
50
|
}
|
|
54
|
-
const children = Array.from(el.childNodes
|
|
51
|
+
const children = Array.from(el.childNodes, nodeToReact).filter(Boolean);
|
|
55
52
|
return React.createElement(el.tagName.toLowerCase(), props, ...children);
|
|
56
53
|
}
|
|
57
54
|
return null;
|
|
@@ -60,24 +57,22 @@ function nodeToReact(node) {
|
|
|
60
57
|
* Converts an HTML string to an array of React elements.
|
|
61
58
|
*/
|
|
62
59
|
function htmlToReactElements(html) {
|
|
63
|
-
const template = document.createElement(
|
|
60
|
+
const template = document.createElement("template");
|
|
64
61
|
template.innerHTML = html;
|
|
65
|
-
return Array.from(template.content.childNodes)
|
|
66
|
-
.map(nodeToReact)
|
|
67
|
-
.filter((node) => node !== null && (typeof node !== 'string' || node.trim()));
|
|
62
|
+
return Array.from(template.content.childNodes, nodeToReact).filter((node) => node !== null && (typeof node !== "string" || node.trim()));
|
|
68
63
|
}
|
|
69
64
|
/**
|
|
70
65
|
* Tests that a component hydrates without warnings.
|
|
71
66
|
* Takes tag name and props, generates both SSR HTML and React element from them.
|
|
72
67
|
*/
|
|
73
68
|
export async function testHydration(tagName, props = {}) {
|
|
74
|
-
const container = document.createElement(
|
|
75
|
-
container.id =
|
|
69
|
+
const container = document.createElement("div");
|
|
70
|
+
container.id = "hydration-test-root";
|
|
76
71
|
document.body.appendChild(container);
|
|
77
72
|
try {
|
|
78
73
|
// Generate SSR HTML from props
|
|
79
74
|
const attrs = propsToHtml(props);
|
|
80
|
-
const ssrHtml = `<${tagName}${attrs ? ` ${attrs}` :
|
|
75
|
+
const ssrHtml = `<${tagName}${attrs ? ` ${attrs}` : ""}></${tagName}>`;
|
|
81
76
|
container.innerHTML = ssrHtml;
|
|
82
77
|
// Create React element from same props and hydrate
|
|
83
78
|
// Use onRecoverableError to capture hydration errors (React 19+)
|
|
@@ -85,7 +80,9 @@ export async function testHydration(tagName, props = {}) {
|
|
|
85
80
|
hydrateRoot(container, element, {
|
|
86
81
|
onRecoverableError: (error) => {
|
|
87
82
|
const msg = error instanceof Error ? error.message : String(error);
|
|
88
|
-
if (msg.includes(
|
|
83
|
+
if (msg.includes("Hydration") ||
|
|
84
|
+
msg.includes("hydrat") ||
|
|
85
|
+
msg.includes("did not match")) {
|
|
89
86
|
window.__HYDRATION_WARNINGS__.push(msg);
|
|
90
87
|
}
|
|
91
88
|
},
|
|
@@ -107,13 +104,13 @@ export async function testHydration(tagName, props = {}) {
|
|
|
107
104
|
* (e.g., adding classes, moving children to shadow DOM).
|
|
108
105
|
*/
|
|
109
106
|
export async function testHydrationWithChildren(tagName, props, childrenHtml) {
|
|
110
|
-
const container = document.createElement(
|
|
111
|
-
container.id =
|
|
107
|
+
const container = document.createElement("div");
|
|
108
|
+
container.id = "hydration-test-root";
|
|
112
109
|
document.body.appendChild(container);
|
|
113
110
|
try {
|
|
114
111
|
// Generate SSR HTML from props with children
|
|
115
112
|
const attrs = propsToHtml(props);
|
|
116
|
-
const ssrHtml = `<${tagName}${attrs ? ` ${attrs}` :
|
|
113
|
+
const ssrHtml = `<${tagName}${attrs ? ` ${attrs}` : ""}>${childrenHtml}</${tagName}>`;
|
|
117
114
|
container.innerHTML = ssrHtml;
|
|
118
115
|
// Convert children HTML to React elements so they're part of React's tree.
|
|
119
116
|
// This allows React to detect mismatches when components modify children.
|
|
@@ -123,7 +120,9 @@ export async function testHydrationWithChildren(tagName, props, childrenHtml) {
|
|
|
123
120
|
hydrateRoot(container, element, {
|
|
124
121
|
onRecoverableError: (error) => {
|
|
125
122
|
const msg = error instanceof Error ? error.message : String(error);
|
|
126
|
-
if (msg.includes(
|
|
123
|
+
if (msg.includes("Hydration") ||
|
|
124
|
+
msg.includes("hydrat") ||
|
|
125
|
+
msg.includes("did not match")) {
|
|
127
126
|
window.__HYDRATION_WARNINGS__.push(msg);
|
|
128
127
|
}
|
|
129
128
|
},
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from
|
|
2
|
-
import { renderToString } from
|
|
3
|
-
import { describe, expect, test } from
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { renderToString } from "react-dom/server";
|
|
3
|
+
import { describe, expect, test } from "vitest";
|
|
4
4
|
export function describeReactSsrAttributeMapping(componentName, Component, cases) {
|
|
5
5
|
describe(`${componentName} React SSR`, () => {
|
|
6
|
-
test.each(cases)(
|
|
6
|
+
test.each(cases)("renders $propName as the $attrName attribute", ({ attrName, propName, value = true }) => {
|
|
7
7
|
const html = renderToString(React.createElement(Component, { [propName]: value }, componentName));
|
|
8
8
|
expect(html).toContain(attrName);
|
|
9
9
|
expect(html).not.toContain(propName);
|
package/dist/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"name": "@warp-ds/elements",
|
|
4
|
-
"version": "2.10.0-next.
|
|
4
|
+
"version": "2.10.0-next.17",
|
|
5
5
|
"description-markup": "markdown",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
@@ -290,7 +290,10 @@
|
|
|
290
290
|
"description": "Add this property to render a clickable Warp search icon.",
|
|
291
291
|
"value": { "type": "boolean", "default": "false" }
|
|
292
292
|
},
|
|
293
|
-
{
|
|
293
|
+
{
|
|
294
|
+
"name": "label",
|
|
295
|
+
"value": { "type": "string", "default": "\"\"" }
|
|
296
|
+
},
|
|
294
297
|
{
|
|
295
298
|
"name": "icon",
|
|
296
299
|
"value": { "type": "string | null", "default": "null" }
|
|
@@ -326,7 +329,7 @@
|
|
|
326
329
|
"name": "variant",
|
|
327
330
|
"value": {
|
|
328
331
|
"type": "'negative' | 'positive' | 'warning' | 'info'",
|
|
329
|
-
"default": "
|
|
332
|
+
"default": "\"info\""
|
|
330
333
|
}
|
|
331
334
|
},
|
|
332
335
|
{
|
|
@@ -335,7 +338,7 @@
|
|
|
335
338
|
},
|
|
336
339
|
{
|
|
337
340
|
"name": "role",
|
|
338
|
-
"value": { "type": "string", "default": "
|
|
341
|
+
"value": { "type": "string", "default": "\"alert\"" }
|
|
339
342
|
}
|
|
340
343
|
],
|
|
341
344
|
"events": [],
|
|
@@ -646,7 +649,7 @@
|
|
|
646
649
|
"description": "Preferred placement relative to the trigger element.\nSets the initial direction for positioning, for example `top`, `right`, `bottom`, or `left` variants.",
|
|
647
650
|
"value": {
|
|
648
651
|
"type": "'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'",
|
|
649
|
-
"default": "
|
|
652
|
+
"default": "\"bottom\""
|
|
650
653
|
}
|
|
651
654
|
},
|
|
652
655
|
{
|
|
@@ -850,7 +853,7 @@
|
|
|
850
853
|
{
|
|
851
854
|
"name": "role",
|
|
852
855
|
"description": "ARIA role for the box wrapper.\nDefaults to a role of `region`. Set `role=\"none\"` to override this behaviour for purely visual grouping, or set a specific role when the box has a clearer semantic purpose.",
|
|
853
|
-
"value": { "type": "string", "default": "
|
|
856
|
+
"value": { "type": "string", "default": "\"region\"" }
|
|
854
857
|
}
|
|
855
858
|
],
|
|
856
859
|
"events": [],
|
|
@@ -902,6 +905,42 @@
|
|
|
902
905
|
"events": []
|
|
903
906
|
}
|
|
904
907
|
},
|
|
908
|
+
{
|
|
909
|
+
"name": "w-breadcrumb-item",
|
|
910
|
+
"description": "Represents one item in a `w-breadcrumbs` trail.\nRenders the slotted label as a link when `href` is set, or as text when it is not, and adds a separator after non-current items.\n\n[See Storybook for usage examples](https://warp-ds.github.io/elements/?path=/docs/navigation-breadcrumbs--docs)\n---\n\n\n### **Slots:**\n - _default_ - The breadcrumb label content.",
|
|
911
|
+
"doc-url": "",
|
|
912
|
+
"attributes": [
|
|
913
|
+
{
|
|
914
|
+
"name": "current-page",
|
|
915
|
+
"description": "Marks this item as the current page.\nUse this on the final breadcrumb item so it exposes `aria-current=\"page\"` and does not render a trailing separator.",
|
|
916
|
+
"value": { "type": "boolean", "default": "false" }
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"name": "href",
|
|
920
|
+
"description": "URL for linked breadcrumb items.\nWhen omitted, the item renders as non-focusable text.",
|
|
921
|
+
"value": { "type": "string | null", "default": "null" }
|
|
922
|
+
}
|
|
923
|
+
],
|
|
924
|
+
"slots": [
|
|
925
|
+
{ "name": "", "description": "The breadcrumb label content." }
|
|
926
|
+
],
|
|
927
|
+
"events": [],
|
|
928
|
+
"js": {
|
|
929
|
+
"properties": [
|
|
930
|
+
{
|
|
931
|
+
"name": "currentPage",
|
|
932
|
+
"description": "Marks this item as the current page.\nUse this on the final breadcrumb item so it exposes `aria-current=\"page\"` and does not render a trailing separator.",
|
|
933
|
+
"type": "boolean"
|
|
934
|
+
},
|
|
935
|
+
{
|
|
936
|
+
"name": "href",
|
|
937
|
+
"description": "URL for linked breadcrumb items.\nWhen omitted, the item renders as non-focusable text.",
|
|
938
|
+
"type": "string | null"
|
|
939
|
+
}
|
|
940
|
+
],
|
|
941
|
+
"events": []
|
|
942
|
+
}
|
|
943
|
+
},
|
|
905
944
|
{
|
|
906
945
|
"name": "w-card",
|
|
907
946
|
"description": "Card is a layout component used for separating content areas on a page.\n\n[See Storybook for usage examples](https://warp-ds.github.io/elements/?path=/docs/navigation-card--docs)\n---\n",
|
|
@@ -1047,7 +1086,7 @@
|
|
|
1047
1086
|
},
|
|
1048
1087
|
{
|
|
1049
1088
|
"name": "w-checkbox-group",
|
|
1050
|
-
"description": "\n---\n\n\n### **Methods:**\n - **checkValidity(): _boolean_** - Checks whether the group passes constraint validation\n- **reportValidity(): _boolean_** - Checks validity and shows the validation message if invalid\n- **focus(options: _FocusOptions_)** - Sets focus on the checkbox group.",
|
|
1089
|
+
"description": "Checkboxes allow users to select multiple options from a list of choices.\n\nUse with `w-checkbox`.\n\n## Architecture Note\nThis component uses a <div> wrapper instead of the more semantic <fieldset> element.\nNote that w-radio-group uses <fieldset>, which provides better accessibility and follows\nHTML best practices. This inconsistency exists for historical reasons and may be addressed\nin a future major version to align both on the more semantic approach.\n\nTODO: Align w-checkbox-group to use <fieldset> in a future major version after assessing\nbackwards compatibility implications (CSS selectors, etc.).\n---\n\n\n### **Methods:**\n - **checkValidity(): _boolean_** - Checks whether the group passes constraint validation\n- **reportValidity(): _boolean_** - Checks validity and shows the validation message if invalid\n- **focus(options: _FocusOptions_)** - Sets focus on the checkbox group.",
|
|
1051
1090
|
"doc-url": "",
|
|
1052
1091
|
"attributes": [
|
|
1053
1092
|
{
|
|
@@ -1131,17 +1170,17 @@
|
|
|
1131
1170
|
{
|
|
1132
1171
|
"name": "label",
|
|
1133
1172
|
"description": "The label displayed above the input.\n\nUse this to give the combobox a visible and accessible name.",
|
|
1134
|
-
"value": { "type": "string | undefined", "default": "
|
|
1173
|
+
"value": { "type": "string | undefined", "default": "\"\"" }
|
|
1135
1174
|
},
|
|
1136
1175
|
{
|
|
1137
1176
|
"name": "placeholder",
|
|
1138
1177
|
"description": "Placeholder text displayed when the input is empty.\n\nUse this as a short hint for the expected input. Do not use placeholder text as a replacement for a label.",
|
|
1139
|
-
"value": { "type": "string | undefined", "default": "
|
|
1178
|
+
"value": { "type": "string | undefined", "default": "\"\"" }
|
|
1140
1179
|
},
|
|
1141
1180
|
{
|
|
1142
1181
|
"name": "value",
|
|
1143
1182
|
"description": "The selected or typed value.\n\nWhen an option is selected, this is set to the option value. The displayed text may differ when the option has a separate label.",
|
|
1144
|
-
"value": { "type": "string", "default": "
|
|
1183
|
+
"value": { "type": "string", "default": "\"\"" }
|
|
1145
1184
|
},
|
|
1146
1185
|
{
|
|
1147
1186
|
"name": "open-on-focus",
|
|
@@ -1171,7 +1210,7 @@
|
|
|
1171
1210
|
{
|
|
1172
1211
|
"name": "help-text",
|
|
1173
1212
|
"description": "Help text displayed below the input.\n\nUse this for supporting guidance or validation feedback.",
|
|
1174
|
-
"value": { "type": "string | undefined", "default": "
|
|
1213
|
+
"value": { "type": "string | undefined", "default": "\"\"" }
|
|
1175
1214
|
},
|
|
1176
1215
|
{
|
|
1177
1216
|
"name": "disabled",
|
|
@@ -1191,12 +1230,12 @@
|
|
|
1191
1230
|
{
|
|
1192
1231
|
"name": "name",
|
|
1193
1232
|
"description": "The name submitted with the combobox value.\n\nUse this when the combobox belongs to a form and its value should be included in form data.",
|
|
1194
|
-
"value": { "type": "string | undefined", "default": "
|
|
1233
|
+
"value": { "type": "string | undefined", "default": "\"\"" }
|
|
1195
1234
|
},
|
|
1196
1235
|
{
|
|
1197
1236
|
"name": "autocomplete",
|
|
1198
1237
|
"description": "The autocomplete attribute passed to the internal input.\n\nDefaults to `off`. Set this when browser autocomplete should be enabled or scoped to a specific autocomplete token.",
|
|
1199
|
-
"value": { "type": "string | undefined", "default": "
|
|
1238
|
+
"value": { "type": "string | undefined", "default": "\"off\"" }
|
|
1200
1239
|
}
|
|
1201
1240
|
],
|
|
1202
1241
|
"events": [],
|
|
@@ -1309,17 +1348,17 @@
|
|
|
1309
1348
|
{
|
|
1310
1349
|
"name": "header-format",
|
|
1311
1350
|
"description": "The date format used in the calendar header.\n\nThe syntax is defined by [date-fns/format](https://date-fns.org/v4.1.0/docs/format).",
|
|
1312
|
-
"value": { "type": "string", "default": "
|
|
1351
|
+
"value": { "type": "string", "default": "\"MMMM yyyy\"" }
|
|
1313
1352
|
},
|
|
1314
1353
|
{
|
|
1315
1354
|
"name": "weekday-format",
|
|
1316
1355
|
"description": "The weekday format shown above the calendar grid.\n\nThe syntax is defined by [date-fns/format](https://date-fns.org/v4.1.0/docs/format).",
|
|
1317
|
-
"value": { "type": "string", "default": "
|
|
1356
|
+
"value": { "type": "string", "default": "\"EEEEEE\"" }
|
|
1318
1357
|
},
|
|
1319
1358
|
{
|
|
1320
1359
|
"name": "day-format",
|
|
1321
1360
|
"description": "The date format used for calendar day accessible names.\n\nThe syntax is defined by [date-fns/format](https://date-fns.org/v4.1.0/docs/format).",
|
|
1322
|
-
"value": { "type": "string", "default": "
|
|
1361
|
+
"value": { "type": "string", "default": "\"PPPP\"" }
|
|
1323
1362
|
}
|
|
1324
1363
|
],
|
|
1325
1364
|
"events": [],
|
|
@@ -1862,18 +1901,18 @@
|
|
|
1862
1901
|
},
|
|
1863
1902
|
{
|
|
1864
1903
|
"name": "w-radio-group",
|
|
1865
|
-
"description": "Radios allow users to select a single option from a list of choices.\n\nUse with `w-radio`.\n---\n\n\n### **Slots:**\n - **label** - Alternative to the `label` attribute should you need custom HTML.\n- **help-text** - Alternative to the `help-text` attribute should you need custom HTML.",
|
|
1904
|
+
"description": "Radios allow users to select a single option from a list of choices.\n\nUse with `w-radio`.\n---\n\n\n### **Slots:**\n - **label** - Alternative to the `label` attribute should you need custom HTML.\n- **help-text** - Alternative to the `help-text` attribute should you need custom HTML. ## Architecture Note This component uses semantic <fieldset> element for grouping radio controls, which provides better accessibility and follows HTML best practices. Note that w-checkbox-group currently uses <div> instead - this inconsistency exists for historical reasons and may be addressed in a future major version to align both on the more semantic approach. TODO: Align w-checkbox-group to also use <fieldset> in a future major version after assessing backwards compatibility implications (CSS selectors, etc.).",
|
|
1866
1905
|
"doc-url": "",
|
|
1867
1906
|
"attributes": [
|
|
1868
1907
|
{
|
|
1869
1908
|
"name": "label",
|
|
1870
1909
|
"description": "Label for the radio group.",
|
|
1871
|
-
"value": { "type": "string", "default": "
|
|
1910
|
+
"value": { "type": "string", "default": "\"\"" }
|
|
1872
1911
|
},
|
|
1873
1912
|
{
|
|
1874
1913
|
"name": "help-text",
|
|
1875
1914
|
"description": "Help text for the radio group.\n\nIf you set `required` and `invalid` the group gets a default error message, but you can override it with this attribute.",
|
|
1876
|
-
"value": { "type": "string", "default": "
|
|
1915
|
+
"value": { "type": "string", "default": "\"\"" }
|
|
1877
1916
|
},
|
|
1878
1917
|
{
|
|
1879
1918
|
"name": "optional",
|
|
@@ -1908,7 +1947,7 @@
|
|
|
1908
1947
|
},
|
|
1909
1948
|
{
|
|
1910
1949
|
"name": "help-text",
|
|
1911
|
-
"description": "Alternative to the `help-text` attribute should you need custom HTML."
|
|
1950
|
+
"description": "Alternative to the `help-text` attribute should you need custom HTML. ## Architecture Note This component uses semantic <fieldset> element for grouping radio controls, which provides better accessibility and follows HTML best practices. Note that w-checkbox-group currently uses <div> instead - this inconsistency exists for historical reasons and may be addressed in a future major version to align both on the more semantic approach. TODO: Align w-checkbox-group to also use <fieldset> in a future major version after assessing backwards compatibility implications (CSS selectors, etc.)."
|
|
1912
1951
|
}
|
|
1913
1952
|
],
|
|
1914
1953
|
"events": [],
|
|
@@ -2364,7 +2403,7 @@
|
|
|
2364
2403
|
{
|
|
2365
2404
|
"name": "action-placement",
|
|
2366
2405
|
"description": "The placement of the action and close buttons.",
|
|
2367
|
-
"value": { "type": "'inline' | 'block'", "default": "
|
|
2406
|
+
"value": { "type": "'inline' | 'block'", "default": "\"inline\"" }
|
|
2368
2407
|
},
|
|
2369
2408
|
{
|
|
2370
2409
|
"name": "duration",
|
|
@@ -2396,7 +2435,7 @@
|
|
|
2396
2435
|
},
|
|
2397
2436
|
{
|
|
2398
2437
|
"name": "w-snackbar",
|
|
2399
|
-
"description": "A Snackbar shows brief user feedback messages that overlay content, with an optional action such as Undo.\n\nInclude one `<w-snackbar></w-snackbar>` in the document `<body>`. Use the `create` function to create messages.\n---\n\n\n### **Methods:**\n - **create(message: _string_, options: _CreateSnackbarOptions_): __** - Creates a snackbar item and immediately adds it to the snackbar.\n\nBy default the snackbar item automatically closes after 4 seconds (`SnackbarDuration.Short`).\n\nIf you include an `action` in the options the default `duration` is\nset to 10 seconds (`SnackbarDuration.Long`) and can not be made shorter
|
|
2438
|
+
"description": "A Snackbar shows brief user feedback messages that overlay content, with an optional action such as Undo.\n\nInclude one `<w-snackbar></w-snackbar>` in the document `<body>`. Use the `create` function to create messages.\n---\n\n\n### **Methods:**\n - **create(message: _string_, options: _CreateSnackbarOptions_): __** - Creates a snackbar item and immediately adds it to the snackbar.\n\nBy default the snackbar item automatically closes after 4 seconds (`SnackbarDuration.Short`).\n\nIf you include an `action` in the options the default `duration` is\nset to 10 seconds (`SnackbarDuration.Long`) and can not be made shorter.\n\nA `duration` of 10 seconds or longer forces the close button to be visible.\n\nThe default `variant` is `neutral` which does not have an icon.\n\nSet `duration` to `SnackbarDuration.Infinite` if you want a persistent message.\n\n### **Slots:**\n - **default** - `w-snackbar-item` gets placed inside the default slot by the `create` function.\n\n### **CSS Properties:**\n - **--w-c-snackbar-container-gap** - undefined _(default: undefined)_\n- **--w-c-snackbar-position-bottom** - undefined _(default: undefined)_\n- **--w-c-snackbar-position-left** - undefined _(default: undefined)_\n- **--w-c-snackbar-position-right** - undefined _(default: undefined)_\n- **--w-c-snackbar-position-top** - undefined _(default: undefined)_\n- **--w-c-snackbar-z-index** - undefined _(default: undefined)_\n\n### **CSS Parts:**\n - **container** - the live region that positions messages on the screen.",
|
|
2400
2439
|
"doc-url": "",
|
|
2401
2440
|
"attributes": [],
|
|
2402
2441
|
"slots": [
|