@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
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { render, screen } from '@testing-library/react';
|
|
5
|
+
import userEvent from '@testing-library/user-event';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* WordPress dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { useState } from '@wordpress/element';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
import RadioControl from '../';
|
|
16
|
+
|
|
17
|
+
const ControlledRadioControl = ( {
|
|
18
|
+
...props
|
|
19
|
+
}: React.ComponentProps< typeof RadioControl > ) => {
|
|
20
|
+
const [ option, setOption ] = useState( props.selected );
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<RadioControl
|
|
24
|
+
{ ...props }
|
|
25
|
+
onChange={ ( newValue ) => {
|
|
26
|
+
setOption( newValue );
|
|
27
|
+
props.onChange?.( newValue );
|
|
28
|
+
} }
|
|
29
|
+
selected={ option }
|
|
30
|
+
/>
|
|
31
|
+
);
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const defaultProps = {
|
|
35
|
+
options: [
|
|
36
|
+
{ label: 'Mouse', value: 'mouse' },
|
|
37
|
+
{ label: 'Cat', value: 'cat' },
|
|
38
|
+
{ label: 'Dog', value: 'dog' },
|
|
39
|
+
],
|
|
40
|
+
label: 'Animal',
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const defaultPropsWithDescriptions = {
|
|
44
|
+
...defaultProps,
|
|
45
|
+
options: defaultProps.options.map( ( option, index ) => ( {
|
|
46
|
+
...option,
|
|
47
|
+
description: `This is the option number ${ index + 1 }.`,
|
|
48
|
+
} ) ),
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
describe.each( [
|
|
52
|
+
// TODO: `RadioControl` doesn't currently support uncontrolled mode.
|
|
53
|
+
// [ 'uncontrolled', RadioControl ],
|
|
54
|
+
[ 'controlled', ControlledRadioControl ],
|
|
55
|
+
] )( 'RadioControl %s', ( ...modeAndComponent ) => {
|
|
56
|
+
const [ , Component ] = modeAndComponent;
|
|
57
|
+
|
|
58
|
+
describe( 'semantics and labelling', () => {
|
|
59
|
+
it( 'should group all radios under a fieldset with an accessible label (legend)', () => {
|
|
60
|
+
const onChangeSpy = jest.fn();
|
|
61
|
+
render(
|
|
62
|
+
<Component { ...defaultProps } onChange={ onChangeSpy } />
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
expect(
|
|
66
|
+
screen.getByRole( 'group', { name: defaultProps.label } )
|
|
67
|
+
).toBeVisible();
|
|
68
|
+
} );
|
|
69
|
+
|
|
70
|
+
it( 'should group all radios under a fieldset with an accessible label even when the label is visually hidden', () => {
|
|
71
|
+
const onChangeSpy = jest.fn();
|
|
72
|
+
render(
|
|
73
|
+
<Component
|
|
74
|
+
{ ...defaultProps }
|
|
75
|
+
hideLabelFromVision
|
|
76
|
+
onChange={ onChangeSpy }
|
|
77
|
+
/>
|
|
78
|
+
);
|
|
79
|
+
|
|
80
|
+
expect(
|
|
81
|
+
screen.getByRole( 'group', { name: defaultProps.label } )
|
|
82
|
+
).toBeVisible();
|
|
83
|
+
} );
|
|
84
|
+
|
|
85
|
+
it( 'should describe the radio group with the help text', () => {
|
|
86
|
+
const onChangeSpy = jest.fn();
|
|
87
|
+
render(
|
|
88
|
+
<Component
|
|
89
|
+
{ ...defaultProps }
|
|
90
|
+
help="Test help text"
|
|
91
|
+
onChange={ onChangeSpy }
|
|
92
|
+
/>
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
expect(
|
|
96
|
+
screen.getByRole( 'group', { name: defaultProps.label } )
|
|
97
|
+
).toHaveAccessibleDescription( 'Test help text' );
|
|
98
|
+
} );
|
|
99
|
+
|
|
100
|
+
it( 'should render radio inputs with accessible labels', () => {
|
|
101
|
+
const onChangeSpy = jest.fn();
|
|
102
|
+
render(
|
|
103
|
+
<Component { ...defaultProps } onChange={ onChangeSpy } />
|
|
104
|
+
);
|
|
105
|
+
|
|
106
|
+
for ( const option of defaultProps.options ) {
|
|
107
|
+
const optionEl = screen.getByRole( 'radio', {
|
|
108
|
+
name: option.label,
|
|
109
|
+
} );
|
|
110
|
+
expect( optionEl ).toBeVisible();
|
|
111
|
+
expect( optionEl ).not.toBeChecked();
|
|
112
|
+
}
|
|
113
|
+
} );
|
|
114
|
+
|
|
115
|
+
it( 'should not select have a selected value when the `selected` prop does not match any available options', () => {
|
|
116
|
+
const onChangeSpy = jest.fn();
|
|
117
|
+
render(
|
|
118
|
+
<Component { ...defaultProps } onChange={ onChangeSpy } />
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
expect(
|
|
122
|
+
screen.queryByRole( 'radio', {
|
|
123
|
+
checked: true,
|
|
124
|
+
} )
|
|
125
|
+
).not.toBeInTheDocument();
|
|
126
|
+
} );
|
|
127
|
+
|
|
128
|
+
it( 'should render mutually exclusive radio inputs', () => {
|
|
129
|
+
const onChangeSpy = jest.fn();
|
|
130
|
+
render(
|
|
131
|
+
<Component
|
|
132
|
+
{ ...defaultProps }
|
|
133
|
+
onChange={ onChangeSpy }
|
|
134
|
+
selected={ defaultProps.options[ 1 ].value }
|
|
135
|
+
/>
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
expect(
|
|
139
|
+
screen.getByRole( 'radio', {
|
|
140
|
+
checked: true,
|
|
141
|
+
} )
|
|
142
|
+
).toHaveAccessibleName( defaultProps.options[ 1 ].label );
|
|
143
|
+
} );
|
|
144
|
+
|
|
145
|
+
it( 'should use the option description text to describe individual options', () => {
|
|
146
|
+
const onChangeSpy = jest.fn();
|
|
147
|
+
render(
|
|
148
|
+
<Component
|
|
149
|
+
{ ...defaultPropsWithDescriptions }
|
|
150
|
+
onChange={ onChangeSpy }
|
|
151
|
+
selected={ defaultProps.options[ 1 ].value }
|
|
152
|
+
help="Select your favorite animal"
|
|
153
|
+
/>
|
|
154
|
+
);
|
|
155
|
+
|
|
156
|
+
// Group help text should not be used to describe individual options.
|
|
157
|
+
let index = 1;
|
|
158
|
+
for ( const option of defaultProps.options ) {
|
|
159
|
+
expect(
|
|
160
|
+
screen.getByRole( 'radio', { name: option.label } )
|
|
161
|
+
).toHaveAccessibleDescription(
|
|
162
|
+
`This is the option number ${ index }.`
|
|
163
|
+
);
|
|
164
|
+
index += 1;
|
|
165
|
+
}
|
|
166
|
+
} );
|
|
167
|
+
} );
|
|
168
|
+
|
|
169
|
+
describe( 'interaction', () => {
|
|
170
|
+
it( 'should select a new value when clicking on the radio input', async () => {
|
|
171
|
+
const user = userEvent.setup();
|
|
172
|
+
const onChangeSpy = jest.fn();
|
|
173
|
+
render(
|
|
174
|
+
<Component { ...defaultProps } onChange={ onChangeSpy } />
|
|
175
|
+
);
|
|
176
|
+
|
|
177
|
+
// Click on the third radio, make sure it's selected.
|
|
178
|
+
await user.click(
|
|
179
|
+
screen.getByRole( 'radio', {
|
|
180
|
+
name: defaultProps.options[ 2 ].label,
|
|
181
|
+
} )
|
|
182
|
+
);
|
|
183
|
+
expect(
|
|
184
|
+
screen.getByRole( 'radio', {
|
|
185
|
+
checked: true,
|
|
186
|
+
} )
|
|
187
|
+
).toHaveAccessibleName( defaultProps.options[ 2 ].label );
|
|
188
|
+
|
|
189
|
+
expect( onChangeSpy ).toHaveBeenCalledTimes( 1 );
|
|
190
|
+
expect( onChangeSpy ).toHaveBeenLastCalledWith(
|
|
191
|
+
defaultProps.options[ 2 ].value
|
|
192
|
+
);
|
|
193
|
+
} );
|
|
194
|
+
|
|
195
|
+
it( 'should select a new value when clicking on the radio label', async () => {
|
|
196
|
+
const user = userEvent.setup();
|
|
197
|
+
const onChangeSpy = jest.fn();
|
|
198
|
+
render(
|
|
199
|
+
<Component { ...defaultProps } onChange={ onChangeSpy } />
|
|
200
|
+
);
|
|
201
|
+
|
|
202
|
+
// Click on the second radio's label, make sure it selects the associated radio.
|
|
203
|
+
await user.click(
|
|
204
|
+
screen.getByText( defaultProps.options[ 1 ].label )
|
|
205
|
+
);
|
|
206
|
+
expect(
|
|
207
|
+
screen.getByRole( 'radio', {
|
|
208
|
+
checked: true,
|
|
209
|
+
} )
|
|
210
|
+
).toHaveAccessibleName( defaultProps.options[ 1 ].label );
|
|
211
|
+
|
|
212
|
+
expect( onChangeSpy ).toHaveBeenCalledTimes( 1 );
|
|
213
|
+
expect( onChangeSpy ).toHaveBeenLastCalledWith(
|
|
214
|
+
defaultProps.options[ 1 ].value
|
|
215
|
+
);
|
|
216
|
+
} );
|
|
217
|
+
|
|
218
|
+
it( 'should select a new value when using the arrow keys', async () => {
|
|
219
|
+
const user = userEvent.setup();
|
|
220
|
+
const onChangeSpy = jest.fn();
|
|
221
|
+
render(
|
|
222
|
+
<Component { ...defaultProps } onChange={ onChangeSpy } />
|
|
223
|
+
);
|
|
224
|
+
|
|
225
|
+
await user.tab();
|
|
226
|
+
|
|
227
|
+
expect(
|
|
228
|
+
screen.getByRole( 'radio', {
|
|
229
|
+
name: defaultProps.options[ 0 ].label,
|
|
230
|
+
} )
|
|
231
|
+
).toHaveFocus();
|
|
232
|
+
|
|
233
|
+
await user.keyboard( '{ArrowDown}' );
|
|
234
|
+
|
|
235
|
+
expect(
|
|
236
|
+
screen.getByRole( 'radio', {
|
|
237
|
+
checked: true,
|
|
238
|
+
name: defaultProps.options[ 1 ].label,
|
|
239
|
+
} )
|
|
240
|
+
).toHaveFocus();
|
|
241
|
+
expect( onChangeSpy ).toHaveBeenCalledTimes( 2 );
|
|
242
|
+
expect( onChangeSpy ).toHaveBeenLastCalledWith(
|
|
243
|
+
defaultProps.options[ 1 ].value
|
|
244
|
+
);
|
|
245
|
+
|
|
246
|
+
await user.keyboard( '{ArrowDown}' );
|
|
247
|
+
await user.keyboard( '{ArrowDown}' );
|
|
248
|
+
|
|
249
|
+
// The selection wrap around.
|
|
250
|
+
expect(
|
|
251
|
+
screen.getByRole( 'radio', {
|
|
252
|
+
checked: true,
|
|
253
|
+
name: defaultProps.options[ 0 ].label,
|
|
254
|
+
} )
|
|
255
|
+
).toHaveFocus();
|
|
256
|
+
// TODO: why called twice for every interaction?
|
|
257
|
+
expect( onChangeSpy ).toHaveBeenCalledTimes( 6 );
|
|
258
|
+
expect( onChangeSpy ).toHaveBeenLastCalledWith(
|
|
259
|
+
defaultProps.options[ 0 ].value
|
|
260
|
+
);
|
|
261
|
+
|
|
262
|
+
await user.keyboard( '{ArrowUp}' );
|
|
263
|
+
|
|
264
|
+
expect(
|
|
265
|
+
screen.getByRole( 'radio', {
|
|
266
|
+
checked: true,
|
|
267
|
+
name: defaultProps.options[ 2 ].label,
|
|
268
|
+
} )
|
|
269
|
+
).toHaveFocus();
|
|
270
|
+
|
|
271
|
+
expect( onChangeSpy ).toHaveBeenCalledTimes( 8 );
|
|
272
|
+
expect( onChangeSpy ).toHaveBeenLastCalledWith(
|
|
273
|
+
defaultProps.options[ 2 ].value
|
|
274
|
+
);
|
|
275
|
+
} );
|
|
276
|
+
} );
|
|
277
|
+
} );
|
|
@@ -24,6 +24,10 @@ export type RadioControlProps = Pick<
|
|
|
24
24
|
* The internal value compared against select and passed to onChange
|
|
25
25
|
*/
|
|
26
26
|
value: string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional help text to be shown in addition the label.
|
|
29
|
+
*/
|
|
30
|
+
description?: string;
|
|
27
31
|
}[];
|
|
28
32
|
/**
|
|
29
33
|
* The value property of the currently selected option.
|
|
@@ -7,6 +7,7 @@ import { forwardRef, useContext } from '@wordpress/element';
|
|
|
7
7
|
* External dependencies
|
|
8
8
|
*/
|
|
9
9
|
import * as Ariakit from '@ariakit/react';
|
|
10
|
+
import { useStoreState } from '@ariakit/react';
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* Internal dependencies
|
|
@@ -26,7 +27,7 @@ function UnforwardedRadio(
|
|
|
26
27
|
) {
|
|
27
28
|
const { store, disabled } = useContext( RadioGroupContext );
|
|
28
29
|
|
|
29
|
-
const selectedValue =
|
|
30
|
+
const selectedValue = useStoreState( store, 'value' );
|
|
30
31
|
const isChecked = selectedValue !== undefined && selectedValue === value;
|
|
31
32
|
|
|
32
33
|
return (
|
|
@@ -362,6 +362,13 @@ Determines if the `input` number field will render next to the RangeControl. Thi
|
|
|
362
362
|
- Required: No
|
|
363
363
|
- Platform: Web
|
|
364
364
|
|
|
365
|
+
### `__next40pxDefaultSize`: `boolean`
|
|
366
|
+
|
|
367
|
+
Start opting into the larger default height that will become the default size in a future version.
|
|
368
|
+
|
|
369
|
+
- Required: No
|
|
370
|
+
- Default: `false`
|
|
371
|
+
|
|
365
372
|
### `__nextHasNoMarginBottom`: `boolean`
|
|
366
373
|
|
|
367
374
|
Start opting into the new margin-free styles that will become the default in a future version.
|
|
@@ -41,6 +41,25 @@ import { space } from '../utils/space';
|
|
|
41
41
|
|
|
42
42
|
const noop = () => {};
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Computes the value that `RangeControl` should reset to when pressing
|
|
46
|
+
* the reset button.
|
|
47
|
+
*/
|
|
48
|
+
function computeResetValue( {
|
|
49
|
+
resetFallbackValue,
|
|
50
|
+
initialPosition,
|
|
51
|
+
}: Pick< RangeControlProps, 'resetFallbackValue' | 'initialPosition' > ) {
|
|
52
|
+
if ( resetFallbackValue !== undefined ) {
|
|
53
|
+
return ! Number.isNaN( resetFallbackValue ) ? resetFallbackValue : null;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
if ( initialPosition !== undefined ) {
|
|
57
|
+
return ! Number.isNaN( initialPosition ) ? initialPosition : null;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
|
|
44
63
|
function UnforwardedRangeControl(
|
|
45
64
|
props: WordPressComponentProps< RangeControlProps, 'input', false >,
|
|
46
65
|
forwardedRef: ForwardedRef< HTMLInputElement >
|
|
@@ -166,13 +185,12 @@ function UnforwardedRangeControl(
|
|
|
166
185
|
};
|
|
167
186
|
|
|
168
187
|
const handleOnReset = () => {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}
|
|
188
|
+
// Reset to `resetFallbackValue` if defined, otherwise set internal value
|
|
189
|
+
// to `null` — which, if propagated to the `value` prop, will cause
|
|
190
|
+
// the value to be reset to the `initialPosition` prop if defined.
|
|
191
|
+
const resetValue = Number.isNaN( resetFallbackValue )
|
|
192
|
+
? null
|
|
193
|
+
: resetFallbackValue ?? null;
|
|
176
194
|
|
|
177
195
|
setValue( resetValue );
|
|
178
196
|
|
|
@@ -189,7 +207,7 @@ function UnforwardedRangeControl(
|
|
|
189
207
|
* preserve the undefined callback argument, except when a
|
|
190
208
|
* resetFallbackValue is defined.
|
|
191
209
|
*/
|
|
192
|
-
onChange(
|
|
210
|
+
onChange( resetValue ?? undefined );
|
|
193
211
|
};
|
|
194
212
|
|
|
195
213
|
const handleShowTooltip = () => setShowTooltip( true );
|
|
@@ -210,9 +228,11 @@ function UnforwardedRangeControl(
|
|
|
210
228
|
const offsetStyle = {
|
|
211
229
|
[ isRTL() ? 'right' : 'left' ]: fillValueOffset,
|
|
212
230
|
};
|
|
231
|
+
|
|
213
232
|
return (
|
|
214
233
|
<BaseControl
|
|
215
234
|
__nextHasNoMarginBottom={ __nextHasNoMarginBottom }
|
|
235
|
+
__associatedWPComponentName="RangeControl"
|
|
216
236
|
className={ classes }
|
|
217
237
|
label={ label }
|
|
218
238
|
hideLabelFromVision={ hideLabelFromVision }
|
|
@@ -328,7 +348,17 @@ function UnforwardedRangeControl(
|
|
|
328
348
|
className="components-range-control__reset"
|
|
329
349
|
// If the RangeControl itself is disabled, the reset button shouldn't be in the tab sequence.
|
|
330
350
|
accessibleWhenDisabled={ ! disabled }
|
|
331
|
-
|
|
351
|
+
// The reset button should be disabled if RangeControl itself is disabled,
|
|
352
|
+
// or if the current `value` is equal to the value that would be currently
|
|
353
|
+
// assigned when clicking the button.
|
|
354
|
+
disabled={
|
|
355
|
+
disabled ||
|
|
356
|
+
value ===
|
|
357
|
+
computeResetValue( {
|
|
358
|
+
resetFallbackValue,
|
|
359
|
+
initialPosition,
|
|
360
|
+
} )
|
|
361
|
+
}
|
|
332
362
|
variant="secondary"
|
|
333
363
|
size="small"
|
|
334
364
|
onClick={ handleOnReset }
|
|
@@ -70,6 +70,7 @@ const Template: StoryFn< typeof RangeControl > = ( { onChange, ...args } ) => {
|
|
|
70
70
|
|
|
71
71
|
export const Default: StoryFn< typeof RangeControl > = Template.bind( {} );
|
|
72
72
|
Default.args = {
|
|
73
|
+
__nextHasNoMarginBottom: true,
|
|
73
74
|
help: 'Please select how transparent you would like this.',
|
|
74
75
|
initialPosition: 50,
|
|
75
76
|
label: 'Opacity',
|
|
@@ -104,6 +105,7 @@ export const WithAnyStep: StoryFn< typeof RangeControl > = ( {
|
|
|
104
105
|
);
|
|
105
106
|
};
|
|
106
107
|
WithAnyStep.args = {
|
|
108
|
+
__nextHasNoMarginBottom: true,
|
|
107
109
|
label: 'Brightness',
|
|
108
110
|
step: 'any',
|
|
109
111
|
};
|
|
@@ -167,6 +169,7 @@ export const WithIntegerStepAndMarks: StoryFn< typeof RangeControl > =
|
|
|
167
169
|
MarkTemplate.bind( {} );
|
|
168
170
|
|
|
169
171
|
WithIntegerStepAndMarks.args = {
|
|
172
|
+
__nextHasNoMarginBottom: true,
|
|
170
173
|
label: 'Integer Step',
|
|
171
174
|
marks: marksBase,
|
|
172
175
|
max: 10,
|
|
@@ -183,6 +186,7 @@ export const WithDecimalStepAndMarks: StoryFn< typeof RangeControl > =
|
|
|
183
186
|
MarkTemplate.bind( {} );
|
|
184
187
|
|
|
185
188
|
WithDecimalStepAndMarks.args = {
|
|
189
|
+
__nextHasNoMarginBottom: true,
|
|
186
190
|
marks: [
|
|
187
191
|
...marksBase,
|
|
188
192
|
{ value: 3.5, label: '3.5' },
|
|
@@ -202,6 +206,7 @@ export const WithNegativeMinimumAndMarks: StoryFn< typeof RangeControl > =
|
|
|
202
206
|
MarkTemplate.bind( {} );
|
|
203
207
|
|
|
204
208
|
WithNegativeMinimumAndMarks.args = {
|
|
209
|
+
__nextHasNoMarginBottom: true,
|
|
205
210
|
marks: marksWithNegatives,
|
|
206
211
|
max: 10,
|
|
207
212
|
min: -10,
|
|
@@ -217,6 +222,7 @@ export const WithNegativeRangeAndMarks: StoryFn< typeof RangeControl > =
|
|
|
217
222
|
MarkTemplate.bind( {} );
|
|
218
223
|
|
|
219
224
|
WithNegativeRangeAndMarks.args = {
|
|
225
|
+
__nextHasNoMarginBottom: true,
|
|
220
226
|
marks: marksWithNegatives,
|
|
221
227
|
max: -1,
|
|
222
228
|
min: -10,
|
|
@@ -232,6 +238,7 @@ export const WithAnyStepAndMarks: StoryFn< typeof RangeControl > =
|
|
|
232
238
|
MarkTemplate.bind( {} );
|
|
233
239
|
|
|
234
240
|
WithAnyStepAndMarks.args = {
|
|
241
|
+
__nextHasNoMarginBottom: true,
|
|
235
242
|
marks: marksBase,
|
|
236
243
|
max: 10,
|
|
237
244
|
min: 0,
|
|
@@ -154,7 +154,7 @@ export const Mark = styled.span`
|
|
|
154
154
|
height: ${ thumbSize }px;
|
|
155
155
|
left: 0;
|
|
156
156
|
position: absolute;
|
|
157
|
-
top:
|
|
157
|
+
top: 9px;
|
|
158
158
|
width: 1px;
|
|
159
159
|
|
|
160
160
|
${ markFill };
|
|
@@ -170,7 +170,7 @@ export const MarkLabel = styled.span`
|
|
|
170
170
|
color: ${ COLORS.gray[ 300 ] };
|
|
171
171
|
font-size: 11px;
|
|
172
172
|
position: absolute;
|
|
173
|
-
top:
|
|
173
|
+
top: 22px;
|
|
174
174
|
white-space: nowrap;
|
|
175
175
|
|
|
176
176
|
${ rtl( { left: 0 } ) };
|
|
@@ -6,7 +6,7 @@ import { act, fireEvent, render, screen } from '@testing-library/react';
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
|
-
import
|
|
9
|
+
import _RangeControl from '../';
|
|
10
10
|
|
|
11
11
|
const getRangeInput = (): HTMLInputElement => screen.getByRole( 'slider' );
|
|
12
12
|
const getNumberInput = (): HTMLInputElement => screen.getByRole( 'spinbutton' );
|
|
@@ -15,6 +15,12 @@ const getResetButton = (): HTMLButtonElement => screen.getByRole( 'button' );
|
|
|
15
15
|
const fireChangeEvent = ( input: HTMLInputElement, value?: number | string ) =>
|
|
16
16
|
fireEvent.change( input, { target: { value } } );
|
|
17
17
|
|
|
18
|
+
const RangeControl = (
|
|
19
|
+
props: React.ComponentProps< typeof _RangeControl >
|
|
20
|
+
) => {
|
|
21
|
+
return <_RangeControl { ...props } __nextHasNoMarginBottom />;
|
|
22
|
+
};
|
|
23
|
+
|
|
18
24
|
describe( 'RangeControl', () => {
|
|
19
25
|
describe( '#render()', () => {
|
|
20
26
|
it( 'should trigger change callback with numeric value', () => {
|
|
@@ -292,14 +298,37 @@ describe( 'RangeControl', () => {
|
|
|
292
298
|
} );
|
|
293
299
|
|
|
294
300
|
describe( 'reset', () => {
|
|
295
|
-
it( 'should
|
|
301
|
+
it( 'should clear the input value when clicking the reset button', () => {
|
|
302
|
+
const spy = jest.fn();
|
|
303
|
+
render( <RangeControl allowReset onChange={ spy } /> );
|
|
304
|
+
|
|
305
|
+
const resetButton = getResetButton();
|
|
306
|
+
const rangeInput = getRangeInput();
|
|
307
|
+
const numberInput = getNumberInput();
|
|
308
|
+
|
|
309
|
+
fireChangeEvent( numberInput, '14' );
|
|
310
|
+
|
|
311
|
+
expect( rangeInput.value ).toBe( '14' );
|
|
312
|
+
expect( numberInput.value ).toBe( '14' );
|
|
313
|
+
expect( spy ).toHaveBeenCalledWith( 14 );
|
|
314
|
+
|
|
315
|
+
fireEvent.click( resetButton );
|
|
316
|
+
|
|
317
|
+
// range input resets to min + (max-min)/2
|
|
318
|
+
expect( rangeInput.value ).toBe( '50' );
|
|
319
|
+
expect( numberInput.value ).toBe( '' );
|
|
320
|
+
expect( spy ).toHaveBeenCalledWith( undefined );
|
|
321
|
+
|
|
322
|
+
expect( resetButton ).toHaveAttribute( 'aria-disabled', 'true' );
|
|
323
|
+
} );
|
|
324
|
+
|
|
325
|
+
it( 'should reset to the `initialPosition` value when clicking the reset button', () => {
|
|
296
326
|
const spy = jest.fn();
|
|
297
327
|
render(
|
|
298
328
|
<RangeControl
|
|
299
|
-
initialPosition={ 10 }
|
|
300
329
|
allowReset
|
|
330
|
+
initialPosition={ 23 }
|
|
301
331
|
onChange={ spy }
|
|
302
|
-
resetFallbackValue={ 33 }
|
|
303
332
|
/>
|
|
304
333
|
);
|
|
305
334
|
|
|
@@ -307,21 +336,29 @@ describe( 'RangeControl', () => {
|
|
|
307
336
|
const rangeInput = getRangeInput();
|
|
308
337
|
const numberInput = getNumberInput();
|
|
309
338
|
|
|
339
|
+
fireChangeEvent( numberInput, '14' );
|
|
340
|
+
|
|
341
|
+
expect( rangeInput.value ).toBe( '14' );
|
|
342
|
+
expect( numberInput.value ).toBe( '14' );
|
|
343
|
+
expect( spy ).toHaveBeenCalledWith( 14 );
|
|
344
|
+
|
|
310
345
|
fireEvent.click( resetButton );
|
|
311
346
|
|
|
312
|
-
expect( rangeInput.value ).toBe( '
|
|
313
|
-
expect( numberInput.value ).toBe( '
|
|
314
|
-
expect( spy ).toHaveBeenCalledWith(
|
|
347
|
+
expect( rangeInput.value ).toBe( '23' );
|
|
348
|
+
expect( numberInput.value ).toBe( '23' );
|
|
349
|
+
expect( spy ).toHaveBeenCalledWith( undefined );
|
|
350
|
+
|
|
351
|
+
expect( resetButton ).toHaveAttribute( 'aria-disabled', 'true' );
|
|
315
352
|
} );
|
|
316
353
|
|
|
317
|
-
it( 'should reset to
|
|
354
|
+
it( 'should reset to the `resetFallbackValue` value when clicking the reset button', () => {
|
|
355
|
+
const spy = jest.fn();
|
|
318
356
|
render(
|
|
319
357
|
<RangeControl
|
|
320
|
-
initialPosition={
|
|
321
|
-
min={ 0 }
|
|
322
|
-
max={ 100 }
|
|
358
|
+
initialPosition={ 10 }
|
|
323
359
|
allowReset
|
|
324
|
-
|
|
360
|
+
onChange={ spy }
|
|
361
|
+
resetFallbackValue={ 33 }
|
|
325
362
|
/>
|
|
326
363
|
);
|
|
327
364
|
|
|
@@ -331,8 +368,11 @@ describe( 'RangeControl', () => {
|
|
|
331
368
|
|
|
332
369
|
fireEvent.click( resetButton );
|
|
333
370
|
|
|
334
|
-
expect( rangeInput.value ).toBe( '
|
|
335
|
-
expect( numberInput.value ).toBe( '' );
|
|
371
|
+
expect( rangeInput.value ).toBe( '33' );
|
|
372
|
+
expect( numberInput.value ).toBe( '33' );
|
|
373
|
+
expect( spy ).toHaveBeenCalledWith( 33 );
|
|
374
|
+
|
|
375
|
+
expect( resetButton ).toHaveAttribute( 'aria-disabled', 'true' );
|
|
336
376
|
} );
|
|
337
377
|
} );
|
|
338
378
|
} );
|
|
@@ -77,10 +77,13 @@ function UnforwardedSearchControl(
|
|
|
77
77
|
|
|
78
78
|
const contextValue = useMemo(
|
|
79
79
|
() => ( {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
BaseControl: {
|
|
81
|
+
// Overrides the underlying BaseControl `__nextHasNoMarginBottom` via the context system
|
|
82
|
+
// to provide backwards compatibile margin for SearchControl.
|
|
83
|
+
// (In a standard InputControl, the BaseControl `__nextHasNoMarginBottom` is always set to true.)
|
|
84
|
+
_overrides: { __nextHasNoMarginBottom },
|
|
85
|
+
__associatedWPComponentName: 'SearchControl',
|
|
86
|
+
},
|
|
84
87
|
// `isBorderless` is still experimental and not a public prop for InputControl yet.
|
|
85
88
|
InputBase: { isBorderless: true },
|
|
86
89
|
} ),
|
|
@@ -190,7 +190,7 @@ In most cases, it is preferable to use the `FormTokenField` or `CheckboxControl`
|
|
|
190
190
|
|
|
191
191
|
#### options
|
|
192
192
|
|
|
193
|
-
An array of objects containing the following properties:
|
|
193
|
+
An array of objects containing the following properties, as well as any other `option` element attributes:
|
|
194
194
|
|
|
195
195
|
- `label`: (string) The label to be shown to the user.
|
|
196
196
|
- `value`: (string) The internal value used to choose the selected value. This is also the value passed to onChange when the option is selected.
|
|
@@ -214,6 +214,13 @@ If multiple is false the value received is a single value with the new selected
|
|
|
214
214
|
- Type: `function`
|
|
215
215
|
- Required: Yes
|
|
216
216
|
|
|
217
|
+
#### value
|
|
218
|
+
|
|
219
|
+
The value of the selected option. If `multiple` is true, the `value` should be an array with the values of the selected options.
|
|
220
|
+
|
|
221
|
+
- Type: `String|String[]`
|
|
222
|
+
- Required: No
|
|
223
|
+
|
|
217
224
|
#### variant
|
|
218
225
|
|
|
219
226
|
The style variant of the control.
|
|
@@ -222,6 +229,14 @@ The style variant of the control.
|
|
|
222
229
|
- Required: No
|
|
223
230
|
- Default: `'default'`
|
|
224
231
|
|
|
232
|
+
### __next40pxDefaultSize
|
|
233
|
+
|
|
234
|
+
Start opting into the larger default height that will become the default size in a future version.
|
|
235
|
+
|
|
236
|
+
- Type: `Boolean`
|
|
237
|
+
- Required: No
|
|
238
|
+
- Default: `false`
|
|
239
|
+
|
|
225
240
|
### __nextHasNoMarginBottom
|
|
226
241
|
|
|
227
242
|
Start opting into the new margin-free styles that will become the default in a future version.
|