@westpac/ui 0.7.0 → 0.7.1
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/CHANGELOG.md +6 -0
- package/assets/icons/filled/credit-cards-filled.svg +4 -0
- package/assets/icons/filled/exit-filled.svg +3 -3
- package/assets/icons/filled/office-filled.svg +1 -4
- package/assets/icons/filled/pay-to-filled.svg +5 -0
- package/assets/icons/filled/tiles-filled.svg +6 -0
- package/assets/icons/outlined/credit-cards-outlined.svg +4 -0
- package/assets/icons/outlined/exit-outlined.svg +3 -3
- package/assets/icons/outlined/office-outlined.svg +4 -1
- package/assets/icons/outlined/pay-to-outlined.svg +5 -0
- package/assets/icons/outlined/tiles-outlined.svg +3 -0
- package/dist/component-type.json +1 -0
- package/dist/components/accordion/accordion.component.d.ts +8 -23
- package/dist/components/accordion/accordion.component.js +3 -4
- package/dist/components/accordion/accordion.stories.d.ts +9 -6
- package/dist/components/accordion/accordion.stories.js +37 -29
- package/dist/components/accordion/accordion.styles.d.ts +1 -9
- package/dist/components/accordion/accordion.styles.js +1 -5
- package/dist/components/accordion/accordion.types.d.ts +11 -5
- package/dist/components/accordion/components/accordion-item/accordion-item.component.d.ts +4 -1
- package/dist/components/accordion/components/accordion-item/accordion-item.component.js +18 -17
- package/dist/components/accordion/components/accordion-item/accordion-item.styles.d.ts +4 -24
- package/dist/components/accordion/components/accordion-item/accordion-item.styles.js +8 -42
- package/dist/components/accordion/components/accordion-item/accordion-item.types.d.ts +7 -1
- package/dist/components/alert/alert.component.js +1 -0
- package/dist/components/alert/alert.styles.js +3 -3
- package/dist/components/alert/alert.types.d.ts +1 -3
- package/dist/components/autocomplete/autocomplete.component.js +1 -0
- package/dist/components/autocomplete/autocomplete.types.d.ts +15 -1
- package/dist/components/autocomplete/components/list-box/components/list-box-option/list-box-option.component.d.ts +3 -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/list-box.component.d.ts +3 -0
- package/dist/components/autocomplete/components/popover/popover.component.d.ts +3 -0
- package/dist/components/badge/badge.component.d.ts +7 -49
- package/dist/components/badge/badge.component.js +1 -0
- package/dist/components/badge/badge.types.d.ts +11 -1
- package/dist/components/breadcrumb/breadcrumb.component.d.ts +1 -21
- package/dist/components/breadcrumb/breadcrumb.component.js +1 -0
- package/dist/components/breadcrumb/breadcrumb.types.d.ts +8 -2
- package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.component.d.ts +1 -21
- package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.component.js +1 -0
- package/dist/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.types.d.ts +1 -3
- package/dist/components/button/button.component.d.ts +16 -125
- package/dist/components/button/button.component.js +1 -0
- package/dist/components/button/button.styles.js +5 -5
- package/dist/components/button/button.types.d.ts +23 -1
- package/dist/components/button-dropdown/button-dropdown.component.js +1 -0
- package/dist/components/button-dropdown/button-dropdown.styles.d.ts +2 -0
- package/dist/components/button-dropdown/button-dropdown.styles.js +2 -1
- package/dist/components/button-dropdown/button-dropdown.types.d.ts +7 -1
- package/dist/components/button-dropdown/components/panel/panel.component.d.ts +3 -0
- package/dist/components/button-group/button-group.component.js +1 -0
- package/dist/components/checkbox-group/checkbox-group.component.js +1 -0
- package/dist/components/checkbox-group/components/checkbox/checkbox.component.js +11 -4
- package/dist/components/circle/circle.types.d.ts +1 -3
- package/dist/components/collapsible/collapsible.component.js +1 -0
- package/dist/components/collapsible/collapsible.styles.js +1 -1
- package/dist/components/compacta/compacta.component.js +2 -1
- package/dist/components/compacta/compacta.styles.js +10 -10
- package/dist/components/date-picker/date-picker.component.js +1 -0
- package/dist/components/date-picker/date-picker.types.d.ts +7 -1
- package/dist/components/error-message/error-message.types.d.ts +1 -3
- package/dist/components/field/field.component.js +1 -0
- package/dist/components/field/field.types.d.ts +1 -3
- package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.d.ts +4 -1
- package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.types.d.ts +1 -3
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.d.ts +4 -1
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.types.d.ts +1 -3
- package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.d.ts +4 -1
- package/dist/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.d.ts +4 -1
- package/dist/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.d.ts +4 -1
- package/dist/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.d.ts +4 -1
- package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.types.d.ts +1 -3
- package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.d.ts +4 -1
- package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.js +1 -0
- package/dist/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.types.d.ts +1 -3
- package/dist/components/flexi-cell/flexi-cell.component.js +1 -0
- package/dist/components/flexi-cell/flexi-cell.types.d.ts +1 -3
- package/dist/components/form/components/form-chit-chat/form-chit-chat.types.d.ts +1 -3
- package/dist/components/form/components/form-group/form-group.types.d.ts +1 -3
- package/dist/components/form/components/form-section/form-section.types.d.ts +7 -1
- package/dist/components/form/form.component.js +1 -0
- package/dist/components/form/form.types.d.ts +9 -0
- package/dist/components/form-hint/form-hint.types.d.ts +1 -3
- package/dist/components/form-label/form-label.types.d.ts +8 -2
- package/dist/components/grid/components/container/container.types.d.ts +1 -3
- package/dist/components/grid/components/item/item.types.d.ts +11 -1
- package/dist/components/grid/grid.types.d.ts +1 -3
- package/dist/components/icon/components/credit-cards-icon.d.ts +2 -0
- package/dist/components/icon/components/credit-cards-icon.js +38 -0
- package/dist/components/icon/components/exit-icon.js +2 -2
- package/dist/components/icon/components/office-icon.d.ts +1 -1
- package/dist/components/icon/components/office-icon.js +19 -5
- package/dist/components/icon/components/pay-to-icon.d.ts +2 -0
- package/dist/components/icon/components/pay-to-icon.js +34 -0
- package/dist/components/icon/components/tiles-icon.d.ts +2 -0
- package/dist/components/icon/components/tiles-icon.js +39 -0
- package/dist/components/icon/icon.styles.d.ts +1 -1
- package/dist/components/icon/icon.styles.js +1 -1
- package/dist/components/icon/icon.types.d.ts +11 -1
- package/dist/components/icon/index.d.ts +3 -6
- package/dist/components/icon/index.js +3 -6
- package/dist/components/input/input.component.d.ts +4 -31
- package/dist/components/input/input.component.js +1 -0
- package/dist/components/input/input.styles.d.ts +1 -1
- package/dist/components/input/input.styles.js +1 -1
- package/dist/components/input/input.types.d.ts +10 -1
- package/dist/components/input-field/components/add-ons/add-ons.component.d.ts +3 -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.types.d.ts +1 -3
- 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.types.d.ts +1 -3
- 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.types.d.ts +1 -3
- 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.types.d.ts +1 -3
- package/dist/components/input-field/input-field.component.js +1 -0
- package/dist/components/input-field/input-field.scenarios.stories.js +2 -2
- package/dist/components/input-field/input-field.types.d.ts +1 -3
- package/dist/components/link/link.component.js +1 -0
- package/dist/components/list/list.component.js +1 -0
- package/dist/components/modal/components/backdrop/backdrop.types.d.ts +1 -3
- package/dist/components/modal/components/dialog/components/dialog-body/dialog-body.types.d.ts +1 -3
- package/dist/components/modal/components/dialog/components/dialog-footer/dialog-footer.types.d.ts +1 -3
- package/dist/components/modal/components/dialog/dialog.types.d.ts +7 -1
- package/dist/components/modal/modal.component.js +1 -0
- package/dist/components/pagination/components/pagination-item/pagination-item.component.d.ts +1 -1
- package/dist/components/pagination/components/pagination-item/pagination-item.component.js +2 -1
- package/dist/components/pagination/components/pagination-item/pagination-item.styles.d.ts +9 -1
- package/dist/components/pagination/components/pagination-item/pagination-item.styles.js +7 -3
- package/dist/components/pagination/components/pagination-item/pagination-item.types.d.ts +20 -2
- package/dist/components/pagination/pagination.component.js +3 -1
- package/dist/components/pagination/pagination.stories.js +1 -1
- package/dist/components/pagination/pagination.styles.js +1 -1
- package/dist/components/pagination/pagination.types.d.ts +1 -3
- package/dist/components/pictogram/pictogram.types.d.ts +1 -3
- package/dist/components/popover/popover.component.js +1 -0
- package/dist/components/progress-bar/progress-bar.component.js +1 -0
- package/dist/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.types.d.ts +1 -3
- package/dist/components/progress-rope/components/progress-rope-step/progress-rope-step.types.d.ts +11 -1
- package/dist/components/progress-rope/progress-rope.component.js +1 -0
- package/dist/components/progress-rope/progress-rope.types.d.ts +1 -3
- package/dist/components/radio-group/components/radio/radio.component.js +1 -0
- package/dist/components/radio-group/components/radio/radio.styles.js +2 -2
- package/dist/components/radio-group/radio-group.component.js +1 -0
- package/dist/components/repeater/repeater.component.js +3 -1
- package/dist/components/repeater/repeater.styles.js +2 -2
- package/dist/components/select/select.component.d.ts +8 -35
- package/dist/components/select/select.component.js +1 -0
- package/dist/components/select/select.styles.d.ts +1 -1
- package/dist/components/select/select.styles.js +1 -1
- package/dist/components/select/select.types.d.ts +12 -1
- package/dist/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.d.ts +1 -3
- package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.component.d.ts +28 -7
- package/dist/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.d.ts +1 -3
- package/dist/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.d.ts +1 -3
- package/dist/components/selector/components/selector-radio-group/selector-radio-group.component.d.ts +28 -7
- package/dist/components/selector/components/selector-radio-group/selector-radio-group.types.d.ts +7 -1
- package/dist/components/selector/selector.component.d.ts +81 -21
- package/dist/components/selector/selector.component.js +1 -0
- package/dist/components/skip-link/skip-link.component.js +1 -0
- package/dist/components/skip-link/skip-link.types.d.ts +1 -3
- package/dist/components/switch/switch.component.js +1 -0
- package/dist/components/switch/switch.types.d.ts +8 -2
- package/dist/components/symbol/index.d.ts +1 -0
- package/dist/components/symbol/index.js +1 -0
- package/dist/components/symbol/symbol.stories.d.ts +1 -0
- package/dist/components/symbol/symbol.stories.js +62 -3
- package/dist/components/symbol/symbol.types.d.ts +1 -3
- package/dist/components/table/table.component.js +1 -0
- package/dist/components/tabs/components/tab/tab.types.d.ts +15 -1
- package/dist/components/tabs/components/tab-panel/tab-panel.component.d.ts +3 -0
- package/dist/components/tabs/components/tab-panel/tab-panel.component.js +1 -0
- package/dist/components/tabs/components/tab-panel/tab-panel.types.d.ts +7 -1
- package/dist/components/tabs/tabs.component.js +1 -0
- package/dist/components/tabs/tabs.types.d.ts +15 -1
- package/dist/components/textarea/textarea.component.d.ts +8 -31
- package/dist/components/textarea/textarea.component.js +1 -0
- package/dist/components/textarea/textarea.styles.d.ts +1 -1
- package/dist/components/textarea/textarea.styles.js +1 -1
- package/dist/components/textarea/textarea.types.d.ts +12 -1
- package/dist/components/visually-hidden/visually-hidden.types.d.ts +1 -3
- package/dist/components/well/well.types.d.ts +7 -1
- package/dist/css/westpac-ui.css +67 -392
- package/dist/css/westpac-ui.min.css +67 -392
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/stories/foundation/colours.stories.js +0 -1
- package/dist/types/component-props.types.d.ts +2 -0
- package/dist/types/component-props.types.js +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.js +1 -0
- package/generate-component-types.cjs +85 -0
- package/package.json +13 -8
- package/src/components/accordion/accordion.component.tsx +5 -8
- package/src/components/accordion/accordion.stories.tsx +40 -31
- package/src/components/accordion/accordion.styles.ts +1 -5
- package/src/components/accordion/accordion.types.ts +15 -11
- package/src/components/accordion/components/accordion-item/accordion-item.component.tsx +11 -15
- package/src/components/accordion/components/accordion-item/accordion-item.styles.ts +7 -36
- package/src/components/accordion/components/accordion-item/accordion-item.types.ts +7 -2
- package/src/components/alert/alert.component.tsx +2 -0
- package/src/components/alert/alert.styles.ts +3 -3
- package/src/components/alert/alert.types.ts +1 -5
- package/src/components/autocomplete/autocomplete.component.tsx +2 -0
- package/src/components/autocomplete/autocomplete.types.ts +15 -2
- package/src/components/autocomplete/components/list-box/components/list-box-option/list-box-option.component.tsx +3 -0
- package/src/components/autocomplete/components/list-box/components/list-box-section/list-box-section.component.tsx +3 -0
- package/src/components/autocomplete/components/list-box/list-box.component.tsx +3 -0
- package/src/components/autocomplete/components/popover/popover.component.tsx +3 -1
- package/src/components/autocomplete/components/popover/popover.types.ts +1 -0
- package/src/components/badge/badge.component.tsx +2 -0
- package/src/components/badge/badge.types.ts +11 -2
- package/src/components/breadcrumb/breadcrumb.component.tsx +2 -0
- package/src/components/breadcrumb/breadcrumb.types.ts +9 -2
- package/src/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.component.tsx +2 -0
- package/src/components/breadcrumb/components/breadcrumb-item/breadcrumb-item.types.ts +1 -5
- package/src/components/button/button.component.tsx +2 -0
- package/src/components/button/button.styles.ts +5 -5
- package/src/components/button/button.types.ts +23 -2
- package/src/components/button-dropdown/button-dropdown.component.tsx +2 -0
- package/src/components/button-dropdown/button-dropdown.styles.ts +1 -0
- package/src/components/button-dropdown/button-dropdown.types.ts +7 -2
- package/src/components/button-dropdown/components/panel/panel.component.tsx +3 -0
- package/src/components/button-group/button-group.component.tsx +2 -0
- package/src/components/checkbox-group/checkbox-group.component.tsx +2 -0
- package/src/components/checkbox-group/components/checkbox/checkbox.component.tsx +17 -7
- package/src/components/circle/circle.types.ts +1 -5
- package/src/components/collapsible/collapsible.component.tsx +2 -0
- package/src/components/collapsible/collapsible.styles.ts +1 -1
- package/src/components/compacta/compacta.component.tsx +17 -13
- package/src/components/compacta/compacta.styles.ts +10 -10
- package/src/components/date-picker/date-picker.component.tsx +2 -0
- package/src/components/date-picker/date-picker.types.ts +7 -2
- package/src/components/error-message/error-message.types.ts +1 -5
- package/src/components/field/field.component.tsx +2 -0
- package/src/components/field/field.types.ts +0 -4
- package/src/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.component.tsx +1 -0
- package/src/components/flexi-cell/components/flexi-cell-adornment/flexi-cell-adornment.types.ts +1 -5
- package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.component.tsx +1 -0
- package/src/components/flexi-cell/components/flexi-cell-body/flexi-cell-body.types.ts +1 -5
- package/src/components/flexi-cell/components/flexi-cell-button/flexi-cell-button.component.tsx +1 -0
- package/src/components/flexi-cell/components/flexi-cell-circle/flexi-cell-circle.component.tsx +1 -0
- package/src/components/flexi-cell/components/flexi-cell-footer/flexi-cell-footer.component.tsx +1 -0
- package/src/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.component.tsx +1 -0
- package/src/components/flexi-cell/components/flexi-cell-hint/flexi-cell-hint.types.ts +1 -5
- package/src/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.component.tsx +1 -0
- package/src/components/flexi-cell/components/flexi-cell-label/flexi-cell-label.types.ts +1 -5
- package/src/components/flexi-cell/flexi-cell.component.tsx +2 -0
- package/src/components/flexi-cell/flexi-cell.types.ts +1 -7
- package/src/components/form/components/form-chit-chat/form-chit-chat.types.ts +1 -5
- package/src/components/form/components/form-group/form-group.types.ts +1 -5
- package/src/components/form/components/form-section/form-section.types.ts +7 -2
- package/src/components/form/form.component.tsx +2 -0
- package/src/components/form/form.types.ts +9 -0
- package/src/components/form-hint/form-hint.types.ts +1 -5
- package/src/components/form-label/form-label.types.ts +8 -3
- package/src/components/grid/components/container/container.types.ts +1 -5
- package/src/components/grid/components/item/item.types.ts +11 -2
- package/src/components/grid/grid.types.ts +1 -5
- package/src/components/icon/components/credit-cards-icon.tsx +43 -0
- package/src/components/icon/components/exit-icon.tsx +2 -2
- package/src/components/icon/components/office-icon.tsx +30 -11
- package/src/components/icon/components/pay-to-icon.tsx +33 -0
- package/src/components/icon/components/tiles-icon.tsx +43 -0
- package/src/components/icon/icon.styles.ts +1 -1
- package/src/components/icon/icon.types.ts +11 -1
- package/src/components/icon/index.ts +3 -6
- package/src/components/input/input.component.tsx +2 -0
- package/src/components/input/input.styles.ts +1 -1
- package/src/components/input/input.types.ts +12 -2
- package/src/components/input-field/components/add-ons/add-ons.component.tsx +3 -0
- package/src/components/input-field/components/add-ons/components/default-add-on/default-add-on.component.tsx +3 -0
- package/src/components/input-field/components/add-ons/components/default-add-on/default-add-on.types.ts +1 -4
- package/src/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.component.tsx +3 -0
- package/src/components/input-field/components/add-ons/components/icon-add-on/icon-add-on.types.ts +1 -4
- package/src/components/input-field/components/add-ons/components/text-add-on/text-add-on.component.tsx +3 -0
- package/src/components/input-field/components/add-ons/components/text-add-on/text-add-on.types.ts +1 -4
- package/src/components/input-field/components/supporting-text/supporting-text.component.tsx +3 -0
- package/src/components/input-field/components/supporting-text/supporting-text.types.ts +1 -5
- package/src/components/input-field/input-field.component.tsx +2 -0
- package/src/components/input-field/input-field.scenarios.stories.tsx +2 -2
- package/src/components/input-field/input-field.types.ts +1 -4
- package/src/components/link/link.component.tsx +2 -0
- package/src/components/list/list.component.tsx +2 -0
- package/src/components/modal/components/backdrop/backdrop.types.ts +1 -5
- package/src/components/modal/components/dialog/components/dialog-body/dialog-body.types.ts +1 -4
- package/src/components/modal/components/dialog/components/dialog-footer/dialog-footer.types.ts +1 -4
- package/src/components/modal/components/dialog/dialog.types.ts +7 -2
- package/src/components/modal/modal.component.tsx +2 -0
- package/src/components/pagination/components/pagination-item/pagination-item.component.tsx +2 -1
- package/src/components/pagination/components/pagination-item/pagination-item.styles.ts +7 -3
- package/src/components/pagination/components/pagination-item/pagination-item.types.ts +20 -3
- package/src/components/pagination/pagination.component.tsx +3 -0
- package/src/components/pagination/pagination.stories.tsx +1 -1
- package/src/components/pagination/pagination.styles.ts +1 -1
- package/src/components/pagination/pagination.types.ts +0 -3
- package/src/components/pictogram/pictogram.types.ts +1 -4
- package/src/components/popover/popover.component.tsx +2 -0
- package/src/components/progress-bar/progress-bar.component.tsx +2 -0
- package/src/components/progress-rope/components/progress-rope-group-step/progress-rope-group-step.types.ts +2 -4
- package/src/components/progress-rope/components/progress-rope-step/progress-rope-step.types.ts +10 -1
- package/src/components/progress-rope/progress-rope.component.tsx +2 -0
- package/src/components/progress-rope/progress-rope.types.ts +1 -5
- package/src/components/radio-group/components/radio/radio.component.tsx +1 -0
- package/src/components/radio-group/components/radio/radio.styles.ts +2 -2
- package/src/components/radio-group/radio-group.component.tsx +2 -0
- package/src/components/repeater/repeater.component.tsx +6 -2
- package/src/components/repeater/repeater.styles.ts +2 -2
- package/src/components/select/select.component.tsx +2 -0
- package/src/components/select/select.styles.ts +1 -1
- package/src/components/select/select.types.ts +12 -1
- package/src/components/selector/components/selector-checkbox-group/components/selector-checkbox-group-option/selector-checkbox-group-option.types.ts +0 -4
- package/src/components/selector/components/selector-checkbox-group/selector-checkbox-group.types.ts +0 -4
- package/src/components/selector/components/selector-radio-group/components/selector-radio-group-option/selector-radio-group-option.types.ts +0 -4
- package/src/components/selector/components/selector-radio-group/selector-radio-group.types.ts +7 -2
- package/src/components/selector/selector.component.tsx +2 -0
- package/src/components/skip-link/skip-link.component.tsx +2 -0
- package/src/components/skip-link/skip-link.types.ts +0 -4
- package/src/components/switch/switch.component.tsx +2 -0
- package/src/components/switch/switch.types.ts +8 -3
- package/src/components/symbol/index.ts +1 -0
- package/src/components/symbol/symbol.stories.tsx +66 -8
- package/src/components/symbol/symbol.types.ts +1 -4
- package/src/components/table/table.component.tsx +2 -0
- package/src/components/tabs/components/tab/tab.types.ts +15 -2
- package/src/components/tabs/components/tab-panel/tab-panel.component.tsx +1 -0
- package/src/components/tabs/components/tab-panel/tab-panel.types.ts +6 -1
- package/src/components/tabs/tabs.component.tsx +2 -0
- package/src/components/tabs/tabs.stories.tsx +0 -1
- package/src/components/tabs/tabs.types.ts +37 -24
- package/src/components/textarea/textarea.component.tsx +2 -0
- package/src/components/textarea/textarea.styles.ts +1 -1
- package/src/components/textarea/textarea.types.ts +12 -1
- package/src/components/visually-hidden/visually-hidden.types.ts +1 -5
- package/src/components/well/well.types.tsx +7 -2
- package/src/index.ts +1 -0
- package/src/stories/foundation/colours.stories.tsx +0 -1
- package/src/types/component-props.types.ts +3 -0
- package/src/types/index.ts +1 -0
- package/utils/build-icons/index.ts +5 -2
- package/dist/components/icon/components/bom-logo-icon.d.ts +0 -2
- package/dist/components/icon/components/bom-logo-icon.js +0 -86
- package/dist/components/icon/components/bsa-logo-icon.d.ts +0 -2
- package/dist/components/icon/components/bsa-logo-icon.js +0 -32
- package/dist/components/icon/components/rams-logo-icon.d.ts +0 -2
- package/dist/components/icon/components/rams-logo-icon.js +0 -120
- package/dist/components/icon/components/stg-logo-icon.d.ts +0 -2
- package/dist/components/icon/components/stg-logo-icon.js +0 -44
- package/dist/components/icon/components/wbc-logo-icon.d.ts +0 -2
- package/dist/components/icon/components/wbc-logo-icon.js +0 -26
- package/dist/components/icon/components/wbg-logo-icon.d.ts +0 -2
- package/dist/components/icon/components/wbg-logo-icon.js +0 -29
- package/src/components/icon/components/bom-logo-icon.tsx +0 -40
- package/src/components/icon/components/bsa-logo-icon.tsx +0 -28
- package/src/components/icon/components/rams-logo-icon.tsx +0 -71
- package/src/components/icon/components/stg-logo-icon.tsx +0 -44
- package/src/components/icon/components/wbc-logo-icon.tsx +0 -20
- package/src/components/icon/components/wbg-logo-icon.tsx +0 -24
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './component-props.types.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './component-props.types.js';
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
const { glob } = require('glob');
|
|
5
|
+
const docgen = require('react-docgen-typescript');
|
|
6
|
+
|
|
7
|
+
const components = path.join('src', 'components', '**/*.component.tsx');
|
|
8
|
+
const outputFolder = path.join((process.cwd(), 'dist'));
|
|
9
|
+
const outputFile = path.join(outputFolder, 'component-type.json');
|
|
10
|
+
|
|
11
|
+
const tsConfigParser = docgen.withCustomConfig('./tsconfig.json', {
|
|
12
|
+
propFilter: {
|
|
13
|
+
skipPropsWithName: ['className', 'key'],
|
|
14
|
+
},
|
|
15
|
+
skipChildrenPropWithoutDoc: false,
|
|
16
|
+
savePropValueAsString: true,
|
|
17
|
+
shouldRemoveUndefinedFromOptional: true,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
const TYPES_TO_BE_IGNORED = [
|
|
21
|
+
'DOMAttributes',
|
|
22
|
+
'HTMLAttributes',
|
|
23
|
+
'AriaAttributes',
|
|
24
|
+
'SVGAttributes',
|
|
25
|
+
'TextareaHTMLAttributes',
|
|
26
|
+
];
|
|
27
|
+
|
|
28
|
+
(async () => {
|
|
29
|
+
const results = await glob(components);
|
|
30
|
+
|
|
31
|
+
const data = Object.fromEntries(
|
|
32
|
+
tsConfigParser.parse(results).reduce((acc, { displayName, description, props, tags }) => {
|
|
33
|
+
/**
|
|
34
|
+
* Some components should not be scanned since it is a internal component
|
|
35
|
+
* so the comment @private is used in order to skip some components.
|
|
36
|
+
*/
|
|
37
|
+
if (tags.private !== undefined) {
|
|
38
|
+
return acc;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return [
|
|
42
|
+
...acc,
|
|
43
|
+
[
|
|
44
|
+
displayName,
|
|
45
|
+
{
|
|
46
|
+
displayName,
|
|
47
|
+
description,
|
|
48
|
+
// Sort the required props before the non-required props, then sort alphabetically
|
|
49
|
+
props: Object.fromEntries(
|
|
50
|
+
Object.values(props)
|
|
51
|
+
.sort((a, b) => {
|
|
52
|
+
if (a.required !== b.required) {
|
|
53
|
+
if (a.required) return -1;
|
|
54
|
+
return 1;
|
|
55
|
+
}
|
|
56
|
+
return a.name.localeCompare(b.name);
|
|
57
|
+
})
|
|
58
|
+
.filter(a => {
|
|
59
|
+
if (a.name === 'children' && a.description) {
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
if (TYPES_TO_BE_IGNORED.includes(a.parent ? a.parent.name : '')) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
})
|
|
67
|
+
.map(a => {
|
|
68
|
+
if (a.name === 'tag' && a.type.name.indexOf('more ...') !== -1) {
|
|
69
|
+
return [a.name, { ...a, type: { ...a.type, name: 'keyof IntrinsicElements' } }];
|
|
70
|
+
}
|
|
71
|
+
return [a.name, a];
|
|
72
|
+
}),
|
|
73
|
+
),
|
|
74
|
+
},
|
|
75
|
+
],
|
|
76
|
+
];
|
|
77
|
+
}, []),
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
// Create the output folder if it doesn't exist
|
|
81
|
+
if (!fs.existsSync(outputFolder)) fs.mkdirSync(outputFolder);
|
|
82
|
+
|
|
83
|
+
// Write the output from react-docgen-typescript to the output file
|
|
84
|
+
fs.writeFileSync(outputFile, JSON.stringify(data));
|
|
85
|
+
})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@westpac/ui",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -16,6 +16,9 @@
|
|
|
16
16
|
".": {
|
|
17
17
|
"default": "./dist/index.js"
|
|
18
18
|
},
|
|
19
|
+
"./component-type.json": {
|
|
20
|
+
"default": "./dist/component-type.json"
|
|
21
|
+
},
|
|
19
22
|
"./css": {
|
|
20
23
|
"default": "./dist/css/westpac-ui.min.css"
|
|
21
24
|
},
|
|
@@ -44,6 +47,7 @@
|
|
|
44
47
|
"!**/*.{test,spec}.{ts,tsx,js,jsx}"
|
|
45
48
|
],
|
|
46
49
|
"devDependencies": {
|
|
50
|
+
"@react-types/tabs": "~3.3.0",
|
|
47
51
|
"@react-types/accordion": "3.0.0-alpha.14",
|
|
48
52
|
"@react-types/combobox": "~3.7.0",
|
|
49
53
|
"@react-types/shared": "~3.18.1",
|
|
@@ -84,6 +88,7 @@
|
|
|
84
88
|
"prettier": "^2.8.4",
|
|
85
89
|
"prop-types": "^15.8.1",
|
|
86
90
|
"react": "^18.2.0",
|
|
91
|
+
"react-docgen-typescript": "~2.2.2",
|
|
87
92
|
"react-dom": "^18.2.0",
|
|
88
93
|
"shx": "^0.3.4",
|
|
89
94
|
"storybook": "^7.0.21",
|
|
@@ -93,21 +98,20 @@
|
|
|
93
98
|
"ts-node": "~10.9.1",
|
|
94
99
|
"typescript": "^5.1.6",
|
|
95
100
|
"vite": "^4.3.4",
|
|
96
|
-
"vitest": "^0.30.1"
|
|
101
|
+
"vitest": "^0.30.1",
|
|
102
|
+
"@westpac/eslint-config": "~0.1.0",
|
|
103
|
+
"@westpac/test-config": "~0.0.0",
|
|
104
|
+
"@westpac/ts-config": "~0.0.0"
|
|
97
105
|
},
|
|
98
106
|
"dependencies": {
|
|
99
107
|
"@duetds/date-picker": "~1.4.0",
|
|
100
108
|
"@react-aria/accordion": "3.0.0-alpha.19",
|
|
101
109
|
"@react-aria/utils": "~3.18.0",
|
|
102
110
|
"@react-spectrum/utils": "~3.10.0",
|
|
103
|
-
"@react-types/tabs": "~3.3.0",
|
|
104
111
|
"clsx": "^1.2.1",
|
|
105
112
|
"framer-motion": "~10.12.16",
|
|
106
113
|
"react-aria": "~3.25.0",
|
|
107
|
-
"react-stately": "~3.23.0"
|
|
108
|
-
"@westpac/eslint-config": "~0.1.0",
|
|
109
|
-
"@westpac/test-config": "~0.0.0",
|
|
110
|
-
"@westpac/ts-config": "~0.0.0"
|
|
114
|
+
"react-stately": "~3.23.0"
|
|
111
115
|
},
|
|
112
116
|
"overrides": {
|
|
113
117
|
"react-aria": {
|
|
@@ -132,7 +136,8 @@
|
|
|
132
136
|
"build:esm": "swc ./src -d dist --no-swcrc --config-file .swcrc",
|
|
133
137
|
"build:icons": "ts-node --esm ./utils/build-icons/index.ts",
|
|
134
138
|
"build:watch": "pnpm clean && pnpm build:types && pnpm build:esm -w && pnpm build:css:all",
|
|
135
|
-
"build": "
|
|
139
|
+
"build:type-table": "node generate-component-types.cjs",
|
|
140
|
+
"build": "pnpm clean && pnpm build:types && pnpm build:esm && pnpm build:css:all && pnpm build:type-table",
|
|
136
141
|
"check-types": "tsc --noemit --emitDeclarationOnly false",
|
|
137
142
|
"lint": "eslint \"./src/**/*.{ts,tsx,js,jsx}\"",
|
|
138
143
|
"lint:fix": "eslint \"./src/**/*.{ts,tsx,js,jsx}\" --fix",
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
1
3
|
import { useAccordion } from '@react-aria/accordion';
|
|
2
4
|
import { filterDOMProps } from '@react-aria/utils';
|
|
3
5
|
import { useDOMRef } from '@react-spectrum/utils';
|
|
@@ -9,7 +11,7 @@ import { type AccordionProps } from './accordion.types.js';
|
|
|
9
11
|
import { AccordionItem } from './components/index.js';
|
|
10
12
|
|
|
11
13
|
function Accordion<T extends object>(
|
|
12
|
-
{ className,
|
|
14
|
+
{ className, rounded = true, look = 'soft', ...props }: AccordionProps<T>,
|
|
13
15
|
ref: any,
|
|
14
16
|
) {
|
|
15
17
|
// react-aria doesn't allow for now to use component children when there is multiple levels
|
|
@@ -33,15 +35,10 @@ function Accordion<T extends object>(
|
|
|
33
35
|
const { accordionProps } = useAccordion(finalProps, state, domRef);
|
|
34
36
|
|
|
35
37
|
return (
|
|
36
|
-
<div
|
|
37
|
-
{...filterDOMProps(finalProps)}
|
|
38
|
-
{...accordionProps}
|
|
39
|
-
ref={domRef}
|
|
40
|
-
className={styles({ className, rounded, look })}
|
|
41
|
-
>
|
|
38
|
+
<div {...filterDOMProps(finalProps)} {...accordionProps} ref={domRef} className={styles({ className, rounded })}>
|
|
42
39
|
<div className="mt-[-1px]">
|
|
43
40
|
{[...state.collection].map(item => (
|
|
44
|
-
<AccordionItem<T> key={item.key} item={item} state={state}
|
|
41
|
+
<AccordionItem<T> key={item.key} item={item} state={state} look={look} />
|
|
45
42
|
))}
|
|
46
43
|
</div>
|
|
47
44
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Meta, StoryFn, type StoryObj } from '@storybook/react';
|
|
2
2
|
import { Key, useState } from 'react';
|
|
3
3
|
|
|
4
|
-
import { Button } from '../index.js';
|
|
4
|
+
import { Button, Tabs } from '../index.js';
|
|
5
5
|
|
|
6
6
|
import { Accordion } from './accordion.component.js';
|
|
7
7
|
|
|
@@ -35,7 +35,6 @@ type Story = StoryObj<typeof meta>;
|
|
|
35
35
|
export const Default: Story = {
|
|
36
36
|
args: {
|
|
37
37
|
rounded: true,
|
|
38
|
-
color: undefined,
|
|
39
38
|
children: [
|
|
40
39
|
{ key: 'files', title: 'My files' },
|
|
41
40
|
{ key: 'shared', title: 'Shared with us' },
|
|
@@ -54,35 +53,11 @@ export const Default: Story = {
|
|
|
54
53
|
};
|
|
55
54
|
|
|
56
55
|
/**
|
|
57
|
-
* >
|
|
56
|
+
* > Lego look using Hero color
|
|
58
57
|
*/
|
|
59
|
-
export const
|
|
58
|
+
export const LegoLook: Story = {
|
|
60
59
|
args: {
|
|
61
|
-
|
|
62
|
-
rounded: false,
|
|
63
|
-
},
|
|
64
|
-
render: ({ ...props }) => (
|
|
65
|
-
<Accordion {...props}>
|
|
66
|
-
{[
|
|
67
|
-
{ key: 'colors', title: 'Your colors' },
|
|
68
|
-
{ key: 'shared', title: 'Shared color' },
|
|
69
|
-
{ key: 'last', title: 'Last item' },
|
|
70
|
-
].map(({ key, title }) => (
|
|
71
|
-
<Accordion.Item key={key} title={title}>
|
|
72
|
-
<p>{title}</p>
|
|
73
|
-
<Button>Test</Button>
|
|
74
|
-
</Accordion.Item>
|
|
75
|
-
))}
|
|
76
|
-
</Accordion>
|
|
77
|
-
),
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* > Hero color usage example
|
|
82
|
-
*/
|
|
83
|
-
export const HeroColor: Story = {
|
|
84
|
-
args: {
|
|
85
|
-
color: 'hero',
|
|
60
|
+
look: 'lego',
|
|
86
61
|
rounded: false,
|
|
87
62
|
},
|
|
88
63
|
render: ({ ...props }) => (
|
|
@@ -104,9 +79,9 @@ export const HeroColor: Story = {
|
|
|
104
79
|
/**
|
|
105
80
|
* > Controlled example
|
|
106
81
|
*/
|
|
107
|
-
export const
|
|
82
|
+
export const Controlled: Story = {
|
|
108
83
|
args: {
|
|
109
|
-
|
|
84
|
+
look: 'lego',
|
|
110
85
|
rounded: false,
|
|
111
86
|
},
|
|
112
87
|
render: ({ ...props }) => {
|
|
@@ -133,3 +108,37 @@ export const ControlledColor: Story = {
|
|
|
133
108
|
);
|
|
134
109
|
},
|
|
135
110
|
};
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* > Example showing how you can use styling to change accordion to tabs responsively.
|
|
114
|
+
* > Replicates GEL Tabcordion functionality.
|
|
115
|
+
* NOTE: Due to how items work the Accordion.Item that are children of Tabs should be Tab.Panel but can't due to name sharing on this page.
|
|
116
|
+
* See the source of this example in, https://github.com/WestpacGEL/GEL-next/blob/main/packages/ui/src/components/accordion/accordion.stories.tsx#L142
|
|
117
|
+
*/
|
|
118
|
+
export const Responsive: Story = {
|
|
119
|
+
render: ({ ...props }) => {
|
|
120
|
+
const data = [
|
|
121
|
+
{ key: 'files', title: 'First Item', content: 'First Accordion content...' },
|
|
122
|
+
{ key: 'shared', title: 'Second Item', content: 'Second Accordion content...' },
|
|
123
|
+
{ key: 'last', title: 'Third Item', content: 'Third Accordion content...' },
|
|
124
|
+
];
|
|
125
|
+
return (
|
|
126
|
+
<>
|
|
127
|
+
<Accordion {...props} className="sm:hidden">
|
|
128
|
+
{data.map(({ key, title, content }) => (
|
|
129
|
+
<Accordion.Item key={key} title={title}>
|
|
130
|
+
<p>{content}</p>
|
|
131
|
+
</Accordion.Item>
|
|
132
|
+
))}
|
|
133
|
+
</Accordion>
|
|
134
|
+
<Tabs className="max-sm:hidden">
|
|
135
|
+
{data.map(({ key, title, content }) => (
|
|
136
|
+
<Tabs.Panel key={key} title={title}>
|
|
137
|
+
<p>{content}</p>
|
|
138
|
+
</Tabs.Panel>
|
|
139
|
+
))}
|
|
140
|
+
</Tabs>
|
|
141
|
+
</>
|
|
142
|
+
);
|
|
143
|
+
},
|
|
144
|
+
};
|
|
@@ -2,15 +2,11 @@ import { tv } from 'tailwind-variants';
|
|
|
2
2
|
|
|
3
3
|
export const styles = tv(
|
|
4
4
|
{
|
|
5
|
-
base: 'flex flex-col',
|
|
5
|
+
base: 'flex flex-col border border-border text-text',
|
|
6
6
|
variants: {
|
|
7
7
|
rounded: {
|
|
8
8
|
true: 'overflow-hidden rounded',
|
|
9
9
|
},
|
|
10
|
-
look: {
|
|
11
|
-
material: '',
|
|
12
|
-
default: 'border border-border',
|
|
13
|
-
},
|
|
14
10
|
},
|
|
15
11
|
},
|
|
16
12
|
{ responsiveVariants: ['xsl', 'sm', 'md', 'lg', 'xl'] },
|
|
@@ -5,14 +5,18 @@ import { type VariantProps } from 'tailwind-variants';
|
|
|
5
5
|
import { styles } from './accordion.styles.js';
|
|
6
6
|
import { AccordionItemProps } from './components/index.js';
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
type Variants = VariantProps<typeof styles>;
|
|
9
|
+
export type AccordionProps<T = any> = SpectrumAccordionProps<T> & {
|
|
10
|
+
/**
|
|
11
|
+
* Stretch the tab to fill the whole content
|
|
12
|
+
*/
|
|
13
|
+
justify?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* The look of the accordion
|
|
16
|
+
*/
|
|
17
|
+
look?: AccordionItemProps['look'];
|
|
18
|
+
/**
|
|
19
|
+
* Whether the accordion is rounded
|
|
20
|
+
*/
|
|
21
|
+
rounded?: Variants['rounded'];
|
|
22
|
+
} & Omit<HTMLAttributes<HTMLDivElement>, 'color'>;
|
|
@@ -13,8 +13,7 @@ const loadAnimations = () => import('./accordion-item.utils.js').then(res => res
|
|
|
13
13
|
export function AccordionItem<T = any>({
|
|
14
14
|
className,
|
|
15
15
|
tag: Tag = 'div',
|
|
16
|
-
|
|
17
|
-
look = 'default',
|
|
16
|
+
look = 'soft',
|
|
18
17
|
...props
|
|
19
18
|
}: AccordionItemProps<T>) {
|
|
20
19
|
const ref = useRef<HTMLButtonElement>(null);
|
|
@@ -25,10 +24,10 @@ export function AccordionItem<T = any>({
|
|
|
25
24
|
const isDisabled = state.disabledKeys.has(item.key);
|
|
26
25
|
const { hoverProps } = useHover({ isDisabled });
|
|
27
26
|
const { direction } = useLocale();
|
|
28
|
-
const styles = accordionItemStyles({ isOpen, isDisabled,
|
|
27
|
+
const styles = accordionItemStyles({ isOpen, isDisabled, look, isFocusVisible });
|
|
29
28
|
|
|
30
29
|
return (
|
|
31
|
-
<Tag className={styles.base()}>
|
|
30
|
+
<Tag className={styles.base({ className })}>
|
|
32
31
|
{/*
|
|
33
32
|
Using h3 tag since the official page is using it, also the react-spectrum
|
|
34
33
|
https://www.w3.org/WAI/ARIA/apg/patterns/accordion/examples/accordion/
|
|
@@ -36,13 +35,11 @@ export function AccordionItem<T = any>({
|
|
|
36
35
|
<h3>
|
|
37
36
|
<button {...mergeProps(buttonProps, hoverProps, focusProps)} ref={ref} className={styles.itemHeader()}>
|
|
38
37
|
<span>{item.props.title}</span>
|
|
39
|
-
{
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
<ArrowLeftIcon aria-hidden="true" className={styles.indicator()} />
|
|
45
|
-
))}
|
|
38
|
+
{direction === 'ltr' ? (
|
|
39
|
+
<ArrowRightIcon aria-hidden="true" className={styles.indicator()} />
|
|
40
|
+
) : (
|
|
41
|
+
<ArrowLeftIcon aria-hidden="true" className={styles.indicator()} />
|
|
42
|
+
)}
|
|
46
43
|
</button>
|
|
47
44
|
</h3>
|
|
48
45
|
<div {...regionProps}>
|
|
@@ -50,19 +47,17 @@ export function AccordionItem<T = any>({
|
|
|
50
47
|
<AnimatePresence initial={false}>
|
|
51
48
|
{isOpen && (
|
|
52
49
|
<m.div
|
|
50
|
+
className="overflow-hidden"
|
|
53
51
|
initial={{
|
|
54
52
|
height: 0,
|
|
55
|
-
opacity: 0,
|
|
56
53
|
}}
|
|
57
54
|
animate={{
|
|
58
55
|
height: 'auto',
|
|
59
|
-
opacity: 1,
|
|
60
56
|
}}
|
|
61
57
|
exit={{
|
|
62
58
|
height: 0,
|
|
63
|
-
opacity: 0,
|
|
64
59
|
}}
|
|
65
|
-
transition={{ duration: 0.
|
|
60
|
+
transition={{ duration: 0.3, ease: [0.25, 0.1, 0.25, 1.0] }}
|
|
66
61
|
>
|
|
67
62
|
<div className={styles.content()}>{item.props.children}</div>
|
|
68
63
|
</m.div>
|
|
@@ -73,3 +68,4 @@ export function AccordionItem<T = any>({
|
|
|
73
68
|
</Tag>
|
|
74
69
|
);
|
|
75
70
|
}
|
|
71
|
+
AccordionItem.displayName = 'Accordion.Item';
|
|
@@ -3,29 +3,18 @@ import { tv } from 'tailwind-variants';
|
|
|
3
3
|
export const styles = tv(
|
|
4
4
|
{
|
|
5
5
|
slots: {
|
|
6
|
-
base: '',
|
|
6
|
+
base: 'relative',
|
|
7
7
|
itemHeader: 'typography-body-9 flex w-full items-center justify-between px-3 py-2',
|
|
8
|
-
indicator: '',
|
|
8
|
+
indicator: 'h-3 w-3 rotate-90',
|
|
9
9
|
content: 'hidden',
|
|
10
10
|
},
|
|
11
11
|
variants: {
|
|
12
12
|
look: {
|
|
13
|
-
|
|
14
|
-
itemHeader: 'bg-white transition-colors hover:bg-light',
|
|
15
|
-
indicator:
|
|
16
|
-
'relative h-2 w-2 before:absolute before:left-1/2 before:top-1/2 before:block before:h-[2px] before:w-full before:-translate-x-1/2 before:-translate-y-1/2 before:bg-muted after:absolute after:left-1/2 after:top-1/2 after:block after:h-full after:w-[2px] after:-translate-x-1/2 after:-translate-y-1/2 after:bg-muted after:transition-transform',
|
|
17
|
-
},
|
|
18
|
-
default: {
|
|
13
|
+
soft: {
|
|
19
14
|
itemHeader: 'border-t border-border bg-light',
|
|
20
|
-
indicator: 'h-3 w-3 rotate-90 transition-transform',
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
|
-
color: {
|
|
24
|
-
hero: {
|
|
25
|
-
itemHeader: 'border-l-[0.375rem] border-l-border transition-colors',
|
|
26
15
|
},
|
|
27
|
-
|
|
28
|
-
itemHeader: 'border-l-[0.375rem] border-
|
|
16
|
+
lego: {
|
|
17
|
+
itemHeader: 'border-l-[0.375rem] border-t border-border bg-light transition-colors',
|
|
29
18
|
},
|
|
30
19
|
},
|
|
31
20
|
isOpen: {
|
|
@@ -52,36 +41,18 @@ export const styles = tv(
|
|
|
52
41
|
compoundSlots: [
|
|
53
42
|
{
|
|
54
43
|
slots: ['indicator'],
|
|
55
|
-
look: 'default',
|
|
56
44
|
isOpen: true,
|
|
57
45
|
className: '-rotate-90',
|
|
58
46
|
},
|
|
59
|
-
{
|
|
60
|
-
slots: ['indicator'],
|
|
61
|
-
look: 'material',
|
|
62
|
-
isOpen: true,
|
|
63
|
-
className: 'after:rotate-90',
|
|
64
|
-
},
|
|
65
47
|
{
|
|
66
48
|
slots: ['itemHeader'],
|
|
67
|
-
|
|
68
|
-
isOpen: true,
|
|
69
|
-
className: 'border-l-primary',
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
slots: ['itemHeader'],
|
|
73
|
-
color: 'hero',
|
|
49
|
+
look: 'lego',
|
|
74
50
|
isOpen: true,
|
|
75
51
|
className: 'border-l-hero',
|
|
76
52
|
},
|
|
77
53
|
{
|
|
78
54
|
slots: ['content'],
|
|
79
|
-
|
|
80
|
-
className: 'border-l-[0.375rem] border-l-border',
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
slots: ['content'],
|
|
84
|
-
color: 'primary',
|
|
55
|
+
look: 'lego',
|
|
85
56
|
className: 'border-l-[0.375rem] border-l-border',
|
|
86
57
|
},
|
|
87
58
|
],
|
|
@@ -4,11 +4,17 @@ import { type VariantProps } from 'tailwind-variants';
|
|
|
4
4
|
|
|
5
5
|
import { styles } from './accordion-item.styles.js';
|
|
6
6
|
|
|
7
|
+
type Variants = VariantProps<typeof styles>;
|
|
8
|
+
|
|
7
9
|
export type AccordionItemProps<T = any> = {
|
|
8
10
|
/**
|
|
9
11
|
* Node from react-stately
|
|
10
12
|
*/
|
|
11
13
|
item: Node<T>;
|
|
14
|
+
/**
|
|
15
|
+
* Look of the item
|
|
16
|
+
*/
|
|
17
|
+
look?: Variants['look'];
|
|
12
18
|
/**
|
|
13
19
|
* Tree state
|
|
14
20
|
*/
|
|
@@ -17,5 +23,4 @@ export type AccordionItemProps<T = any> = {
|
|
|
17
23
|
* Tag to render
|
|
18
24
|
*/
|
|
19
25
|
tag?: keyof JSX.IntrinsicElements;
|
|
20
|
-
} &
|
|
21
|
-
HTMLAttributes<Element>;
|
|
26
|
+
} & HTMLAttributes<Element>;
|
|
@@ -3,9 +3,9 @@ import { tv } from 'tailwind-variants';
|
|
|
3
3
|
export const styles = tv(
|
|
4
4
|
{
|
|
5
5
|
slots: {
|
|
6
|
-
base: 'typography-body-10 relative mb-4
|
|
7
|
-
icon: 'float-left mr-1 flex-none
|
|
8
|
-
body: '
|
|
6
|
+
base: 'typography-body-10 xsl:flex relative mb-4',
|
|
7
|
+
icon: 'xsl:mr-2 float-left mr-1 flex-none',
|
|
8
|
+
body: 'xsl:top-[0.125rem] relative flex-1 overflow-hidden [&_a]:underline',
|
|
9
9
|
heading: 'typography-body-9 mb-2 font-bold',
|
|
10
10
|
close: 'absolute right-[0.1875rem] top-[0.1875rem] p-1 hover:opacity-[0.8]',
|
|
11
11
|
},
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
|
2
|
-
import { type VariantProps } from 'tailwind-variants';
|
|
3
|
-
|
|
4
|
-
import { styles } from './alert.styles.js';
|
|
5
2
|
|
|
6
3
|
export type Look = 'info' | 'success' | 'warning' | 'danger' | 'system';
|
|
7
4
|
|
|
@@ -44,5 +41,4 @@ export type AlertProps = {
|
|
|
44
41
|
* Tag to render
|
|
45
42
|
*/
|
|
46
43
|
tag?: keyof JSX.IntrinsicElements;
|
|
47
|
-
} &
|
|
48
|
-
HTMLAttributes<Element>;
|
|
44
|
+
} & HTMLAttributes<Element>;
|
|
@@ -8,6 +8,8 @@ import { FormHintProps } from '../index.js';
|
|
|
8
8
|
import { styles } from './autocomplete.styles.js';
|
|
9
9
|
import { PopoverProps } from './components/index.js';
|
|
10
10
|
|
|
11
|
+
type Variants = VariantProps<typeof styles>;
|
|
12
|
+
|
|
11
13
|
export type AutocompleteProps<T extends object> = {
|
|
12
14
|
/**
|
|
13
15
|
* error message
|
|
@@ -21,10 +23,21 @@ export type AutocompleteProps<T extends object> = {
|
|
|
21
23
|
* hint message
|
|
22
24
|
*/
|
|
23
25
|
hintMessage?: FormHintProps['children'];
|
|
26
|
+
/**
|
|
27
|
+
* Whether autocomplete is invalid
|
|
28
|
+
*/
|
|
29
|
+
invalid?: Variants['invalid'];
|
|
30
|
+
/**
|
|
31
|
+
* Whether autocomplete is disabled
|
|
32
|
+
*/
|
|
33
|
+
isDisabled?: Variants['isDisabled'];
|
|
24
34
|
/**
|
|
25
35
|
* Element where the popover will be rendered, by default it will be into the body
|
|
26
36
|
*/
|
|
27
37
|
portalContainer?: PopoverProps['portalContainer'];
|
|
28
|
-
|
|
29
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Size of autocomplete
|
|
40
|
+
*/
|
|
41
|
+
size?: Variants['size'];
|
|
42
|
+
} & ComboBoxProps<T> &
|
|
30
43
|
AriaLabelingProps;
|
|
@@ -5,6 +5,9 @@ import { Option } from '../list-box-option/index.js';
|
|
|
5
5
|
|
|
6
6
|
import { type ListBoxSectionProps } from './list-box-section.types.js';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* @private
|
|
10
|
+
*/
|
|
8
11
|
export function ListBoxSection({ section, state }: ListBoxSectionProps) {
|
|
9
12
|
const { itemProps, headingProps, groupProps } = useListBoxSection({
|
|
10
13
|
heading: section.rendered,
|
|
@@ -4,6 +4,9 @@ import { useListBox } from 'react-aria';
|
|
|
4
4
|
import { ListBoxSection, Option } from './components/index.js';
|
|
5
5
|
import { ListBoxProps } from './list-box.types.js';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
7
10
|
export function ListBox(props: ListBoxProps) {
|
|
8
11
|
const ref = React.useRef<HTMLUListElement>(null);
|
|
9
12
|
|
|
@@ -3,7 +3,9 @@ import * as React from 'react';
|
|
|
3
3
|
import { DismissButton, Overlay, usePopover } from 'react-aria';
|
|
4
4
|
|
|
5
5
|
import { PopoverProps } from './popover.types.js';
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @private
|
|
8
|
+
*/
|
|
7
9
|
export function Popover(props: PopoverProps) {
|
|
8
10
|
const ref = React.useRef<HTMLDivElement>(null);
|
|
9
11
|
const { popoverRef = ref, state, children, className, isNonModal, portalContainer } = props;
|