@wordpress/components 20.0.2-next.957ca95e4c.0 → 21.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +68 -1
- package/CONTRIBUTING.md +3 -54
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build/angle-picker-control/index.js +10 -0
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/autocomplete/autocompleter-ui.js +3 -3
- package/build/autocomplete/autocompleter-ui.js.map +1 -1
- package/build/border-box-control/border-box-control/component.js +10 -7
- package/build/border-box-control/border-box-control/component.js.map +1 -1
- package/build/border-box-control/border-box-control-linked-button/component.js +1 -2
- package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
- package/build/border-box-control/border-box-control-split-controls/component.js +10 -7
- package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build/border-box-control/styles.js +7 -7
- package/build/border-box-control/styles.js.map +1 -1
- package/build/border-control/border-control-dropdown/component.js +2 -1
- package/build/border-control/border-control-dropdown/component.js.map +1 -1
- package/build/box-control/linked-button.js +3 -3
- package/build/box-control/linked-button.js.map +1 -1
- package/build/card/styles.js +17 -17
- package/build/card/styles.js.map +1 -1
- package/build/checkbox-control/index.js +3 -3
- package/build/checkbox-control/index.js.map +1 -1
- package/build/color-palette/index.js +1 -1
- package/build/color-palette/index.js.map +1 -1
- package/build/color-picker/input-with-slider.js +2 -1
- package/build/color-picker/input-with-slider.js.map +1 -1
- package/build/combobox-control/index.js +1 -1
- package/build/combobox-control/index.js.map +1 -1
- package/build/custom-gradient-picker/index.js +1 -1
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/date-time/date/index.js +1 -1
- package/build/date-time/date/index.js.map +1 -1
- package/build/date-time/time/timezone.js +1 -1
- package/build/date-time/time/timezone.js.map +1 -1
- package/build/disabled/index.js +14 -6
- package/build/disabled/index.js.map +1 -1
- package/build/disabled/styles/disabled-styles.js +8 -18
- package/build/disabled/styles/disabled-styles.js.map +1 -1
- package/build/drop-zone/index.js +44 -9
- package/build/drop-zone/index.js.map +1 -1
- package/build/drop-zone/provider.js.map +1 -1
- package/build/drop-zone/types.js +6 -0
- package/build/drop-zone/types.js.map +1 -0
- package/build/dropdown/index.js +11 -4
- package/build/dropdown/index.js.map +1 -1
- package/build/flex/flex/hook.js +6 -30
- package/build/flex/flex/hook.js.map +1 -1
- package/build/focal-point-picker/controls.js +10 -5
- package/build/focal-point-picker/controls.js.map +1 -1
- package/build/focal-point-picker/focal-point.js.map +1 -1
- package/build/focal-point-picker/grid.js.map +1 -1
- package/build/focal-point-picker/index.js +83 -16
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/media.js +4 -0
- package/build/focal-point-picker/media.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-picker-style.js +70 -41
- package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-style.js +12 -12
- package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build/focal-point-picker/types.js +6 -0
- package/build/focal-point-picker/types.js.map +1 -0
- package/build/focal-point-picker/utils.js +6 -6
- package/build/focal-point-picker/utils.js.map +1 -1
- package/build/font-size-picker/index.js +11 -0
- package/build/font-size-picker/index.js.map +1 -1
- package/build/font-size-picker/utils.js +1 -1
- package/build/font-size-picker/utils.js.map +1 -1
- package/build/form-file-upload/index.js +22 -2
- package/build/form-file-upload/index.js.map +1 -1
- package/build/form-file-upload/types.js +6 -0
- package/build/form-file-upload/types.js.map +1 -0
- package/build/form-toggle/index.js +1 -3
- package/build/form-toggle/index.js.map +1 -1
- package/build/form-token-field/index.js +4 -6
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/suggestions-list.js +1 -3
- package/build/form-token-field/suggestions-list.js.map +1 -1
- package/build/gradient-picker/index.js +25 -26
- package/build/gradient-picker/index.js.map +1 -1
- package/build/icon/index.js +1 -2
- package/build/icon/index.js.map +1 -1
- package/build/input-control/input-base.js +3 -2
- package/build/input-control/input-base.js.map +1 -1
- package/build/input-control/label.js +2 -2
- package/build/input-control/label.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +41 -128
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/modal/aria-helper.js +3 -10
- package/build/modal/aria-helper.js.map +1 -1
- package/build/navigable-container/container.js +5 -1
- package/build/navigable-container/container.js.map +1 -1
- package/build/navigable-container/menu.js +10 -12
- package/build/navigable-container/menu.js.map +1 -1
- package/build/navigable-container/tabbable.js +2 -4
- package/build/navigable-container/tabbable.js.map +1 -1
- package/build/navigation/menu/menu-title-search.js +2 -1
- package/build/navigation/menu/menu-title-search.js.map +1 -1
- package/build/navigation/menu/use-navigation-tree-menu.js +2 -1
- package/build/navigation/menu/use-navigation-tree-menu.js.map +1 -1
- package/build/navigator/navigator-button/hook.js +1 -1
- package/build/navigator/navigator-button/hook.js.map +1 -1
- package/build/navigator/navigator-screen/component.js +2 -2
- package/build/navigator/navigator-screen/component.js.map +1 -1
- package/build/number-control/index.js +29 -25
- package/build/number-control/index.js.map +1 -1
- package/build/number-control/types.js +6 -0
- package/build/number-control/types.js.map +1 -0
- package/build/placeholder/index.js +1 -3
- package/build/placeholder/index.js.map +1 -1
- package/build/popover/index.js +190 -160
- package/build/popover/index.js.map +1 -1
- package/build/popover/types.js +6 -0
- package/build/popover/types.js.map +1 -0
- package/build/popover/utils.js +125 -24
- package/build/popover/utils.js.map +1 -1
- package/build/radio-control/index.js +7 -4
- package/build/radio-control/index.js.map +1 -1
- package/build/range-control/index.js +4 -1
- package/build/range-control/index.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +33 -33
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/sandbox/index.js +2 -2
- package/build/sandbox/index.js.map +1 -1
- package/build/search-control/index.js +38 -10
- package/build/search-control/index.js.map +1 -1
- package/build/search-control/types.js +6 -0
- package/build/search-control/types.js.map +1 -0
- package/build/select-control/index.native.js +2 -1
- package/build/select-control/index.native.js.map +1 -1
- package/build/tab-panel/index.js +48 -9
- package/build/tab-panel/index.js.map +1 -1
- package/build/tab-panel/types.js +6 -0
- package/build/tab-panel/types.js.map +1 -0
- package/build/text-control/index.js +2 -0
- package/build/text-control/index.js.map +1 -1
- package/build/textarea-control/index.js +3 -3
- package/build/textarea-control/index.js.map +1 -1
- package/build/toggle-control/index.js +44 -4
- package/build/toggle-control/index.js.map +1 -1
- package/build/toggle-control/types.js +6 -0
- package/build/toggle-control/types.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control/component.js +2 -2
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js +1 -1
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build/tooltip/index.js +9 -7
- package/build/tooltip/index.js.map +1 -1
- package/build/ui/context/context-connect.js +31 -22
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/ui/context/context-system-provider.js +4 -3
- package/build/ui/context/context-system-provider.js.map +1 -1
- package/build/unit-control/index.js +1 -1
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/styles/unit-control-styles.js +9 -9
- package/build/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build/utils/colors-values.js +2 -30
- package/build/utils/colors-values.js.map +1 -1
- package/build/utils/math.js +4 -4
- package/build/utils/math.js.map +1 -1
- package/build/utils/values.js +62 -6
- package/build/utils/values.js.map +1 -1
- package/build/view/component.js +6 -7
- package/build/view/component.js.map +1 -1
- package/build/view/types.js +6 -0
- package/build/view/types.js.map +1 -0
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build-module/angle-picker-control/index.js +9 -0
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.js +4 -4
- package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
- package/build-module/border-box-control/border-box-control/component.js +11 -8
- package/build-module/border-box-control/border-box-control/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control-linked-button/component.js +1 -2
- package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control-split-controls/component.js +11 -8
- package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build-module/border-box-control/styles.js +7 -7
- package/build-module/border-box-control/styles.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js +2 -1
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/box-control/linked-button.js +3 -3
- package/build-module/box-control/linked-button.js.map +1 -1
- package/build-module/card/styles.js +17 -17
- package/build-module/card/styles.js.map +1 -1
- package/build-module/checkbox-control/index.js +3 -3
- package/build-module/checkbox-control/index.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-picker/input-with-slider.js +2 -1
- package/build-module/color-picker/input-with-slider.js.map +1 -1
- package/build-module/combobox-control/index.js +1 -1
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/custom-gradient-picker/index.js +1 -1
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/date-time/date/index.js +2 -3
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/date-time/time/timezone.js +1 -1
- package/build-module/date-time/time/timezone.js.map +1 -1
- package/build-module/disabled/index.js +16 -8
- package/build-module/disabled/index.js.map +1 -1
- package/build-module/disabled/styles/disabled-styles.js +6 -12
- package/build-module/disabled/styles/disabled-styles.js.map +1 -1
- package/build-module/drop-zone/index.js +40 -9
- package/build-module/drop-zone/index.js.map +1 -1
- package/build-module/drop-zone/provider.js.map +1 -1
- package/build-module/drop-zone/types.js +2 -0
- package/build-module/drop-zone/types.js.map +1 -0
- package/build-module/dropdown/index.js +10 -4
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/flex/flex/hook.js +7 -29
- package/build-module/flex/flex/hook.js.map +1 -1
- package/build-module/focal-point-picker/controls.js +11 -6
- package/build-module/focal-point-picker/controls.js.map +1 -1
- package/build-module/focal-point-picker/focal-point.js.map +1 -1
- package/build-module/focal-point-picker/grid.js.map +1 -1
- package/build-module/focal-point-picker/index.js +81 -16
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/media.js +4 -0
- package/build-module/focal-point-picker/media.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js +68 -40
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-style.js +12 -12
- package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build-module/focal-point-picker/types.js +2 -0
- package/build-module/focal-point-picker/types.js.map +1 -0
- package/build-module/focal-point-picker/utils.js +6 -6
- package/build-module/focal-point-picker/utils.js.map +1 -1
- package/build-module/font-size-picker/index.js +10 -0
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/font-size-picker/utils.js +1 -1
- package/build-module/font-size-picker/utils.js.map +1 -1
- package/build-module/form-file-upload/index.js +21 -4
- package/build-module/form-file-upload/index.js.map +1 -1
- package/build-module/form-file-upload/types.js +2 -0
- package/build-module/form-file-upload/types.js.map +1 -0
- package/build-module/form-toggle/index.js +1 -3
- package/build-module/form-toggle/index.js.map +1 -1
- package/build-module/form-token-field/index.js +4 -5
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/suggestions-list.js +1 -2
- package/build-module/form-token-field/suggestions-list.js.map +1 -1
- package/build-module/gradient-picker/index.js +25 -26
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/icon/index.js +1 -2
- package/build-module/icon/index.js.map +1 -1
- package/build-module/input-control/input-base.js +4 -3
- package/build-module/input-control/input-base.js.map +1 -1
- package/build-module/input-control/label.js +3 -3
- package/build-module/input-control/label.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +41 -127
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/modal/aria-helper.js +3 -8
- package/build-module/modal/aria-helper.js.map +1 -1
- package/build-module/navigable-container/container.js +5 -1
- package/build-module/navigable-container/container.js.map +1 -1
- package/build-module/navigable-container/menu.js +10 -11
- package/build-module/navigable-container/menu.js.map +1 -1
- package/build-module/navigable-container/tabbable.js +2 -3
- package/build-module/navigable-container/tabbable.js.map +1 -1
- package/build-module/navigation/menu/menu-title-search.js +2 -1
- package/build-module/navigation/menu/menu-title-search.js.map +1 -1
- package/build-module/navigation/menu/use-navigation-tree-menu.js +2 -1
- package/build-module/navigation/menu/use-navigation-tree-menu.js.map +1 -1
- package/build-module/navigator/navigator-button/hook.js +1 -1
- package/build-module/navigator/navigator-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-screen/component.js +2 -2
- package/build-module/navigator/navigator-screen/component.js.map +1 -1
- package/build-module/number-control/index.js +31 -23
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/number-control/types.js +2 -0
- package/build-module/number-control/types.js.map +1 -0
- package/build-module/placeholder/index.js +1 -3
- package/build-module/placeholder/index.js.map +1 -1
- package/build-module/popover/index.js +192 -162
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/types.js +2 -0
- package/build-module/popover/types.js.map +1 -0
- package/build-module/popover/utils.js +118 -23
- package/build-module/popover/utils.js.map +1 -1
- package/build-module/radio-control/index.js +7 -5
- package/build-module/radio-control/index.js.map +1 -1
- package/build-module/range-control/index.js +4 -1
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +33 -33
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/sandbox/index.js +2 -2
- package/build-module/sandbox/index.js.map +1 -1
- package/build-module/search-control/index.js +34 -7
- package/build-module/search-control/index.js.map +1 -1
- package/build-module/search-control/types.js +2 -0
- package/build-module/search-control/types.js.map +1 -0
- package/build-module/select-control/index.native.js +1 -1
- package/build-module/select-control/index.native.js.map +1 -1
- package/build-module/tab-panel/index.js +46 -10
- package/build-module/tab-panel/index.js.map +1 -1
- package/build-module/tab-panel/types.js +2 -0
- package/build-module/tab-panel/types.js.map +1 -0
- 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 +3 -3
- package/build-module/textarea-control/index.js.map +1 -1
- package/build-module/toggle-control/index.js +38 -4
- package/build-module/toggle-control/index.js.map +1 -1
- package/build-module/toggle-control/types.js +2 -0
- package/build-module/toggle-control/types.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control/component.js +2 -2
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build-module/tooltip/index.js +10 -8
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/ui/context/context-connect.js +30 -23
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/ui/context/context-system-provider.js +5 -4
- package/build-module/ui/context/context-system-provider.js.map +1 -1
- package/build-module/unit-control/index.js +1 -1
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/styles/unit-control-styles.js +9 -9
- package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build-module/utils/colors-values.js +2 -30
- package/build-module/utils/colors-values.js.map +1 -1
- package/build-module/utils/math.js +4 -4
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/values.js +48 -6
- package/build-module/utils/values.js.map +1 -1
- package/build-module/view/component.js +5 -8
- package/build-module/view/component.js.map +1 -1
- package/build-module/view/types.js +2 -0
- package/build-module/view/types.js.map +1 -0
- package/build-style/style-rtl.css +4 -31
- package/build-style/style.css +4 -31
- package/build-types/base-field/hook.d.ts +54 -55
- package/build-types/base-field/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control/component.d.ts +10 -2
- package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control/hook.d.ts +56 -57
- package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-linked-button/component.d.ts +2 -1
- package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +55 -56
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +9 -2
- package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +56 -57
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-visualizer/component.d.ts +2 -1
- package/build-types/border-box-control/border-box-control-visualizer/component.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +55 -56
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -1
- package/build-types/border-box-control/styles.d.ts.map +1 -1
- package/build-types/border-box-control/types.d.ts +5 -4
- package/build-types/border-box-control/types.d.ts.map +1 -1
- package/build-types/border-control/border-control/component.d.ts +14 -2
- package/build-types/border-control/border-control/component.d.ts.map +1 -1
- package/build-types/border-control/border-control/hook.d.ts +56 -57
- package/build-types/border-control/border-control/hook.d.ts.map +1 -1
- package/build-types/border-control/border-control-dropdown/component.d.ts +10 -2
- package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -1
- package/build-types/border-control/border-control-dropdown/hook.d.ts +56 -57
- package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -1
- package/build-types/border-control/border-control-style-picker/component.d.ts +6 -2
- package/build-types/border-control/border-control-style-picker/component.d.ts.map +1 -1
- package/build-types/border-control/border-control-style-picker/hook.d.ts +55 -56
- package/build-types/border-control/border-control-style-picker/hook.d.ts.map +1 -1
- package/build-types/border-control/stories/index.d.ts +74 -6
- package/build-types/border-control/stories/index.d.ts.map +1 -1
- package/build-types/border-control/types.d.ts +6 -8
- package/build-types/border-control/types.d.ts.map +1 -1
- package/build-types/button-group/index.d.ts +1 -3
- package/build-types/button-group/index.d.ts.map +1 -1
- package/build-types/card/card/component.d.ts +9 -2
- package/build-types/card/card/component.d.ts.map +1 -1
- package/build-types/card/card/hook.d.ts +55 -56
- package/build-types/card/card/hook.d.ts.map +1 -1
- package/build-types/card/card-body/component.d.ts +9 -2
- package/build-types/card/card-body/component.d.ts.map +1 -1
- package/build-types/card/card-body/hook.d.ts +55 -56
- package/build-types/card/card-body/hook.d.ts.map +1 -1
- package/build-types/card/card-divider/component.d.ts +7 -2
- package/build-types/card/card-divider/component.d.ts.map +1 -1
- package/build-types/card/card-divider/hook.d.ts +55 -55
- package/build-types/card/card-footer/component.d.ts +11 -2
- package/build-types/card/card-footer/component.d.ts.map +1 -1
- package/build-types/card/card-footer/hook.d.ts +55 -56
- package/build-types/card/card-footer/hook.d.ts.map +1 -1
- package/build-types/card/card-header/component.d.ts +1 -1
- package/build-types/card/card-header/component.d.ts.map +1 -1
- package/build-types/card/card-header/hook.d.ts +55 -56
- package/build-types/card/card-header/hook.d.ts.map +1 -1
- package/build-types/card/card-media/component.d.ts +2 -1
- package/build-types/card/card-media/component.d.ts.map +1 -1
- package/build-types/card/card-media/hook.d.ts +55 -56
- package/build-types/card/card-media/hook.d.ts.map +1 -1
- package/build-types/checkbox-control/index.d.ts +1 -1
- package/build-types/checkbox-control/index.d.ts.map +1 -1
- package/build-types/checkbox-control/stories/index.d.ts.map +1 -1
- package/build-types/checkbox-control/types.d.ts +1 -1
- package/build-types/checkbox-control/types.d.ts.map +1 -1
- package/build-types/color-indicator/index.d.ts +1 -3
- package/build-types/color-indicator/index.d.ts.map +1 -1
- package/build-types/color-palette/styles.d.ts +1 -3
- package/build-types/color-palette/styles.d.ts.map +1 -1
- package/build-types/color-picker/component.d.ts +2 -1
- package/build-types/color-picker/component.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 +12 -25
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/confirm-dialog/component.d.ts +4 -8
- package/build-types/confirm-dialog/component.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +4 -8
- package/build-types/date-time/date/styles.d.ts.map +1 -1
- package/build-types/date-time/date-time/styles.d.ts +4 -6
- package/build-types/date-time/date-time/styles.d.ts.map +1 -1
- package/build-types/date-time/time/styles.d.ts +21 -43
- package/build-types/date-time/time/styles.d.ts.map +1 -1
- package/build-types/disabled/index.d.ts +1 -1
- package/build-types/disabled/index.d.ts.map +1 -1
- package/build-types/disabled/styles/disabled-styles.d.ts +1 -5
- package/build-types/disabled/styles/disabled-styles.d.ts.map +1 -1
- package/build-types/divider/component.d.ts +7 -2
- package/build-types/divider/component.d.ts.map +1 -1
- package/build-types/drop-zone/index.d.ts +29 -0
- package/build-types/drop-zone/index.d.ts.map +1 -0
- package/build-types/drop-zone/provider.d.ts +5 -0
- package/build-types/drop-zone/provider.d.ts.map +1 -0
- package/build-types/drop-zone/stories/index.d.ts +12 -0
- package/build-types/drop-zone/stories/index.d.ts.map +1 -0
- package/build-types/drop-zone/types.d.ts +29 -0
- package/build-types/drop-zone/types.d.ts.map +1 -0
- package/build-types/dropdown/dropdown-content-wrapper.d.ts +2 -1
- package/build-types/dropdown/dropdown-content-wrapper.d.ts.map +1 -1
- package/build-types/dropdown/index.d.ts.map +1 -1
- package/build-types/elevation/component.d.ts +2 -1
- package/build-types/elevation/component.d.ts.map +1 -1
- package/build-types/elevation/hook.d.ts +54 -55
- package/build-types/elevation/hook.d.ts.map +1 -1
- package/build-types/external-link/index.d.ts +1 -1
- package/build-types/external-link/index.d.ts.map +1 -1
- package/build-types/external-link/styles/external-link-styles.d.ts +1 -1
- package/build-types/flex/flex/component.d.ts +2 -1
- package/build-types/flex/flex/component.d.ts.map +1 -1
- package/build-types/flex/flex/hook.d.ts +55 -56
- package/build-types/flex/flex/hook.d.ts.map +1 -1
- package/build-types/flex/flex-block/component.d.ts +2 -1
- package/build-types/flex/flex-block/component.d.ts.map +1 -1
- package/build-types/flex/flex-block/hook.d.ts +55 -56
- package/build-types/flex/flex-block/hook.d.ts.map +1 -1
- package/build-types/flex/flex-item/component.d.ts +2 -1
- package/build-types/flex/flex-item/component.d.ts.map +1 -1
- package/build-types/flex/flex-item/hook.d.ts +55 -56
- package/build-types/flex/flex-item/hook.d.ts.map +1 -1
- package/build-types/focal-point-picker/controls.d.ts +4 -0
- package/build-types/focal-point-picker/controls.d.ts.map +1 -0
- package/build-types/focal-point-picker/focal-point.d.ts +5 -0
- package/build-types/focal-point-picker/focal-point.d.ts.map +1 -0
- package/build-types/focal-point-picker/grid.d.ts +5 -0
- package/build-types/focal-point-picker/grid.d.ts.map +1 -0
- package/build-types/focal-point-picker/index.d.ts +51 -0
- package/build-types/focal-point-picker/index.d.ts.map +1 -0
- package/build-types/focal-point-picker/media.d.ts +4 -0
- package/build-types/focal-point-picker/media.d.ts.map +1 -0
- package/build-types/focal-point-picker/stories/index.d.ts +15 -0
- package/build-types/focal-point-picker/stories/index.d.ts.map +1 -0
- package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +56 -0
- package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts.map +1 -0
- package/build-types/focal-point-picker/styles/focal-point-style.d.ts +19 -0
- package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -0
- package/build-types/focal-point-picker/types.d.ts +79 -0
- package/build-types/focal-point-picker/types.d.ts.map +1 -0
- package/build-types/focal-point-picker/utils.d.ts +26 -0
- package/build-types/focal-point-picker/utils.d.ts.map +1 -0
- package/build-types/form-file-upload/index.d.ts +22 -0
- package/build-types/form-file-upload/index.d.ts.map +1 -0
- package/build-types/form-file-upload/stories/index.d.ts +23 -0
- package/build-types/form-file-upload/stories/index.d.ts.map +1 -0
- package/build-types/form-file-upload/test/index.d.ts +2 -0
- package/build-types/form-file-upload/test/index.d.ts.map +1 -0
- package/build-types/form-file-upload/types.d.ts +63 -0
- package/build-types/form-file-upload/types.d.ts.map +1 -0
- package/build-types/form-toggle/index.d.ts +1 -1
- package/build-types/form-toggle/index.d.ts.map +1 -1
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/styles.d.ts +1 -3
- package/build-types/form-token-field/styles.d.ts.map +1 -1
- package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
- package/build-types/form-token-field/token-input.d.ts +1 -3
- package/build-types/form-token-field/token-input.d.ts.map +1 -1
- package/build-types/grid/component.d.ts +2 -1
- package/build-types/grid/component.d.ts.map +1 -1
- package/build-types/grid/hook.d.ts +55 -56
- package/build-types/grid/hook.d.ts.map +1 -1
- package/build-types/h-stack/component.d.ts +5 -2
- package/build-types/h-stack/component.d.ts.map +1 -1
- package/build-types/h-stack/hook.d.ts +55 -56
- package/build-types/h-stack/hook.d.ts.map +1 -1
- package/build-types/heading/component.d.ts +4 -2
- package/build-types/heading/component.d.ts.map +1 -1
- package/build-types/heading/hook.d.ts +54 -55
- package/build-types/heading/hook.d.ts.map +1 -1
- package/build-types/input-control/index.d.ts +1 -1
- package/build-types/input-control/index.d.ts.map +1 -1
- package/build-types/input-control/input-base.d.ts.map +1 -1
- package/build-types/input-control/input-field.d.ts +1 -3
- package/build-types/input-control/input-field.d.ts.map +1 -1
- package/build-types/input-control/input-prefix-wrapper.d.ts +2 -1
- package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -1
- package/build-types/input-control/input-suffix-wrapper.d.ts +2 -1
- package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -1
- package/build-types/input-control/label.d.ts.map +1 -1
- package/build-types/input-control/stories/index.d.ts +5 -5
- package/build-types/input-control/stories/index.d.ts.map +1 -1
- package/build-types/input-control/styles/input-control-styles.d.ts +2 -6
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +3 -0
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/item-group/item/component.d.ts +2 -1
- package/build-types/item-group/item/component.d.ts.map +1 -1
- package/build-types/item-group/item/hook.d.ts +54 -55
- package/build-types/item-group/item/hook.d.ts.map +1 -1
- package/build-types/item-group/item-group/component.d.ts +2 -1
- package/build-types/item-group/item-group/component.d.ts.map +1 -1
- package/build-types/item-group/item-group/hook.d.ts +54 -55
- package/build-types/item-group/item-group/hook.d.ts.map +1 -1
- package/build-types/modal/aria-helper.d.ts.map +1 -1
- package/build-types/navigable-container/menu.d.ts.map +1 -1
- package/build-types/navigable-container/tabbable.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/component.d.ts +4 -2
- package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +59 -60
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/component.d.ts +7 -2
- package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +59 -60
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-provider/component.d.ts +2 -1
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-screen/component.d.ts +1 -1
- package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
- package/build-types/number-control/index.d.ts +10 -28
- package/build-types/number-control/index.d.ts.map +1 -1
- package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
- package/build-types/number-control/types.d.ts +72 -0
- package/build-types/number-control/types.d.ts.map +1 -0
- package/build-types/placeholder/index.d.ts +1 -1
- package/build-types/placeholder/index.d.ts.map +1 -1
- package/build-types/popover/index.d.ts +28 -24
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/stories/index.d.ts +12 -0
- package/build-types/popover/stories/index.d.ts.map +1 -0
- package/build-types/popover/types.d.ts +179 -0
- package/build-types/popover/types.d.ts.map +1 -0
- package/build-types/popover/utils.d.ts +42 -24
- package/build-types/popover/utils.d.ts.map +1 -1
- package/build-types/radio-control/index.d.ts +1 -1
- package/build-types/radio-control/index.d.ts.map +1 -1
- package/build-types/range-control/index.d.ts +2 -4
- package/build-types/range-control/index.d.ts.map +1 -1
- package/build-types/range-control/input-range.d.ts +2 -4
- package/build-types/range-control/input-range.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +5 -10
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/resizable-box/index.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/label.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts +1 -3
- package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
- package/build-types/scrollable/component.d.ts +2 -1
- package/build-types/scrollable/component.d.ts.map +1 -1
- package/build-types/scrollable/hook.d.ts +55 -56
- package/build-types/scrollable/hook.d.ts.map +1 -1
- package/build-types/search-control/index.d.ts +29 -0
- package/build-types/search-control/index.d.ts.map +1 -0
- package/build-types/search-control/stories/index.d.ts +47 -0
- package/build-types/search-control/stories/index.d.ts.map +1 -0
- package/build-types/search-control/types.d.ts +39 -0
- package/build-types/search-control/types.d.ts.map +1 -0
- package/build-types/select-control/index.d.ts +1 -3
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/stories/index.d.ts +2 -6
- package/build-types/select-control/stories/index.d.ts.map +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts +1 -3
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/spacer/component.d.ts +2 -1
- package/build-types/spacer/component.d.ts.map +1 -1
- package/build-types/spacer/hook.d.ts +55 -56
- package/build-types/spacer/hook.d.ts.map +1 -1
- package/build-types/spinner/index.d.ts +1 -3
- package/build-types/spinner/index.d.ts.map +1 -1
- package/build-types/surface/component.d.ts +2 -1
- package/build-types/surface/component.d.ts.map +1 -1
- package/build-types/surface/hook.d.ts +55 -56
- package/build-types/surface/hook.d.ts.map +1 -1
- package/build-types/tab-panel/index.d.ts +42 -0
- package/build-types/tab-panel/index.d.ts.map +1 -0
- package/build-types/tab-panel/stories/index.d.ts +12 -0
- package/build-types/tab-panel/stories/index.d.ts.map +1 -0
- package/build-types/tab-panel/test/index.d.ts +2 -0
- package/build-types/tab-panel/test/index.d.ts.map +1 -0
- package/build-types/tab-panel/types.d.ts +64 -0
- package/build-types/tab-panel/types.d.ts.map +1 -0
- package/build-types/text/component.d.ts +1 -1
- package/build-types/text/component.d.ts.map +1 -1
- package/build-types/text/hook.d.ts +55 -56
- package/build-types/text/hook.d.ts.map +1 -1
- package/build-types/text-control/index.d.ts +2 -4
- package/build-types/text-control/index.d.ts.map +1 -1
- package/build-types/text-control/types.d.ts +1 -1
- package/build-types/text-control/types.d.ts.map +1 -1
- package/build-types/textarea-control/index.d.ts +1 -1
- package/build-types/textarea-control/index.d.ts.map +1 -1
- package/build-types/textarea-control/types.d.ts +1 -1
- package/build-types/textarea-control/types.d.ts.map +1 -1
- package/build-types/toggle-control/index.d.ts +26 -0
- package/build-types/toggle-control/index.d.ts.map +1 -0
- package/build-types/toggle-control/stories/index.d.ts +13 -0
- package/build-types/toggle-control/stories/index.d.ts.map +1 -0
- package/build-types/toggle-control/test/index.d.ts +2 -0
- package/build-types/toggle-control/test/index.d.ts.map +1 -0
- package/build-types/toggle-control/types.d.ts +20 -0
- package/build-types/toggle-control/types.d.ts.map +1 -0
- package/build-types/toggle-group-control/stories/index.d.ts +4 -2
- package/build-types/toggle-group-control/stories/index.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts +12 -2
- 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 +2 -4
- 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-base/component.d.ts +2 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +3 -5
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/types.d.ts +2 -2
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/component.d.ts +2 -1
- package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts +55 -56
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/component.d.ts +2 -1
- package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/hook.d.ts +55 -56
- package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-item/component.d.ts +6 -2
- package/build-types/tools-panel/tools-panel-item/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-item/hook.d.ts +55 -56
- package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/truncate/component.d.ts +2 -1
- package/build-types/truncate/component.d.ts.map +1 -1
- package/build-types/truncate/hook.d.ts +55 -56
- package/build-types/truncate/hook.d.ts.map +1 -1
- package/build-types/ui/context/context-connect.d.ts +10 -9
- package/build-types/ui/context/context-connect.d.ts.map +1 -1
- package/build-types/ui/context/context-system-provider.d.ts.map +1 -1
- package/build-types/ui/context/test/context-connect.d.ts +2 -0
- package/build-types/ui/context/test/context-connect.d.ts.map +1 -0
- package/build-types/ui/context/test/wordpress-component.d.ts +2 -0
- package/build-types/ui/context/test/wordpress-component.d.ts.map +1 -0
- package/build-types/ui/context/wordpress-component.d.ts +8 -9
- package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
- package/build-types/ui/control-group/component.d.ts +4 -1
- package/build-types/ui/control-group/component.d.ts.map +1 -1
- package/build-types/ui/control-group/hook.d.ts +55 -56
- package/build-types/ui/control-group/hook.d.ts.map +1 -1
- package/build-types/ui/control-label/component.d.ts +4 -1
- package/build-types/ui/control-label/component.d.ts.map +1 -1
- package/build-types/ui/control-label/hook.d.ts +55 -56
- package/build-types/ui/control-label/hook.d.ts.map +1 -1
- package/build-types/ui/form-group/form-group.d.ts +4 -8
- package/build-types/ui/form-group/form-group.d.ts.map +1 -1
- package/build-types/ui/form-group/use-form-group.d.ts +112 -114
- package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
- package/build-types/ui/shortcut/component.d.ts +2 -1
- package/build-types/ui/shortcut/component.d.ts.map +1 -1
- package/build-types/ui/spinner/component.d.ts +1 -1
- package/build-types/ui/tooltip/component.d.ts +11 -1
- package/build-types/ui/tooltip/component.d.ts.map +1 -1
- package/build-types/ui/tooltip/content.d.ts +7 -1
- package/build-types/ui/tooltip/styles.d.ts +1 -3
- package/build-types/ui/tooltip/styles.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +2 -12
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/stories/index.d.ts.map +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts +5 -10
- package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
- package/build-types/unit-control/types.d.ts +3 -35
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/utils/colors-values.d.ts +0 -18
- package/build-types/utils/colors-values.d.ts.map +1 -1
- package/build-types/utils/math.d.ts +6 -6
- package/build-types/utils/math.d.ts.map +1 -1
- package/build-types/utils/values.d.ts +10 -8
- package/build-types/utils/values.d.ts.map +1 -1
- package/build-types/v-stack/component.d.ts +8 -2
- package/build-types/v-stack/component.d.ts.map +1 -1
- package/build-types/v-stack/hook.d.ts +55 -56
- package/build-types/v-stack/hook.d.ts.map +1 -1
- package/build-types/v-stack/stories/index.d.ts +8 -1
- package/build-types/v-stack/stories/index.d.ts.map +1 -1
- package/build-types/view/component.d.ts +8 -6
- package/build-types/view/component.d.ts.map +1 -1
- package/build-types/view/stories/index.d.ts +12 -0
- package/build-types/view/stories/index.d.ts.map +1 -0
- package/build-types/view/types.d.ts +8 -0
- package/build-types/view/types.d.ts.map +1 -0
- package/build-types/visually-hidden/component.d.ts +2 -1
- package/build-types/visually-hidden/component.d.ts.map +1 -1
- package/build-types/z-stack/component.d.ts +2 -1
- package/build-types/z-stack/component.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +1 -1
- package/src/angle-picker-control/README.md +9 -1
- package/src/angle-picker-control/index.js +12 -0
- package/src/angle-picker-control/stories/index.js +3 -3
- package/src/autocomplete/autocompleter-ui.js +6 -3
- package/src/base-field/test/__snapshots__/index.js.snap +3 -5
- package/src/border-box-control/border-box-control/component.tsx +28 -12
- package/src/border-box-control/border-box-control-linked-button/component.tsx +1 -2
- package/src/border-box-control/border-box-control-split-controls/component.tsx +25 -11
- package/src/border-box-control/stories/index.js +1 -0
- package/src/border-box-control/styles.ts +2 -1
- package/src/border-box-control/types.ts +5 -4
- package/src/border-control/border-control-dropdown/component.tsx +3 -8
- package/src/border-control/types.ts +7 -9
- package/src/box-control/linked-button.js +3 -3
- package/src/box-control/test/index.js +5 -5
- package/src/button/style.scss +4 -3
- package/src/card/styles.ts +1 -1
- package/src/card/test/__snapshots__/index.tsx.snap +39 -51
- package/src/checkbox-control/index.tsx +3 -6
- package/src/checkbox-control/stories/index.tsx +6 -2
- package/src/checkbox-control/types.ts +4 -1
- package/src/color-palette/index.js +1 -1
- package/src/color-palette/test/__snapshots__/index.js.snap +67 -91
- package/src/color-picker/input-with-slider.tsx +1 -0
- package/src/combobox-control/index.js +1 -1
- package/src/combobox-control/test/index.js +311 -0
- package/src/custom-gradient-picker/index.js +1 -1
- package/src/date-time/date/index.tsx +2 -2
- package/src/date-time/time/timezone.tsx +1 -1
- package/src/dimension-control/test/__snapshots__/index.test.js.snap +1122 -164
- package/src/dimension-control/test/index.test.js +29 -38
- package/src/disabled/index.tsx +27 -9
- package/src/disabled/styles/disabled-styles.tsx +2 -2
- package/src/disabled/test/index.tsx +38 -0
- package/src/drop-zone/README.md +3 -3
- package/src/drop-zone/{index.js → index.tsx} +48 -13
- package/src/drop-zone/{provider.js → provider.ts} +5 -1
- package/src/drop-zone/stories/index.tsx +30 -0
- package/src/drop-zone/types.ts +29 -0
- package/src/dropdown/README.md +6 -4
- package/src/dropdown/index.js +15 -3
- package/src/dropdown/stories/index.js +1 -1
- package/src/flex/flex/hook.ts +5 -54
- package/src/flex/test/__snapshots__/index.tsx.snap +7 -15
- package/src/focal-point-picker/README.md +2 -2
- package/src/focal-point-picker/{controls.js → controls.tsx} +38 -10
- package/src/focal-point-picker/{focal-point.js → focal-point.tsx} +7 -1
- package/src/focal-point-picker/{grid.js → grid.tsx} +6 -1
- package/src/focal-point-picker/{index.js → index.tsx} +99 -15
- package/src/focal-point-picker/{media.js → media.tsx} +10 -4
- package/src/focal-point-picker/stories/index.tsx +93 -0
- package/src/focal-point-picker/styles/{focal-point-picker-style.js → focal-point-picker-style.ts} +31 -5
- package/src/focal-point-picker/styles/{focal-point-style.js → focal-point-style.ts} +2 -1
- package/src/focal-point-picker/test/index.js +27 -7
- package/src/focal-point-picker/types.ts +93 -0
- package/src/focal-point-picker/{utils.js → utils.ts} +9 -9
- package/src/font-size-picker/README.md +9 -0
- package/src/font-size-picker/index.js +9 -0
- package/src/font-size-picker/stories/index.js +3 -5
- package/src/font-size-picker/test/index.js +15 -2
- package/src/font-size-picker/test/utils.js +1 -2
- package/src/font-size-picker/utils.js +1 -1
- package/src/form-file-upload/README.md +6 -1
- package/src/form-file-upload/{index.js → index.tsx} +22 -4
- package/src/form-file-upload/stories/index.tsx +74 -0
- package/src/form-file-upload/test/{index.js → index.tsx} +7 -3
- package/src/form-file-upload/types.ts +63 -0
- package/src/form-toggle/index.tsx +1 -6
- package/src/form-token-field/index.tsx +4 -5
- package/src/form-token-field/suggestions-list.tsx +1 -2
- package/src/gradient-picker/index.js +41 -47
- package/src/gradient-picker/stories/index.js +10 -0
- package/src/h-stack/test/__snapshots__/index.tsx.snap +3 -12
- package/src/higher-order/with-filters/test/__snapshots__/index.js.snap +87 -0
- package/src/higher-order/with-filters/test/index.js +20 -74
- package/src/icon/index.tsx +1 -1
- package/src/icon/stories/index.js +18 -0
- package/src/icon/test/index.js +32 -83
- package/src/input-control/input-base.tsx +9 -11
- package/src/input-control/label.tsx +9 -4
- package/src/input-control/styles/input-control-styles.tsx +0 -43
- package/src/input-control/types.ts +3 -0
- package/src/isolated-event-container/test/index.js +53 -11
- package/src/item-group/test/__snapshots__/index.js.snap +16 -16
- package/src/keyboard-shortcuts/test/index.js +16 -31
- package/src/menu-item/test/__snapshots__/index.js.snap +60 -62
- package/src/menu-item/test/index.js +30 -22
- package/src/modal/aria-helper.js +3 -8
- package/src/modal/style.scss +3 -4
- package/src/navigable-container/README.md +2 -0
- package/src/navigable-container/container.js +8 -1
- package/src/navigable-container/menu.js +14 -11
- package/src/navigable-container/stories/navigable-menu.js +49 -0
- package/src/navigable-container/stories/tabbable-container.js +40 -0
- package/src/navigable-container/tabbable.js +2 -3
- package/src/navigable-container/test/navigable-menu.js +277 -0
- package/src/navigable-container/test/tababble-container.js +175 -0
- package/src/navigation/menu/menu-title-search.js +2 -0
- package/src/navigation/menu/use-navigation-tree-menu.js +2 -0
- package/src/navigator/navigator-button/hook.ts +1 -1
- package/src/navigator/navigator-screen/component.tsx +6 -1
- package/src/number-control/index.tsx +209 -0
- package/src/number-control/stories/index.js +6 -18
- package/src/number-control/types.ts +75 -0
- package/src/panel/README.md +1 -1
- package/src/panel/test/__snapshots__/header.js.snap +9 -0
- package/src/panel/test/__snapshots__/index.js.snap +17 -0
- package/src/panel/test/__snapshots__/row.js.snap +17 -0
- package/src/panel/test/header.js +30 -23
- package/src/panel/test/index.js +33 -25
- package/src/panel/test/row.js +18 -11
- package/src/placeholder/index.tsx +4 -5
- package/src/placeholder/style.scss +4 -0
- package/src/popover/README.md +128 -48
- package/src/popover/{index.js → index.tsx} +284 -182
- package/src/popover/stories/{index.js → index.tsx} +52 -54
- package/src/popover/test/index.js +7 -5
- package/src/popover/types.ts +192 -0
- package/src/popover/utils.ts +242 -0
- package/src/radio-control/index.tsx +28 -29
- package/src/radio-control/style.scss +0 -17
- package/src/range-control/index.tsx +4 -1
- package/src/range-control/styles/range-control-styles.ts +8 -8
- package/src/sandbox/index.js +2 -2
- package/src/search-control/README.md +5 -3
- package/src/search-control/{index.js → index.tsx} +35 -7
- package/src/search-control/stories/index.tsx +66 -0
- package/src/search-control/types.ts +43 -0
- package/src/select-control/index.native.js +1 -1
- package/src/slot-fill/test/index.js +69 -12
- package/src/style.scss +0 -1
- package/src/surface/test/__snapshots__/index.tsx.snap +10 -10
- package/src/tab-panel/README.md +1 -2
- package/src/tab-panel/{index.js → index.tsx} +58 -13
- package/src/tab-panel/stories/index.tsx +37 -0
- package/src/tab-panel/test/index.tsx +120 -0
- package/src/tab-panel/types.ts +65 -0
- package/src/text-control/index.tsx +2 -0
- package/src/text-control/types.ts +5 -1
- package/src/textarea-control/index.tsx +3 -6
- package/src/textarea-control/types.ts +1 -1
- package/src/toggle-control/index.tsx +97 -0
- package/src/toggle-control/stories/index.tsx +58 -0
- package/src/toggle-control/test/index.tsx +53 -0
- package/src/toggle-control/types.ts +28 -0
- package/src/toggle-group-control/stories/index.tsx +10 -3
- package/src/toggle-group-control/toggle-group-control/component.tsx +3 -3
- 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 +1 -1
- package/src/toggle-group-control/types.ts +2 -2
- package/src/tooltip/index.js +11 -7
- package/src/ui/context/context-connect.ts +58 -31
- package/src/ui/context/context-system-provider.js +5 -4
- package/src/ui/context/test/context-connect.tsx +55 -0
- package/src/ui/context/test/wordpress-component.tsx +36 -0
- package/src/ui/context/wordpress-component.ts +18 -12
- package/src/ui/control-group/test/__snapshots__/index.js.snap +1 -4
- package/src/unit-control/index.tsx +1 -1
- package/src/unit-control/stories/index.tsx +7 -16
- package/src/unit-control/styles/unit-control-styles.ts +2 -2
- package/src/unit-control/test/__snapshots__/index.tsx.snap +4 -6
- package/src/unit-control/types.ts +3 -44
- package/src/utils/colors-values.js +2 -24
- package/src/utils/math.js +4 -4
- package/src/utils/values.js +48 -6
- package/src/v-stack/test/__snapshots__/index.tsx.snap +3 -12
- package/src/view/{component.js → component.tsx} +13 -4
- package/src/view/stories/index.tsx +32 -0
- package/src/view/types.ts +6 -0
- package/tsconfig.json +1 -6
- package/tsconfig.tsbuildinfo +1 -1
- package/src/focal-point-picker/stories/index.js +0 -76
- package/src/navigable-container/test/menu.js +0 -310
- package/src/navigable-container/test/tabbable.js +0 -158
- package/src/number-control/index.js +0 -192
- package/src/popover/utils.js +0 -107
- package/src/search-control/stories/index.js +0 -39
- package/src/tab-panel/stories/index.js +0 -39
- package/src/tab-panel/test/index.js +0 -179
- package/src/toggle-control/index.js +0 -55
- package/src/toggle-control/stories/index.js +0 -64
- package/src/toggle-control/style.scss +0 -14
- package/src/toggle-control/test/index.js +0 -52
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
import {
|
|
5
|
+
import { find } from 'lodash';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
@@ -15,10 +15,16 @@ import { useInstanceId } from '@wordpress/compose';
|
|
|
15
15
|
*/
|
|
16
16
|
import { NavigableMenu } from '../navigable-container';
|
|
17
17
|
import Button from '../button';
|
|
18
|
+
import type { TabButtonProps, TabPanelProps } from './types';
|
|
19
|
+
import type { WordPressComponentProps } from '../ui/context';
|
|
18
20
|
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
const TabButton = ( {
|
|
22
|
+
tabId,
|
|
23
|
+
onClick,
|
|
24
|
+
children,
|
|
25
|
+
selected,
|
|
26
|
+
...rest
|
|
27
|
+
}: TabButtonProps ) => (
|
|
22
28
|
<Button
|
|
23
29
|
role="tab"
|
|
24
30
|
tabIndex={ selected ? null : -1 }
|
|
@@ -31,24 +37,60 @@ const TabButton = ( { tabId, onClick, children, selected, ...rest } ) => (
|
|
|
31
37
|
</Button>
|
|
32
38
|
);
|
|
33
39
|
|
|
34
|
-
|
|
40
|
+
/**
|
|
41
|
+
* TabPanel is an ARIA-compliant tabpanel.
|
|
42
|
+
*
|
|
43
|
+
* TabPanels organize content across different screens, data sets, and interactions.
|
|
44
|
+
* It has two sections: a list of tabs, and the view to show when tabs are chosen.
|
|
45
|
+
*
|
|
46
|
+
* ```jsx
|
|
47
|
+
* import { TabPanel } from '@wordpress/components';
|
|
48
|
+
*
|
|
49
|
+
* const onSelect = ( tabName ) => {
|
|
50
|
+
* console.log( 'Selecting tab', tabName );
|
|
51
|
+
* };
|
|
52
|
+
*
|
|
53
|
+
* const MyTabPanel = () => (
|
|
54
|
+
* <TabPanel
|
|
55
|
+
* className="my-tab-panel"
|
|
56
|
+
* activeClass="active-tab"
|
|
57
|
+
* onSelect={ onSelect }
|
|
58
|
+
* tabs={ [
|
|
59
|
+
* {
|
|
60
|
+
* name: 'tab1',
|
|
61
|
+
* title: 'Tab 1',
|
|
62
|
+
* className: 'tab-one',
|
|
63
|
+
* },
|
|
64
|
+
* {
|
|
65
|
+
* name: 'tab2',
|
|
66
|
+
* title: 'Tab 2',
|
|
67
|
+
* className: 'tab-two',
|
|
68
|
+
* },
|
|
69
|
+
* ] }
|
|
70
|
+
* >
|
|
71
|
+
* { ( tab ) => <p>{ tab.title }</p> }
|
|
72
|
+
* </TabPanel>
|
|
73
|
+
* );
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export function TabPanel( {
|
|
35
77
|
className,
|
|
36
78
|
children,
|
|
37
79
|
tabs,
|
|
38
80
|
initialTabName,
|
|
39
81
|
orientation = 'horizontal',
|
|
40
82
|
activeClass = 'is-active',
|
|
41
|
-
onSelect
|
|
42
|
-
} ) {
|
|
83
|
+
onSelect,
|
|
84
|
+
}: WordPressComponentProps< TabPanelProps, 'div', false > ) {
|
|
43
85
|
const instanceId = useInstanceId( TabPanel, 'tab-panel' );
|
|
44
|
-
const [ selected, setSelected ] = useState
|
|
86
|
+
const [ selected, setSelected ] = useState< string >();
|
|
45
87
|
|
|
46
|
-
const handleClick = ( tabKey ) => {
|
|
88
|
+
const handleClick = ( tabKey: string ) => {
|
|
47
89
|
setSelected( tabKey );
|
|
48
|
-
onSelect( tabKey );
|
|
90
|
+
onSelect?.( tabKey );
|
|
49
91
|
};
|
|
50
92
|
|
|
51
|
-
const onNavigate = (
|
|
93
|
+
const onNavigate = ( _childIndex: number, child: HTMLButtonElement ) => {
|
|
52
94
|
child.click();
|
|
53
95
|
};
|
|
54
96
|
const selectedTab = find( tabs, { name: selected } );
|
|
@@ -58,7 +100,8 @@ export default function TabPanel( {
|
|
|
58
100
|
const newSelectedTab = find( tabs, { name: selected } );
|
|
59
101
|
if ( ! newSelectedTab ) {
|
|
60
102
|
setSelected(
|
|
61
|
-
initialTabName ||
|
|
103
|
+
initialTabName ||
|
|
104
|
+
( tabs.length > 0 ? tabs[ 0 ].name : undefined )
|
|
62
105
|
);
|
|
63
106
|
}
|
|
64
107
|
}, [ tabs ] );
|
|
@@ -84,7 +127,7 @@ export default function TabPanel( {
|
|
|
84
127
|
aria-controls={ `${ instanceId }-${ tab.name }-view` }
|
|
85
128
|
selected={ tab.name === selected }
|
|
86
129
|
key={ tab.name }
|
|
87
|
-
onClick={
|
|
130
|
+
onClick={ () => handleClick( tab.name ) }
|
|
88
131
|
>
|
|
89
132
|
{ tab.title }
|
|
90
133
|
</TabButton>
|
|
@@ -104,3 +147,5 @@ export default function TabPanel( {
|
|
|
104
147
|
</div>
|
|
105
148
|
);
|
|
106
149
|
}
|
|
150
|
+
|
|
151
|
+
export default TabPanel;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ComponentMeta, ComponentStory } from '@storybook/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import TabPanel from '..';
|
|
10
|
+
|
|
11
|
+
const meta: ComponentMeta< typeof TabPanel > = {
|
|
12
|
+
title: 'Components/TabPanel',
|
|
13
|
+
component: TabPanel,
|
|
14
|
+
parameters: {
|
|
15
|
+
controls: { expanded: true },
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
export default meta;
|
|
19
|
+
|
|
20
|
+
const Template: ComponentStory< typeof TabPanel > = ( props ) => {
|
|
21
|
+
return <TabPanel { ...props } />;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const Default = Template.bind( {} );
|
|
25
|
+
Default.args = {
|
|
26
|
+
children: ( tab ) => <p>Selected tab: { tab.title }</p>,
|
|
27
|
+
tabs: [
|
|
28
|
+
{
|
|
29
|
+
name: 'tab1',
|
|
30
|
+
title: 'Tab 1',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: 'tab2',
|
|
34
|
+
title: 'Tab 2',
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { render, screen } from '@testing-library/react';
|
|
5
|
+
import userEvent from '@testing-library/user-event';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
import TabPanel from '..';
|
|
11
|
+
|
|
12
|
+
const setupUser = () =>
|
|
13
|
+
userEvent.setup( {
|
|
14
|
+
advanceTimers: jest.advanceTimersByTime,
|
|
15
|
+
} );
|
|
16
|
+
|
|
17
|
+
const TABS = [
|
|
18
|
+
{
|
|
19
|
+
name: 'alpha',
|
|
20
|
+
title: 'Alpha',
|
|
21
|
+
className: 'alpha-class',
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'beta',
|
|
25
|
+
title: 'Beta',
|
|
26
|
+
className: 'beta-class',
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'gamma',
|
|
30
|
+
title: 'Gamma',
|
|
31
|
+
className: 'gamma-class',
|
|
32
|
+
},
|
|
33
|
+
];
|
|
34
|
+
|
|
35
|
+
const getSelectedTab = () => screen.getByRole( 'tab', { selected: true } );
|
|
36
|
+
|
|
37
|
+
describe( 'TabPanel', () => {
|
|
38
|
+
it( 'should render a tabpanel, and clicking should change tabs', async () => {
|
|
39
|
+
const user = setupUser();
|
|
40
|
+
const panelRenderFunction = jest.fn();
|
|
41
|
+
|
|
42
|
+
render( <TabPanel tabs={ TABS } children={ panelRenderFunction } /> );
|
|
43
|
+
|
|
44
|
+
expect( getSelectedTab() ).toHaveTextContent( 'Alpha' );
|
|
45
|
+
expect(
|
|
46
|
+
screen.getByRole( 'tabpanel', { name: 'Alpha' } )
|
|
47
|
+
).toBeInTheDocument();
|
|
48
|
+
expect( panelRenderFunction ).toHaveBeenLastCalledWith( TABS[ 0 ] );
|
|
49
|
+
|
|
50
|
+
await user.click( screen.getByRole( 'tab', { name: 'Beta' } ) );
|
|
51
|
+
|
|
52
|
+
expect( getSelectedTab() ).toHaveTextContent( 'Beta' );
|
|
53
|
+
expect(
|
|
54
|
+
screen.getByRole( 'tabpanel', { name: 'Beta' } )
|
|
55
|
+
).toBeInTheDocument();
|
|
56
|
+
expect( panelRenderFunction ).toHaveBeenLastCalledWith( TABS[ 1 ] );
|
|
57
|
+
|
|
58
|
+
await user.click( screen.getByRole( 'tab', { name: 'Alpha' } ) );
|
|
59
|
+
|
|
60
|
+
expect( getSelectedTab() ).toHaveTextContent( 'Alpha' );
|
|
61
|
+
expect(
|
|
62
|
+
screen.getByRole( 'tabpanel', { name: 'Alpha' } )
|
|
63
|
+
).toBeInTheDocument();
|
|
64
|
+
expect( panelRenderFunction ).toHaveBeenLastCalledWith( TABS[ 0 ] );
|
|
65
|
+
} );
|
|
66
|
+
|
|
67
|
+
it( 'should render with a tab initially selected by prop initialTabIndex', () => {
|
|
68
|
+
render(
|
|
69
|
+
<TabPanel
|
|
70
|
+
initialTabName="beta"
|
|
71
|
+
tabs={ TABS }
|
|
72
|
+
children={ () => undefined }
|
|
73
|
+
/>
|
|
74
|
+
);
|
|
75
|
+
const selectedTab = screen.getByRole( 'tab', { selected: true } );
|
|
76
|
+
expect( selectedTab ).toHaveTextContent( 'Beta' );
|
|
77
|
+
} );
|
|
78
|
+
|
|
79
|
+
it( 'should apply the `activeClass` to the selected tab', async () => {
|
|
80
|
+
const user = setupUser();
|
|
81
|
+
const activeClass = 'my-active-tab';
|
|
82
|
+
|
|
83
|
+
render(
|
|
84
|
+
<TabPanel
|
|
85
|
+
activeClass={ activeClass }
|
|
86
|
+
tabs={ TABS }
|
|
87
|
+
children={ () => undefined }
|
|
88
|
+
/>
|
|
89
|
+
);
|
|
90
|
+
expect( getSelectedTab() ).toHaveClass( activeClass );
|
|
91
|
+
screen
|
|
92
|
+
.getAllByRole( 'tab', { selected: false } )
|
|
93
|
+
.forEach( ( unselectedTab ) => {
|
|
94
|
+
expect( unselectedTab ).not.toHaveClass( activeClass );
|
|
95
|
+
} );
|
|
96
|
+
|
|
97
|
+
await user.click( screen.getByRole( 'tab', { name: 'Beta' } ) );
|
|
98
|
+
|
|
99
|
+
expect( getSelectedTab() ).toHaveClass( activeClass );
|
|
100
|
+
screen
|
|
101
|
+
.getAllByRole( 'tab', { selected: false } )
|
|
102
|
+
.forEach( ( unselectedTab ) => {
|
|
103
|
+
expect( unselectedTab ).not.toHaveClass( activeClass );
|
|
104
|
+
} );
|
|
105
|
+
} );
|
|
106
|
+
|
|
107
|
+
it( "should apply the tab's `className` to the tab button", () => {
|
|
108
|
+
render( <TabPanel tabs={ TABS } children={ () => undefined } /> );
|
|
109
|
+
|
|
110
|
+
expect( screen.getByRole( 'tab', { name: 'Alpha' } ) ).toHaveClass(
|
|
111
|
+
'alpha-class'
|
|
112
|
+
);
|
|
113
|
+
expect( screen.getByRole( 'tab', { name: 'Beta' } ) ).toHaveClass(
|
|
114
|
+
'beta-class'
|
|
115
|
+
);
|
|
116
|
+
expect( screen.getByRole( 'tab', { name: 'Gamma' } ) ).toHaveClass(
|
|
117
|
+
'gamma-class'
|
|
118
|
+
);
|
|
119
|
+
} );
|
|
120
|
+
} );
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
type Tab = {
|
|
7
|
+
/**
|
|
8
|
+
* The key of the tab.
|
|
9
|
+
*/
|
|
10
|
+
name: string;
|
|
11
|
+
/**
|
|
12
|
+
* The label of the tab.
|
|
13
|
+
*/
|
|
14
|
+
title: string;
|
|
15
|
+
/**
|
|
16
|
+
* The class name to apply to the tab button.
|
|
17
|
+
*/
|
|
18
|
+
className?: string;
|
|
19
|
+
} & Record< any, any >;
|
|
20
|
+
|
|
21
|
+
export type TabButtonProps = {
|
|
22
|
+
children: ReactNode;
|
|
23
|
+
className?: string;
|
|
24
|
+
onClick: ( event: MouseEvent ) => void;
|
|
25
|
+
selected: boolean;
|
|
26
|
+
tabId: string;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export type TabPanelProps = {
|
|
30
|
+
/**
|
|
31
|
+
* The class name to add to the active tab.
|
|
32
|
+
*
|
|
33
|
+
* @default 'is-active'
|
|
34
|
+
*/
|
|
35
|
+
activeClass?: string;
|
|
36
|
+
/**
|
|
37
|
+
* A function which renders the tabviews given the selected tab.
|
|
38
|
+
* The function is passed the active tab object as an argument as defined by the tabs prop.
|
|
39
|
+
*/
|
|
40
|
+
children: ( tab: Tab ) => ReactNode;
|
|
41
|
+
/**
|
|
42
|
+
* The class name to give to the outer container for the TabPanel.
|
|
43
|
+
*/
|
|
44
|
+
className?: string;
|
|
45
|
+
/**
|
|
46
|
+
* The name of the tab to be selected upon mounting of component.
|
|
47
|
+
* If this prop is not set, the first tab will be selected by default.
|
|
48
|
+
*/
|
|
49
|
+
initialTabName?: string;
|
|
50
|
+
/**
|
|
51
|
+
* The function called when a tab has been selected.
|
|
52
|
+
* It is passed the `tabName` as an argument.
|
|
53
|
+
*/
|
|
54
|
+
onSelect?: ( tabName: string ) => void;
|
|
55
|
+
/**
|
|
56
|
+
* The orientation of the tablist.
|
|
57
|
+
*
|
|
58
|
+
* @default `horizontal`
|
|
59
|
+
*/
|
|
60
|
+
orientation?: 'horizontal' | 'vertical';
|
|
61
|
+
/**
|
|
62
|
+
* Array of tab objects. Each tab object should contain at least a `name` and a `title`.
|
|
63
|
+
*/
|
|
64
|
+
tabs: Tab[];
|
|
65
|
+
};
|
|
@@ -21,6 +21,7 @@ function UnforwardedTextControl(
|
|
|
21
21
|
ref: ForwardedRef< HTMLInputElement >
|
|
22
22
|
) {
|
|
23
23
|
const {
|
|
24
|
+
__nextHasNoMarginBottom,
|
|
24
25
|
label,
|
|
25
26
|
hideLabelFromVision,
|
|
26
27
|
value,
|
|
@@ -37,6 +38,7 @@ function UnforwardedTextControl(
|
|
|
37
38
|
|
|
38
39
|
return (
|
|
39
40
|
<BaseControl
|
|
41
|
+
__nextHasNoMarginBottom={ __nextHasNoMarginBottom }
|
|
40
42
|
label={ label }
|
|
41
43
|
hideLabelFromVision={ hideLabelFromVision }
|
|
42
44
|
id={ id }
|
|
@@ -10,7 +10,11 @@ import type { BaseControlProps } from '../base-control/types';
|
|
|
10
10
|
|
|
11
11
|
export type TextControlProps = Pick<
|
|
12
12
|
BaseControlProps,
|
|
13
|
-
|
|
13
|
+
| 'className'
|
|
14
|
+
| 'hideLabelFromVision'
|
|
15
|
+
| 'help'
|
|
16
|
+
| 'label'
|
|
17
|
+
| '__nextHasNoMarginBottom'
|
|
14
18
|
> & {
|
|
15
19
|
/**
|
|
16
20
|
* A function that receives the value of the input.
|
|
@@ -40,14 +40,10 @@ import type { WordPressComponentProps } from '../ui/context';
|
|
|
40
40
|
* ```
|
|
41
41
|
*/
|
|
42
42
|
export function TextareaControl(
|
|
43
|
-
|
|
44
|
-
// ref forwarding to TextareaControl.
|
|
45
|
-
props: Omit<
|
|
46
|
-
WordPressComponentProps< TextareaControlProps, 'textarea', false >,
|
|
47
|
-
'ref'
|
|
48
|
-
>
|
|
43
|
+
props: WordPressComponentProps< TextareaControlProps, 'textarea', false >
|
|
49
44
|
) {
|
|
50
45
|
const {
|
|
46
|
+
__nextHasNoMarginBottom,
|
|
51
47
|
label,
|
|
52
48
|
hideLabelFromVision,
|
|
53
49
|
value,
|
|
@@ -64,6 +60,7 @@ export function TextareaControl(
|
|
|
64
60
|
|
|
65
61
|
return (
|
|
66
62
|
<BaseControl
|
|
63
|
+
__nextHasNoMarginBottom={ __nextHasNoMarginBottom }
|
|
67
64
|
label={ label }
|
|
68
65
|
hideLabelFromVision={ hideLabelFromVision }
|
|
69
66
|
id={ id }
|
|
@@ -10,7 +10,7 @@ import type { BaseControlProps } from '../base-control/types';
|
|
|
10
10
|
|
|
11
11
|
export type TextareaControlProps = Pick<
|
|
12
12
|
BaseControlProps,
|
|
13
|
-
'hideLabelFromVision' | 'help' | 'label'
|
|
13
|
+
'hideLabelFromVision' | 'help' | 'label' | '__nextHasNoMarginBottom'
|
|
14
14
|
> & {
|
|
15
15
|
/**
|
|
16
16
|
* A function that receives the new value of the textarea each time it
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ChangeEvent } from 'react';
|
|
5
|
+
import { css } from '@emotion/react';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* WordPress dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { useInstanceId } from '@wordpress/compose';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
import FormToggle from '../form-toggle';
|
|
16
|
+
import BaseControl from '../base-control';
|
|
17
|
+
import type { WordPressComponentProps } from '../ui/context/wordpress-component';
|
|
18
|
+
import type { ToggleControlProps } from './types';
|
|
19
|
+
import { HStack } from '../h-stack';
|
|
20
|
+
import { useCx } from '../utils';
|
|
21
|
+
import { space } from '../ui/utils/space';
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* ToggleControl is used to generate a toggle user interface.
|
|
25
|
+
*
|
|
26
|
+
* ```jsx
|
|
27
|
+
* import { ToggleControl } from '@wordpress/components';
|
|
28
|
+
* import { useState } from '@wordpress/element';
|
|
29
|
+
*
|
|
30
|
+
* const MyToggleControl = () => {
|
|
31
|
+
* const [ value, setValue ] = useState( false );
|
|
32
|
+
*
|
|
33
|
+
* return (
|
|
34
|
+
* <ToggleControl
|
|
35
|
+
* label="Fixed Background"
|
|
36
|
+
* checked={ value }
|
|
37
|
+
* onChange={ () => setValue( ( state ) => ! state ) }
|
|
38
|
+
* />
|
|
39
|
+
* );
|
|
40
|
+
* };
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export function ToggleControl( {
|
|
44
|
+
__nextHasNoMarginBottom,
|
|
45
|
+
label,
|
|
46
|
+
checked,
|
|
47
|
+
help,
|
|
48
|
+
className,
|
|
49
|
+
onChange,
|
|
50
|
+
disabled,
|
|
51
|
+
}: WordPressComponentProps< ToggleControlProps, 'input', false > ) {
|
|
52
|
+
function onChangeToggle( event: ChangeEvent< HTMLInputElement > ) {
|
|
53
|
+
onChange( event.target.checked );
|
|
54
|
+
}
|
|
55
|
+
const instanceId = useInstanceId( ToggleControl );
|
|
56
|
+
const id = `inspector-toggle-control-${ instanceId }`;
|
|
57
|
+
|
|
58
|
+
const cx = useCx();
|
|
59
|
+
const classes = cx(
|
|
60
|
+
'components-toggle-control',
|
|
61
|
+
className,
|
|
62
|
+
! __nextHasNoMarginBottom && css( { marginBottom: space( 3 ) } )
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
let describedBy, helpLabel;
|
|
66
|
+
if ( help ) {
|
|
67
|
+
describedBy = id + '__help';
|
|
68
|
+
helpLabel = typeof help === 'function' ? help( checked ) : help;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return (
|
|
72
|
+
<BaseControl
|
|
73
|
+
id={ id }
|
|
74
|
+
help={ helpLabel }
|
|
75
|
+
className={ classes }
|
|
76
|
+
__nextHasNoMarginBottom
|
|
77
|
+
>
|
|
78
|
+
<HStack justify="flex-start" spacing={ 3 }>
|
|
79
|
+
<FormToggle
|
|
80
|
+
id={ id }
|
|
81
|
+
checked={ checked }
|
|
82
|
+
onChange={ onChangeToggle }
|
|
83
|
+
aria-describedby={ describedBy }
|
|
84
|
+
disabled={ disabled }
|
|
85
|
+
/>
|
|
86
|
+
<label
|
|
87
|
+
htmlFor={ id }
|
|
88
|
+
className="components-toggle-control__label"
|
|
89
|
+
>
|
|
90
|
+
{ label }
|
|
91
|
+
</label>
|
|
92
|
+
</HStack>
|
|
93
|
+
</BaseControl>
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export default ToggleControl;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ComponentMeta, ComponentStory } from '@storybook/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { useState } from '@wordpress/element';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
import ToggleControl from '..';
|
|
15
|
+
|
|
16
|
+
const meta: ComponentMeta< typeof ToggleControl > = {
|
|
17
|
+
title: 'Components/ToggleControl',
|
|
18
|
+
component: ToggleControl,
|
|
19
|
+
argTypes: {
|
|
20
|
+
checked: { control: { type: null } },
|
|
21
|
+
help: { control: { type: 'text' } },
|
|
22
|
+
label: { control: { type: 'text' } },
|
|
23
|
+
onChange: { action: 'onChange' },
|
|
24
|
+
},
|
|
25
|
+
parameters: {
|
|
26
|
+
controls: { expanded: true },
|
|
27
|
+
docs: { source: { state: 'open' } },
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
export default meta;
|
|
31
|
+
|
|
32
|
+
const Template: ComponentStory< typeof ToggleControl > = ( {
|
|
33
|
+
onChange,
|
|
34
|
+
...props
|
|
35
|
+
} ) => {
|
|
36
|
+
const [ checked, setChecked ] = useState( true );
|
|
37
|
+
return (
|
|
38
|
+
<ToggleControl
|
|
39
|
+
{ ...props }
|
|
40
|
+
checked={ checked }
|
|
41
|
+
onChange={ ( ...changeArgs ) => {
|
|
42
|
+
setChecked( ...changeArgs );
|
|
43
|
+
onChange( ...changeArgs );
|
|
44
|
+
} }
|
|
45
|
+
/>
|
|
46
|
+
);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export const Default = Template.bind( {} );
|
|
50
|
+
Default.args = {
|
|
51
|
+
label: 'Enable something',
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export const WithHelpText = Template.bind( {} );
|
|
55
|
+
WithHelpText.args = {
|
|
56
|
+
...Default.args,
|
|
57
|
+
help: 'This is some help text.',
|
|
58
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { render, screen } from '@testing-library/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import ToggleControl from '..';
|
|
10
|
+
|
|
11
|
+
describe( 'ToggleControl', () => {
|
|
12
|
+
it( 'should label the toggle', () => {
|
|
13
|
+
render( <ToggleControl label="My toggle" onChange={ () => {} } /> );
|
|
14
|
+
|
|
15
|
+
expect(
|
|
16
|
+
screen.getByRole( 'checkbox', { name: 'My toggle' } )
|
|
17
|
+
).toBeInTheDocument();
|
|
18
|
+
} );
|
|
19
|
+
|
|
20
|
+
it( 'triggers change callback with boolean', () => {
|
|
21
|
+
const onChange = jest.fn();
|
|
22
|
+
|
|
23
|
+
render( <ToggleControl label="My toggle" onChange={ onChange } /> );
|
|
24
|
+
|
|
25
|
+
screen.getByRole( 'checkbox' ).click();
|
|
26
|
+
expect( onChange ).toHaveBeenLastCalledWith( true );
|
|
27
|
+
|
|
28
|
+
screen.getByRole( 'checkbox' ).click();
|
|
29
|
+
expect( onChange ).toHaveBeenLastCalledWith( false );
|
|
30
|
+
} );
|
|
31
|
+
|
|
32
|
+
describe( 'help', () => {
|
|
33
|
+
it( 'should not give the input a description if no `help` prop', () => {
|
|
34
|
+
render( <ToggleControl label="My toggle" onChange={ () => {} } /> );
|
|
35
|
+
expect(
|
|
36
|
+
screen.getByRole( 'checkbox' )
|
|
37
|
+
).not.toHaveAccessibleDescription();
|
|
38
|
+
} );
|
|
39
|
+
|
|
40
|
+
it( "should associate `help` as the input's description", () => {
|
|
41
|
+
render(
|
|
42
|
+
<ToggleControl
|
|
43
|
+
help="My help text"
|
|
44
|
+
label="My toggle"
|
|
45
|
+
onChange={ () => {} }
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
|
+
expect(
|
|
49
|
+
screen.getByRole( 'checkbox', { description: 'My help text' } )
|
|
50
|
+
).toBeInTheDocument();
|
|
51
|
+
} );
|
|
52
|
+
} );
|
|
53
|
+
} );
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type { BaseControlProps } from '../base-control/types';
|
|
10
|
+
import type { FormToggleProps } from '../form-toggle/types';
|
|
11
|
+
|
|
12
|
+
export type ToggleControlProps = Pick<
|
|
13
|
+
FormToggleProps,
|
|
14
|
+
'checked' | 'disabled'
|
|
15
|
+
> &
|
|
16
|
+
Pick<
|
|
17
|
+
BaseControlProps,
|
|
18
|
+
'__nextHasNoMarginBottom' | 'help' | 'className'
|
|
19
|
+
> & {
|
|
20
|
+
/**
|
|
21
|
+
* The label for the toggle.
|
|
22
|
+
*/
|
|
23
|
+
label: ReactNode;
|
|
24
|
+
/**
|
|
25
|
+
* A callback function invoked when the toggle is clicked.
|
|
26
|
+
*/
|
|
27
|
+
onChange: ( value: boolean ) => void;
|
|
28
|
+
};
|
|
@@ -112,16 +112,23 @@ WithTooltip.args = {
|
|
|
112
112
|
/**
|
|
113
113
|
* The `ToggleGroupControlOptionIcon` component can be used for icon options. A `label` is required
|
|
114
114
|
* on each option for accessibility, which will be shown in a tooltip.
|
|
115
|
-
*
|
|
116
|
-
* When using icon options within `ToggleGroupControl`, the `__experimentalIsIconGroup` style is preferred.
|
|
117
115
|
*/
|
|
118
116
|
export const WithIcons: ComponentStory< typeof ToggleGroupControl > =
|
|
119
117
|
Template.bind( {} );
|
|
120
118
|
WithIcons.args = {
|
|
121
119
|
...Default.args,
|
|
122
|
-
__experimentalIsIconGroup: true,
|
|
123
120
|
children: [
|
|
124
121
|
{ value: 'uppercase', label: 'Uppercase', icon: formatUppercase },
|
|
125
122
|
{ value: 'lowercase', label: 'Lowercase', icon: formatLowercase },
|
|
126
123
|
].map( mapPropsToOptionIconComponent ),
|
|
127
124
|
};
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* A borderless style may be preferred in some contexts.
|
|
128
|
+
*/
|
|
129
|
+
export const Borderless: ComponentStory< typeof ToggleGroupControl > =
|
|
130
|
+
Template.bind( {} );
|
|
131
|
+
Borderless.args = {
|
|
132
|
+
...WithIcons.args,
|
|
133
|
+
__experimentalIsBorderless: true,
|
|
134
|
+
};
|
|
@@ -45,7 +45,7 @@ function UnconnectedToggleGroupControl(
|
|
|
45
45
|
className,
|
|
46
46
|
isAdaptiveWidth = false,
|
|
47
47
|
isBlock = false,
|
|
48
|
-
|
|
48
|
+
__experimentalIsBorderless = false,
|
|
49
49
|
label,
|
|
50
50
|
hideLabelFromVision = false,
|
|
51
51
|
help,
|
|
@@ -88,11 +88,11 @@ function UnconnectedToggleGroupControl(
|
|
|
88
88
|
() =>
|
|
89
89
|
cx(
|
|
90
90
|
styles.ToggleGroupControl( { size } ),
|
|
91
|
-
!
|
|
91
|
+
! __experimentalIsBorderless && styles.border,
|
|
92
92
|
isBlock && styles.block,
|
|
93
93
|
className
|
|
94
94
|
),
|
|
95
|
-
[ className, cx, isBlock,
|
|
95
|
+
[ className, cx, isBlock, __experimentalIsBorderless, size ]
|
|
96
96
|
);
|
|
97
97
|
return (
|
|
98
98
|
<BaseControl
|