@warp-ds/elements 2.10.0-next.15 → 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 +68 -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/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 +1 -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 +24 -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/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 +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 +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 +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/toast.d.ts +4 -4
- package/dist/packages/toast/toast.js +343 -314
- 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 +291 -290
- package/dist/packages/toast-container/toast-container.js.map +2 -2
- 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 +25 -22
- package/eik/index.js +9 -9
- package/package.json +11 -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.16",
|
|
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": [],
|
|
@@ -1047,7 +1050,7 @@
|
|
|
1047
1050
|
},
|
|
1048
1051
|
{
|
|
1049
1052
|
"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.",
|
|
1053
|
+
"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
1054
|
"doc-url": "",
|
|
1052
1055
|
"attributes": [
|
|
1053
1056
|
{
|
|
@@ -1131,17 +1134,17 @@
|
|
|
1131
1134
|
{
|
|
1132
1135
|
"name": "label",
|
|
1133
1136
|
"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": "
|
|
1137
|
+
"value": { "type": "string | undefined", "default": "\"\"" }
|
|
1135
1138
|
},
|
|
1136
1139
|
{
|
|
1137
1140
|
"name": "placeholder",
|
|
1138
1141
|
"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": "
|
|
1142
|
+
"value": { "type": "string | undefined", "default": "\"\"" }
|
|
1140
1143
|
},
|
|
1141
1144
|
{
|
|
1142
1145
|
"name": "value",
|
|
1143
1146
|
"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": "
|
|
1147
|
+
"value": { "type": "string", "default": "\"\"" }
|
|
1145
1148
|
},
|
|
1146
1149
|
{
|
|
1147
1150
|
"name": "open-on-focus",
|
|
@@ -1171,7 +1174,7 @@
|
|
|
1171
1174
|
{
|
|
1172
1175
|
"name": "help-text",
|
|
1173
1176
|
"description": "Help text displayed below the input.\n\nUse this for supporting guidance or validation feedback.",
|
|
1174
|
-
"value": { "type": "string | undefined", "default": "
|
|
1177
|
+
"value": { "type": "string | undefined", "default": "\"\"" }
|
|
1175
1178
|
},
|
|
1176
1179
|
{
|
|
1177
1180
|
"name": "disabled",
|
|
@@ -1191,12 +1194,12 @@
|
|
|
1191
1194
|
{
|
|
1192
1195
|
"name": "name",
|
|
1193
1196
|
"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": "
|
|
1197
|
+
"value": { "type": "string | undefined", "default": "\"\"" }
|
|
1195
1198
|
},
|
|
1196
1199
|
{
|
|
1197
1200
|
"name": "autocomplete",
|
|
1198
1201
|
"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": "
|
|
1202
|
+
"value": { "type": "string | undefined", "default": "\"off\"" }
|
|
1200
1203
|
}
|
|
1201
1204
|
],
|
|
1202
1205
|
"events": [],
|
|
@@ -1309,17 +1312,17 @@
|
|
|
1309
1312
|
{
|
|
1310
1313
|
"name": "header-format",
|
|
1311
1314
|
"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": "
|
|
1315
|
+
"value": { "type": "string", "default": "\"MMMM yyyy\"" }
|
|
1313
1316
|
},
|
|
1314
1317
|
{
|
|
1315
1318
|
"name": "weekday-format",
|
|
1316
1319
|
"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": "
|
|
1320
|
+
"value": { "type": "string", "default": "\"EEEEEE\"" }
|
|
1318
1321
|
},
|
|
1319
1322
|
{
|
|
1320
1323
|
"name": "day-format",
|
|
1321
1324
|
"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": "
|
|
1325
|
+
"value": { "type": "string", "default": "\"PPPP\"" }
|
|
1323
1326
|
}
|
|
1324
1327
|
],
|
|
1325
1328
|
"events": [],
|
|
@@ -1862,18 +1865,18 @@
|
|
|
1862
1865
|
},
|
|
1863
1866
|
{
|
|
1864
1867
|
"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.",
|
|
1868
|
+
"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
1869
|
"doc-url": "",
|
|
1867
1870
|
"attributes": [
|
|
1868
1871
|
{
|
|
1869
1872
|
"name": "label",
|
|
1870
1873
|
"description": "Label for the radio group.",
|
|
1871
|
-
"value": { "type": "string", "default": "
|
|
1874
|
+
"value": { "type": "string", "default": "\"\"" }
|
|
1872
1875
|
},
|
|
1873
1876
|
{
|
|
1874
1877
|
"name": "help-text",
|
|
1875
1878
|
"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": "
|
|
1879
|
+
"value": { "type": "string", "default": "\"\"" }
|
|
1877
1880
|
},
|
|
1878
1881
|
{
|
|
1879
1882
|
"name": "optional",
|
|
@@ -1908,7 +1911,7 @@
|
|
|
1908
1911
|
},
|
|
1909
1912
|
{
|
|
1910
1913
|
"name": "help-text",
|
|
1911
|
-
"description": "Alternative to the `help-text` attribute should you need custom HTML."
|
|
1914
|
+
"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
1915
|
}
|
|
1913
1916
|
],
|
|
1914
1917
|
"events": [],
|
|
@@ -2364,7 +2367,7 @@
|
|
|
2364
2367
|
{
|
|
2365
2368
|
"name": "action-placement",
|
|
2366
2369
|
"description": "The placement of the action and close buttons.",
|
|
2367
|
-
"value": { "type": "'inline' | 'block'", "default": "
|
|
2370
|
+
"value": { "type": "'inline' | 'block'", "default": "\"inline\"" }
|
|
2368
2371
|
},
|
|
2369
2372
|
{
|
|
2370
2373
|
"name": "duration",
|
|
@@ -2396,7 +2399,7 @@
|
|
|
2396
2399
|
},
|
|
2397
2400
|
{
|
|
2398
2401
|
"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
|
|
2402
|
+
"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
2403
|
"doc-url": "",
|
|
2401
2404
|
"attributes": [],
|
|
2402
2405
|
"slots": [
|