@wordpress/components 20.0.2-next.957ca95e4c.0 → 21.0.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 +56 -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/border-box-control/border-box-control/component.js +5 -1
- package/build/border-box-control/border-box-control/component.js.map +1 -1
- package/build/border-box-control/border-box-control-split-controls/component.js +5 -1
- package/build/border-box-control/border-box-control-split-controls/component.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/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/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/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 +155 -154
- 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 +119 -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 +1 -1
- 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/border-box-control/border-box-control/component.js +5 -1
- package/build-module/border-box-control/border-box-control/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control-split-controls/component.js +5 -1
- package/build-module/border-box-control/border-box-control-split-controls/component.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/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/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/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 +157 -156
- 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 +112 -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 +1 -1
- 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 +2 -28
- package/build-style/style.css +2 -28
- 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/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/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 +161 -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/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/base-field/test/__snapshots__/index.js.snap +3 -5
- package/src/border-box-control/border-box-control/component.tsx +9 -2
- package/src/border-box-control/border-box-control-split-controls/component.tsx +8 -2
- 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/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/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/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/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/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 +83 -48
- package/src/popover/{index.js → index.tsx} +246 -176
- package/src/popover/stories/{index.js → index.tsx} +51 -54
- package/src/popover/types.ts +173 -0
- package/src/popover/utils.ts +230 -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 +1 -1
- 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 +0 -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
|
@@ -7,7 +7,7 @@ import userEvent from '@testing-library/user-event';
|
|
|
7
7
|
/**
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
|
-
import Picker from '
|
|
10
|
+
import Picker from '..';
|
|
11
11
|
|
|
12
12
|
describe( 'FocalPointPicker', () => {
|
|
13
13
|
describe( 'focus and blur', () => {
|
|
@@ -112,9 +112,9 @@ describe( 'FocalPointPicker', () => {
|
|
|
112
112
|
await user.keyboard( '[ArrowUp]' );
|
|
113
113
|
|
|
114
114
|
expect( spy ).toHaveBeenCalled();
|
|
115
|
-
expect( spyChange ).
|
|
116
|
-
x:
|
|
117
|
-
y:
|
|
115
|
+
expect( spyChange ).toHaveBeenLastCalledWith( {
|
|
116
|
+
x: 0.91,
|
|
117
|
+
y: 0.42,
|
|
118
118
|
} );
|
|
119
119
|
} );
|
|
120
120
|
} );
|
|
@@ -143,10 +143,30 @@ describe( 'FocalPointPicker', () => {
|
|
|
143
143
|
await user.click( dragArea );
|
|
144
144
|
await user.keyboard( '[ArrowDown]' );
|
|
145
145
|
|
|
146
|
-
expect( spyChange ).
|
|
147
|
-
x:
|
|
148
|
-
y:
|
|
146
|
+
expect( spyChange ).toHaveBeenLastCalledWith( {
|
|
147
|
+
x: 0.14,
|
|
148
|
+
y: 0.63,
|
|
149
149
|
} );
|
|
150
150
|
} );
|
|
151
151
|
} );
|
|
152
|
+
|
|
153
|
+
describe( 'value handling', () => {
|
|
154
|
+
it( 'should handle legacy string values', () => {
|
|
155
|
+
const onChangeSpy = jest.fn();
|
|
156
|
+
render(
|
|
157
|
+
<Picker
|
|
158
|
+
value={ { x: '0.1', y: '0.2' } }
|
|
159
|
+
onChange={ onChangeSpy }
|
|
160
|
+
/>
|
|
161
|
+
);
|
|
162
|
+
|
|
163
|
+
expect(
|
|
164
|
+
screen.getByRole( 'spinbutton', { name: 'Left' } ).value
|
|
165
|
+
).toBe( '10' );
|
|
166
|
+
expect(
|
|
167
|
+
screen.getByRole( 'spinbutton', { name: 'Top' } ).value
|
|
168
|
+
).toBe( '20' );
|
|
169
|
+
expect( onChangeSpy ).not.toHaveBeenCalled();
|
|
170
|
+
} );
|
|
171
|
+
} );
|
|
152
172
|
} );
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type {
|
|
5
|
+
CSSProperties,
|
|
6
|
+
ReactEventHandler,
|
|
7
|
+
Ref,
|
|
8
|
+
VideoHTMLAttributes,
|
|
9
|
+
} from 'react';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
import type { BaseControlProps } from '../base-control/types';
|
|
15
|
+
|
|
16
|
+
export type FocalPoint = Record< FocalPointAxis, number >;
|
|
17
|
+
export type FocalPointAxis = 'x' | 'y';
|
|
18
|
+
|
|
19
|
+
export type FocalPointPickerProps = Pick<
|
|
20
|
+
BaseControlProps,
|
|
21
|
+
'help' | 'hideLabelFromVision' | 'label'
|
|
22
|
+
> & {
|
|
23
|
+
/**
|
|
24
|
+
* Start opting into the new margin-free styles that will become the default in a future version.
|
|
25
|
+
*
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
__nextHasNoMarginBottom?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Autoplays HTML5 video. This only applies to video sources (`url`).
|
|
31
|
+
*
|
|
32
|
+
* @default true
|
|
33
|
+
*/
|
|
34
|
+
autoPlay?: FocalPointPickerMediaProps[ 'autoPlay' ];
|
|
35
|
+
/**
|
|
36
|
+
* Callback which is called when the focal point changes.
|
|
37
|
+
*/
|
|
38
|
+
onChange: ( value: FocalPoint ) => void;
|
|
39
|
+
onDrag?: ( value: FocalPoint, event: MouseEvent ) => void;
|
|
40
|
+
/**
|
|
41
|
+
* Callback which is called at the end of drag operations.
|
|
42
|
+
*/
|
|
43
|
+
onDragEnd?: () => void;
|
|
44
|
+
/**
|
|
45
|
+
* Callback which is called at the start of drag operations.
|
|
46
|
+
*/
|
|
47
|
+
onDragStart?: ( value: FocalPoint, event: React.MouseEvent ) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Function which is called before internal updates to the value state.
|
|
50
|
+
* It receives the upcoming value and may return a modified one.
|
|
51
|
+
*/
|
|
52
|
+
resolvePoint?: ( point: FocalPoint ) => FocalPoint;
|
|
53
|
+
/**
|
|
54
|
+
* URL of the image or video to be displayed.
|
|
55
|
+
*/
|
|
56
|
+
url: FocalPointPickerMediaProps[ 'src' ];
|
|
57
|
+
/**
|
|
58
|
+
* The focal point. Should be an object containing `x` and `y` params.
|
|
59
|
+
*/
|
|
60
|
+
value: FocalPoint;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
export type FocalPointPickerControlsProps = {
|
|
64
|
+
__nextHasNoMarginBottom?: boolean;
|
|
65
|
+
/**
|
|
66
|
+
* A bit of extra bottom margin will be added if a `help` text
|
|
67
|
+
* needs to be rendered under it.
|
|
68
|
+
*/
|
|
69
|
+
hasHelpText: boolean;
|
|
70
|
+
onChange?: ( value: FocalPoint ) => void;
|
|
71
|
+
point?: FocalPoint;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export type FocalPointPickerGridProps = {
|
|
75
|
+
bounds: { width: number; height: number };
|
|
76
|
+
showOverlay?: boolean;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export type FocalPointPickerMediaProps = Pick<
|
|
80
|
+
VideoHTMLAttributes< HTMLVideoElement >,
|
|
81
|
+
'autoPlay' | 'muted'
|
|
82
|
+
> & {
|
|
83
|
+
alt: string;
|
|
84
|
+
mediaRef?: Ref< HTMLDivElement | HTMLVideoElement | HTMLImageElement >;
|
|
85
|
+
onLoad?: ReactEventHandler< HTMLVideoElement | HTMLImageElement >;
|
|
86
|
+
src: string;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export type FocalPointProps = {
|
|
90
|
+
isDragging: boolean;
|
|
91
|
+
left: CSSProperties[ 'left' ];
|
|
92
|
+
top: CSSProperties[ 'top' ];
|
|
93
|
+
};
|
|
@@ -19,10 +19,10 @@ const VIDEO_EXTENSIONS = [
|
|
|
19
19
|
/**
|
|
20
20
|
* Gets the extension of a file name.
|
|
21
21
|
*
|
|
22
|
-
* @param
|
|
23
|
-
* @return
|
|
22
|
+
* @param filename The file name.
|
|
23
|
+
* @return The extension of the file name.
|
|
24
24
|
*/
|
|
25
|
-
export function getExtension( filename = '' ) {
|
|
25
|
+
export function getExtension( filename = '' ): string {
|
|
26
26
|
const parts = filename.split( '.' );
|
|
27
27
|
return parts[ parts.length - 1 ];
|
|
28
28
|
}
|
|
@@ -30,10 +30,10 @@ export function getExtension( filename = '' ) {
|
|
|
30
30
|
/**
|
|
31
31
|
* Checks if a file is a video.
|
|
32
32
|
*
|
|
33
|
-
* @param
|
|
34
|
-
* @return
|
|
33
|
+
* @param filename The file name.
|
|
34
|
+
* @return Whether the file is a video.
|
|
35
35
|
*/
|
|
36
|
-
export function isVideoType( filename = '' ) {
|
|
36
|
+
export function isVideoType( filename: string = '' ): boolean {
|
|
37
37
|
if ( ! filename ) return false;
|
|
38
38
|
return VIDEO_EXTENSIONS.includes( getExtension( filename ) );
|
|
39
39
|
}
|
|
@@ -41,9 +41,9 @@ export function isVideoType( filename = '' ) {
|
|
|
41
41
|
/**
|
|
42
42
|
* Transforms a fraction value to a percentage value.
|
|
43
43
|
*
|
|
44
|
-
* @param
|
|
45
|
-
* @return
|
|
44
|
+
* @param fraction The fraction value.
|
|
45
|
+
* @return A percentage value.
|
|
46
46
|
*/
|
|
47
|
-
export function fractionToPercentage( fraction ) {
|
|
47
|
+
export function fractionToPercentage( fraction: number ): number {
|
|
48
48
|
return Math.round( fraction * 100 );
|
|
49
49
|
}
|
|
@@ -29,6 +29,7 @@ const MyFontSizePicker = () => {
|
|
|
29
29
|
|
|
30
30
|
return (
|
|
31
31
|
<FontSizePicker
|
|
32
|
+
__nextHasNoMarginBottom
|
|
32
33
|
fontSizes={ fontSizes }
|
|
33
34
|
value={ fontSize }
|
|
34
35
|
fallbackFontSize={ fallbackFontSize }
|
|
@@ -105,3 +106,11 @@ If `true`, a reset button will be displayed alongside the input field when a cus
|
|
|
105
106
|
- Type: `Boolean`
|
|
106
107
|
- Required: no
|
|
107
108
|
- Default: `true`
|
|
109
|
+
|
|
110
|
+
### __nextHasNoMarginBottom
|
|
111
|
+
|
|
112
|
+
Start opting into the new margin-free styles that will become the default in a future version, currently scheduled to be WordPress 6.4. (The prop can be safely removed once this happens.)
|
|
113
|
+
|
|
114
|
+
- Type: `Boolean`
|
|
115
|
+
- Required: no
|
|
116
|
+
- Default: `false`
|
|
@@ -6,6 +6,7 @@ import classNames from 'classnames';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
+
import deprecated from '@wordpress/deprecated';
|
|
9
10
|
import { __, sprintf } from '@wordpress/i18n';
|
|
10
11
|
import { settings } from '@wordpress/icons';
|
|
11
12
|
import { useState, useMemo, forwardRef } from '@wordpress/element';
|
|
@@ -58,6 +59,14 @@ function FontSizePicker(
|
|
|
58
59
|
},
|
|
59
60
|
ref
|
|
60
61
|
) {
|
|
62
|
+
if ( ! __nextHasNoMarginBottom ) {
|
|
63
|
+
deprecated( 'Bottom margin styles for wp.components.FontSizePicker', {
|
|
64
|
+
since: '6.1',
|
|
65
|
+
version: '6.4',
|
|
66
|
+
hint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version.',
|
|
67
|
+
} );
|
|
68
|
+
}
|
|
69
|
+
|
|
61
70
|
const hasUnits = [ typeof value, typeof fontSizes?.[ 0 ]?.size ].includes(
|
|
62
71
|
'string'
|
|
63
72
|
);
|
|
@@ -12,17 +12,14 @@ export default {
|
|
|
12
12
|
title: 'Components/FontSizePicker',
|
|
13
13
|
component: FontSizePicker,
|
|
14
14
|
argTypes: {
|
|
15
|
-
__nextHasNoMarginBottom: { control: { type: 'boolean' } },
|
|
16
15
|
initialValue: { table: { disable: true } }, // hide prop because it's not actually part of FontSizePicker
|
|
17
16
|
fallbackFontSize: {
|
|
18
17
|
description:
|
|
19
18
|
'If no value exists, this prop defines the starting position for the font size picker slider. Only relevant if `withSlider` is `true`.',
|
|
20
19
|
},
|
|
21
20
|
size: {
|
|
22
|
-
control: {
|
|
23
|
-
|
|
24
|
-
options: [ 'default', '__unstable-large' ],
|
|
25
|
-
},
|
|
21
|
+
control: { type: 'radio' },
|
|
22
|
+
options: [ 'default', '__unstable-large' ],
|
|
26
23
|
},
|
|
27
24
|
withReset: {
|
|
28
25
|
description:
|
|
@@ -68,6 +65,7 @@ const TwoFontSizePickersWithState = ( { fontSizes, ...props } ) => {
|
|
|
68
65
|
|
|
69
66
|
export const Default = FontSizePickerWithState.bind( {} );
|
|
70
67
|
Default.args = {
|
|
68
|
+
__nextHasNoMarginBottom: true,
|
|
71
69
|
disableCustomFontSizes: false,
|
|
72
70
|
fontSizes: [
|
|
73
71
|
{
|
|
@@ -28,7 +28,11 @@ describe( 'FontSizePicker', () => {
|
|
|
28
28
|
);
|
|
29
29
|
|
|
30
30
|
render(
|
|
31
|
-
<FontSizePicker
|
|
31
|
+
<FontSizePicker
|
|
32
|
+
value={ fontSize }
|
|
33
|
+
onChange={ setFontSize }
|
|
34
|
+
__nextHasNoMarginBottom
|
|
35
|
+
/>
|
|
32
36
|
);
|
|
33
37
|
|
|
34
38
|
const unitSelect = getUnitSelect();
|
|
@@ -52,7 +56,11 @@ describe( 'FontSizePicker', () => {
|
|
|
52
56
|
);
|
|
53
57
|
|
|
54
58
|
render(
|
|
55
|
-
<FontSizePicker
|
|
59
|
+
<FontSizePicker
|
|
60
|
+
value={ fontSize }
|
|
61
|
+
onChange={ setFontSize }
|
|
62
|
+
__nextHasNoMarginBottom
|
|
63
|
+
/>
|
|
56
64
|
);
|
|
57
65
|
|
|
58
66
|
const unitSelect = getUnitSelect();
|
|
@@ -87,6 +95,7 @@ describe( 'FontSizePicker', () => {
|
|
|
87
95
|
fontSizes={ fontSizes }
|
|
88
96
|
value={ fontSize }
|
|
89
97
|
onChange={ setFontSize }
|
|
98
|
+
__nextHasNoMarginBottom
|
|
90
99
|
/>
|
|
91
100
|
);
|
|
92
101
|
|
|
@@ -123,6 +132,7 @@ describe( 'FontSizePicker', () => {
|
|
|
123
132
|
fontSizes={ fontSizes }
|
|
124
133
|
value={ fontSize }
|
|
125
134
|
onChange={ setFontSize }
|
|
135
|
+
__nextHasNoMarginBottom
|
|
126
136
|
/>
|
|
127
137
|
);
|
|
128
138
|
|
|
@@ -182,6 +192,7 @@ describe( 'FontSizePicker', () => {
|
|
|
182
192
|
<FontSizePicker
|
|
183
193
|
fontSizes={ fontSizes }
|
|
184
194
|
value={ fontSizes[ 0 ].size }
|
|
195
|
+
__nextHasNoMarginBottom
|
|
185
196
|
/>
|
|
186
197
|
);
|
|
187
198
|
// Trigger click to open the select menu and take into account
|
|
@@ -199,6 +210,7 @@ describe( 'FontSizePicker', () => {
|
|
|
199
210
|
<FontSizePicker
|
|
200
211
|
fontSizes={ fontSizes }
|
|
201
212
|
value={ fontSizes[ 0 ].size }
|
|
213
|
+
__nextHasNoMarginBottom
|
|
202
214
|
/>
|
|
203
215
|
);
|
|
204
216
|
const element = screen.getByLabelText( 'Large' );
|
|
@@ -218,6 +230,7 @@ describe( 'FontSizePicker', () => {
|
|
|
218
230
|
<FontSizePicker
|
|
219
231
|
fontSizes={ fontSizes }
|
|
220
232
|
value={ fontSizes[ 0 ].size }
|
|
233
|
+
__nextHasNoMarginBottom
|
|
221
234
|
/>
|
|
222
235
|
);
|
|
223
236
|
const largeElement = screen.getByLabelText( 'Large' );
|
|
@@ -103,7 +103,6 @@ describe( 'getToggleGroupOptions', () => {
|
|
|
103
103
|
{
|
|
104
104
|
slug: '5',
|
|
105
105
|
size: '5',
|
|
106
|
-
name: '5',
|
|
107
106
|
},
|
|
108
107
|
];
|
|
109
108
|
expect(
|
|
@@ -143,7 +142,7 @@ describe( 'getToggleGroupOptions', () => {
|
|
|
143
142
|
key: '5',
|
|
144
143
|
value: '5',
|
|
145
144
|
label: 'XXL',
|
|
146
|
-
name: '
|
|
145
|
+
name: 'XXL',
|
|
147
146
|
},
|
|
148
147
|
] );
|
|
149
148
|
} );
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# FormFileUpload
|
|
2
2
|
|
|
3
|
+
FormFileUpload is a component that allows users to select files from their local device.
|
|
4
|
+
|
|
3
5
|
## Usage
|
|
4
6
|
|
|
5
7
|
```jsx
|
|
@@ -8,7 +10,7 @@ import { FormFileUpload } from '@wordpress/components';
|
|
|
8
10
|
const MyFormFileUpload = () => (
|
|
9
11
|
<FormFileUpload
|
|
10
12
|
accept="image/*"
|
|
11
|
-
onChange={ ( event ) => console.log( event.
|
|
13
|
+
onChange={ ( event ) => console.log( event.currentTarget.files ) }
|
|
12
14
|
>
|
|
13
15
|
Upload
|
|
14
16
|
</FormFileUpload>
|
|
@@ -54,6 +56,8 @@ Whether to allow multiple selection of files or not.
|
|
|
54
56
|
|
|
55
57
|
Callback function passed directly to the `input` file element.
|
|
56
58
|
|
|
59
|
+
Select files will be available in `event.currentTarget.files`.
|
|
60
|
+
|
|
57
61
|
- Type: `Function`
|
|
58
62
|
- Required: Yes
|
|
59
63
|
|
|
@@ -78,6 +82,7 @@ This can be useful when you want to force a `change` event to fire when the user
|
|
|
78
82
|
### render
|
|
79
83
|
|
|
80
84
|
Optional callback function used to render the UI. If passed the component does not render any UI and calls this function to render it.
|
|
85
|
+
|
|
81
86
|
This function receives an object with the property `openFileDialog`. The property is a function that when called opens the browser window to upload files.
|
|
82
87
|
|
|
83
88
|
- Type: `Function`
|
|
@@ -7,8 +7,26 @@ import { useRef } from '@wordpress/element';
|
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
9
|
import Button from '../button';
|
|
10
|
+
import type { WordPressComponentProps } from '../ui/context';
|
|
11
|
+
import type { FormFileUploadProps } from './types';
|
|
10
12
|
|
|
11
|
-
|
|
13
|
+
/**
|
|
14
|
+
* FormFileUpload is a component that allows users to select files from their local device.
|
|
15
|
+
*
|
|
16
|
+
* ```jsx
|
|
17
|
+
* import { FormFileUpload } from '@wordpress/components';
|
|
18
|
+
*
|
|
19
|
+
* const MyFormFileUpload = () => (
|
|
20
|
+
* <FormFileUpload
|
|
21
|
+
* accept="image/*"
|
|
22
|
+
* onChange={ ( event ) => console.log( event.currentTarget.files ) }
|
|
23
|
+
* >
|
|
24
|
+
* Upload
|
|
25
|
+
* </FormFileUpload>
|
|
26
|
+
* );
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export function FormFileUpload( {
|
|
12
30
|
accept,
|
|
13
31
|
children,
|
|
14
32
|
multiple = false,
|
|
@@ -16,10 +34,10 @@ function FormFileUpload( {
|
|
|
16
34
|
onClick,
|
|
17
35
|
render,
|
|
18
36
|
...props
|
|
19
|
-
} ) {
|
|
20
|
-
const ref = useRef();
|
|
37
|
+
}: WordPressComponentProps< FormFileUploadProps, 'button', false > ) {
|
|
38
|
+
const ref = useRef< HTMLInputElement >( null );
|
|
21
39
|
const openFileDialog = () => {
|
|
22
|
-
ref.current
|
|
40
|
+
ref.current?.click();
|
|
23
41
|
};
|
|
24
42
|
|
|
25
43
|
const ui = render ? (
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ComponentMeta, ComponentStory } from '@storybook/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { upload as uploadIcon } from '@wordpress/icons';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
import FormFileUpload from '..';
|
|
15
|
+
|
|
16
|
+
const meta: ComponentMeta< typeof FormFileUpload > = {
|
|
17
|
+
title: 'Components/FormFileUpload',
|
|
18
|
+
component: FormFileUpload,
|
|
19
|
+
argTypes: {
|
|
20
|
+
icon: { control: { type: null } },
|
|
21
|
+
onChange: { action: 'onChange', control: { type: null } },
|
|
22
|
+
onClick: { control: { type: null } },
|
|
23
|
+
},
|
|
24
|
+
parameters: {
|
|
25
|
+
controls: { expanded: true },
|
|
26
|
+
docs: { source: { state: 'open' } },
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
export default meta;
|
|
30
|
+
|
|
31
|
+
const Template: ComponentStory< typeof FormFileUpload > = ( props ) => {
|
|
32
|
+
return <FormFileUpload { ...props } />;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const Default = Template.bind( {} );
|
|
36
|
+
Default.args = {
|
|
37
|
+
children: 'Select file',
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
export const RestrictFileTypes = Template.bind( {} );
|
|
41
|
+
RestrictFileTypes.args = {
|
|
42
|
+
...Default.args,
|
|
43
|
+
accept: 'image/*',
|
|
44
|
+
children: 'Select image',
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export const AllowMultipleFiles = Template.bind( {} );
|
|
48
|
+
AllowMultipleFiles.args = {
|
|
49
|
+
...Default.args,
|
|
50
|
+
children: 'Select files',
|
|
51
|
+
multiple: true,
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
export const WithIcon = Template.bind( {} );
|
|
55
|
+
WithIcon.args = {
|
|
56
|
+
...Default.args,
|
|
57
|
+
children: 'Upload',
|
|
58
|
+
icon: uploadIcon,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Render a custom trigger button by passing a render function to the `render` prop.
|
|
63
|
+
*
|
|
64
|
+
* ```jsx
|
|
65
|
+
* ( { openFileDialog } ) => <button onClick={ openFileDialog }>Custom Upload Button</button>
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export const WithCustomRender = Template.bind( {} );
|
|
69
|
+
WithCustomRender.args = {
|
|
70
|
+
...Default.args,
|
|
71
|
+
render: ( { openFileDialog } ) => (
|
|
72
|
+
<button onClick={ openFileDialog }>Custom Upload Button</button>
|
|
73
|
+
),
|
|
74
|
+
};
|
|
@@ -7,7 +7,7 @@ import userEvent from '@testing-library/user-event';
|
|
|
7
7
|
/**
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
|
-
import FormFileUpload from '
|
|
10
|
+
import FormFileUpload from '..';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Browser dependencies
|
|
@@ -32,7 +32,11 @@ describe( 'FormFileUpload', () => {
|
|
|
32
32
|
} );
|
|
33
33
|
|
|
34
34
|
it( 'should show an Icon Button and a hidden input', () => {
|
|
35
|
-
render(
|
|
35
|
+
render(
|
|
36
|
+
<FormFileUpload onChange={ () => {} }>
|
|
37
|
+
My Upload Button
|
|
38
|
+
</FormFileUpload>
|
|
39
|
+
);
|
|
36
40
|
|
|
37
41
|
const button = screen.getByText( 'My Upload Button' );
|
|
38
42
|
const input = screen.getByTestId( 'form-file-upload-input' );
|
|
@@ -76,7 +80,7 @@ describe( 'FormFileUpload', () => {
|
|
|
76
80
|
|
|
77
81
|
render(
|
|
78
82
|
<FormFileUpload
|
|
79
|
-
onClick={ jest.fn( ( e ) => ( e.
|
|
83
|
+
onClick={ jest.fn( ( e ) => ( e.currentTarget.value = '' ) ) }
|
|
80
84
|
onChange={ onChange }
|
|
81
85
|
>
|
|
82
86
|
My Upload Button
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ComponentProps, InputHTMLAttributes, ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type Icon from '../icon';
|
|
10
|
+
|
|
11
|
+
// TODO: Replace `children` and `icon` types with props from Button once Button is typed.
|
|
12
|
+
export type FormFileUploadProps = {
|
|
13
|
+
/**
|
|
14
|
+
* A string passed to `input` element that tells the browser which file types can be
|
|
15
|
+
* upload to the upload by the user use. e.g: `image/*,video/*`.
|
|
16
|
+
*
|
|
17
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#Unique_file_type_specifiers.
|
|
18
|
+
*/
|
|
19
|
+
accept?: InputHTMLAttributes< HTMLInputElement >[ 'accept' ];
|
|
20
|
+
/**
|
|
21
|
+
* Children are passed as children of `Button`.
|
|
22
|
+
*/
|
|
23
|
+
children?: ReactNode;
|
|
24
|
+
/**
|
|
25
|
+
* The icon to render in the `Button`.
|
|
26
|
+
*/
|
|
27
|
+
icon?: ComponentProps< typeof Icon >[ 'icon' ];
|
|
28
|
+
/**
|
|
29
|
+
* Whether to allow multiple selection of files or not.
|
|
30
|
+
*/
|
|
31
|
+
multiple?: InputHTMLAttributes< HTMLInputElement >[ 'multiple' ];
|
|
32
|
+
/**
|
|
33
|
+
* Callback function passed directly to the `input` file element.
|
|
34
|
+
*
|
|
35
|
+
* Select files will be available in `event.currentTarget.files`.
|
|
36
|
+
*/
|
|
37
|
+
onChange: InputHTMLAttributes< HTMLInputElement >[ 'onChange' ];
|
|
38
|
+
/**
|
|
39
|
+
* Callback function passed directly to the `input` file element.
|
|
40
|
+
*
|
|
41
|
+
* This can be useful when you want to force a `change` event to fire when
|
|
42
|
+
* the user chooses the same file again. To do this, set the target value to
|
|
43
|
+
* an empty string in the `onClick` function.
|
|
44
|
+
*
|
|
45
|
+
* ```jsx
|
|
46
|
+
* <FormFileUpload
|
|
47
|
+
* onClick={ ( event ) => ( event.target.value = '' ) }
|
|
48
|
+
* onChange={ onChange }
|
|
49
|
+
* >
|
|
50
|
+
* Upload
|
|
51
|
+
* </FormFileUpload>
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
onClick?: InputHTMLAttributes< HTMLInputElement >[ 'onClick' ];
|
|
55
|
+
/**
|
|
56
|
+
* Optional callback function used to render the UI.
|
|
57
|
+
*
|
|
58
|
+
* If passed, the component does not render any UI and calls this function to render it.
|
|
59
|
+
* This function receives an object with the property `openFileDialog`.
|
|
60
|
+
* The property is a function that when called opens the browser window to upload files.
|
|
61
|
+
*/
|
|
62
|
+
render?: ( arg: { openFileDialog: () => void } ) => void;
|
|
63
|
+
};
|
|
@@ -31,12 +31,7 @@ export const noop = () => {};
|
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
33
|
export function FormToggle(
|
|
34
|
-
|
|
35
|
-
// ref forwarding to FormToggle.
|
|
36
|
-
props: Omit<
|
|
37
|
-
WordPressComponentProps< FormToggleProps, 'input', false >,
|
|
38
|
-
'ref'
|
|
39
|
-
>
|
|
34
|
+
props: WordPressComponentProps< FormToggleProps, 'input', false >
|
|
40
35
|
) {
|
|
41
36
|
const {
|
|
42
37
|
className,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { last, clone, map, some } from 'lodash';
|
|
5
4
|
import classnames from 'classnames';
|
|
6
5
|
import type { KeyboardEvent, MouseEvent, TouchEvent } from 'react';
|
|
7
6
|
|
|
@@ -258,7 +257,7 @@ export function FormTokenField( props: FormTokenFieldProps ) {
|
|
|
258
257
|
const text = event.value;
|
|
259
258
|
const separator = tokenizeOnSpace ? /[ ,\t]+/ : /[,\t]+/;
|
|
260
259
|
const items = text.split( separator );
|
|
261
|
-
const tokenValue =
|
|
260
|
+
const tokenValue = items[ items.length - 1 ] || '';
|
|
262
261
|
|
|
263
262
|
if ( items.length > 1 ) {
|
|
264
263
|
addNewTokens( items.slice( 0, -1 ) );
|
|
@@ -413,7 +412,7 @@ export function FormTokenField( props: FormTokenFieldProps ) {
|
|
|
413
412
|
];
|
|
414
413
|
|
|
415
414
|
if ( tokensToAdd.length > 0 ) {
|
|
416
|
-
const newValue =
|
|
415
|
+
const newValue = [ ...value ];
|
|
417
416
|
newValue.splice( getIndexOfInput(), 0, ...tokensToAdd );
|
|
418
417
|
onChange( newValue );
|
|
419
418
|
}
|
|
@@ -503,7 +502,7 @@ export function FormTokenField( props: FormTokenFieldProps ) {
|
|
|
503
502
|
}
|
|
504
503
|
|
|
505
504
|
function valueContainsToken( token: string ) {
|
|
506
|
-
return some(
|
|
505
|
+
return value.some( ( item ) => {
|
|
507
506
|
return getTokenValue( token ) === getTokenValue( item );
|
|
508
507
|
} );
|
|
509
508
|
}
|
|
@@ -564,7 +563,7 @@ export function FormTokenField( props: FormTokenFieldProps ) {
|
|
|
564
563
|
}
|
|
565
564
|
|
|
566
565
|
function renderTokensAndInput() {
|
|
567
|
-
const components = map(
|
|
566
|
+
const components = value.map( renderToken );
|
|
568
567
|
components.splice( getIndexOfInput(), 0, renderInput() );
|
|
569
568
|
|
|
570
569
|
return components;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { map } from 'lodash';
|
|
5
4
|
import scrollView from 'dom-scroll-into-view';
|
|
6
5
|
import classnames from 'classnames';
|
|
7
6
|
import type { MouseEventHandler, ReactNode } from 'react';
|
|
@@ -114,7 +113,7 @@ export function SuggestionsList< T extends string | { value: string } >( {
|
|
|
114
113
|
id={ `components-form-token-suggestions-${ instanceId }` }
|
|
115
114
|
role="listbox"
|
|
116
115
|
>
|
|
117
|
-
{ map(
|
|
116
|
+
{ suggestions.map( ( suggestion, index ) => {
|
|
118
117
|
const matchText = computeSuggestionMatch( suggestion );
|
|
119
118
|
const className = classnames(
|
|
120
119
|
'components-form-token-field__suggestion',
|