@westpac/ui 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.storybook/main.ts +5 -0
- package/CHANGELOG.md +12 -0
- package/dist/components/accordion/accordion.component.d.ts +2 -2
- package/dist/components/accordion/accordion.stories.js +1 -1
- package/dist/components/accordion/components/accordion-item/accordion-item.styles.js +4 -4
- package/dist/components/alert/alert.component.js +2 -1
- package/dist/components/alert/alert.styles.js +2 -2
- package/dist/components/autocomplete/autocomplete.component.d.ts +6 -0
- package/dist/components/autocomplete/autocomplete.component.js +94 -0
- package/dist/components/autocomplete/autocomplete.stories.d.ts +29 -0
- package/dist/components/autocomplete/autocomplete.stories.js +200 -0
- package/dist/components/autocomplete/autocomplete.styles.d.ts +87 -0
- package/dist/components/autocomplete/autocomplete.styles.js +55 -0
- package/dist/components/autocomplete/autocomplete.types.d.ts +16 -0
- package/dist/components/autocomplete/autocomplete.types.js +1 -0
- package/dist/components/autocomplete/components/index.d.ts +2 -0
- package/dist/components/autocomplete/components/index.js +2 -0
- package/dist/components/autocomplete/components/list-box/components/index.d.ts +2 -0
- package/dist/components/autocomplete/components/list-box/components/index.js +2 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-option/index.d.ts +2 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-option/index.js +1 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.component.d.ts +9 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.component.js +31 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.styles.d.ts +23 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.styles.js +23 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.types.d.ts +6 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.types.js +1 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-section/index.d.ts +2 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-section/index.js +1 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-section/list-box-section.component.d.ts +3 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-section/list-box-section.component.js +34 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-section/list-box-section.types.d.ts +6 -0
- package/dist/components/autocomplete/components/list-box/components/list-box-section/list-box-section.types.js +1 -0
- package/dist/components/autocomplete/components/list-box/index.d.ts +2 -0
- package/dist/components/autocomplete/components/list-box/index.js +1 -0
- package/dist/components/autocomplete/components/list-box/list-box.component.d.ts +3 -0
- package/dist/components/autocomplete/components/list-box/list-box.component.js +36 -0
- package/dist/components/autocomplete/components/list-box/list-box.types.d.ts +7 -0
- package/dist/components/autocomplete/components/list-box/list-box.types.js +1 -0
- package/dist/components/autocomplete/components/popover/index.d.ts +2 -0
- package/dist/components/autocomplete/components/popover/index.js +1 -0
- package/dist/components/autocomplete/components/popover/popover.component.d.ts +3 -0
- package/dist/components/autocomplete/components/popover/popover.component.js +43 -0
- package/dist/components/autocomplete/components/popover/popover.types.d.ts +25 -0
- package/dist/components/autocomplete/components/popover/popover.types.js +1 -0
- package/dist/components/autocomplete/index.d.ts +2 -0
- package/dist/components/autocomplete/index.js +1 -0
- package/dist/components/badge/badge.stories.js +1 -1
- package/dist/components/breadcrumb/breadcrumb.stories.js +1 -1
- package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.stories.js +1 -1
- package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.styles.js +1 -1
- package/dist/components/button/button.component.d.ts +5 -0
- package/dist/components/button/button.component.js +5 -3
- package/dist/components/button/button.stories.js +1 -1
- package/dist/components/button/button.styles.d.ts +2 -0
- package/dist/components/button/button.styles.js +5 -4
- package/dist/components/button/button.types.d.ts +6 -0
- package/dist/components/button-dropdown/button-dropdown.component.d.ts +6 -0
- package/dist/components/button-dropdown/button-dropdown.component.js +74 -0
- package/dist/components/button-dropdown/button-dropdown.stories.d.ts +38 -0
- package/dist/components/button-dropdown/button-dropdown.stories.js +104 -0
- package/dist/components/button-dropdown/button-dropdown.styles.d.ts +43 -0
- package/dist/components/button-dropdown/button-dropdown.styles.js +33 -0
- package/dist/components/button-dropdown/button-dropdown.types.d.ts +22 -0
- package/dist/components/button-dropdown/button-dropdown.types.js +1 -0
- package/dist/components/button-dropdown/components/heading/heading.component.d.ts +3 -0
- package/dist/components/button-dropdown/components/heading/heading.component.js +24 -0
- package/dist/components/button-dropdown/components/heading/heading.styles.d.ts +7 -0
- package/dist/components/button-dropdown/components/heading/heading.styles.js +15 -0
- package/dist/components/button-dropdown/components/heading/heading.types.d.ts +7 -0
- package/dist/components/button-dropdown/components/heading/heading.types.js +1 -0
- package/dist/components/button-dropdown/components/heading/index.d.ts +2 -0
- package/dist/components/button-dropdown/components/heading/index.js +1 -0
- package/dist/components/button-dropdown/components/panel/index.d.ts +2 -0
- package/dist/components/button-dropdown/components/panel/index.js +1 -0
- package/dist/components/button-dropdown/components/panel/panel.component.d.ts +3 -0
- package/dist/components/button-dropdown/components/panel/panel.component.js +61 -0
- package/dist/components/button-dropdown/components/panel/panel.styles.d.ts +9 -0
- package/dist/components/button-dropdown/components/panel/panel.styles.js +16 -0
- package/dist/components/button-dropdown/components/panel/panel.types.d.ts +10 -0
- package/dist/components/button-dropdown/components/panel/panel.types.js +1 -0
- package/dist/components/button-dropdown/index.d.ts +2 -0
- package/dist/components/button-dropdown/index.js +1 -0
- package/dist/components/button-group/button-group.stories.js +1 -1
- package/dist/components/button-group/components/button/button.stories.js +1 -1
- package/dist/components/checkbox-group/checkbox-group.stories.js +1 -1
- package/dist/components/checkbox-group/components/checkbox/checkbox.stories.js +1 -1
- package/dist/components/circle/circle.component.d.ts +3 -0
- package/dist/components/circle/circle.component.js +23 -0
- package/dist/components/circle/circle.stories.d.ts +9 -0
- package/dist/components/circle/circle.stories.js +20 -0
- package/dist/components/circle/circle.styles.d.ts +3 -0
- package/dist/components/circle/circle.styles.js +13 -0
- package/dist/components/circle/circle.types.d.ts +9 -0
- package/dist/components/circle/circle.types.js +1 -0
- package/dist/components/circle/index.d.ts +2 -0
- package/dist/components/circle/index.js +1 -0
- package/dist/components/collapsible/collapsible.component.d.ts +3 -0
- package/dist/components/collapsible/collapsible.component.js +68 -0
- package/dist/components/collapsible/collapsible.stories.d.ts +18 -0
- package/dist/components/collapsible/collapsible.stories.js +52 -0
- package/dist/components/collapsible/collapsible.styles.d.ts +21 -0
- package/dist/components/collapsible/collapsible.styles.js +22 -0
- package/dist/components/collapsible/collapsible.types.d.ts +16 -0
- package/dist/components/collapsible/collapsible.types.js +1 -0
- package/dist/components/collapsible/collapsible.utils.d.ts +2 -0
- package/dist/components/collapsible/collapsible.utils.js +2 -0
- package/dist/components/collapsible/index.d.ts +2 -0
- package/dist/components/collapsible/index.js +1 -0
- package/dist/components/compacta/compacta.component.d.ts +3 -0
- package/dist/components/compacta/compacta.component.js +252 -0
- package/dist/components/compacta/compacta.stories.d.ts +9 -0
- package/dist/components/compacta/compacta.stories.js +57 -0
- package/dist/components/compacta/compacta.styles.d.ts +37 -0
- package/dist/components/compacta/compacta.styles.js +44 -0
- package/dist/components/compacta/compacta.types.d.ts +22 -0
- package/dist/components/compacta/compacta.types.js +1 -0
- package/dist/components/compacta/compacta.utils.d.ts +3 -0
- package/dist/components/compacta/compacta.utils.js +8 -0
- package/dist/components/compacta/index.d.ts +2 -0
- package/dist/components/compacta/index.js +1 -0
- package/dist/components/date-picker/date-picker.component.d.ts +3 -0
- package/dist/components/date-picker/date-picker.component.js +139 -0
- package/dist/components/date-picker/date-picker.stories.d.ts +17 -0
- package/dist/components/date-picker/date-picker.stories.js +64 -0
- package/dist/components/date-picker/date-picker.styles.d.ts +17 -0
- package/dist/components/date-picker/date-picker.styles.js +20 -0
- package/dist/components/date-picker/date-picker.types.d.ts +33 -0
- package/dist/components/date-picker/date-picker.types.js +1 -0
- package/dist/components/date-picker/date-picker.utils.d.ts +25 -0
- package/dist/components/date-picker/date-picker.utils.js +56 -0
- package/dist/components/date-picker/index.d.ts +2 -0
- package/dist/components/date-picker/index.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.d.ts +4 -0
- package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.js +24 -0
- package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.styles.d.ts +15 -0
- package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.styles.js +19 -0
- package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.types.d.ts +17 -0
- package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.types.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-adornment/index.d.ts +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-adornment/index.js +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.d.ts +4 -0
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.js +23 -0
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.styles.d.ts +3 -0
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.styles.js +13 -0
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.types.d.ts +34 -0
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.types.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-body/index.d.ts +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-body/index.js +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.d.ts +4 -0
- package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.js +25 -0
- package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.styles.d.ts +3 -0
- package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.styles.js +13 -0
- package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.types.d.ts +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.types.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-button/index.d.ts +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-button/index.js +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.d.ts +4 -0
- package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.js +24 -0
- package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.styles.d.ts +3 -0
- package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.styles.js +13 -0
- package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.types.d.ts +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.types.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-circle/index.d.ts +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-circle/index.js +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.d.ts +4 -0
- package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.js +23 -0
- package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.styles.d.ts +3 -0
- package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.styles.js +13 -0
- package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.types.d.ts +11 -0
- package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.types.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-footer/index.d.ts +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-footer/index.js +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.d.ts +4 -0
- package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.js +24 -0
- package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.styles.d.ts +13 -0
- package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.styles.js +18 -0
- package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.types.d.ts +17 -0
- package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.types.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-hint/index.d.ts +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-hint/index.js +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.d.ts +4 -0
- package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.js +24 -0
- package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.styles.d.ts +13 -0
- package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.styles.js +18 -0
- package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.types.d.ts +21 -0
- package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.types.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-label/index.d.ts +2 -0
- package/dist/components/flexi-cell/components/flexi-cell-label/index.js +2 -0
- package/dist/components/flexi-cell/components/index.d.ts +7 -0
- package/dist/components/flexi-cell/components/index.js +7 -0
- package/dist/components/flexi-cell/flexi-cell.component.d.ts +12 -0
- package/dist/components/flexi-cell/flexi-cell.component.js +51 -0
- package/dist/components/flexi-cell/flexi-cell.stories.d.ts +26 -0
- package/dist/components/flexi-cell/flexi-cell.stories.js +764 -0
- package/dist/components/flexi-cell/flexi-cell.styles.d.ts +37 -0
- package/dist/components/flexi-cell/flexi-cell.styles.js +30 -0
- package/dist/components/flexi-cell/flexi-cell.types.d.ts +65 -0
- package/dist/components/flexi-cell/flexi-cell.types.js +1 -0
- package/dist/components/flexi-cell/index.d.ts +3 -0
- package/dist/components/flexi-cell/index.js +2 -0
- package/dist/components/form/components/error-message/error-message.component.d.ts +3 -0
- package/dist/components/form/components/error-message/error-message.component.js +42 -0
- package/dist/components/form/components/error-message/error-message.styles.d.ts +25 -0
- package/dist/components/form/components/error-message/error-message.styles.js +8 -0
- package/dist/components/form/components/error-message/error-message.types.d.ts +17 -0
- package/dist/components/form/components/error-message/error-message.types.js +1 -0
- package/dist/components/form/components/error-message/index.d.ts +2 -0
- package/dist/components/form/components/error-message/index.js +1 -0
- package/dist/components/form/components/form-chit-chat/form-chit-chat.component.d.ts +3 -0
- package/dist/components/form/components/form-chit-chat/form-chit-chat.component.js +23 -0
- package/dist/components/form/components/form-chit-chat/form-chit-chat.styles.d.ts +5 -0
- package/dist/components/form/components/form-chit-chat/form-chit-chat.styles.js +4 -0
- package/dist/components/form/components/form-chit-chat/form-chit-chat.types.d.ts +9 -0
- package/dist/components/form/components/form-chit-chat/form-chit-chat.types.js +1 -0
- package/dist/components/form/components/form-chit-chat/index.d.ts +2 -0
- package/dist/components/form/components/form-chit-chat/index.js +1 -0
- package/dist/components/form/components/form-group/form-group.component.d.ts +3 -0
- package/dist/components/form/components/form-group/form-group.component.js +27 -0
- package/dist/components/form/components/form-group/form-group.styles.d.ts +21 -0
- package/dist/components/form/components/form-group/form-group.styles.js +22 -0
- package/dist/components/form/components/form-group/form-group.types.d.ts +9 -0
- package/dist/components/form/components/form-group/form-group.types.js +1 -0
- package/dist/components/form/components/form-group/index.d.ts +2 -0
- package/dist/components/form/components/form-group/index.js +1 -0
- package/dist/components/form/components/form-hint/form-hint.component.d.ts +3 -0
- package/dist/components/form/components/form-hint/form-hint.component.js +26 -0
- package/dist/components/form/components/form-hint/form-hint.styles.d.ts +13 -0
- package/dist/components/form/components/form-hint/form-hint.styles.js +18 -0
- package/dist/components/form/components/form-hint/form-hint.types.d.ts +9 -0
- package/dist/components/form/components/form-hint/form-hint.types.js +1 -0
- package/dist/components/form/components/form-hint/index.d.ts +2 -0
- package/dist/components/form/components/form-hint/index.js +1 -0
- package/dist/components/form/components/form-label/form-label.component.d.ts +3 -0
- package/dist/components/form/components/form-label/form-label.component.js +29 -0
- package/dist/components/form/components/form-label/form-label.styles.d.ts +21 -0
- package/dist/components/form/components/form-label/form-label.styles.js +44 -0
- package/dist/components/form/components/form-label/form-label.types.d.ts +26 -0
- package/dist/components/form/components/form-label/form-label.types.js +1 -0
- package/dist/components/form/components/form-label/index.d.ts +2 -0
- package/dist/components/form/components/form-label/index.js +1 -0
- package/dist/components/form/components/form-section/form-section.component.d.ts +3 -0
- package/dist/components/form/components/form-section/form-section.component.js +24 -0
- package/dist/components/form/components/form-section/form-section.styles.d.ts +13 -0
- package/dist/components/form/components/form-section/form-section.styles.js +18 -0
- package/dist/components/form/components/form-section/form-section.types.d.ts +9 -0
- package/dist/components/form/components/form-section/form-section.types.js +1 -0
- package/dist/components/form/components/form-section/index.d.ts +2 -0
- package/dist/components/form/components/form-section/index.js +1 -0
- package/dist/components/form/components/index.d.ts +6 -0
- package/dist/components/form/components/index.js +6 -0
- package/dist/components/form/form.component.d.ts +13 -0
- package/dist/components/form/form.component.js +33 -0
- package/dist/components/form/form.stories.d.ts +21 -0
- package/dist/components/form/form.stories.js +106 -0
- package/dist/components/form/form.types.d.ts +7 -0
- package/dist/components/form/form.types.js +1 -0
- package/dist/components/form/index.d.ts +2 -0
- package/dist/components/form/index.js +1 -0
- package/dist/components/icon/index.d.ts +1 -0
- package/dist/components/icon/index.js +1 -0
- package/dist/components/index.d.ts +17 -0
- package/dist/components/index.js +17 -0
- package/dist/components/input/input.component.d.ts +5 -3
- package/dist/components/input/input.component.js +2 -1
- package/dist/components/input/input.stories.js +1 -1
- package/dist/components/input/input.styles.d.ts +1 -1
- package/dist/components/input/input.styles.js +5 -5
- package/dist/components/input/input.types.d.ts +3 -1
- package/dist/components/input-field/components/add-ons/add-ons.component.d.ts +3 -0
- package/dist/components/input-field/components/add-ons/add-ons.component.js +39 -0
- package/dist/components/input-field/components/add-ons/add-ons.styles.d.ts +21 -0
- package/dist/components/input-field/components/add-ons/add-ons.styles.js +34 -0
- package/dist/components/input-field/components/add-ons/add-ons.types.d.ts +50 -0
- package/dist/components/input-field/components/add-ons/add-ons.types.js +5 -0
- package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.component.d.ts +3 -0
- package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.component.js +23 -0
- package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.styles.d.ts +5 -0
- package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.styles.js +4 -0
- package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.types.d.ts +5 -0
- package/dist/components/input-field/components/add-ons/components/default-add-on/default-add-on.types.js +1 -0
- package/dist/components/input-field/components/add-ons/components/default-add-on/index.d.ts +2 -0
- package/dist/components/input-field/components/add-ons/components/default-add-on/index.js +1 -0
- package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.component.d.ts +3 -0
- package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.component.js +25 -0
- package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.styles.d.ts +25 -0
- package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.styles.js +66 -0
- package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.types.d.ts +5 -0
- package/dist/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.types.js +1 -0
- package/dist/components/input-field/components/add-ons/components/icon-add-on/index.d.ts +2 -0
- package/dist/components/input-field/components/add-ons/components/icon-add-on/index.js +1 -0
- package/dist/components/input-field/components/add-ons/components/index.d.ts +3 -0
- package/dist/components/input-field/components/add-ons/components/index.js +3 -0
- package/dist/components/input-field/components/add-ons/components/text-add-on/index.d.ts +2 -0
- package/dist/components/input-field/components/add-ons/components/text-add-on/index.js +1 -0
- package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.component.d.ts +3 -0
- package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.component.js +26 -0
- package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.styles.d.ts +25 -0
- package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.styles.js +24 -0
- package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.types.d.ts +5 -0
- package/dist/components/input-field/components/add-ons/components/text-add-on/text-add-on.types.js +1 -0
- package/dist/components/input-field/components/add-ons/index.d.ts +2 -0
- package/dist/components/input-field/components/add-ons/index.js +2 -0
- package/dist/components/input-field/components/index.d.ts +1 -0
- package/dist/components/input-field/components/index.js +1 -0
- package/dist/components/input-field/components/supporting-text/index.d.ts +2 -0
- package/dist/components/input-field/components/supporting-text/index.js +1 -0
- package/dist/components/input-field/components/supporting-text/supporting-text.component.d.ts +3 -0
- package/dist/components/input-field/components/supporting-text/supporting-text.component.js +23 -0
- package/dist/components/input-field/components/supporting-text/supporting-text.styles.d.ts +5 -0
- package/dist/components/input-field/components/supporting-text/supporting-text.styles.js +4 -0
- package/dist/components/input-field/components/supporting-text/supporting-text.types.d.ts +9 -0
- package/dist/components/input-field/components/supporting-text/supporting-text.types.js +1 -0
- package/dist/components/input-field/index.d.ts +2 -0
- package/dist/components/input-field/index.js +1 -0
- package/dist/components/input-field/input-field.component.d.ts +3 -0
- package/dist/components/input-field/input-field.component.js +132 -0
- package/dist/components/input-field/input-field.scenarios.stories.d.ts +26 -0
- package/dist/components/input-field/input-field.scenarios.stories.js +152 -0
- package/dist/components/input-field/input-field.sizes.stories.d.ts +9 -0
- package/dist/components/input-field/input-field.sizes.stories.js +94 -0
- package/dist/components/input-field/input-field.state.stories.d.ts +17 -0
- package/dist/components/input-field/input-field.state.stories.js +130 -0
- package/dist/components/input-field/input-field.stories.d.ts +21 -0
- package/dist/components/input-field/input-field.stories.js +64 -0
- package/dist/components/input-field/input-field.styles.d.ts +37 -0
- package/dist/components/input-field/input-field.styles.js +52 -0
- package/dist/components/input-field/input-field.type.stories.d.ts +37 -0
- package/dist/components/input-field/input-field.type.stories.js +189 -0
- package/dist/components/input-field/input-field.types.d.ts +65 -0
- package/dist/components/input-field/input-field.types.js +1 -0
- package/dist/components/link/link.component.d.ts +1 -1
- package/dist/components/link/link.stories.js +1 -1
- package/dist/components/link/link.styles.js +3 -3
- package/dist/components/list/components/item/index.d.ts +2 -0
- package/dist/components/list/components/item/index.js +1 -0
- package/dist/components/list/components/item/item.component.d.ts +11 -0
- package/dist/components/list/components/item/item.component.js +68 -0
- package/dist/components/list/components/item/item.styles.d.ts +137 -0
- package/dist/components/list/components/item/item.styles.js +90 -0
- package/dist/components/list/components/item/item.types.d.ts +28 -0
- package/dist/components/list/components/item/item.types.js +1 -0
- package/dist/components/list/index.d.ts +2 -0
- package/dist/components/list/index.js +1 -0
- package/dist/components/list/list.component.d.ts +14 -0
- package/dist/components/list/list.component.js +54 -0
- package/dist/components/list/list.stories.d.ts +26 -0
- package/dist/components/list/list.stories.js +85 -0
- package/dist/components/list/list.styles.d.ts +41 -0
- package/dist/components/list/list.styles.js +32 -0
- package/dist/components/list/list.types.d.ts +78 -0
- package/dist/components/list/list.types.js +1 -0
- package/dist/components/list/list.utils.d.ts +8 -0
- package/dist/components/list/list.utils.js +14 -0
- package/dist/components/modal/components/backdrop/backdrop.component.d.ts +3 -0
- package/dist/components/modal/components/backdrop/backdrop.component.js +39 -0
- package/dist/components/modal/components/backdrop/backdrop.styles.d.ts +20 -0
- package/dist/components/modal/components/backdrop/backdrop.styles.js +7 -0
- package/dist/components/modal/components/backdrop/backdrop.types.d.ts +27 -0
- package/dist/components/modal/components/backdrop/backdrop.types.js +1 -0
- package/dist/components/modal/components/backdrop/index.d.ts +2 -0
- package/dist/components/modal/components/backdrop/index.js +1 -0
- package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.component.d.ts +3 -0
- package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.component.js +23 -0
- package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.styles.d.ts +5 -0
- package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.styles.js +4 -0
- package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.types.d.ts +4 -0
- package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.types.js +1 -0
- package/dist/components/modal/components/dialog/components/dialog-body/index.d.ts +2 -0
- package/dist/components/modal/components/dialog/components/dialog-body/index.js +2 -0
- package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.component.d.ts +3 -0
- package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.component.js +23 -0
- package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.styles.d.ts +5 -0
- package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.styles.js +4 -0
- package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.types.d.ts +4 -0
- package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.types.js +1 -0
- package/dist/components/modal/components/dialog/components/dialog-footer/index.d.ts +2 -0
- package/dist/components/modal/components/dialog/components/dialog-footer/index.js +2 -0
- package/dist/components/modal/components/dialog/dialog.component.d.ts +9 -0
- package/dist/components/modal/components/dialog/dialog.component.js +44 -0
- package/dist/components/modal/components/dialog/dialog.styles.d.ts +35 -0
- package/dist/components/modal/components/dialog/dialog.styles.js +29 -0
- package/dist/components/modal/components/dialog/dialog.types.d.ts +26 -0
- package/dist/components/modal/components/dialog/dialog.types.js +1 -0
- package/dist/components/modal/components/dialog/index.d.ts +2 -0
- package/dist/components/modal/components/dialog/index.js +1 -0
- package/dist/components/modal/components/index.d.ts +2 -0
- package/dist/components/modal/components/index.js +2 -0
- package/dist/components/modal/index.d.ts +2 -0
- package/dist/components/modal/index.js +1 -0
- package/dist/components/modal/modal.component.d.ts +7 -0
- package/dist/components/modal/modal.component.js +27 -0
- package/dist/components/modal/modal.stories.d.ts +21 -0
- package/dist/components/modal/modal.stories.js +132 -0
- package/dist/components/modal/modal.types.d.ts +2 -0
- package/dist/components/modal/modal.types.js +1 -0
- package/dist/components/pagination/components/index.d.ts +1 -0
- package/dist/components/pagination/components/index.js +1 -0
- package/dist/components/pagination/components/pagination-item/index.d.ts +2 -0
- package/dist/components/pagination/components/pagination-item/index.js +1 -0
- package/dist/components/pagination/components/pagination-item/pagination-item.component.d.ts +3 -0
- package/dist/components/pagination/components/pagination-item/pagination-item.component.js +29 -0
- package/dist/components/pagination/components/pagination-item/pagination-item.styles.d.ts +29 -0
- package/dist/components/pagination/components/pagination-item/pagination-item.styles.js +26 -0
- package/dist/components/pagination/components/pagination-item/pagination-item.types.d.ts +9 -0
- package/dist/components/pagination/components/pagination-item/pagination-item.types.js +1 -0
- package/dist/components/pagination/index.d.ts +2 -0
- package/dist/components/pagination/index.js +1 -0
- package/dist/components/pagination/pagination.component.d.ts +3 -0
- package/dist/components/pagination/pagination.component.js +131 -0
- package/dist/components/pagination/pagination.hooks.d.ts +14 -0
- package/dist/components/pagination/pagination.hooks.js +40 -0
- package/dist/components/pagination/pagination.stories.d.ts +33 -0
- package/dist/components/pagination/pagination.stories.js +172 -0
- package/dist/components/pagination/pagination.styles.d.ts +9 -0
- package/dist/components/pagination/pagination.styles.js +16 -0
- package/dist/components/pagination/pagination.types.d.ts +61 -0
- package/dist/components/pagination/pagination.types.js +1 -0
- package/dist/components/panel/components/body/body.component.d.ts +3 -0
- package/dist/components/panel/components/body/body.component.js +24 -0
- package/dist/components/panel/components/body/body.styles.d.ts +7 -0
- package/dist/components/panel/components/body/body.styles.js +15 -0
- package/dist/components/panel/components/body/body.types.d.ts +2 -0
- package/dist/components/panel/components/body/body.types.js +1 -0
- package/dist/components/panel/components/body/index.d.ts +2 -0
- package/dist/components/panel/components/body/index.js +1 -0
- package/dist/components/panel/components/footer/footer.component.d.ts +3 -0
- package/dist/components/panel/components/footer/footer.component.js +24 -0
- package/dist/components/panel/components/footer/footer.styles.d.ts +7 -0
- package/dist/components/panel/components/footer/footer.styles.js +15 -0
- package/dist/components/panel/components/footer/footer.types.d.ts +2 -0
- package/dist/components/panel/components/footer/footer.types.js +1 -0
- package/dist/components/panel/components/footer/index.d.ts +2 -0
- package/dist/components/panel/components/footer/index.js +1 -0
- package/dist/components/panel/components/index.d.ts +2 -0
- package/dist/components/panel/components/index.js +2 -0
- package/dist/components/panel/index.d.ts +2 -0
- package/dist/components/panel/index.js +1 -0
- package/dist/components/panel/panel.component.d.ts +7 -0
- package/dist/components/panel/panel.component.js +31 -0
- package/dist/components/panel/panel.stories.d.ts +21 -0
- package/dist/components/panel/panel.stories.js +58 -0
- package/dist/components/panel/panel.styles.d.ts +29 -0
- package/dist/components/panel/panel.styles.js +26 -0
- package/dist/components/panel/panel.types.d.ts +15 -0
- package/dist/components/panel/panel.types.js +1 -0
- package/dist/components/popover/components/panel/index.d.ts +2 -0
- package/dist/components/popover/components/panel/index.js +1 -0
- package/dist/components/popover/components/panel/panel.component.d.ts +3 -0
- package/dist/components/popover/components/panel/panel.component.js +35 -0
- package/dist/components/popover/components/panel/panel.styles.d.ts +41 -0
- package/dist/components/popover/components/panel/panel.styles.js +32 -0
- package/dist/components/popover/components/panel/panel.types.d.ts +24 -0
- package/dist/components/popover/components/panel/panel.types.js +1 -0
- package/dist/components/popover/index.d.ts +2 -0
- package/dist/components/popover/index.js +1 -0
- package/dist/components/popover/popover.component.d.ts +3 -0
- package/dist/components/popover/popover.component.js +51 -0
- package/dist/components/popover/popover.stories.d.ts +26 -0
- package/dist/components/popover/popover.stories.js +60 -0
- package/dist/components/popover/popover.styles.d.ts +9 -0
- package/dist/components/popover/popover.styles.js +16 -0
- package/dist/components/popover/popover.types.d.ts +37 -0
- package/dist/components/popover/popover.types.js +1 -0
- package/dist/components/progress-bar/progress-bar.stories.js +1 -1
- package/dist/components/progress-bar/progress-bar.styles.js +2 -2
- package/dist/components/progress-rope/components/index.d.ts +2 -0
- package/dist/components/progress-rope/components/index.js +2 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/index.d.ts +2 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/index.js +1 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.component.d.ts +3 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.component.js +92 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.styles.d.ts +61 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.styles.js +42 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.types.d.ts +36 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.types.js +1 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.utils.d.ts +2 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.utils.js +2 -0
- package/dist/components/progress-rope/components/progress-rope-step/index.d.ts +2 -0
- package/dist/components/progress-rope/components/progress-rope-step/index.js +1 -0
- package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.component.d.ts +3 -0
- package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.component.js +45 -0
- package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.styles.d.ts +69 -0
- package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.styles.js +46 -0
- package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.types.d.ts +18 -0
- package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.types.js +1 -0
- package/dist/components/progress-rope/index.d.ts +2 -0
- package/dist/components/progress-rope/index.js +1 -0
- package/dist/components/progress-rope/progress-rope.component.d.ts +3 -0
- package/dist/components/progress-rope/progress-rope.component.js +98 -0
- package/dist/components/progress-rope/progress-rope.stories.d.ts +13 -0
- package/dist/components/progress-rope/progress-rope.stories.js +129 -0
- package/dist/components/progress-rope/progress-rope.styles.d.ts +5 -0
- package/dist/components/progress-rope/progress-rope.styles.js +4 -0
- package/dist/components/progress-rope/progress-rope.types.d.ts +35 -0
- package/dist/components/progress-rope/progress-rope.types.js +1 -0
- package/dist/components/radio-group/components/radio/radio.stories.js +1 -1
- package/dist/components/radio-group/radio-group.stories.js +1 -1
- package/dist/components/repeater/index.d.ts +2 -0
- package/dist/components/repeater/index.js +1 -0
- package/dist/components/repeater/repeater.component.d.ts +3 -0
- package/dist/components/repeater/repeater.component.js +141 -0
- package/dist/components/repeater/repeater.stories.d.ts +13 -0
- package/dist/components/repeater/repeater.stories.js +34 -0
- package/dist/components/repeater/repeater.styles.d.ts +39 -0
- package/dist/components/repeater/repeater.styles.js +31 -0
- package/dist/components/repeater/repeater.types.d.ts +19 -0
- package/dist/components/repeater/repeater.types.js +1 -0
- package/dist/components/repeater/repeater.utils.d.ts +2 -0
- package/dist/components/repeater/repeater.utils.js +2 -0
- package/dist/components/select/select.component.d.ts +1 -1
- package/dist/components/select/select.stories.js +1 -1
- package/dist/components/select/select.styles.d.ts +1 -1
- package/dist/components/select/select.styles.js +1 -1
- package/dist/components/selector/components/index.d.ts +2 -0
- package/dist/components/selector/components/index.js +2 -0
- package/dist/components/selector/components/selector-checkbox-group/components/index.d.ts +1 -0
- package/dist/components/selector/components/selector-checkbox-group/components/index.js +1 -0
- package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/index.d.ts +2 -0
- package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/index.js +1 -0
- package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.d.ts +12 -0
- package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.js +67 -0
- package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.styles.d.ts +59 -0
- package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.styles.js +57 -0
- package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.d.ts +10 -0
- package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.js +1 -0
- package/dist/components/selector/components/selector-checkbox-group/index.d.ts +2 -0
- package/dist/components/selector/components/selector-checkbox-group/index.js +1 -0
- package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.d.ts +15 -0
- package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.js +49 -0
- package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.styles.d.ts +3 -0
- package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.styles.js +13 -0
- package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.d.ts +20 -0
- package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.js +1 -0
- package/dist/components/selector/components/selector-radio-group/components/index.d.ts +1 -0
- package/dist/components/selector/components/selector-radio-group/components/index.js +1 -0
- package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/index.d.ts +2 -0
- package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/index.js +1 -0
- package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.d.ts +12 -0
- package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.js +67 -0
- package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.styles.d.ts +59 -0
- package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.styles.js +57 -0
- package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.d.ts +15 -0
- package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.js +1 -0
- package/dist/components/selector/components/selector-radio-group/index.d.ts +2 -0
- package/dist/components/selector/components/selector-radio-group/index.js +1 -0
- package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.d.ts +15 -0
- package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.js +58 -0
- package/dist/components/selector/components/selector-radio-group/selector-radio-group.styles.d.ts +13 -0
- package/dist/components/selector/components/selector-radio-group/selector-radio-group.styles.js +18 -0
- package/dist/components/selector/components/selector-radio-group/selector-radio-group.types.d.ts +17 -0
- package/dist/components/selector/components/selector-radio-group/selector-radio-group.types.js +1 -0
- package/dist/components/selector/index.d.ts +2 -0
- package/dist/components/selector/index.js +1 -0
- package/dist/components/selector/selector.component.d.ts +30 -0
- package/dist/components/selector/selector.component.js +34 -0
- package/dist/components/selector/selector.stories.d.ts +57 -0
- package/dist/components/selector/selector.stories.js +515 -0
- package/dist/components/selector/selector.types.d.ts +20 -0
- package/dist/components/selector/selector.types.js +1 -0
- package/dist/components/skip-link/skip-link.stories.js +1 -1
- package/dist/components/switch/switch.stories.js +1 -1
- package/dist/components/switch/switch.styles.js +2 -2
- package/dist/components/table/components/caption/caption.styles.d.ts +1 -1
- package/dist/components/table/components/caption/caption.styles.js +1 -1
- package/dist/components/table/components/cell/cell.styles.js +4 -4
- package/dist/components/table/components/footer/footer.styles.js +2 -2
- package/dist/components/table/components/header-cell/header-cell.styles.js +2 -2
- package/dist/components/table/components/row/row.styles.js +2 -2
- package/dist/components/table/table.stories.js +1 -1
- package/dist/components/tabs/components/tab/tab.styles.js +1 -1
- package/dist/components/tabs/components/tab-panel/tab-panel.styles.d.ts +1 -1
- package/dist/components/tabs/components/tab-panel/tab-panel.styles.js +1 -1
- package/dist/components/tabs/tabs.stories.js +1 -1
- package/dist/components/tabs/tabs.styles.js +1 -1
- package/dist/components/textarea/textarea.component.d.ts +1 -1
- package/dist/components/textarea/textarea.stories.js +1 -1
- package/dist/components/textarea/textarea.styles.d.ts +1 -1
- package/dist/components/textarea/textarea.styles.js +1 -1
- package/dist/components/visually-hidden/visually-hidden.stories.js +1 -1
- package/dist/css/westpac-ui.css +2709 -45
- package/dist/css/westpac-ui.min.css +2709 -45
- package/dist/hook/index.d.ts +1 -0
- package/dist/hook/index.js +1 -0
- package/dist/tailwind/constants/colors.d.ts +22 -22
- package/dist/tailwind/constants/spacing.d.ts +1 -1
- package/dist/tailwind/tailwind-plugin.js +17 -4
- package/dist/tailwind/tailwind-transformer.d.ts +4 -4
- package/dist/tailwind/tailwind-transformer.js +7 -0
- package/dist/tailwind/themes/index.d.ts +26 -26
- package/dist/tailwind/utils/generate-date-picker-component.d.ts +98 -0
- package/dist/tailwind/utils/generate-date-picker-component.js +100 -0
- package/dist/utils/generateId.d.ts +1 -0
- package/dist/utils/generateId.js +6 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/package.json +18 -2
- package/scaffold/component/scaffold.stories.hbs +1 -1
- package/src/components/accordion/accordion.stories.tsx +1 -1
- package/src/components/accordion/components/accordion-item/accordion-item.styles.ts +4 -4
- package/src/components/alert/alert.component.tsx +1 -1
- package/src/components/alert/alert.styles.ts +2 -2
- package/src/components/autocomplete/autocomplete.component.tsx +94 -0
- package/src/components/autocomplete/autocomplete.stories.tsx +158 -0
- package/src/components/autocomplete/autocomplete.styles.ts +52 -0
- package/src/components/autocomplete/autocomplete.types.ts +20 -0
- package/src/components/autocomplete/components/index.ts +2 -0
- package/src/components/autocomplete/components/list-box/components/index.ts +2 -0
- package/src/components/autocomplete/components/list-box/components/list-box-option/index.ts +2 -0
- package/src/components/autocomplete/components/list-box/components/list-box-option/list-box-option.component.tsx +29 -0
- package/src/components/autocomplete/components/list-box/components/list-box-option/list-box-option.styles.ts +19 -0
- package/src/components/autocomplete/components/list-box/components/list-box-option/list-box-option.types.ts +7 -0
- package/src/components/autocomplete/components/list-box/components/list-box-section/index.ts +2 -0
- package/src/components/autocomplete/components/list-box/components/list-box-section/list-box-section.component.tsx +31 -0
- package/src/components/autocomplete/components/list-box/components/list-box-section/list-box-section.types.ts +7 -0
- package/src/components/autocomplete/components/list-box/index.ts +2 -0
- package/src/components/autocomplete/components/list-box/list-box.component.tsx +25 -0
- package/src/components/autocomplete/components/list-box/list-box.types.ts +8 -0
- package/src/components/autocomplete/components/popover/index.ts +2 -0
- package/src/components/autocomplete/components/popover/popover.component.tsx +35 -0
- package/src/components/autocomplete/components/popover/popover.types.ts +26 -0
- package/src/components/autocomplete/index.ts +2 -0
- package/src/components/badge/badge.stories.tsx +1 -1
- package/src/components/breadcrumb/breadcrumb.stories.tsx +1 -1
- package/src/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.stories.tsx +1 -1
- package/src/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.styles.ts +1 -1
- package/src/components/button/button.component.tsx +5 -2
- package/src/components/button/button.stories.tsx +1 -1
- package/src/components/button/button.styles.ts +5 -4
- package/src/components/button/button.types.ts +6 -0
- package/src/components/button-dropdown/button-dropdown.component.tsx +81 -0
- package/src/components/button-dropdown/button-dropdown.stories.tsx +178 -0
- package/src/components/button-dropdown/button-dropdown.styles.ts +29 -0
- package/src/components/button-dropdown/button-dropdown.types.ts +27 -0
- package/src/components/button-dropdown/components/heading/heading.component.tsx +14 -0
- package/src/components/button-dropdown/components/heading/heading.styles.ts +11 -0
- package/src/components/button-dropdown/components/heading/heading.types.ts +8 -0
- package/src/components/button-dropdown/components/heading/index.ts +2 -0
- package/src/components/button-dropdown/components/panel/index.ts +2 -0
- package/src/components/button-dropdown/components/panel/panel.component.tsx +46 -0
- package/src/components/button-dropdown/components/panel/panel.styles.ts +13 -0
- package/src/components/button-dropdown/components/panel/panel.types.ts +14 -0
- package/src/components/button-dropdown/index.ts +2 -0
- package/src/components/button-group/button-group.stories.tsx +1 -1
- package/src/components/button-group/components/button/button.stories.tsx +1 -1
- package/src/components/checkbox-group/checkbox-group.stories.tsx +1 -1
- package/src/components/checkbox-group/components/checkbox/checkbox.stories.tsx +1 -1
- package/src/components/circle/circle.component.tsx +12 -0
- package/src/components/circle/circle.stories.tsx +25 -0
- package/src/components/circle/circle.styles.ts +9 -0
- package/src/components/circle/circle.types.ts +12 -0
- package/src/components/circle/index.ts +2 -0
- package/src/components/collapsible/collapsible.component.tsx +67 -0
- package/src/components/collapsible/collapsible.stories.tsx +103 -0
- package/src/components/collapsible/collapsible.styles.ts +16 -0
- package/src/components/collapsible/collapsible.types.ts +19 -0
- package/src/components/collapsible/collapsible.utils.ts +3 -0
- package/src/components/collapsible/index.ts +2 -0
- package/src/components/compacta/compacta.component.tsx +218 -0
- package/src/components/compacta/compacta.stories.tsx +81 -0
- package/src/components/compacta/compacta.styles.ts +32 -0
- package/src/components/compacta/compacta.types.ts +23 -0
- package/src/components/compacta/compacta.utils.ts +10 -0
- package/src/components/compacta/index.ts +2 -0
- package/src/components/date-picker/date-picker.component.tsx +123 -0
- package/src/components/date-picker/date-picker.stories.tsx +81 -0
- package/src/components/date-picker/date-picker.styles.ts +16 -0
- package/src/components/date-picker/date-picker.types.ts +67 -0
- package/src/components/date-picker/date-picker.utils.ts +95 -0
- package/src/components/date-picker/index.ts +2 -0
- package/src/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.tsx +19 -0
- package/src/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.styles.ts +15 -0
- package/src/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.types.ts +20 -0
- package/src/components/flexi-cell/components/flexi-cell-adornment/index.ts +2 -0
- package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.tsx +13 -0
- package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.styles.ts +9 -0
- package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.types.ts +44 -0
- package/src/components/flexi-cell/components/flexi-cell-body/index.ts +2 -0
- package/src/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.tsx +11 -0
- package/src/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.styles.ts +9 -0
- package/src/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.types.ts +3 -0
- package/src/components/flexi-cell/components/flexi-cell-button/index.ts +2 -0
- package/src/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.tsx +11 -0
- package/src/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.styles.ts +9 -0
- package/src/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.types.ts +3 -0
- package/src/components/flexi-cell/components/flexi-cell-circle/index.ts +2 -0
- package/src/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.tsx +13 -0
- package/src/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.styles.ts +9 -0
- package/src/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.types.ts +12 -0
- package/src/components/flexi-cell/components/flexi-cell-footer/index.ts +2 -0
- package/src/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.tsx +19 -0
- package/src/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.styles.ts +14 -0
- package/src/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.types.ts +20 -0
- package/src/components/flexi-cell/components/flexi-cell-hint/index.ts +2 -0
- package/src/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.tsx +19 -0
- package/src/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.styles.ts +14 -0
- package/src/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.types.ts +24 -0
- package/src/components/flexi-cell/components/flexi-cell-label/index.ts +2 -0
- package/src/components/flexi-cell/components/index.ts +7 -0
- package/src/components/flexi-cell/flexi-cell.component.tsx +70 -0
- package/src/components/flexi-cell/flexi-cell.stories.tsx +801 -0
- package/src/components/flexi-cell/flexi-cell.styles.ts +26 -0
- package/src/components/flexi-cell/flexi-cell.types.ts +74 -0
- package/src/components/flexi-cell/index.ts +3 -0
- package/src/components/form/components/error-message/error-message.component.tsx +39 -0
- package/src/components/form/components/error-message/error-message.styles.ts +9 -0
- package/src/components/form/components/error-message/error-message.types.ts +20 -0
- package/src/components/form/components/error-message/index.ts +2 -0
- package/src/components/form/components/form-chit-chat/form-chit-chat.component.tsx +12 -0
- package/src/components/form/components/form-chit-chat/form-chit-chat.styles.ts +5 -0
- package/src/components/form/components/form-chit-chat/form-chit-chat.types.ts +12 -0
- package/src/components/form/components/form-chit-chat/index.ts +2 -0
- package/src/components/form/components/form-group/form-group.component.tsx +16 -0
- package/src/components/form/components/form-group/form-group.styles.ts +18 -0
- package/src/components/form/components/form-group/form-group.types.ts +12 -0
- package/src/components/form/components/form-group/index.ts +2 -0
- package/src/components/form/components/form-hint/form-hint.component.tsx +16 -0
- package/src/components/form/components/form-hint/form-hint.styles.ts +14 -0
- package/src/components/form/components/form-hint/form-hint.types.ts +12 -0
- package/src/components/form/components/form-hint/index.ts +2 -0
- package/src/components/form/components/form-label/form-label.component.tsx +29 -0
- package/src/components/form/components/form-label/form-label.styles.ts +40 -0
- package/src/components/form/components/form-label/form-label.types.ts +30 -0
- package/src/components/form/components/form-label/index.ts +2 -0
- package/src/components/form/components/form-section/form-section.component.tsx +12 -0
- package/src/components/form/components/form-section/form-section.styles.ts +14 -0
- package/src/components/form/components/form-section/form-section.types.ts +12 -0
- package/src/components/form/components/form-section/index.ts +2 -0
- package/src/components/form/components/index.ts +6 -0
- package/src/components/form/form.component.tsx +26 -0
- package/src/components/form/form.stories.tsx +161 -0
- package/src/components/form/form.types.ts +9 -0
- package/src/components/form/index.ts +2 -0
- package/src/components/icon/index.ts +1 -0
- package/src/components/index.ts +17 -0
- package/src/components/input/input.component.tsx +1 -1
- package/src/components/input/input.stories.tsx +1 -1
- package/src/components/input/input.styles.ts +5 -5
- package/src/components/input/input.types.ts +2 -1
- package/src/components/input-field/components/add-ons/add-ons.component.tsx +39 -0
- package/src/components/input-field/components/add-ons/add-ons.styles.ts +30 -0
- package/src/components/input-field/components/add-ons/add-ons.types.ts +54 -0
- package/src/components/input-field/components/add-ons/components/default-add-on/default-add-on.component.tsx +12 -0
- package/src/components/input-field/components/add-ons/components/default-add-on/default-add-on.styles.ts +5 -0
- package/src/components/input-field/components/add-ons/components/default-add-on/default-add-on.types.ts +8 -0
- package/src/components/input-field/components/add-ons/components/default-add-on/index.ts +2 -0
- package/src/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.component.tsx +12 -0
- package/src/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.styles.ts +62 -0
- package/src/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.types.ts +8 -0
- package/src/components/input-field/components/add-ons/components/icon-add-on/index.ts +2 -0
- package/src/components/input-field/components/add-ons/components/index.ts +3 -0
- package/src/components/input-field/components/add-ons/components/text-add-on/index.ts +2 -0
- package/src/components/input-field/components/add-ons/components/text-add-on/text-add-on.component.tsx +12 -0
- package/src/components/input-field/components/add-ons/components/text-add-on/text-add-on.styles.ts +20 -0
- package/src/components/input-field/components/add-ons/components/text-add-on/text-add-on.types.ts +8 -0
- package/src/components/input-field/components/add-ons/index.ts +2 -0
- package/src/components/input-field/components/index.ts +1 -0
- package/src/components/input-field/components/supporting-text/index.ts +2 -0
- package/src/components/input-field/components/supporting-text/supporting-text.component.tsx +12 -0
- package/src/components/input-field/components/supporting-text/supporting-text.styles.ts +5 -0
- package/src/components/input-field/components/supporting-text/supporting-text.types.ts +12 -0
- package/src/components/input-field/index.ts +2 -0
- package/src/components/input-field/input-field.component.tsx +111 -0
- package/src/components/input-field/input-field.scenarios.stories.tsx +177 -0
- package/src/components/input-field/input-field.sizes.stories.tsx +105 -0
- package/src/components/input-field/input-field.state.stories.tsx +151 -0
- package/src/components/input-field/input-field.stories.tsx +93 -0
- package/src/components/input-field/input-field.styles.ts +48 -0
- package/src/components/input-field/input-field.type.stories.tsx +239 -0
- package/src/components/input-field/input-field.types.ts +64 -0
- package/src/components/link/link.stories.tsx +1 -1
- package/src/components/link/link.styles.ts +3 -3
- package/src/components/list/components/item/index.ts +2 -0
- package/src/components/list/components/item/item.component.tsx +52 -0
- package/src/components/list/components/item/item.styles.ts +85 -0
- package/src/components/list/components/item/item.types.ts +30 -0
- package/src/components/list/index.ts +2 -0
- package/src/components/list/list.component.tsx +35 -0
- package/src/components/list/list.stories.tsx +130 -0
- package/src/components/list/list.styles.ts +26 -0
- package/src/components/list/list.types.ts +82 -0
- package/src/components/list/list.utils.ts +13 -0
- package/src/components/modal/components/backdrop/backdrop.component.tsx +29 -0
- package/src/components/modal/components/backdrop/backdrop.styles.ts +8 -0
- package/src/components/modal/components/backdrop/backdrop.types.ts +29 -0
- package/src/components/modal/components/backdrop/index.ts +2 -0
- package/src/components/modal/components/dialog/components/dialog-body/dialog-body.component.tsx +12 -0
- package/src/components/modal/components/dialog/components/dialog-body/dialog-body.styles.ts +5 -0
- package/src/components/modal/components/dialog/components/dialog-body/dialog-body.types.ts +6 -0
- package/src/components/modal/components/dialog/components/dialog-body/index.ts +2 -0
- package/src/components/modal/components/dialog/components/dialog-footer/dialog-footer.component.tsx +12 -0
- package/src/components/modal/components/dialog/components/dialog-footer/dialog-footer.styles.ts +5 -0
- package/src/components/modal/components/dialog/components/dialog-footer/dialog-footer.types.ts +6 -0
- package/src/components/modal/components/dialog/components/dialog-footer/index.ts +2 -0
- package/src/components/modal/components/dialog/dialog.component.tsx +37 -0
- package/src/components/modal/components/dialog/dialog.styles.ts +25 -0
- package/src/components/modal/components/dialog/dialog.types.ts +28 -0
- package/src/components/modal/components/dialog/index.ts +2 -0
- package/src/components/modal/components/index.ts +2 -0
- package/src/components/modal/index.ts +2 -0
- package/src/components/modal/modal.component.tsx +22 -0
- package/src/components/modal/modal.stories.tsx +143 -0
- package/src/components/modal/modal.types.ts +3 -0
- package/src/components/pagination/components/index.ts +1 -0
- package/src/components/pagination/components/pagination-item/index.ts +2 -0
- package/src/components/pagination/components/pagination-item/pagination-item.component.tsx +25 -0
- package/src/components/pagination/components/pagination-item/pagination-item.styles.ts +22 -0
- package/src/components/pagination/components/pagination-item/pagination-item.types.ts +12 -0
- package/src/components/pagination/index.ts +2 -0
- package/src/components/pagination/pagination.component.tsx +155 -0
- package/src/components/pagination/pagination.hooks.ts +40 -0
- package/src/components/pagination/pagination.stories.tsx +161 -0
- package/src/components/pagination/pagination.styles.ts +12 -0
- package/src/components/pagination/pagination.types.ts +67 -0
- package/src/components/panel/components/body/body.component.tsx +13 -0
- package/src/components/panel/components/body/body.styles.ts +9 -0
- package/src/components/panel/components/body/body.types.ts +3 -0
- package/src/components/panel/components/body/index.ts +2 -0
- package/src/components/panel/components/footer/footer.component.tsx +13 -0
- package/src/components/panel/components/footer/footer.styles.ts +11 -0
- package/src/components/panel/components/footer/footer.types.ts +3 -0
- package/src/components/panel/components/footer/index.ts +2 -0
- package/src/components/panel/components/index.ts +2 -0
- package/src/components/panel/index.ts +2 -0
- package/src/components/panel/panel.component.tsx +17 -0
- package/src/components/panel/panel.stories.tsx +156 -0
- package/src/components/panel/panel.styles.ts +22 -0
- package/src/components/panel/panel.types.ts +16 -0
- package/src/components/popover/components/panel/index.ts +2 -0
- package/src/components/popover/components/panel/panel.component.tsx +31 -0
- package/src/components/popover/components/panel/panel.styles.ts +29 -0
- package/src/components/popover/components/panel/panel.types.ts +25 -0
- package/src/components/popover/index.ts +2 -0
- package/src/components/popover/popover.component.tsx +69 -0
- package/src/components/popover/popover.stories.tsx +84 -0
- package/src/components/popover/popover.styles.ts +12 -0
- package/src/components/popover/popover.types.ts +40 -0
- package/src/components/progress-bar/progress-bar.stories.tsx +1 -1
- package/src/components/progress-bar/progress-bar.styles.ts +2 -2
- package/src/components/progress-rope/components/index.ts +2 -0
- package/src/components/progress-rope/components/progress-rope-group-step/index.ts +2 -0
- package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.component.tsx +105 -0
- package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.styles.ts +39 -0
- package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.types.ts +37 -0
- package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.utils.ts +3 -0
- package/src/components/progress-rope/components/progress-rope-step/index.ts +2 -0
- package/src/components/progress-rope/components/progress-rope-step/progress-rope-step.component.tsx +37 -0
- package/src/components/progress-rope/components/progress-rope-step/progress-rope-step.styles.ts +42 -0
- package/src/components/progress-rope/components/progress-rope-step/progress-rope-step.types.ts +23 -0
- package/src/components/progress-rope/index.ts +2 -0
- package/src/components/progress-rope/progress-rope.component.tsx +104 -0
- package/src/components/progress-rope/progress-rope.stories.tsx +112 -0
- package/src/components/progress-rope/progress-rope.styles.ts +5 -0
- package/src/components/progress-rope/progress-rope.types.ts +41 -0
- package/src/components/radio-group/components/radio/radio.stories.tsx +1 -1
- package/src/components/radio-group/radio-group.stories.tsx +1 -1
- package/src/components/repeater/index.ts +2 -0
- package/src/components/repeater/repeater.component.tsx +121 -0
- package/src/components/repeater/repeater.stories.tsx +49 -0
- package/src/components/repeater/repeater.styles.ts +27 -0
- package/src/components/repeater/repeater.types.ts +20 -0
- package/src/components/repeater/repeater.utils.tsx +3 -0
- package/src/components/select/select.stories.tsx +1 -1
- package/src/components/select/select.styles.ts +1 -1
- package/src/components/selector/components/index.ts +2 -0
- package/src/components/selector/components/selector-checkbox-group/components/index.ts +1 -0
- package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/index.ts +2 -0
- package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.component.tsx +96 -0
- package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.styles.ts +53 -0
- package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.ts +15 -0
- package/src/components/selector/components/selector-checkbox-group/index.ts +2 -0
- package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.tsx +46 -0
- package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.styles.ts +9 -0
- package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.ts +25 -0
- package/src/components/selector/components/selector-radio-group/components/index.ts +1 -0
- package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/index.ts +2 -0
- package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.component.tsx +90 -0
- package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.styles.ts +53 -0
- package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.ts +21 -0
- package/src/components/selector/components/selector-radio-group/index.ts +2 -0
- package/src/components/selector/components/selector-radio-group/selector-radio-group.component.tsx +48 -0
- package/src/components/selector/components/selector-radio-group/selector-radio-group.styles.ts +14 -0
- package/src/components/selector/components/selector-radio-group/selector-radio-group.types.ts +22 -0
- package/src/components/selector/index.ts +2 -0
- package/src/components/selector/selector.component.tsx +34 -0
- package/src/components/selector/selector.stories.tsx +621 -0
- package/src/components/selector/selector.types.ts +24 -0
- package/src/components/skip-link/skip-link.stories.tsx +1 -1
- package/src/components/switch/switch.stories.tsx +1 -1
- package/src/components/switch/switch.styles.ts +2 -2
- package/src/components/table/components/caption/caption.styles.ts +1 -1
- package/src/components/table/components/cell/cell.styles.ts +4 -4
- package/src/components/table/components/footer/footer.styles.ts +2 -2
- package/src/components/table/components/header-cell/header-cell.styles.ts +2 -2
- package/src/components/table/components/row/row.styles.ts +2 -2
- package/src/components/table/table.stories.tsx +1 -1
- package/src/components/tabs/components/tab/tab.styles.ts +1 -1
- package/src/components/tabs/components/tab-panel/tab-panel.styles.ts +1 -1
- package/src/components/tabs/tabs.stories.tsx +1 -3
- package/src/components/tabs/tabs.styles.ts +1 -1
- package/src/components/textarea/textarea.stories.tsx +1 -1
- package/src/components/textarea/textarea.styles.ts +1 -1
- package/src/components/visually-hidden/visually-hidden.stories.tsx +1 -1
- package/src/hook/index.ts +1 -0
- package/src/tailwind/tailwind-plugin.ts +16 -3
- package/src/tailwind/tailwind-transformer.ts +6 -0
- package/src/tailwind/utils/generate-date-picker-component.ts +109 -0
- package/src/utils/generateId.ts +6 -0
- package/src/utils/index.ts +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@westpac/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
"./icon": {
|
|
23
23
|
"default": "./dist/components/icon/index.js"
|
|
24
24
|
},
|
|
25
|
+
"./hook": {
|
|
26
|
+
"default": "./dist/hook/index.js"
|
|
27
|
+
},
|
|
25
28
|
"./pictogram": {
|
|
26
29
|
"default": "./dist/components/pictogram/index.js"
|
|
27
30
|
},
|
|
@@ -42,6 +45,10 @@
|
|
|
42
45
|
],
|
|
43
46
|
"devDependencies": {
|
|
44
47
|
"@react-types/accordion": "3.0.0-alpha.14",
|
|
48
|
+
"@react-types/combobox": "~3.7.0",
|
|
49
|
+
"@react-types/shared": "~3.18.1",
|
|
50
|
+
"@storybook/addon-actions": "~7.4.3",
|
|
51
|
+
"@storybook/addon-a11y": "~7.4.3",
|
|
45
52
|
"@storybook/addon-essentials": "^7.0.21",
|
|
46
53
|
"@storybook/addon-interactions": "^7.0.21",
|
|
47
54
|
"@storybook/addon-links": "^7.0.21",
|
|
@@ -55,6 +62,7 @@
|
|
|
55
62
|
"@testing-library/jest-dom": "^5.16.5",
|
|
56
63
|
"@testing-library/react": "^13.4.0",
|
|
57
64
|
"@testing-library/user-event": "~14.4.3",
|
|
65
|
+
"@types/lodash-es": "~4.17.8",
|
|
58
66
|
"@types/prettier": "~2.7.3",
|
|
59
67
|
"@types/react": "^18.0.28",
|
|
60
68
|
"@types/react-dom": "^18.2.1",
|
|
@@ -86,6 +94,7 @@
|
|
|
86
94
|
"vitest": "^0.30.1"
|
|
87
95
|
},
|
|
88
96
|
"dependencies": {
|
|
97
|
+
"@duetds/date-picker": "~1.4.0",
|
|
89
98
|
"@react-aria/accordion": "3.0.0-alpha.19",
|
|
90
99
|
"@react-aria/utils": "~3.18.0",
|
|
91
100
|
"@react-spectrum/utils": "~3.10.0",
|
|
@@ -98,8 +107,15 @@
|
|
|
98
107
|
"@westpac/test-config": "~0.0.0",
|
|
99
108
|
"@westpac/ts-config": "~0.0.0"
|
|
100
109
|
},
|
|
110
|
+
"overrides": {
|
|
111
|
+
"react-aria": {
|
|
112
|
+
"@types/react": "$@types/react"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
101
115
|
"peerDependencies": {
|
|
116
|
+
"@duetds/date-picker": "~1.4.0",
|
|
102
117
|
"colorjs.io": "~0.4.5",
|
|
118
|
+
"react": ">=18.2.0",
|
|
103
119
|
"tailwind-variants": "~0.1.13",
|
|
104
120
|
"tailwindcss": "~3.3.2",
|
|
105
121
|
"tailwindcss-themer": "~3.1.0"
|
|
@@ -119,7 +135,7 @@
|
|
|
119
135
|
"lint": "eslint \"./src/**/*.{ts,tsx,js,jsx}\"",
|
|
120
136
|
"lint:fix": "eslint \"./src/**/*.{ts,tsx,js,jsx}\" --fix",
|
|
121
137
|
"test": "vitest run",
|
|
122
|
-
"test:watch": "vitest",
|
|
138
|
+
"test:watch": "vitest --no-coverage",
|
|
123
139
|
"storybook": "storybook dev -p 6006",
|
|
124
140
|
"build-storybook": "storybook build",
|
|
125
141
|
"generate:component": "plop"
|
|
@@ -22,10 +22,10 @@ export const styles = tv(
|
|
|
22
22
|
},
|
|
23
23
|
color: {
|
|
24
24
|
hero: {
|
|
25
|
-
itemHeader: 'border-l-
|
|
25
|
+
itemHeader: 'border-l-[0.375rem] border-l-border transition-colors',
|
|
26
26
|
},
|
|
27
27
|
primary: {
|
|
28
|
-
itemHeader: 'border-l-
|
|
28
|
+
itemHeader: 'border-l-[0.375rem] border-l-border transition-colors',
|
|
29
29
|
},
|
|
30
30
|
},
|
|
31
31
|
isOpen: {
|
|
@@ -69,12 +69,12 @@ export const styles = tv(
|
|
|
69
69
|
{
|
|
70
70
|
slots: ['content'],
|
|
71
71
|
color: 'hero',
|
|
72
|
-
className: 'border-l-
|
|
72
|
+
className: 'border-l-[0.375rem] border-l-border',
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
slots: ['content'],
|
|
76
76
|
color: 'primary',
|
|
77
|
-
className: 'border-l-
|
|
77
|
+
className: 'border-l-[0.375rem] border-l-border',
|
|
78
78
|
},
|
|
79
79
|
],
|
|
80
80
|
},
|
|
@@ -59,7 +59,7 @@ export function Alert({
|
|
|
59
59
|
>
|
|
60
60
|
<Tag className={styles.base({ className })} {...props}>
|
|
61
61
|
<span className={styles.icon()}>
|
|
62
|
-
<Icon size={{ initial: 'small', xsl: 'medium' }} />
|
|
62
|
+
<Icon size={{ initial: 'small', xsl: 'medium' }} look="outlined" />
|
|
63
63
|
</span>
|
|
64
64
|
<div className={styles.body()}>
|
|
65
65
|
{!!heading && <HeadingTag className={styles.heading()}>{heading}</HeadingTag>}
|
|
@@ -3,7 +3,7 @@ import { tv } from 'tailwind-variants';
|
|
|
3
3
|
export const styles = tv(
|
|
4
4
|
{
|
|
5
5
|
slots: {
|
|
6
|
-
base: 'typography-body-10 relative mb-4
|
|
6
|
+
base: 'typography-body-10 relative mb-4 xsl:flex',
|
|
7
7
|
icon: 'float-left mr-1 flex-none xsl:mr-2',
|
|
8
8
|
body: 'relative flex-1 xsl:top-[0.125rem] [&_a]:underline',
|
|
9
9
|
heading: 'typography-body-9 mb-2 font-bold',
|
|
@@ -29,7 +29,7 @@ export const styles = tv(
|
|
|
29
29
|
},
|
|
30
30
|
mode: {
|
|
31
31
|
box: {
|
|
32
|
-
base: 'border-y',
|
|
32
|
+
base: 'border-y p-3',
|
|
33
33
|
},
|
|
34
34
|
text: {
|
|
35
35
|
base: 'bg-[transparent]',
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useButton, useComboBox, useFilter, useSearchField } from 'react-aria';
|
|
3
|
+
import { Item, useComboBoxState, useSearchFieldState } from 'react-stately';
|
|
4
|
+
|
|
5
|
+
import { ClearIcon } from '../icon/index.js';
|
|
6
|
+
|
|
7
|
+
import { styles as autocompleteStyles } from './autocomplete.styles.js';
|
|
8
|
+
import { type AutocompleteProps } from './autocomplete.types.js';
|
|
9
|
+
import { ListBox, Popover } from './components/index.js';
|
|
10
|
+
|
|
11
|
+
export function Autocomplete<T extends object>({
|
|
12
|
+
size = 'medium',
|
|
13
|
+
invalid = false,
|
|
14
|
+
isDisabled,
|
|
15
|
+
footer,
|
|
16
|
+
portalContainer,
|
|
17
|
+
...props
|
|
18
|
+
}: AutocompleteProps<T>) {
|
|
19
|
+
const { contains } = useFilter({ sensitivity: 'base' });
|
|
20
|
+
const state = useComboBoxState({ isDisabled, ...props, defaultFilter: contains });
|
|
21
|
+
const inputRef = React.useRef(null);
|
|
22
|
+
const listBoxRef = React.useRef(null);
|
|
23
|
+
const popoverRef = React.useRef(null);
|
|
24
|
+
const { inputProps, listBoxProps, labelProps } = useComboBox(
|
|
25
|
+
{
|
|
26
|
+
...props,
|
|
27
|
+
isDisabled,
|
|
28
|
+
inputRef,
|
|
29
|
+
listBoxRef,
|
|
30
|
+
popoverRef,
|
|
31
|
+
},
|
|
32
|
+
state,
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
const styles = autocompleteStyles({
|
|
36
|
+
isDisabled,
|
|
37
|
+
isFocused: state.isFocused,
|
|
38
|
+
size,
|
|
39
|
+
invalid,
|
|
40
|
+
});
|
|
41
|
+
// Get props for the clear button from useSearchField
|
|
42
|
+
const searchProps = {
|
|
43
|
+
label: props.label,
|
|
44
|
+
value: state.inputValue,
|
|
45
|
+
onChange: (v: string) => state.setInputValue(v),
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const searchState = useSearchFieldState(searchProps);
|
|
49
|
+
const { clearButtonProps } = useSearchField(
|
|
50
|
+
{ ...searchProps, 'aria-label': props['aria-label'], 'aria-labelledby': props['aria-labelledby'] },
|
|
51
|
+
searchState,
|
|
52
|
+
inputRef,
|
|
53
|
+
);
|
|
54
|
+
const clearButtonRef = React.useRef(null);
|
|
55
|
+
const { buttonProps } = useButton(clearButtonProps, clearButtonRef);
|
|
56
|
+
const outerRef = React.useRef(null);
|
|
57
|
+
|
|
58
|
+
return (
|
|
59
|
+
<div className={styles.base()}>
|
|
60
|
+
<label {...labelProps} className={styles.label()}>
|
|
61
|
+
{props.label}
|
|
62
|
+
</label>
|
|
63
|
+
|
|
64
|
+
<div ref={outerRef} className={styles.outerWrapper()}>
|
|
65
|
+
<input {...inputProps} ref={inputRef} className={styles.input()} />
|
|
66
|
+
|
|
67
|
+
<button
|
|
68
|
+
{...buttonProps}
|
|
69
|
+
ref={clearButtonRef}
|
|
70
|
+
style={{ visibility: state.inputValue !== '' ? 'visible' : 'hidden' }}
|
|
71
|
+
className={styles.clearButton()}
|
|
72
|
+
>
|
|
73
|
+
<ClearIcon aria-hidden="true" color="muted" size="small" />
|
|
74
|
+
</button>
|
|
75
|
+
</div>
|
|
76
|
+
|
|
77
|
+
{state.isOpen && (
|
|
78
|
+
<Popover
|
|
79
|
+
popoverRef={popoverRef}
|
|
80
|
+
triggerRef={outerRef}
|
|
81
|
+
state={state}
|
|
82
|
+
isNonModal
|
|
83
|
+
placement="bottom start"
|
|
84
|
+
portalContainer={portalContainer}
|
|
85
|
+
>
|
|
86
|
+
<ListBox {...listBoxProps} listBoxRef={listBoxRef} state={state} />
|
|
87
|
+
{footer && <div className="border-t border-t-border px-3 py-2">{footer}</div>}
|
|
88
|
+
</Popover>
|
|
89
|
+
)}
|
|
90
|
+
</div>
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
Autocomplete.Item = Item;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { type Meta, StoryFn, type StoryObj } from '@storybook/react';
|
|
2
|
+
import { Key, useState } from 'react';
|
|
3
|
+
|
|
4
|
+
import { Autocomplete } from './autocomplete.component.js';
|
|
5
|
+
|
|
6
|
+
const meta: Meta<typeof Autocomplete> = {
|
|
7
|
+
title: 'Example/Autocomplete',
|
|
8
|
+
component: Autocomplete,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
decorators: [
|
|
11
|
+
(Story: StoryFn) => (
|
|
12
|
+
<div className="h-30 p-3">
|
|
13
|
+
<Story />
|
|
14
|
+
</div>
|
|
15
|
+
),
|
|
16
|
+
],
|
|
17
|
+
parameters: {
|
|
18
|
+
layout: 'centered',
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default meta;
|
|
23
|
+
type Story = StoryObj<typeof meta>;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* > Default usage example
|
|
27
|
+
*/
|
|
28
|
+
export const DefaultStory: Story = {
|
|
29
|
+
args: {
|
|
30
|
+
'aria-label': 'Animals',
|
|
31
|
+
children: [
|
|
32
|
+
<Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>,
|
|
33
|
+
<Autocomplete.Item key="cat">Cat</Autocomplete.Item>,
|
|
34
|
+
<Autocomplete.Item key="dog">Dog</Autocomplete.Item>,
|
|
35
|
+
<Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>,
|
|
36
|
+
<Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>,
|
|
37
|
+
<Autocomplete.Item key="snake">Snake</Autocomplete.Item>,
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* > Controlled usage example
|
|
44
|
+
*/
|
|
45
|
+
export const ControlledStory: Story = {
|
|
46
|
+
args: {},
|
|
47
|
+
render: () => {
|
|
48
|
+
const [selectedKey, setSelectedKey] = useState<Key>();
|
|
49
|
+
const handleSelectionChange = (key: Key) => {
|
|
50
|
+
setSelectedKey(key);
|
|
51
|
+
};
|
|
52
|
+
return (
|
|
53
|
+
<Autocomplete onSelectionChange={handleSelectionChange} selectedKey={selectedKey} aria-label="Animals">
|
|
54
|
+
<Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>
|
|
55
|
+
<Autocomplete.Item key="cat">Cat</Autocomplete.Item>
|
|
56
|
+
<Autocomplete.Item key="dog">Dog</Autocomplete.Item>
|
|
57
|
+
<Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>
|
|
58
|
+
<Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>
|
|
59
|
+
<Autocomplete.Item key="snake">Snake</Autocomplete.Item>
|
|
60
|
+
</Autocomplete>
|
|
61
|
+
);
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* > Disabled usage example
|
|
67
|
+
*/
|
|
68
|
+
export const DisabledStory: Story = {
|
|
69
|
+
args: {
|
|
70
|
+
isDisabled: true,
|
|
71
|
+
'aria-label': 'Disable example',
|
|
72
|
+
children: [
|
|
73
|
+
<Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>,
|
|
74
|
+
<Autocomplete.Item key="cat">Cat</Autocomplete.Item>,
|
|
75
|
+
<Autocomplete.Item key="dog">Dog</Autocomplete.Item>,
|
|
76
|
+
<Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>,
|
|
77
|
+
<Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>,
|
|
78
|
+
<Autocomplete.Item key="snake">Snake</Autocomplete.Item>,
|
|
79
|
+
],
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* > Invalid usage example
|
|
85
|
+
*/
|
|
86
|
+
export const InvalidStory: Story = {
|
|
87
|
+
args: {
|
|
88
|
+
invalid: true,
|
|
89
|
+
'aria-label': 'Invalid example',
|
|
90
|
+
children: [
|
|
91
|
+
<Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>,
|
|
92
|
+
<Autocomplete.Item key="cat">Cat</Autocomplete.Item>,
|
|
93
|
+
<Autocomplete.Item key="dog">Dog</Autocomplete.Item>,
|
|
94
|
+
<Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>,
|
|
95
|
+
<Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>,
|
|
96
|
+
<Autocomplete.Item key="snake">Snake</Autocomplete.Item>,
|
|
97
|
+
],
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* > Sizes example
|
|
103
|
+
*/
|
|
104
|
+
export const SizesStory: Story = {
|
|
105
|
+
args: {},
|
|
106
|
+
render: () => {
|
|
107
|
+
return (
|
|
108
|
+
<>
|
|
109
|
+
{['small', 'medium', 'large', 'xlarge'].map(size => (
|
|
110
|
+
<div className="py-2" key={size}>
|
|
111
|
+
<Autocomplete label={size} size={size as any} aria-label={`size ${size}`}>
|
|
112
|
+
<Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>
|
|
113
|
+
<Autocomplete.Item key="cat">Cat</Autocomplete.Item>
|
|
114
|
+
<Autocomplete.Item key="dog">Dog</Autocomplete.Item>
|
|
115
|
+
<Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>
|
|
116
|
+
<Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>
|
|
117
|
+
<Autocomplete.Item key="snake">Snake</Autocomplete.Item>
|
|
118
|
+
</Autocomplete>
|
|
119
|
+
</div>
|
|
120
|
+
))}
|
|
121
|
+
</>
|
|
122
|
+
);
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* > Footer example
|
|
128
|
+
*/
|
|
129
|
+
export const FooterStory: Story = {
|
|
130
|
+
args: {},
|
|
131
|
+
render: () => {
|
|
132
|
+
return (
|
|
133
|
+
<div className="py-2">
|
|
134
|
+
<Autocomplete label="With footer" footer={<h3>Footer</h3>}>
|
|
135
|
+
<Autocomplete.Item key="red panda">Red Panda</Autocomplete.Item>
|
|
136
|
+
<Autocomplete.Item key="cat">Cat</Autocomplete.Item>
|
|
137
|
+
<Autocomplete.Item key="dog">Dog</Autocomplete.Item>
|
|
138
|
+
<Autocomplete.Item key="aardvark">Aardvark</Autocomplete.Item>
|
|
139
|
+
<Autocomplete.Item key="kangaroo">Kangaroo</Autocomplete.Item>
|
|
140
|
+
<Autocomplete.Item key="snake">Snake</Autocomplete.Item>
|
|
141
|
+
<Autocomplete.Item key="elephant">Elephant</Autocomplete.Item>
|
|
142
|
+
<Autocomplete.Item key="giraffe">Giraffe</Autocomplete.Item>
|
|
143
|
+
<Autocomplete.Item key="lion">Lion</Autocomplete.Item>
|
|
144
|
+
<Autocomplete.Item key="tiger">Tiger</Autocomplete.Item>
|
|
145
|
+
<Autocomplete.Item key="penguin">Penguin</Autocomplete.Item>
|
|
146
|
+
<Autocomplete.Item key="octopus">Octopus</Autocomplete.Item>
|
|
147
|
+
<Autocomplete.Item key="cheetah">Cheetah</Autocomplete.Item>
|
|
148
|
+
<Autocomplete.Item key="polar bear">Polar Bear</Autocomplete.Item>
|
|
149
|
+
<Autocomplete.Item key="koala">Koala</Autocomplete.Item>
|
|
150
|
+
<Autocomplete.Item key="dolphin">Dolphin</Autocomplete.Item>
|
|
151
|
+
<Autocomplete.Item key="flamingo">Flamingo</Autocomplete.Item>
|
|
152
|
+
<Autocomplete.Item key="elephant seal">Elephant Seal</Autocomplete.Item>
|
|
153
|
+
<Autocomplete.Item key="orca">Orca</Autocomplete.Item>
|
|
154
|
+
</Autocomplete>
|
|
155
|
+
</div>
|
|
156
|
+
);
|
|
157
|
+
},
|
|
158
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
|
|
3
|
+
export const styles = tv(
|
|
4
|
+
{
|
|
5
|
+
slots: {
|
|
6
|
+
base: 'relative flex flex-col',
|
|
7
|
+
label: 'block text-left text-sm font-medium text-text',
|
|
8
|
+
outerWrapper:
|
|
9
|
+
'form-control relative flex w-full flex-row items-center overflow-hidden pr-2 disabled:form-control-disabled focus:focus-outline',
|
|
10
|
+
input: 'w-full appearance-none bg-[transparent] outline-none',
|
|
11
|
+
clearButton: 'flex cursor-default items-center justify-center text-text-50 hover:text-border-60',
|
|
12
|
+
},
|
|
13
|
+
variants: {
|
|
14
|
+
invalid: {
|
|
15
|
+
true: {
|
|
16
|
+
outerWrapper: 'border-danger',
|
|
17
|
+
},
|
|
18
|
+
false: {
|
|
19
|
+
outerWrapper: 'border-borderDark',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
size: {
|
|
23
|
+
small: {
|
|
24
|
+
input: 'form-control-small',
|
|
25
|
+
},
|
|
26
|
+
medium: {
|
|
27
|
+
input: 'form-control-medium',
|
|
28
|
+
},
|
|
29
|
+
large: {
|
|
30
|
+
input: 'form-control-large',
|
|
31
|
+
},
|
|
32
|
+
xlarge: {
|
|
33
|
+
input: 'form-control-xlarge',
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
isDisabled: {
|
|
37
|
+
true: {
|
|
38
|
+
outerWrapper: 'form-control-disabled',
|
|
39
|
+
input: 'cursor-not-allowed',
|
|
40
|
+
},
|
|
41
|
+
false: {},
|
|
42
|
+
},
|
|
43
|
+
isFocused: {
|
|
44
|
+
true: {
|
|
45
|
+
outerWrapper: 'focus-outline',
|
|
46
|
+
},
|
|
47
|
+
false: {},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
},
|
|
51
|
+
{ responsiveVariants: ['xsl', 'sm', 'md', 'lg', 'xl'] },
|
|
52
|
+
);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ComboBoxProps } from '@react-types/combobox';
|
|
2
|
+
import { type AriaLabelingProps } from '@react-types/shared';
|
|
3
|
+
import { type ReactNode } from 'react';
|
|
4
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
5
|
+
|
|
6
|
+
import { styles } from './autocomplete.styles.js';
|
|
7
|
+
import { PopoverProps } from './components/index.js';
|
|
8
|
+
|
|
9
|
+
export type AutocompleteProps<T extends object> = {
|
|
10
|
+
/**
|
|
11
|
+
* Tag to render
|
|
12
|
+
*/
|
|
13
|
+
footer?: ReactNode;
|
|
14
|
+
/**
|
|
15
|
+
* Element where the popover will be rendered, by default it will be into the body
|
|
16
|
+
*/
|
|
17
|
+
portalContainer?: PopoverProps['portalContainer'];
|
|
18
|
+
} & VariantProps<typeof styles> &
|
|
19
|
+
ComboBoxProps<T> &
|
|
20
|
+
AriaLabelingProps;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type Node } from '@react-types/shared';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useOption } from 'react-aria';
|
|
4
|
+
import { type ListState } from 'react-stately';
|
|
5
|
+
|
|
6
|
+
import { styles } from './list-box-option.styles.js';
|
|
7
|
+
|
|
8
|
+
interface OptionProps<T = any> {
|
|
9
|
+
item: Node<T>;
|
|
10
|
+
state: ListState<T>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export function Option({ item, state }: OptionProps) {
|
|
14
|
+
const ref = React.useRef<HTMLLIElement>(null);
|
|
15
|
+
|
|
16
|
+
const { optionProps, isDisabled, isSelected, isFocused } = useOption(
|
|
17
|
+
{
|
|
18
|
+
key: item.key,
|
|
19
|
+
},
|
|
20
|
+
state,
|
|
21
|
+
ref,
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<li {...optionProps} ref={ref} className={styles({ isFocused, isSelected, isDisabled })}>
|
|
26
|
+
{item.rendered}
|
|
27
|
+
</li>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
|
2
|
+
|
|
3
|
+
export const styles = tv(
|
|
4
|
+
{
|
|
5
|
+
base: 'flex cursor-pointer items-center justify-between border-t border-t-border bg-white p-2 px-3 text-sm transition-colors first:border-t-0 hover:bg-hero hover:text-white focus:bg-hero focus:text-white',
|
|
6
|
+
variants: {
|
|
7
|
+
isFocused: {
|
|
8
|
+
true: 'bg-hero !text-white',
|
|
9
|
+
},
|
|
10
|
+
isSelected: {
|
|
11
|
+
true: 'font-bold',
|
|
12
|
+
},
|
|
13
|
+
isDisabled: {
|
|
14
|
+
true: 'text-muted',
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
{ responsiveVariants: ['xsl', 'sm', 'md', 'lg', 'xl'] },
|
|
19
|
+
);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useListBoxSection } from 'react-aria';
|
|
3
|
+
|
|
4
|
+
import { Option } from '../list-box-option/index.js';
|
|
5
|
+
|
|
6
|
+
import { type ListBoxSectionProps } from './list-box-section.types.js';
|
|
7
|
+
|
|
8
|
+
export function ListBoxSection({ section, state }: ListBoxSectionProps) {
|
|
9
|
+
const { itemProps, headingProps, groupProps } = useListBoxSection({
|
|
10
|
+
heading: section.rendered,
|
|
11
|
+
'aria-label': section['aria-label'],
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<>
|
|
16
|
+
<li {...itemProps} className="pt-2">
|
|
17
|
+
{section.rendered && (
|
|
18
|
+
<span {...headingProps} className="mx-3 text-xs font-bold uppercase text-text">
|
|
19
|
+
{section.rendered}
|
|
20
|
+
</span>
|
|
21
|
+
)}
|
|
22
|
+
|
|
23
|
+
<ul {...groupProps}>
|
|
24
|
+
{[...section.childNodes].map(node => (
|
|
25
|
+
<Option key={node.key} item={node} state={state} />
|
|
26
|
+
))}
|
|
27
|
+
</ul>
|
|
28
|
+
</li>
|
|
29
|
+
</>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useListBox } from 'react-aria';
|
|
3
|
+
|
|
4
|
+
import { ListBoxSection, Option } from './components/index.js';
|
|
5
|
+
import { ListBoxProps } from './list-box.types.js';
|
|
6
|
+
|
|
7
|
+
export function ListBox(props: ListBoxProps) {
|
|
8
|
+
const ref = React.useRef<HTMLUListElement>(null);
|
|
9
|
+
|
|
10
|
+
const { listBoxRef = ref, state } = props;
|
|
11
|
+
|
|
12
|
+
const { listBoxProps } = useListBox(props, state, listBoxRef);
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<ul {...listBoxProps} ref={listBoxRef} className="max-h-[400px] w-full overflow-auto outline-none">
|
|
16
|
+
{[...state.collection].map(item =>
|
|
17
|
+
item.type === 'section' ? (
|
|
18
|
+
<ListBoxSection key={item.key} section={item} state={state} />
|
|
19
|
+
) : (
|
|
20
|
+
<Option key={item.key} item={item} state={state} />
|
|
21
|
+
),
|
|
22
|
+
)}
|
|
23
|
+
</ul>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { AriaListBoxOptions } from 'react-aria';
|
|
3
|
+
import { ListState } from 'react-stately';
|
|
4
|
+
|
|
5
|
+
export type ListBoxProps<T = any> = AriaListBoxOptions<T> & {
|
|
6
|
+
listBoxRef?: React.RefObject<HTMLUListElement>;
|
|
7
|
+
state: ListState<T>;
|
|
8
|
+
} & HTMLAttributes<Element>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { clsx } from 'clsx';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { DismissButton, Overlay, usePopover } from 'react-aria';
|
|
4
|
+
|
|
5
|
+
import { PopoverProps } from './popover.types.js';
|
|
6
|
+
|
|
7
|
+
export function Popover(props: PopoverProps) {
|
|
8
|
+
const ref = React.useRef<HTMLDivElement>(null);
|
|
9
|
+
const { popoverRef = ref, state, children, className, isNonModal, portalContainer } = props;
|
|
10
|
+
const { popoverProps, underlayProps } = usePopover(
|
|
11
|
+
{
|
|
12
|
+
...props,
|
|
13
|
+
popoverRef,
|
|
14
|
+
},
|
|
15
|
+
state,
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
const width = props.triggerRef.current?.getBoundingClientRect().width;
|
|
19
|
+
return (
|
|
20
|
+
<Overlay portalContainer={portalContainer}>
|
|
21
|
+
{!isNonModal && <div {...underlayProps} className="fixed inset-0" />}
|
|
22
|
+
|
|
23
|
+
<div
|
|
24
|
+
{...popoverProps}
|
|
25
|
+
style={{ ...popoverProps.style, width: width ? `${width}px` : undefined }}
|
|
26
|
+
ref={popoverRef}
|
|
27
|
+
className={clsx('z-10 border border-border bg-white shadow-lg', className)}
|
|
28
|
+
>
|
|
29
|
+
{!isNonModal && <DismissButton onDismiss={state.close} />}
|
|
30
|
+
{children}
|
|
31
|
+
<DismissButton onDismiss={state.close} />
|
|
32
|
+
</div>
|
|
33
|
+
</Overlay>
|
|
34
|
+
);
|
|
35
|
+
}
|