@wordpress/components 28.4.0 → 28.6.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/CHANGELOG.md +113 -1
- package/CONTRIBUTING.md +155 -64
- package/build/alignment-matrix-control/cell.js +2 -2
- package/build/alignment-matrix-control/cell.js.map +1 -1
- package/build/alignment-matrix-control/index.js +6 -5
- package/build/alignment-matrix-control/index.js.map +1 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +8 -17
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/autocomplete/autocompleter-ui.js +2 -0
- package/build/autocomplete/autocompleter-ui.js.map +1 -1
- package/build/base-control/index.js +54 -41
- package/build/base-control/index.js.map +1 -1
- package/build/base-control/styles/base-control-styles.js +8 -8
- package/build/base-control/styles/base-control-styles.js.map +1 -1
- package/build/base-control/types.js.map +1 -1
- package/build/border-control/styles.js +18 -24
- package/build/border-control/styles.js.map +1 -1
- package/build/checkbox-control/index.js +1 -0
- package/build/checkbox-control/index.js.map +1 -1
- package/build/circular-option-picker/circular-option-picker-option.js +4 -4
- package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
- package/build/circular-option-picker/circular-option-picker.js +3 -3
- package/build/circular-option-picker/circular-option-picker.js.map +1 -1
- package/build/circular-option-picker/types.js.map +1 -1
- package/build/color-palette/index.js +1 -1
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/utils.js +17 -5
- package/build/color-palette/utils.js.map +1 -1
- package/build/color-picker/input-with-slider.js +1 -0
- package/build/color-picker/input-with-slider.js.map +1 -1
- package/build/combobox-control/index.js +1 -0
- package/build/combobox-control/index.js.map +1 -1
- package/build/composite/context.js +19 -0
- package/build/composite/context.js.map +1 -0
- package/build/composite/index.js +287 -9
- package/build/composite/index.js.map +1 -1
- package/build/composite/legacy/index.js +10 -8
- package/build/composite/legacy/index.js.map +1 -1
- package/build/composite/types.js +6 -0
- package/build/composite/types.js.map +1 -0
- package/build/custom-select-control/index.js +37 -14
- package/build/custom-select-control/index.js.map +1 -1
- package/build/custom-select-control/types.js.map +1 -1
- package/build/custom-select-control-v2/custom-select.js +3 -2
- package/build/custom-select-control-v2/custom-select.js.map +1 -1
- package/build/custom-select-control-v2/styles.js +9 -9
- package/build/custom-select-control-v2/styles.js.map +1 -1
- package/build/date-time/index.js +0 -7
- package/build/date-time/index.js.map +1 -1
- package/build/date-time/time/index.js +77 -41
- package/build/date-time/time/index.js.map +1 -1
- package/build/date-time/time/styles.js +11 -11
- package/build/date-time/time/styles.js.map +1 -1
- package/build/date-time/{time-input → time/time-input}/index.js +7 -7
- package/build/date-time/time/time-input/index.js.map +1 -0
- package/build/date-time/types.js.map +1 -1
- package/build/dimension-control/index.js +25 -8
- package/build/dimension-control/index.js.map +1 -1
- package/build/dimension-control/types.js.map +1 -1
- package/build/dropdown-menu-v2/index.js +3 -2
- package/build/dropdown-menu-v2/index.js.map +1 -1
- package/build/dropdown-menu-v2/styles.js +23 -21
- package/build/dropdown-menu-v2/styles.js.map +1 -1
- package/build/focal-point-picker/controls.js +1 -3
- package/build/focal-point-picker/controls.js.map +1 -1
- package/build/focal-point-picker/index.js +1 -2
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-picker-style.js +11 -11
- package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build/focal-point-picker/types.js.map +1 -1
- package/build/form-file-upload/types.js.map +1 -1
- package/build/form-toggle/index.js +24 -24
- package/build/form-toggle/index.js.map +1 -1
- package/build/guide/index.js +2 -0
- package/build/guide/index.js.map +1 -1
- package/build/heading/types.js.map +1 -1
- package/build/index.js +5 -5
- package/build/index.js.map +1 -1
- package/build/item-group/styles.js +11 -11
- package/build/item-group/styles.js.map +1 -1
- package/build/mobile/utils/alignments.native.js +1 -1
- package/build/mobile/utils/alignments.native.js.map +1 -1
- package/build/modal/index.js +18 -11
- package/build/modal/index.js.map +1 -1
- package/build/navigator/navigator-back-button/component.js +1 -1
- package/build/navigator/navigator-back-button/component.js.map +1 -1
- package/build/navigator/navigator-back-button/hook.js +3 -9
- package/build/navigator/navigator-back-button/hook.js.map +1 -1
- package/build/navigator/navigator-provider/component.js +17 -9
- package/build/navigator/navigator-provider/component.js.map +1 -1
- package/build/navigator/navigator-to-parent-button/component.js +13 -40
- package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
- package/build/navigator/types.js.map +1 -1
- package/build/palette-edit/styles.js +11 -11
- package/build/palette-edit/styles.js.map +1 -1
- package/build/popover/index.js +6 -1
- package/build/popover/index.js.map +1 -1
- package/build/private-apis.js +6 -6
- package/build/private-apis.js.map +1 -1
- package/build/progress-bar/styles.js +5 -5
- package/build/progress-bar/styles.js.map +1 -1
- package/build/query-controls/index.js +6 -7
- package/build/query-controls/index.js.map +1 -1
- package/build/query-controls/types.js.map +1 -1
- package/build/radio-control/index.js +43 -15
- package/build/radio-control/index.js.map +1 -1
- package/build/radio-control/types.js.map +1 -1
- package/build/radio-group/radio.js +3 -2
- package/build/radio-group/radio.js.map +1 -1
- package/build/range-control/index.js +32 -9
- package/build/range-control/index.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +29 -29
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/search-control/index.js +5 -4
- package/build/search-control/index.js.map +1 -1
- package/build/select-control/index.js +21 -8
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/types.js.map +1 -1
- package/build/tab-panel/index.js +3 -2
- package/build/tab-panel/index.js.map +1 -1
- package/build/tabs/index.js +3 -2
- package/build/tabs/index.js.map +1 -1
- package/build/tabs/tablist.js +6 -4
- package/build/tabs/tablist.js.map +1 -1
- package/build/tabs/tabpanel.js +6 -1
- package/build/tabs/tabpanel.js.map +1 -1
- package/build/text/styles.js +7 -7
- package/build/text/styles.js.map +1 -1
- package/build/text-control/index.js +2 -0
- package/build/text-control/index.js.map +1 -1
- package/build/textarea-control/index.js +1 -0
- package/build/textarea-control/index.js.map +1 -1
- package/build/textarea-control/styles/textarea-control-styles.js +8 -2
- package/build/textarea-control/styles/textarea-control-styles.js.map +1 -1
- package/build/toggle-control/index.js +35 -25
- package/build/toggle-control/index.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js +3 -2
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +7 -1
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +7 -7
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/component.js +6 -1
- package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js +14 -14
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build/tools-panel/styles.js +13 -13
- package/build/tools-panel/styles.js.map +1 -1
- package/build/tooltip/index.js +14 -2
- package/build/tooltip/index.js.map +1 -1
- package/build/tree-select/index.js +20 -8
- package/build/tree-select/index.js.map +1 -1
- package/build/unit-control/styles/unit-control-styles.js +7 -7
- package/build/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build/utils/config-values.js +10 -3
- package/build/utils/config-values.js.map +1 -1
- package/build-module/alignment-matrix-control/cell.js +2 -2
- package/build-module/alignment-matrix-control/cell.js.map +1 -1
- package/build-module/alignment-matrix-control/index.js +4 -3
- package/build-module/alignment-matrix-control/index.js.map +1 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -18
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.js +2 -0
- package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
- package/build-module/base-control/index.js +54 -42
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/base-control/styles/base-control-styles.js +8 -8
- package/build-module/base-control/styles/base-control-styles.js.map +1 -1
- package/build-module/base-control/types.js.map +1 -1
- package/build-module/border-control/styles.js +13 -23
- package/build-module/border-control/styles.js.map +1 -1
- package/build-module/checkbox-control/index.js +1 -0
- package/build-module/checkbox-control/index.js.map +1 -1
- package/build-module/circular-option-picker/circular-option-picker-option.js +4 -4
- package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
- package/build-module/circular-option-picker/circular-option-picker.js +1 -1
- package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
- package/build-module/circular-option-picker/types.js.map +1 -1
- package/build-module/color-palette/index.js +1 -1
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/utils.js +17 -5
- package/build-module/color-palette/utils.js.map +1 -1
- package/build-module/color-picker/input-with-slider.js +1 -0
- package/build-module/color-picker/input-with-slider.js.map +1 -1
- package/build-module/combobox-control/index.js +1 -0
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/composite/context.js +12 -0
- package/build-module/composite/context.js.map +1 -0
- package/build-module/composite/index.js +284 -6
- package/build-module/composite/index.js.map +1 -1
- package/build-module/composite/legacy/index.js +10 -6
- package/build-module/composite/legacy/index.js.map +1 -1
- package/build-module/composite/types.js +2 -0
- package/build-module/composite/types.js.map +1 -0
- package/build-module/custom-select-control/index.js +38 -14
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/custom-select-control/types.js.map +1 -1
- package/build-module/custom-select-control-v2/custom-select.js +2 -1
- package/build-module/custom-select-control-v2/custom-select.js.map +1 -1
- package/build-module/custom-select-control-v2/styles.js +9 -9
- package/build-module/custom-select-control-v2/styles.js.map +1 -1
- package/build-module/date-time/index.js +1 -2
- package/build-module/date-time/index.js.map +1 -1
- package/build-module/date-time/time/index.js +77 -41
- package/build-module/date-time/time/index.js.map +1 -1
- package/build-module/date-time/time/styles.js +11 -11
- package/build-module/date-time/time/styles.js.map +1 -1
- package/build-module/date-time/{time-input → time/time-input}/index.js +7 -7
- package/build-module/date-time/time/time-input/index.js.map +1 -0
- package/build-module/date-time/types.js.map +1 -1
- package/build-module/dimension-control/index.js +25 -8
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/dimension-control/types.js.map +1 -1
- package/build-module/dropdown-menu-v2/index.js +2 -1
- package/build-module/dropdown-menu-v2/index.js.map +1 -1
- package/build-module/dropdown-menu-v2/styles.js +23 -21
- package/build-module/dropdown-menu-v2/styles.js.map +1 -1
- package/build-module/focal-point-picker/controls.js +1 -3
- package/build-module/focal-point-picker/controls.js.map +1 -1
- package/build-module/focal-point-picker/index.js +1 -2
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js +11 -11
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build-module/focal-point-picker/types.js.map +1 -1
- package/build-module/form-file-upload/types.js.map +1 -1
- package/build-module/form-toggle/index.js +23 -22
- package/build-module/form-toggle/index.js.map +1 -1
- package/build-module/guide/index.js +2 -0
- package/build-module/guide/index.js.map +1 -1
- package/build-module/heading/types.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/item-group/styles.js +11 -11
- package/build-module/item-group/styles.js.map +1 -1
- package/build-module/mobile/utils/alignments.native.js +1 -1
- package/build-module/mobile/utils/alignments.native.js.map +1 -1
- package/build-module/modal/index.js +17 -11
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigator/navigator-back-button/component.js +1 -1
- package/build-module/navigator/navigator-back-button/component.js.map +1 -1
- package/build-module/navigator/navigator-back-button/hook.js +3 -9
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-provider/component.js +17 -9
- package/build-module/navigator/navigator-provider/component.js.map +1 -1
- package/build-module/navigator/navigator-to-parent-button/component.js +12 -41
- package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
- package/build-module/navigator/types.js.map +1 -1
- package/build-module/palette-edit/styles.js +11 -11
- package/build-module/palette-edit/styles.js.map +1 -1
- package/build-module/popover/index.js +6 -1
- package/build-module/popover/index.js.map +1 -1
- package/build-module/private-apis.js +6 -6
- package/build-module/private-apis.js.map +1 -1
- package/build-module/progress-bar/styles.js +5 -5
- package/build-module/progress-bar/styles.js.map +1 -1
- package/build-module/query-controls/index.js +6 -7
- package/build-module/query-controls/index.js.map +1 -1
- package/build-module/query-controls/types.js.map +1 -1
- package/build-module/radio-control/index.js +44 -17
- package/build-module/radio-control/index.js.map +1 -1
- package/build-module/radio-control/types.js.map +1 -1
- package/build-module/radio-group/radio.js +2 -1
- package/build-module/radio-group/radio.js.map +1 -1
- package/build-module/range-control/index.js +32 -9
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +29 -29
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/search-control/index.js +5 -4
- package/build-module/search-control/index.js.map +1 -1
- package/build-module/select-control/index.js +21 -8
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/types.js.map +1 -1
- package/build-module/tab-panel/index.js +2 -1
- package/build-module/tab-panel/index.js.map +1 -1
- package/build-module/tabs/index.js +2 -1
- package/build-module/tabs/index.js.map +1 -1
- package/build-module/tabs/tablist.js +5 -3
- package/build-module/tabs/tablist.js.map +1 -1
- package/build-module/tabs/tabpanel.js +6 -2
- package/build-module/tabs/tabpanel.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/text-control/index.js +2 -0
- package/build-module/text-control/index.js.map +1 -1
- package/build-module/textarea-control/index.js +1 -0
- package/build-module/textarea-control/index.js.map +1 -1
- package/build-module/textarea-control/styles/textarea-control-styles.js +9 -2
- package/build-module/textarea-control/styles/textarea-control-styles.js.map +1 -1
- package/build-module/toggle-control/index.js +34 -24
- package/build-module/toggle-control/index.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +2 -1
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +7 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +7 -7
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option/component.js +6 -1
- package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +14 -14
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build-module/tools-panel/styles.js +13 -13
- package/build-module/tools-panel/styles.js.map +1 -1
- package/build-module/tooltip/index.js +14 -2
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tree-select/index.js +20 -8
- package/build-module/tree-select/index.js.map +1 -1
- package/build-module/unit-control/styles/unit-control-styles.js +7 -7
- package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build-module/utils/config-values.js +10 -3
- package/build-module/utils/config-values.js.map +1 -1
- package/build-style/style-rtl.css +79 -33
- package/build-style/style.css +79 -33
- package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
- package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +1 -1
- package/build-types/angle-picker-control/styles/angle-picker-control-styles.d.ts.map +1 -1
- package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
- package/build-types/base-control/hooks.d.ts +1 -0
- package/build-types/base-control/hooks.d.ts.map +1 -1
- package/build-types/base-control/index.d.ts +44 -0
- package/build-types/base-control/index.d.ts.map +1 -1
- package/build-types/base-control/types.d.ts +7 -0
- package/build-types/base-control/types.d.ts.map +1 -1
- package/build-types/border-control/styles.d.ts.map +1 -1
- package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
- package/build-types/checkbox-control/index.d.ts.map +1 -1
- package/build-types/checkbox-control/stories/index.story.d.ts.map +1 -1
- package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
- package/build-types/circular-option-picker/types.d.ts +2 -3
- package/build-types/circular-option-picker/types.d.ts.map +1 -1
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-palette/styles.d.ts +2 -2
- package/build-types/color-palette/utils.d.ts.map +1 -1
- package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +3 -1
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/combobox-control/index.d.ts.map +1 -1
- package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
- package/build-types/composite/context.d.ts +7 -0
- package/build-types/composite/context.d.ts.map +1 -0
- package/build-types/composite/index.d.ts +181 -1
- package/build-types/composite/index.d.ts.map +1 -1
- package/build-types/composite/legacy/index.d.ts +7 -2
- package/build-types/composite/legacy/index.d.ts.map +1 -1
- package/build-types/composite/legacy/stories/utils.d.ts +19 -0
- package/build-types/composite/legacy/stories/utils.d.ts.map +1 -1
- package/build-types/composite/stories/index.story.d.ts +13 -0
- package/build-types/composite/stories/index.story.d.ts.map +1 -0
- package/build-types/composite/stories/utils.d.ts +29 -0
- package/build-types/composite/stories/utils.d.ts.map +1 -0
- package/build-types/composite/types.d.ts +288 -0
- package/build-types/composite/types.d.ts.map +1 -0
- package/build-types/custom-select-control/index.d.ts +2 -2
- package/build-types/custom-select-control/index.d.ts.map +1 -1
- package/build-types/custom-select-control/stories/index.story.d.ts +3 -3
- package/build-types/custom-select-control/stories/index.story.d.ts.map +1 -1
- package/build-types/custom-select-control/types.d.ts +7 -7
- package/build-types/custom-select-control/types.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/styles.d.ts +16 -28
- package/build-types/custom-select-control-v2/styles.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +2 -2
- package/build-types/date-time/date-time/index.d.ts +1 -1
- package/build-types/date-time/index.d.ts +1 -2
- package/build-types/date-time/index.d.ts.map +1 -1
- package/build-types/date-time/stories/time.story.d.ts +5 -0
- package/build-types/date-time/stories/time.story.d.ts.map +1 -1
- package/build-types/date-time/time/index.d.ts +4 -1
- package/build-types/date-time/time/index.d.ts.map +1 -1
- package/build-types/date-time/time/styles.d.ts.map +1 -1
- package/build-types/date-time/{time-input → time/time-input}/index.d.ts +1 -1
- package/build-types/date-time/time/time-input/index.d.ts.map +1 -0
- package/build-types/date-time/time/time-input/test/index.d.ts.map +1 -0
- package/build-types/date-time/types.d.ts +7 -1
- package/build-types/date-time/types.d.ts.map +1 -1
- package/build-types/dimension-control/index.d.ts +1 -0
- package/build-types/dimension-control/index.d.ts.map +1 -1
- package/build-types/dimension-control/stories/index.story.d.ts +8 -1
- package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
- package/build-types/dimension-control/types.d.ts +2 -7
- package/build-types/dimension-control/types.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/styles.d.ts +24 -42
- package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
- package/build-types/focal-point-picker/controls.d.ts +1 -1
- package/build-types/focal-point-picker/controls.d.ts.map +1 -1
- package/build-types/focal-point-picker/index.d.ts +1 -1
- package/build-types/focal-point-picker/index.d.ts.map +1 -1
- package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/focal-point-picker/types.d.ts +2 -2
- package/build-types/focal-point-picker/types.d.ts.map +1 -1
- package/build-types/form-file-upload/types.d.ts +6 -0
- package/build-types/form-file-upload/types.d.ts.map +1 -1
- package/build-types/form-toggle/index.d.ts +2 -5
- package/build-types/form-toggle/index.d.ts.map +1 -1
- package/build-types/guide/index.d.ts.map +1 -1
- package/build-types/heading/component.d.ts +1 -1
- package/build-types/heading/types.d.ts +1 -1
- package/build-types/heading/types.d.ts.map +1 -1
- package/build-types/index.d.ts +1 -1
- package/build-types/index.d.ts.map +1 -1
- package/build-types/modal/index.d.ts.map +1 -1
- package/build-types/navigation/styles/navigation-styles.d.ts +2 -2
- package/build-types/navigator/navigator-back-button/component.d.ts +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +2 -2
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-to-parent-button/component.d.ts +6 -0
- package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
- package/build-types/navigator/types.d.ts +45 -9
- package/build-types/navigator/types.d.ts.map +1 -1
- package/build-types/palette-edit/styles.d.ts +2 -2
- package/build-types/popover/index.d.ts +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/query-controls/index.d.ts +1 -1
- package/build-types/query-controls/index.d.ts.map +1 -1
- package/build-types/query-controls/types.d.ts +2 -1
- package/build-types/query-controls/types.d.ts.map +1 -1
- package/build-types/radio-control/index.d.ts.map +1 -1
- package/build-types/radio-control/stories/index.story.d.ts +1 -0
- package/build-types/radio-control/stories/index.story.d.ts.map +1 -1
- package/build-types/radio-control/test/index.d.ts +2 -0
- package/build-types/radio-control/test/index.d.ts.map +1 -0
- package/build-types/radio-control/types.d.ts +4 -0
- package/build-types/radio-control/types.d.ts.map +1 -1
- package/build-types/radio-group/radio.d.ts.map +1 -1
- package/build-types/range-control/index.d.ts.map +1 -1
- package/build-types/range-control/stories/index.story.d.ts.map +1 -1
- package/build-types/search-control/index.d.ts.map +1 -1
- package/build-types/search-control/stories/index.story.d.ts.map +1 -1
- package/build-types/select-control/index.d.ts +4 -1
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/stories/index.story.d.ts +13 -5
- package/build-types/select-control/stories/index.story.d.ts.map +1 -1
- package/build-types/select-control/types.d.ts +27 -27
- package/build-types/select-control/types.d.ts.map +1 -1
- package/build-types/tab-panel/index.d.ts.map +1 -1
- package/build-types/tabs/index.d.ts.map +1 -1
- package/build-types/tabs/styles.d.ts +8 -14
- package/build-types/tabs/styles.d.ts.map +1 -1
- package/build-types/tabs/tablist.d.ts.map +1 -1
- package/build-types/tabs/tabpanel.d.ts +0 -3
- package/build-types/tabs/tabpanel.d.ts.map +1 -1
- package/build-types/text-control/index.d.ts +1 -0
- package/build-types/text-control/index.d.ts.map +1 -1
- package/build-types/text-control/stories/index.story.d.ts.map +1 -1
- package/build-types/textarea-control/index.d.ts.map +1 -1
- package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -1
- package/build-types/toggle-control/index.d.ts +3 -9
- package/build-types/toggle-control/index.d.ts.map +1 -1
- package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts +6 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -1
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +14 -14
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/tooltip/test/utils/index.d.ts +1 -5
- package/build-types/tooltip/test/utils/index.d.ts.map +1 -1
- package/build-types/tree-select/index.d.ts +1 -1
- package/build-types/tree-select/index.d.ts.map +1 -1
- package/build-types/utils/config-values.d.ts +10 -3
- package/package.json +20 -20
- package/src/alignment-matrix-control/cell.tsx +3 -3
- package/src/alignment-matrix-control/index.tsx +5 -4
- package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +2 -2
- package/src/alignment-matrix-control/test/index.tsx +1 -3
- package/src/angle-picker-control/styles/angle-picker-control-styles.tsx +2 -2
- package/src/autocomplete/autocompleter-ui.tsx +2 -0
- package/src/autocomplete/style.scss +0 -6
- package/src/base-control/README.md +5 -2
- package/src/base-control/index.tsx +61 -41
- package/src/base-control/styles/base-control-styles.ts +1 -1
- package/src/base-control/types.ts +7 -0
- package/src/border-box-control/border-box-control/README.md +7 -0
- package/src/border-control/border-control/README.md +7 -0
- package/src/border-control/styles.ts +1 -6
- package/src/button/README.md +7 -0
- package/src/button/stories/e2e/index.story.tsx +103 -21
- package/src/button/style.scss +51 -23
- package/src/button/test/index.tsx +18 -40
- package/src/button-group/style.scss +2 -2
- package/src/checkbox-control/index.tsx +1 -0
- package/src/checkbox-control/stories/index.story.tsx +1 -0
- package/src/checkbox-control/test/index.tsx +8 -1
- package/src/circular-option-picker/circular-option-picker-option.tsx +8 -6
- package/src/circular-option-picker/circular-option-picker.tsx +1 -1
- package/src/circular-option-picker/style.scss +3 -3
- package/src/circular-option-picker/test/index.tsx +1 -4
- package/src/circular-option-picker/types.ts +2 -3
- package/src/color-indicator/style.scss +1 -1
- package/src/color-palette/index.tsx +22 -20
- package/src/color-palette/style.scss +2 -2
- package/src/color-palette/utils.ts +23 -10
- package/src/color-picker/input-with-slider.tsx +1 -0
- package/src/combobox-control/README.md +8 -0
- package/src/combobox-control/index.tsx +1 -0
- package/src/combobox-control/stories/index.story.tsx +3 -4
- package/src/combobox-control/test/index.tsx +5 -1
- package/src/composite/README.md +325 -0
- package/src/composite/context.ts +14 -0
- package/src/composite/index.tsx +341 -0
- package/src/composite/legacy/index.tsx +15 -14
- package/src/composite/legacy/stories/utils.tsx +19 -0
- package/src/composite/legacy/test/index.tsx +2 -18
- package/src/composite/stories/index.story.tsx +466 -0
- package/src/composite/{current/stories → stories}/utils.tsx +22 -7
- package/src/composite/types.ts +298 -0
- package/src/custom-gradient-picker/style.scss +2 -2
- package/src/custom-select-control/README.md +7 -0
- package/src/custom-select-control/index.tsx +55 -25
- package/src/custom-select-control/test/index.tsx +172 -30
- package/src/custom-select-control/types.ts +7 -7
- package/src/custom-select-control-v2/custom-select.tsx +2 -1
- package/src/custom-select-control-v2/styles.ts +7 -6
- package/src/custom-select-control-v2/test/index.tsx +15 -19
- package/src/date-time/index.ts +1 -2
- package/src/date-time/stories/time.story.tsx +17 -0
- package/src/date-time/time/index.tsx +72 -28
- package/src/date-time/time/styles.ts +1 -0
- package/src/date-time/{time-input → time/time-input}/index.tsx +9 -9
- package/src/date-time/types.ts +11 -1
- package/src/dimension-control/README.md +17 -0
- package/src/dimension-control/index.tsx +26 -9
- package/src/dimension-control/stories/index.story.tsx +1 -0
- package/src/dimension-control/test/__snapshots__/index.test.js.snap +0 -16
- package/src/dimension-control/test/index.test.js +5 -1
- package/src/dimension-control/types.ts +5 -7
- package/src/drop-zone/style.scss +1 -1
- package/src/dropdown-menu-v2/index.tsx +5 -3
- package/src/dropdown-menu-v2/styles.ts +35 -32
- package/src/dropdown-menu-v2/test/index.tsx +1 -4
- package/src/focal-point-picker/README.md +9 -1
- package/src/focal-point-picker/controls.tsx +1 -3
- package/src/focal-point-picker/index.tsx +1 -2
- package/src/focal-point-picker/stories/index.story.tsx +3 -0
- package/src/focal-point-picker/styles/focal-point-picker-style.ts +1 -1
- package/src/focal-point-picker/test/index.tsx +5 -1
- package/src/focal-point-picker/types.ts +2 -2
- package/src/font-size-picker/README.md +7 -0
- package/src/font-size-picker/test/index.tsx +50 -43
- package/src/form-file-upload/README.md +8 -0
- package/src/form-file-upload/types.ts +6 -0
- package/src/form-toggle/index.tsx +23 -21
- package/src/form-token-field/README.md +1 -0
- package/src/guide/index.tsx +2 -0
- package/src/guide/style.scss +0 -1
- package/src/heading/types.ts +1 -4
- package/src/index.ts +1 -1
- package/src/input-control/README.md +8 -0
- package/src/item-group/styles.ts +1 -1
- package/src/mobile/utils/alignments.native.js +1 -0
- package/src/modal/index.tsx +21 -20
- package/src/modal/style.scss +3 -3
- package/src/navigator/navigator-back-button/component.tsx +1 -1
- package/src/navigator/navigator-back-button/hook.ts +6 -10
- package/src/navigator/navigator-provider/README.md +38 -36
- package/src/navigator/navigator-provider/component.tsx +13 -7
- package/src/navigator/navigator-screen/README.md +13 -1
- package/src/navigator/navigator-to-parent-button/README.md +2 -0
- package/src/navigator/navigator-to-parent-button/component.tsx +14 -43
- package/src/navigator/test/index.tsx +136 -6
- package/src/navigator/types.ts +45 -10
- package/src/number-control/README.md +8 -0
- package/src/palette-edit/styles.ts +5 -5
- package/src/placeholder/style.scss +15 -3
- package/src/popover/index.tsx +9 -3
- package/src/popover/style.scss +2 -2
- package/src/popover/test/index.tsx +34 -0
- package/src/private-apis.ts +6 -12
- package/src/progress-bar/styles.ts +2 -2
- package/src/query-controls/README.md +7 -0
- package/src/query-controls/index.tsx +10 -7
- package/src/query-controls/types.ts +2 -1
- package/src/radio-control/index.tsx +62 -13
- package/src/radio-control/stories/index.story.tsx +23 -0
- package/src/radio-control/style.scss +38 -3
- package/src/radio-control/test/index.tsx +277 -0
- package/src/radio-control/types.ts +4 -0
- package/src/radio-group/radio.tsx +2 -1
- package/src/range-control/README.md +7 -0
- package/src/range-control/index.tsx +39 -9
- package/src/range-control/stories/index.story.tsx +7 -0
- package/src/range-control/styles/range-control-styles.ts +2 -2
- package/src/range-control/test/index.tsx +54 -14
- package/src/search-control/index.tsx +7 -4
- package/src/search-control/stories/index.story.tsx +1 -0
- package/src/search-control/test/index.tsx +1 -0
- package/src/select-control/README.md +16 -1
- package/src/select-control/index.tsx +34 -22
- package/src/select-control/stories/index.story.tsx +8 -5
- package/src/select-control/test/select-control.tsx +155 -5
- package/src/select-control/types.ts +70 -65
- package/src/snackbar/style.scss +2 -2
- package/src/tab-panel/index.tsx +4 -1
- package/src/tab-panel/style.scss +1 -1
- package/src/tab-panel/test/index.tsx +1 -8
- package/src/tabs/index.tsx +2 -1
- package/src/tabs/tablist.tsx +6 -4
- package/src/tabs/tabpanel.tsx +6 -2
- package/src/tabs/test/index.tsx +68 -84
- package/src/text/styles.ts +1 -1
- package/src/text-control/README.md +9 -0
- package/src/text-control/index.tsx +2 -0
- package/src/text-control/stories/index.story.tsx +3 -1
- package/src/text-control/style.scss +5 -0
- package/src/text-control/test/text-control.tsx +5 -1
- package/src/textarea-control/index.tsx +1 -0
- package/src/textarea-control/stories/index.story.tsx +2 -0
- package/src/textarea-control/styles/textarea-control-styles.ts +75 -2
- package/src/toggle-control/README.md +9 -0
- package/src/toggle-control/index.tsx +34 -22
- package/src/toggle-control/stories/index.story.tsx +1 -0
- package/src/toggle-control/style.scss +2 -1
- package/src/toggle-control/test/index.tsx +7 -1
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +14 -30
- package/src/toggle-group-control/test/index.tsx +5 -7
- package/src/toggle-group-control/toggle-group-control/README.md +20 -1
- package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +2 -1
- package/src/toggle-group-control/toggle-group-control/component.tsx +7 -1
- package/src/toggle-group-control/toggle-group-control/styles.ts +1 -1
- package/src/toggle-group-control/toggle-group-control-option/README.md +6 -1
- package/src/toggle-group-control/toggle-group-control-option/component.tsx +6 -1
- package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +2 -2
- package/src/toggle-group-control/toggle-group-control-option-icon/README.md +1 -1
- package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +14 -14
- package/src/toolbar/toolbar/style.scss +2 -2
- package/src/tools-panel/styles.ts +1 -1
- package/src/tooltip/index.tsx +16 -2
- package/src/tooltip/style.scss +1 -1
- package/src/tooltip/test/index.tsx +0 -5
- package/src/tooltip/test/utils/index.tsx +5 -5
- package/src/tree-select/index.tsx +17 -7
- package/src/tree-select/stories/index.story.tsx +1 -0
- package/src/unit-control/README.md +7 -0
- package/src/unit-control/styles/unit-control-styles.ts +1 -1
- package/src/utils/config-values.js +10 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/build/composite/current/index.js +0 -43
- package/build/composite/current/index.js.map +0 -1
- package/build/composite/v2.js +0 -17
- package/build/composite/v2.js.map +0 -1
- package/build/date-time/time-input/index.js.map +0 -1
- package/build/utils/input/base.js +0 -20
- package/build/utils/input/base.js.map +0 -1
- package/build/utils/input/index.js +0 -17
- package/build/utils/input/index.js.map +0 -1
- package/build/utils/input/input-control.js +0 -21
- package/build/utils/input/input-control.js.map +0 -1
- package/build-module/composite/current/index.js +0 -12
- package/build-module/composite/current/index.js.map +0 -1
- package/build-module/composite/v2.js +0 -5
- package/build-module/composite/v2.js.map +0 -1
- package/build-module/date-time/time-input/index.js.map +0 -1
- package/build-module/utils/input/base.js +0 -13
- package/build-module/utils/input/base.js.map +0 -1
- package/build-module/utils/input/index.js +0 -2
- package/build-module/utils/input/index.js.map +0 -1
- package/build-module/utils/input/input-control.js +0 -14
- package/build-module/utils/input/input-control.js.map +0 -1
- package/build-types/composite/current/index.d.ts +0 -12
- package/build-types/composite/current/index.d.ts.map +0 -1
- package/build-types/composite/current/stories/index.story.d.ts +0 -13
- package/build-types/composite/current/stories/index.story.d.ts.map +0 -1
- package/build-types/composite/current/stories/utils.d.ts +0 -14
- package/build-types/composite/current/stories/utils.d.ts.map +0 -1
- package/build-types/composite/v2.d.ts +0 -2
- package/build-types/composite/v2.d.ts.map +0 -1
- package/build-types/date-time/stories/time-input.story.d.ts +0 -12
- package/build-types/date-time/stories/time-input.story.d.ts.map +0 -1
- package/build-types/date-time/time-input/index.d.ts.map +0 -1
- package/build-types/date-time/time-input/test/index.d.ts.map +0 -1
- package/build-types/utils/input/base.d.ts +0 -3
- package/build-types/utils/input/base.d.ts.map +0 -1
- package/build-types/utils/input/index.d.ts +0 -2
- package/build-types/utils/input/index.d.ts.map +0 -1
- package/build-types/utils/input/input-control.d.ts +0 -2
- package/build-types/utils/input/input-control.d.ts.map +0 -1
- package/src/composite/current/index.ts +0 -20
- package/src/composite/current/stories/index.story.tsx +0 -86
- package/src/composite/index.ts +0 -7
- package/src/composite/v2.ts +0 -4
- package/src/date-time/stories/time-input.story.tsx +0 -36
- package/src/utils/input/base.js +0 -30
- package/src/utils/input/index.js +0 -1
- package/src/utils/input/input-control.js +0 -63
- /package/build-types/date-time/{time-input → time/time-input}/test/index.d.ts +0 -0
- /package/src/date-time/{time-input → time/time-input}/test/index.tsx +0 -0
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { screen } from '@testing-library/react';
|
|
5
5
|
import { click, press, sleep, type, waitFor } from '@ariakit/test';
|
|
6
|
+
import { render } from '@ariakit/test/react';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* WordPress dependencies
|
|
@@ -85,7 +86,7 @@ const ControlledCustomSelectControl = ( {
|
|
|
85
86
|
|
|
86
87
|
it( 'Should apply external controlled updates', async () => {
|
|
87
88
|
const mockOnChange = jest.fn();
|
|
88
|
-
const { rerender } = render(
|
|
89
|
+
const { rerender } = await render(
|
|
89
90
|
<UncontrolledCustomSelectControl
|
|
90
91
|
{ ...props }
|
|
91
92
|
value={ props.options[ 0 ] }
|
|
@@ -101,7 +102,7 @@ it( 'Should apply external controlled updates', async () => {
|
|
|
101
102
|
|
|
102
103
|
expect( mockOnChange ).not.toHaveBeenCalled();
|
|
103
104
|
|
|
104
|
-
rerender(
|
|
105
|
+
await rerender(
|
|
105
106
|
<UncontrolledCustomSelectControl
|
|
106
107
|
{ ...props }
|
|
107
108
|
value={ props.options[ 1 ] }
|
|
@@ -124,7 +125,7 @@ describe.each( [
|
|
|
124
125
|
|
|
125
126
|
it( 'Should select the first option when no explicit initial value is passed without firing onChange', async () => {
|
|
126
127
|
const mockOnChange = jest.fn();
|
|
127
|
-
render( <Component { ...props } onChange={ mockOnChange } /> );
|
|
128
|
+
await render( <Component { ...props } onChange={ mockOnChange } /> );
|
|
128
129
|
|
|
129
130
|
expect(
|
|
130
131
|
screen.getByRole( 'combobox', {
|
|
@@ -140,7 +141,7 @@ describe.each( [
|
|
|
140
141
|
|
|
141
142
|
it( 'Should pick the initially selected option if the value prop is passed without firing onChange', async () => {
|
|
142
143
|
const mockOnChange = jest.fn();
|
|
143
|
-
render(
|
|
144
|
+
await render(
|
|
144
145
|
<Component
|
|
145
146
|
{ ...props }
|
|
146
147
|
onChange={ mockOnChange }
|
|
@@ -161,7 +162,7 @@ describe.each( [
|
|
|
161
162
|
} );
|
|
162
163
|
|
|
163
164
|
it( 'Should replace the initial selection when a new item is selected', async () => {
|
|
164
|
-
render( <Component { ...props } /> );
|
|
165
|
+
await render( <Component { ...props } /> );
|
|
165
166
|
|
|
166
167
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
167
168
|
expanded: false,
|
|
@@ -189,13 +190,12 @@ describe.each( [
|
|
|
189
190
|
} );
|
|
190
191
|
|
|
191
192
|
it( 'Should keep current selection if dropdown is closed without changing selection', async () => {
|
|
192
|
-
render( <Component { ...props } /> );
|
|
193
|
+
await render( <Component { ...props } /> );
|
|
193
194
|
|
|
194
195
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
195
196
|
expanded: false,
|
|
196
197
|
} );
|
|
197
198
|
|
|
198
|
-
await sleep();
|
|
199
199
|
await press.Tab();
|
|
200
200
|
await press.Enter();
|
|
201
201
|
expect(
|
|
@@ -217,7 +217,7 @@ describe.each( [
|
|
|
217
217
|
} );
|
|
218
218
|
|
|
219
219
|
it( 'Should apply class only to options that have a className defined', async () => {
|
|
220
|
-
render( <Component { ...props } /> );
|
|
220
|
+
await render( <Component { ...props } /> );
|
|
221
221
|
|
|
222
222
|
await click(
|
|
223
223
|
screen.getByRole( 'combobox', {
|
|
@@ -251,7 +251,7 @@ describe.each( [
|
|
|
251
251
|
} );
|
|
252
252
|
|
|
253
253
|
it( 'Should apply styles only to options that have styles defined', async () => {
|
|
254
|
-
render( <Component { ...props } /> );
|
|
254
|
+
await render( <Component { ...props } /> );
|
|
255
255
|
|
|
256
256
|
await click(
|
|
257
257
|
screen.getByRole( 'combobox', {
|
|
@@ -285,7 +285,7 @@ describe.each( [
|
|
|
285
285
|
} );
|
|
286
286
|
|
|
287
287
|
it( 'does not show selected hint by default', async () => {
|
|
288
|
-
render(
|
|
288
|
+
await render(
|
|
289
289
|
<Component
|
|
290
290
|
{ ...props }
|
|
291
291
|
label="Custom select"
|
|
@@ -306,7 +306,7 @@ describe.each( [
|
|
|
306
306
|
} );
|
|
307
307
|
|
|
308
308
|
it( 'shows selected hint when showSelectedHint is set', async () => {
|
|
309
|
-
render(
|
|
309
|
+
await render(
|
|
310
310
|
<Component
|
|
311
311
|
{ ...props }
|
|
312
312
|
label="Custom select"
|
|
@@ -331,7 +331,7 @@ describe.each( [
|
|
|
331
331
|
} );
|
|
332
332
|
|
|
333
333
|
it( 'shows selected hint in list of options when added, regardless of showSelectedHint prop', async () => {
|
|
334
|
-
render(
|
|
334
|
+
await render(
|
|
335
335
|
<Component
|
|
336
336
|
{ ...props }
|
|
337
337
|
label="Custom select"
|
|
@@ -355,7 +355,7 @@ describe.each( [
|
|
|
355
355
|
it( 'Should return object onChange', async () => {
|
|
356
356
|
const mockOnChange = jest.fn();
|
|
357
357
|
|
|
358
|
-
render( <Component { ...props } onChange={ mockOnChange } /> );
|
|
358
|
+
await render( <Component { ...props } onChange={ mockOnChange } /> );
|
|
359
359
|
|
|
360
360
|
await click(
|
|
361
361
|
screen.getByRole( 'combobox', {
|
|
@@ -385,9 +385,8 @@ describe.each( [
|
|
|
385
385
|
it( 'Should return selectedItem object when specified onChange', async () => {
|
|
386
386
|
const mockOnChange = jest.fn();
|
|
387
387
|
|
|
388
|
-
render( <Component { ...props } onChange={ mockOnChange } /> );
|
|
388
|
+
await render( <Component { ...props } onChange={ mockOnChange } /> );
|
|
389
389
|
|
|
390
|
-
await sleep();
|
|
391
390
|
await press.Tab();
|
|
392
391
|
expect(
|
|
393
392
|
screen.getByRole( 'combobox', {
|
|
@@ -412,7 +411,7 @@ describe.each( [
|
|
|
412
411
|
it( "Should pass arbitrary props to onChange's selectedItem, but apply only style and className to DOM elements", async () => {
|
|
413
412
|
const onChangeMock = jest.fn();
|
|
414
413
|
|
|
415
|
-
render( <Component { ...props } onChange={ onChangeMock } /> );
|
|
414
|
+
await render( <Component { ...props } onChange={ onChangeMock } /> );
|
|
416
415
|
|
|
417
416
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
418
417
|
expanded: false,
|
|
@@ -449,8 +448,8 @@ describe.each( [
|
|
|
449
448
|
);
|
|
450
449
|
} );
|
|
451
450
|
|
|
452
|
-
it( 'Should label the component correctly even when the label is not visible', () => {
|
|
453
|
-
render( <Component { ...props } hideLabelFromVision /> );
|
|
451
|
+
it( 'Should label the component correctly even when the label is not visible', async () => {
|
|
452
|
+
await render( <Component { ...props } hideLabelFromVision /> );
|
|
454
453
|
|
|
455
454
|
expect(
|
|
456
455
|
screen.getByRole( 'combobox', {
|
|
@@ -463,7 +462,7 @@ describe.each( [
|
|
|
463
462
|
it( 'Captures the keypress event and does not let it propagate', async () => {
|
|
464
463
|
const onKeyDown = jest.fn();
|
|
465
464
|
|
|
466
|
-
render(
|
|
465
|
+
await render(
|
|
467
466
|
<div
|
|
468
467
|
// This role="none" is required to prevent an eslint warning about accessibility.
|
|
469
468
|
role="none"
|
|
@@ -487,13 +486,12 @@ describe.each( [
|
|
|
487
486
|
} );
|
|
488
487
|
|
|
489
488
|
it( 'Should be able to change selection using keyboard', async () => {
|
|
490
|
-
render( <Component { ...props } /> );
|
|
489
|
+
await render( <Component { ...props } /> );
|
|
491
490
|
|
|
492
491
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
493
492
|
expanded: false,
|
|
494
493
|
} );
|
|
495
494
|
|
|
496
|
-
await sleep();
|
|
497
495
|
await press.Tab();
|
|
498
496
|
expect( currentSelectedItem ).toHaveFocus();
|
|
499
497
|
|
|
@@ -513,13 +511,12 @@ describe.each( [
|
|
|
513
511
|
} );
|
|
514
512
|
|
|
515
513
|
it( 'Should be able to type characters to select matching options', async () => {
|
|
516
|
-
render( <Component { ...props } /> );
|
|
514
|
+
await render( <Component { ...props } /> );
|
|
517
515
|
|
|
518
516
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
519
517
|
expanded: false,
|
|
520
518
|
} );
|
|
521
519
|
|
|
522
|
-
await sleep();
|
|
523
520
|
await press.Tab();
|
|
524
521
|
await press.Enter();
|
|
525
522
|
expect(
|
|
@@ -534,13 +531,12 @@ describe.each( [
|
|
|
534
531
|
} );
|
|
535
532
|
|
|
536
533
|
it( 'Can change selection with a focused input and closed dropdown if typed characters match an option', async () => {
|
|
537
|
-
render( <Component { ...props } /> );
|
|
534
|
+
await render( <Component { ...props } /> );
|
|
538
535
|
|
|
539
536
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
540
537
|
expanded: false,
|
|
541
538
|
} );
|
|
542
539
|
|
|
543
|
-
await sleep();
|
|
544
540
|
await press.Tab();
|
|
545
541
|
expect( currentSelectedItem ).toHaveFocus();
|
|
546
542
|
expect( currentSelectedItem ).toHaveTextContent(
|
|
@@ -564,13 +560,12 @@ describe.each( [
|
|
|
564
560
|
} );
|
|
565
561
|
|
|
566
562
|
it( 'Can change selection with a focused input and closed dropdown while pressing arrow keys', async () => {
|
|
567
|
-
render( <Component { ...props } /> );
|
|
563
|
+
await render( <Component { ...props } /> );
|
|
568
564
|
|
|
569
565
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
570
566
|
expanded: false,
|
|
571
567
|
} );
|
|
572
568
|
|
|
573
|
-
await sleep();
|
|
574
569
|
await press.Tab();
|
|
575
570
|
expect( currentSelectedItem ).toHaveFocus();
|
|
576
571
|
expect( currentSelectedItem ).toHaveTextContent(
|
|
@@ -591,7 +586,7 @@ describe.each( [
|
|
|
591
586
|
} );
|
|
592
587
|
|
|
593
588
|
it( 'Should have correct aria-selected value for selections', async () => {
|
|
594
|
-
render( <Component { ...props } /> );
|
|
589
|
+
await render( <Component { ...props } /> );
|
|
595
590
|
|
|
596
591
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
597
592
|
expanded: false,
|
|
@@ -646,7 +641,7 @@ describe.each( [
|
|
|
646
641
|
const onFocusMock = jest.fn();
|
|
647
642
|
const onBlurMock = jest.fn();
|
|
648
643
|
|
|
649
|
-
render(
|
|
644
|
+
await render(
|
|
650
645
|
<>
|
|
651
646
|
<Component
|
|
652
647
|
{ ...props }
|
|
@@ -670,5 +665,152 @@ describe.each( [
|
|
|
670
665
|
expect( currentSelectedItem ).not.toHaveFocus();
|
|
671
666
|
expect( onBlurMock ).toHaveBeenCalledTimes( 1 );
|
|
672
667
|
} );
|
|
668
|
+
|
|
669
|
+
it( 'should render the describedBy text when specified', async () => {
|
|
670
|
+
const describedByText = 'My description.';
|
|
671
|
+
|
|
672
|
+
await render(
|
|
673
|
+
<Component { ...props } describedBy={ describedByText } />
|
|
674
|
+
);
|
|
675
|
+
|
|
676
|
+
expect(
|
|
677
|
+
screen.getByRole( 'combobox' )
|
|
678
|
+
).toHaveAccessibleDescription( describedByText );
|
|
679
|
+
} );
|
|
680
|
+
|
|
681
|
+
it( 'should render the default ARIA description when describedBy is not specified', async () => {
|
|
682
|
+
await render( <Component { ...props } /> );
|
|
683
|
+
|
|
684
|
+
expect(
|
|
685
|
+
screen.getByRole( 'combobox' )
|
|
686
|
+
).toHaveAccessibleDescription(
|
|
687
|
+
`Currently selected: ${ props.options[ 0 ].name }`
|
|
688
|
+
);
|
|
689
|
+
} );
|
|
690
|
+
} );
|
|
691
|
+
} );
|
|
692
|
+
|
|
693
|
+
describe( 'Type checking', () => {
|
|
694
|
+
// eslint-disable-next-line jest/expect-expect
|
|
695
|
+
it( 'should infer the value type from available `options`, but not the `value` or `onChange` prop', () => {
|
|
696
|
+
const options = [
|
|
697
|
+
{
|
|
698
|
+
key: 'narrow',
|
|
699
|
+
name: 'Narrow',
|
|
700
|
+
},
|
|
701
|
+
{
|
|
702
|
+
key: 'value',
|
|
703
|
+
name: 'Value',
|
|
704
|
+
},
|
|
705
|
+
];
|
|
706
|
+
const optionsReadOnly = [
|
|
707
|
+
{
|
|
708
|
+
key: 'narrow',
|
|
709
|
+
name: 'Narrow',
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
key: 'value',
|
|
713
|
+
name: 'Value',
|
|
714
|
+
},
|
|
715
|
+
] as const;
|
|
716
|
+
|
|
717
|
+
const onChange = (): void => {};
|
|
718
|
+
|
|
719
|
+
<UncontrolledCustomSelectControl
|
|
720
|
+
label="Label"
|
|
721
|
+
options={ options }
|
|
722
|
+
value={ {
|
|
723
|
+
key: 'narrow',
|
|
724
|
+
name: 'Narrow',
|
|
725
|
+
} }
|
|
726
|
+
onChange={ onChange }
|
|
727
|
+
/>;
|
|
728
|
+
|
|
729
|
+
<UncontrolledCustomSelectControl
|
|
730
|
+
label="Label"
|
|
731
|
+
options={ options }
|
|
732
|
+
value={ {
|
|
733
|
+
key: 'random string is also accepted for non-readonly options',
|
|
734
|
+
name: 'Narrow',
|
|
735
|
+
} }
|
|
736
|
+
onChange={ onChange }
|
|
737
|
+
/>;
|
|
738
|
+
|
|
739
|
+
<UncontrolledCustomSelectControl
|
|
740
|
+
label="Label"
|
|
741
|
+
options={ options }
|
|
742
|
+
value={ {
|
|
743
|
+
key: 'narrow',
|
|
744
|
+
name: 'Narrow',
|
|
745
|
+
// @ts-expect-error: the option type should not be inferred from `value`
|
|
746
|
+
foo: 'foo',
|
|
747
|
+
} }
|
|
748
|
+
onChange={ onChange }
|
|
749
|
+
/>;
|
|
750
|
+
|
|
751
|
+
<UncontrolledCustomSelectControl
|
|
752
|
+
label="Label"
|
|
753
|
+
options={ options }
|
|
754
|
+
value={ {
|
|
755
|
+
key: 'narrow',
|
|
756
|
+
name: 'Narrow',
|
|
757
|
+
} }
|
|
758
|
+
// To ensure the type inferring is working correctly, but this is not a common use case.
|
|
759
|
+
// @ts-expect-error: the option type should not be inferred from `onChange`
|
|
760
|
+
onChange={
|
|
761
|
+
onChange as ( obj: {
|
|
762
|
+
selectedItem: { key: string; name: string; foo: string };
|
|
763
|
+
} ) => void
|
|
764
|
+
}
|
|
765
|
+
/>;
|
|
766
|
+
|
|
767
|
+
<UncontrolledCustomSelectControl
|
|
768
|
+
label="Label"
|
|
769
|
+
options={ optionsReadOnly }
|
|
770
|
+
value={ {
|
|
771
|
+
key: 'narrow',
|
|
772
|
+
name: 'Narrow',
|
|
773
|
+
} }
|
|
774
|
+
onChange={ onChange }
|
|
775
|
+
/>;
|
|
776
|
+
|
|
777
|
+
<UncontrolledCustomSelectControl
|
|
778
|
+
label="Label"
|
|
779
|
+
options={ optionsReadOnly }
|
|
780
|
+
value={ {
|
|
781
|
+
// @ts-expect-error: random string is not accepted for immutable options
|
|
782
|
+
key: 'random string is not accepted for readonly options',
|
|
783
|
+
name: 'Narrow',
|
|
784
|
+
} }
|
|
785
|
+
onChange={ onChange }
|
|
786
|
+
/>;
|
|
787
|
+
|
|
788
|
+
<UncontrolledCustomSelectControl
|
|
789
|
+
label="Label"
|
|
790
|
+
options={ optionsReadOnly }
|
|
791
|
+
value={ {
|
|
792
|
+
key: 'narrow',
|
|
793
|
+
name: 'Narrow',
|
|
794
|
+
// @ts-expect-error: the option type should not be inferred from `value`
|
|
795
|
+
foo: 'foo',
|
|
796
|
+
} }
|
|
797
|
+
onChange={ onChange }
|
|
798
|
+
/>;
|
|
799
|
+
|
|
800
|
+
<UncontrolledCustomSelectControl
|
|
801
|
+
label="Label"
|
|
802
|
+
options={ optionsReadOnly }
|
|
803
|
+
value={ {
|
|
804
|
+
key: 'narrow',
|
|
805
|
+
name: 'Narrow',
|
|
806
|
+
} }
|
|
807
|
+
// To ensure the type inferring is working correctly, but this is not a common use case.
|
|
808
|
+
// @ts-expect-error: the option type should not be inferred from `onChange`
|
|
809
|
+
onChange={
|
|
810
|
+
onChange as ( obj: {
|
|
811
|
+
selectedItem: { key: string; name: string; foo: string };
|
|
812
|
+
} ) => void
|
|
813
|
+
}
|
|
814
|
+
/>;
|
|
673
815
|
} );
|
|
674
816
|
} );
|
|
@@ -6,7 +6,7 @@ import type { FocusEventHandler, MouseEventHandler } from 'react';
|
|
|
6
6
|
/**
|
|
7
7
|
* The object structure for the options array.
|
|
8
8
|
*/
|
|
9
|
-
type
|
|
9
|
+
export type CustomSelectOption = {
|
|
10
10
|
key: string;
|
|
11
11
|
name: string;
|
|
12
12
|
style?: React.CSSProperties;
|
|
@@ -24,15 +24,15 @@ type Option = {
|
|
|
24
24
|
/**
|
|
25
25
|
* The object returned from the onChange event.
|
|
26
26
|
*/
|
|
27
|
-
type
|
|
27
|
+
type CustomSelectChangeObject< T extends CustomSelectOption > = {
|
|
28
28
|
highlightedIndex?: number;
|
|
29
29
|
inputValue?: string;
|
|
30
30
|
isOpen?: boolean;
|
|
31
31
|
type?: string;
|
|
32
|
-
selectedItem:
|
|
32
|
+
selectedItem: T;
|
|
33
33
|
};
|
|
34
34
|
|
|
35
|
-
export type CustomSelectProps = {
|
|
35
|
+
export type CustomSelectProps< T extends CustomSelectOption > = {
|
|
36
36
|
/**
|
|
37
37
|
* Optional classname for the component.
|
|
38
38
|
*/
|
|
@@ -55,7 +55,7 @@ export type CustomSelectProps = {
|
|
|
55
55
|
* Function called with the control's internal state changes. The `selectedItem`
|
|
56
56
|
* property contains the next selected item.
|
|
57
57
|
*/
|
|
58
|
-
onChange?: ( newValue:
|
|
58
|
+
onChange?: ( newValue: CustomSelectChangeObject< NoInfer< T > > ) => void;
|
|
59
59
|
/**
|
|
60
60
|
* A handler for `blur` events on the trigger button.
|
|
61
61
|
*
|
|
@@ -83,7 +83,7 @@ export type CustomSelectProps = {
|
|
|
83
83
|
/**
|
|
84
84
|
* The list of options that can be chosen from.
|
|
85
85
|
*/
|
|
86
|
-
options:
|
|
86
|
+
options: ReadonlyArray< T >;
|
|
87
87
|
/**
|
|
88
88
|
* The size of the control.
|
|
89
89
|
*
|
|
@@ -93,7 +93,7 @@ export type CustomSelectProps = {
|
|
|
93
93
|
/**
|
|
94
94
|
* Can be used to externally control the value of the control.
|
|
95
95
|
*/
|
|
96
|
-
value?:
|
|
96
|
+
value?: NoInfer< T >;
|
|
97
97
|
/**
|
|
98
98
|
* Use the `showSelectedHint` property instead.
|
|
99
99
|
* @deprecated
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import * as Ariakit from '@ariakit/react';
|
|
5
|
+
import { useStoreState } from '@ariakit/react';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* WordPress dependencies
|
|
@@ -62,7 +63,7 @@ const CustomSelectButton = ( {
|
|
|
62
63
|
CustomSelectStore,
|
|
63
64
|
'onChange'
|
|
64
65
|
> ) => {
|
|
65
|
-
const { value: currentValue } = store
|
|
66
|
+
const { value: currentValue } = useStoreState( store );
|
|
66
67
|
|
|
67
68
|
const computedRenderSelectedValue = useMemo(
|
|
68
69
|
() => renderSelectedValue ?? defaultRenderSelectedValue,
|
|
@@ -132,12 +132,13 @@ export const SelectPopover = styled( Ariakit.SelectPopover )`
|
|
|
132
132
|
min-width: min-content;
|
|
133
133
|
|
|
134
134
|
/* Animation */
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
135
|
+
&[data-open] {
|
|
136
|
+
@media not ( prefers-reduced-motion ) {
|
|
137
|
+
animation-duration: ${ ANIMATION_PARAMS.DURATION };
|
|
138
|
+
animation-timing-function: ${ ANIMATION_PARAMS.EASING };
|
|
139
|
+
animation-name: ${ slideDownAndFade };
|
|
140
|
+
will-change: transform, opacity;
|
|
141
|
+
}
|
|
141
142
|
}
|
|
142
143
|
|
|
143
144
|
&[data-focus-visible] {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import { click, press,
|
|
4
|
+
import { screen } from '@testing-library/react';
|
|
5
|
+
import { click, press, type } from '@ariakit/test';
|
|
6
|
+
import { render } from '@ariakit/test/react';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* WordPress dependencies
|
|
@@ -66,7 +67,7 @@ describe.each( [
|
|
|
66
67
|
const [ , Component ] = modeAndComponent;
|
|
67
68
|
|
|
68
69
|
it( 'Should replace the initial selection when a new item is selected', async () => {
|
|
69
|
-
render( <Component { ...defaultProps } /> );
|
|
70
|
+
await render( <Component { ...defaultProps } /> );
|
|
70
71
|
|
|
71
72
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
72
73
|
expanded: false,
|
|
@@ -94,13 +95,12 @@ describe.each( [
|
|
|
94
95
|
} );
|
|
95
96
|
|
|
96
97
|
it( 'Should keep current selection if dropdown is closed without changing selection', async () => {
|
|
97
|
-
render( <Component { ...defaultProps } /> );
|
|
98
|
+
await render( <Component { ...defaultProps } /> );
|
|
98
99
|
|
|
99
100
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
100
101
|
expanded: false,
|
|
101
102
|
} );
|
|
102
103
|
|
|
103
|
-
await sleep();
|
|
104
104
|
await press.Tab();
|
|
105
105
|
await press.Enter();
|
|
106
106
|
expect(
|
|
@@ -121,13 +121,12 @@ describe.each( [
|
|
|
121
121
|
|
|
122
122
|
describe( 'Keyboard behavior and accessibility', () => {
|
|
123
123
|
it( 'Should be able to change selection using keyboard', async () => {
|
|
124
|
-
render( <Component { ...defaultProps } /> );
|
|
124
|
+
await render( <Component { ...defaultProps } /> );
|
|
125
125
|
|
|
126
126
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
127
127
|
expanded: false,
|
|
128
128
|
} );
|
|
129
129
|
|
|
130
|
-
await sleep();
|
|
131
130
|
await press.Tab();
|
|
132
131
|
expect( currentSelectedItem ).toHaveFocus();
|
|
133
132
|
|
|
@@ -145,13 +144,12 @@ describe.each( [
|
|
|
145
144
|
} );
|
|
146
145
|
|
|
147
146
|
it( 'Should be able to type characters to select matching options', async () => {
|
|
148
|
-
render( <Component { ...defaultProps } /> );
|
|
147
|
+
await render( <Component { ...defaultProps } /> );
|
|
149
148
|
|
|
150
149
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
151
150
|
expanded: false,
|
|
152
151
|
} );
|
|
153
152
|
|
|
154
|
-
await sleep();
|
|
155
153
|
await press.Tab();
|
|
156
154
|
await press.Enter();
|
|
157
155
|
expect(
|
|
@@ -166,13 +164,12 @@ describe.each( [
|
|
|
166
164
|
} );
|
|
167
165
|
|
|
168
166
|
it( 'Can change selection with a focused input and closed dropdown if typed characters match an option', async () => {
|
|
169
|
-
render( <Component { ...defaultProps } /> );
|
|
167
|
+
await render( <Component { ...defaultProps } /> );
|
|
170
168
|
|
|
171
169
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
172
170
|
expanded: false,
|
|
173
171
|
} );
|
|
174
172
|
|
|
175
|
-
await sleep();
|
|
176
173
|
await press.Tab();
|
|
177
174
|
expect( currentSelectedItem ).toHaveFocus();
|
|
178
175
|
expect( currentSelectedItem ).toHaveTextContent( 'violets' );
|
|
@@ -194,7 +191,7 @@ describe.each( [
|
|
|
194
191
|
} );
|
|
195
192
|
|
|
196
193
|
it( 'Should have correct aria-selected value for selections', async () => {
|
|
197
|
-
render( <Component { ...defaultProps } /> );
|
|
194
|
+
await render( <Component { ...defaultProps } /> );
|
|
198
195
|
|
|
199
196
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
200
197
|
expanded: false,
|
|
@@ -244,7 +241,7 @@ describe.each( [
|
|
|
244
241
|
'ultraviolet morning light',
|
|
245
242
|
];
|
|
246
243
|
|
|
247
|
-
render(
|
|
244
|
+
await render(
|
|
248
245
|
<Component
|
|
249
246
|
defaultValue={ defaultValues }
|
|
250
247
|
onChange={ onChangeMock }
|
|
@@ -326,7 +323,7 @@ describe.each( [
|
|
|
326
323
|
'ultraviolet morning light',
|
|
327
324
|
];
|
|
328
325
|
|
|
329
|
-
render(
|
|
326
|
+
await render(
|
|
330
327
|
<Component defaultValue={ defaultValues } label="Multi-select">
|
|
331
328
|
{ defaultValues.map( ( item ) => (
|
|
332
329
|
<UncontrolledCustomSelectControlV2.Item
|
|
@@ -382,7 +379,7 @@ describe.each( [
|
|
|
382
379
|
return <img src={ `${ value }.jpg` } alt={ value as string } />;
|
|
383
380
|
};
|
|
384
381
|
|
|
385
|
-
render(
|
|
382
|
+
await render(
|
|
386
383
|
<Component label="Rendered" renderSelectedValue={ renderValue }>
|
|
387
384
|
<UncontrolledCustomSelectControlV2.Item value="april-29">
|
|
388
385
|
{ renderValue( 'april-29' ) }
|
|
@@ -418,13 +415,12 @@ describe.each( [
|
|
|
418
415
|
} );
|
|
419
416
|
|
|
420
417
|
it( 'Should open the select popover when focussing the trigger button and pressing arrow down', async () => {
|
|
421
|
-
render( <Component { ...defaultProps } /> );
|
|
418
|
+
await render( <Component { ...defaultProps } /> );
|
|
422
419
|
|
|
423
420
|
const currentSelectedItem = screen.getByRole( 'combobox', {
|
|
424
421
|
expanded: false,
|
|
425
422
|
} );
|
|
426
423
|
|
|
427
|
-
await sleep();
|
|
428
424
|
await press.Tab();
|
|
429
425
|
expect( currentSelectedItem ).toHaveFocus();
|
|
430
426
|
expect( currentSelectedItem ).toHaveTextContent( items[ 0 ].value );
|
|
@@ -437,8 +433,8 @@ describe.each( [
|
|
|
437
433
|
).toBeVisible();
|
|
438
434
|
} );
|
|
439
435
|
|
|
440
|
-
it( 'Should label the component correctly even when the label is not visible', () => {
|
|
441
|
-
render( <Component { ...defaultProps } hideLabelFromVision /> );
|
|
436
|
+
it( 'Should label the component correctly even when the label is not visible', async () => {
|
|
437
|
+
await render( <Component { ...defaultProps } hideLabelFromVision /> );
|
|
442
438
|
|
|
443
439
|
expect(
|
|
444
440
|
screen.getByRole( 'combobox', {
|
package/src/date-time/index.ts
CHANGED
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { default as DatePicker } from './date';
|
|
5
5
|
import { default as TimePicker } from './time';
|
|
6
|
-
import { default as TimeInput } from './time-input';
|
|
7
6
|
import { default as DateTimePicker } from './date-time';
|
|
8
7
|
|
|
9
|
-
export { DatePicker, TimePicker
|
|
8
|
+
export { DatePicker, TimePicker };
|
|
10
9
|
export default DateTimePicker;
|
|
@@ -16,6 +16,8 @@ import TimePicker from '../time';
|
|
|
16
16
|
const meta: Meta< typeof TimePicker > = {
|
|
17
17
|
title: 'Components/TimePicker',
|
|
18
18
|
component: TimePicker,
|
|
19
|
+
// @ts-expect-error - See https://github.com/storybookjs/storybook/issues/23170
|
|
20
|
+
subcomponents: { 'TimePicker.TimeInput': TimePicker.TimeInput },
|
|
19
21
|
argTypes: {
|
|
20
22
|
currentTime: { control: 'date' },
|
|
21
23
|
onChange: { action: 'onChange', control: { type: null } },
|
|
@@ -49,3 +51,18 @@ const Template: StoryFn< typeof TimePicker > = ( {
|
|
|
49
51
|
};
|
|
50
52
|
|
|
51
53
|
export const Default: StoryFn< typeof TimePicker > = Template.bind( {} );
|
|
54
|
+
|
|
55
|
+
const TimeInputTemplate: StoryFn< typeof TimePicker.TimeInput > = ( args ) => {
|
|
56
|
+
return <TimePicker.TimeInput { ...args } />;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* The time input can be used in isolation as `<TimePicker.TimeInput />`. In this case, the `value` will be passed
|
|
61
|
+
* as an object in 24-hour format (`{ hours: number, minutes: number }`).
|
|
62
|
+
*/
|
|
63
|
+
export const TimeInput = TimeInputTemplate.bind( {} );
|
|
64
|
+
TimeInput.args = {
|
|
65
|
+
label: 'Time',
|
|
66
|
+
};
|
|
67
|
+
// Hide TimePicker controls because they don't apply to TimeInput
|
|
68
|
+
TimeInput.parameters = { controls: { include: [] } };
|