@wordpress/components 19.17.0 → 20.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 +75 -1
- package/CONTRIBUTING.md +10 -10
- package/build/alignment-matrix-control/index.js +1 -1
- package/build/alignment-matrix-control/index.js.map +1 -1
- 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 +3 -0
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +14 -4
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/autocomplete/index.js +9 -11
- package/build/autocomplete/index.js.map +1 -1
- package/build/base-control/styles/base-control-styles.js +8 -8
- package/build/base-control/styles/base-control-styles.js.map +1 -1
- package/build/base-field/styles.js +5 -5
- package/build/base-field/styles.js.map +1 -1
- package/build/box-control/styles/box-control-visualizer-styles.js +8 -8
- package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build/card/card/component.js +6 -11
- package/build/card/card/component.js.map +1 -1
- package/build/card/card/hook.js +0 -10
- package/build/card/card/hook.js.map +1 -1
- package/build/card/card/index.js.map +1 -1
- package/build/card/card-body/component.js +7 -8
- package/build/card/card-body/component.js.map +1 -1
- package/build/card/card-body/hook.js +0 -4
- package/build/card/card-body/hook.js.map +1 -1
- package/build/card/card-body/index.js.map +1 -1
- package/build/card/card-divider/component.js +7 -8
- package/build/card/card-divider/component.js.map +1 -1
- package/build/card/card-divider/hook.js +0 -4
- package/build/card/card-divider/hook.js.map +1 -1
- package/build/card/card-divider/index.js.map +1 -1
- package/build/card/card-footer/component.js +7 -8
- package/build/card/card-footer/component.js.map +1 -1
- package/build/card/card-footer/hook.js +0 -4
- package/build/card/card-footer/hook.js.map +1 -1
- package/build/card/card-footer/index.js.map +1 -1
- package/build/card/card-header/component.js +7 -8
- package/build/card/card-header/component.js.map +1 -1
- package/build/card/card-header/hook.js +0 -4
- package/build/card/card-header/hook.js.map +1 -1
- package/build/card/card-header/index.js.map +1 -1
- package/build/card/card-media/component.js +7 -7
- package/build/card/card-media/component.js.map +1 -1
- package/build/card/card-media/hook.js +0 -4
- package/build/card/card-media/hook.js.map +1 -1
- package/build/card/card-media/index.js.map +1 -1
- package/build/card/context.js.map +1 -1
- package/build/card/index.js.map +1 -1
- package/build/card/styles.js +17 -17
- package/build/card/styles.js.map +1 -1
- package/build/color-list-picker/index.js +16 -5
- package/build/color-list-picker/index.js.map +1 -1
- package/build/color-palette/index.js +22 -12
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/index.native.js +3 -3
- package/build/color-palette/index.native.js.map +1 -1
- package/build/combobox-control/index.js +7 -4
- package/build/combobox-control/index.js.map +1 -1
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
- package/build/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
- package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
- package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -0
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
- package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
- package/build/custom-gradient-picker/index.js +19 -4
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/custom-select-control/index.js +21 -11
- package/build/custom-select-control/index.js.map +1 -1
- package/build/custom-select-control/styles.js +34 -0
- package/build/custom-select-control/styles.js.map +1 -0
- package/build/date-time/constants.js +9 -0
- package/build/date-time/constants.js.map +1 -0
- package/build/date-time/date/index.js +175 -186
- package/build/date-time/date/index.js.map +1 -1
- package/build/date-time/date/styles.js +59 -40
- package/build/date-time/date/styles.js.map +1 -1
- package/build/date-time/date-time/index.js +5 -2
- package/build/date-time/date-time/index.js.map +1 -1
- package/build/date-time/time/index.js +22 -17
- package/build/date-time/time/index.js.map +1 -1
- package/build/date-time/utils.js +27 -0
- package/build/date-time/utils.js.map +1 -0
- package/build/dimension-control/index.js +2 -6
- package/build/dimension-control/index.js.map +1 -1
- package/build/disabled/index.js +28 -11
- package/build/disabled/index.js.map +1 -1
- package/build/disabled/styles/disabled-styles.js +3 -3
- package/build/disabled/styles/disabled-styles.js.map +1 -1
- package/build/{swatch → disabled}/types.js +0 -0
- package/build/{swatch → disabled}/types.js.map +0 -0
- package/build/drop-zone/index.js +2 -4
- package/build/drop-zone/index.js.map +1 -1
- package/build/dropdown/index.js +5 -6
- package/build/dropdown/index.js.map +1 -1
- package/build/duotone-picker/custom-duotone-bar.js +2 -2
- package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +9 -1
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/duotone-picker/duotone-swatch.js +13 -3
- package/build/duotone-picker/duotone-swatch.js.map +1 -1
- package/build/focal-point-picker/index.js +4 -6
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-style.js +4 -4
- package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build/font-size-picker/index.js +43 -14
- package/build/font-size-picker/index.js.map +1 -1
- package/build/font-size-picker/utils.js +32 -22
- package/build/font-size-picker/utils.js.map +1 -1
- package/build/form-token-field/index.js +29 -20
- package/build/form-token-field/index.js.map +1 -1
- package/build/gradient-picker/index.js +15 -3
- package/build/gradient-picker/index.js.map +1 -1
- package/build/guide/index.js +5 -3
- package/build/guide/index.js.map +1 -1
- package/build/guide/page-control.js +3 -7
- package/build/guide/page-control.js.map +1 -1
- package/build/item-group/styles.js +10 -10
- package/build/item-group/styles.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js +3 -6
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +3 -1
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/mobile/image/index.native.js +6 -26
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/picker/index.android.js +3 -3
- package/build/mobile/picker/index.android.js.map +1 -1
- package/build/modal/index.js +1 -3
- package/build/modal/index.js.map +1 -1
- package/build/navigable-container/container.js +9 -8
- package/build/navigable-container/container.js.map +1 -1
- package/build/navigable-container/menu.js +3 -9
- package/build/navigable-container/menu.js.map +1 -1
- package/build/navigator/navigator-back-button/hook.js +0 -4
- package/build/navigator/navigator-back-button/hook.js.map +1 -1
- package/build/navigator/navigator-button/hook.js +0 -4
- package/build/navigator/navigator-button/hook.js.map +1 -1
- package/build/notice/list.js +10 -6
- package/build/notice/list.js.map +1 -1
- package/build/palette-edit/index.js +1 -0
- package/build/palette-edit/index.js.map +1 -1
- package/build/palette-edit/styles.js +10 -10
- package/build/palette-edit/styles.js.map +1 -1
- package/build/popover/index.js +100 -97
- package/build/popover/index.js.map +1 -1
- package/build/popover/utils.js +178 -0
- package/build/popover/utils.js.map +1 -0
- package/build/range-control/index.js +3 -0
- package/build/range-control/index.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +43 -37
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/select-control/chevron-down.js +30 -0
- package/build/select-control/chevron-down.js.map +1 -0
- package/build/select-control/index.js +7 -7
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +30 -15
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/snackbar/list.js +5 -3
- package/build/snackbar/list.js.map +1 -1
- package/build/spinner/index.js +2 -0
- package/build/spinner/index.js.map +1 -1
- package/build/text/styles.js +7 -7
- package/build/text/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +16 -8
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +7 -5
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/component.js +15 -5
- package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js +20 -7
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js +26 -7
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build/tools-panel/styles.js +11 -11
- package/build/tools-panel/styles.js.map +1 -1
- package/build/tooltip/index.js +1 -7
- package/build/tooltip/index.js.map +1 -1
- package/build/tree-grid/index.js +4 -10
- package/build/tree-grid/index.js.map +1 -1
- package/build/ui/context/context-connect.js +1 -3
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/unit-control/index.js +2 -3
- package/build/unit-control/index.js.map +1 -1
- package/build/utils/colors-values.js +52 -142
- package/build/utils/colors-values.js.map +1 -1
- package/build/utils/config-values.js +1 -1
- package/build/utils/config-values.js.map +1 -1
- package/build/utils/input/input-control.js +1 -1
- package/build/utils/input/input-control.js.map +1 -1
- package/build/utils/rtl.js +6 -5
- package/build/utils/rtl.js.map +1 -1
- package/build/utils/strings.js +50 -0
- package/build/utils/strings.js.map +1 -0
- package/build-module/alignment-matrix-control/index.js +1 -1
- package/build-module/alignment-matrix-control/index.js.map +1 -1
- 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 +3 -0
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +13 -4
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/autocomplete/index.js +9 -10
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/base-control/styles/base-control-styles.js +8 -8
- package/build-module/base-control/styles/base-control-styles.js.map +1 -1
- package/build-module/base-field/styles.js +5 -5
- package/build-module/base-field/styles.js.map +1 -1
- package/build-module/box-control/styles/box-control-visualizer-styles.js +8 -8
- package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build-module/card/card/component.js +5 -10
- package/build-module/card/card/component.js.map +1 -1
- package/build-module/card/card/hook.js +0 -9
- package/build-module/card/card/hook.js.map +1 -1
- package/build-module/card/card/index.js.map +1 -1
- package/build-module/card/card-body/component.js +7 -8
- package/build-module/card/card-body/component.js.map +1 -1
- package/build-module/card/card-body/hook.js +0 -4
- package/build-module/card/card-body/hook.js.map +1 -1
- package/build-module/card/card-body/index.js.map +1 -1
- package/build-module/card/card-divider/component.js +7 -8
- package/build-module/card/card-divider/component.js.map +1 -1
- package/build-module/card/card-divider/hook.js +0 -4
- package/build-module/card/card-divider/hook.js.map +1 -1
- package/build-module/card/card-divider/index.js.map +1 -1
- package/build-module/card/card-footer/component.js +7 -8
- package/build-module/card/card-footer/component.js.map +1 -1
- package/build-module/card/card-footer/hook.js +0 -4
- package/build-module/card/card-footer/hook.js.map +1 -1
- package/build-module/card/card-footer/index.js.map +1 -1
- package/build-module/card/card-header/component.js +7 -8
- package/build-module/card/card-header/component.js.map +1 -1
- package/build-module/card/card-header/hook.js +0 -4
- package/build-module/card/card-header/hook.js.map +1 -1
- package/build-module/card/card-header/index.js.map +1 -1
- package/build-module/card/card-media/component.js +7 -7
- package/build-module/card/card-media/component.js.map +1 -1
- package/build-module/card/card-media/hook.js +0 -4
- package/build-module/card/card-media/hook.js.map +1 -1
- package/build-module/card/card-media/index.js.map +1 -1
- package/build-module/card/context.js.map +1 -1
- package/build-module/card/index.js.map +1 -1
- package/build-module/card/styles.js +17 -17
- package/build-module/card/styles.js.map +1 -1
- package/build-module/color-list-picker/index.js +13 -5
- package/build-module/color-list-picker/index.js.map +1 -1
- package/build-module/color-palette/index.js +22 -11
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/index.native.js +4 -4
- package/build-module/color-palette/index.native.js.map +1 -1
- package/build-module/combobox-control/index.js +6 -3
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
- package/build-module/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
- package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -0
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
- package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
- package/build-module/custom-gradient-picker/index.js +16 -3
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/custom-select-control/index.js +20 -12
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/custom-select-control/styles.js +22 -0
- package/build-module/custom-select-control/styles.js.map +1 -0
- package/build-module/date-time/constants.js +2 -0
- package/build-module/date-time/constants.js.map +1 -0
- package/build-module/date-time/date/index.js +178 -184
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/date-time/date/styles.js +47 -38
- package/build-module/date-time/date/styles.js.map +1 -1
- package/build-module/date-time/date-time/index.js +4 -2
- package/build-module/date-time/date-time/index.js.map +1 -1
- package/build-module/date-time/time/index.js +20 -16
- package/build-module/date-time/time/index.js.map +1 -1
- package/build-module/date-time/utils.js +19 -0
- package/build-module/date-time/utils.js.map +1 -0
- package/build-module/dimension-control/index.js +1 -5
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/disabled/index.js +28 -11
- package/build-module/disabled/index.js.map +1 -1
- package/build-module/disabled/styles/disabled-styles.js +3 -3
- package/build-module/disabled/styles/disabled-styles.js.map +1 -1
- package/build-module/{swatch → disabled}/types.js +0 -0
- package/build-module/{swatch → disabled}/types.js.map +0 -0
- package/build-module/drop-zone/index.js +2 -3
- package/build-module/drop-zone/index.js.map +1 -1
- package/build-module/dropdown/index.js +5 -6
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +7 -1
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/duotone-picker/duotone-swatch.js +11 -3
- package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
- package/build-module/focal-point-picker/index.js +4 -5
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-style.js +4 -4
- package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build-module/font-size-picker/index.js +39 -14
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/font-size-picker/utils.js +31 -23
- package/build-module/font-size-picker/utils.js.map +1 -1
- package/build-module/form-token-field/index.js +30 -20
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/gradient-picker/index.js +14 -3
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/guide/index.js +5 -3
- package/build-module/guide/index.js.map +1 -1
- package/build-module/guide/page-control.js +3 -6
- package/build-module/guide/page-control.js.map +1 -1
- package/build-module/item-group/styles.js +10 -10
- package/build-module/item-group/styles.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js +3 -5
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +2 -1
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +8 -28
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/picker/index.android.js +3 -3
- package/build-module/mobile/picker/index.android.js.map +1 -1
- package/build-module/modal/index.js +1 -2
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigable-container/container.js +9 -7
- package/build-module/navigable-container/container.js.map +1 -1
- package/build-module/navigable-container/menu.js +3 -8
- package/build-module/navigable-container/menu.js.map +1 -1
- package/build-module/navigator/navigator-back-button/hook.js +0 -4
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-button/hook.js +0 -4
- package/build-module/navigator/navigator-button/hook.js.map +1 -1
- package/build-module/notice/list.js +10 -5
- package/build-module/notice/list.js.map +1 -1
- package/build-module/palette-edit/index.js +1 -0
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/palette-edit/styles.js +10 -10
- package/build-module/palette-edit/styles.js.map +1 -1
- package/build-module/popover/index.js +100 -98
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/utils.js +164 -0
- package/build-module/popover/utils.js.map +1 -0
- package/build-module/range-control/index.js +3 -0
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +43 -37
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/select-control/chevron-down.js +21 -0
- package/build-module/select-control/chevron-down.js.map +1 -0
- package/build-module/select-control/index.js +7 -7
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +24 -13
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/snackbar/list.js +5 -2
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/spinner/index.js +2 -0
- package/build-module/spinner/index.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +14 -7
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +5 -4
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option/component.js +17 -3
- package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +16 -6
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +27 -5
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build-module/tools-panel/styles.js +11 -11
- package/build-module/tools-panel/styles.js.map +1 -1
- package/build-module/tooltip/index.js +1 -6
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tree-grid/index.js +4 -9
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/ui/context/context-connect.js +1 -2
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/unit-control/index.js +2 -2
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/utils/colors-values.js +52 -141
- package/build-module/utils/colors-values.js.map +1 -1
- package/build-module/utils/config-values.js +1 -1
- package/build-module/utils/config-values.js.map +1 -1
- package/build-module/utils/input/input-control.js +1 -1
- package/build-module/utils/input/input-control.js.map +1 -1
- package/build-module/utils/rtl.js +6 -4
- package/build-module/utils/rtl.js.map +1 -1
- package/build-module/utils/strings.js +37 -0
- package/build-module/utils/strings.js.map +1 -0
- package/build-style/style-rtl.css +176 -1227
- package/build-style/style.css +171 -1225
- package/build-types/card/card/component.d.ts +3 -3
- package/build-types/card/card/component.d.ts.map +1 -1
- package/build-types/card/card/hook.d.ts +7 -2
- package/build-types/card/card/hook.d.ts.map +1 -1
- package/build-types/card/card/index.d.ts +2 -2
- package/build-types/card/card/index.d.ts.map +1 -1
- package/build-types/card/card-body/component.d.ts +3 -3
- package/build-types/card/card-body/component.d.ts.map +1 -1
- package/build-types/card/card-body/hook.d.ts +5 -2
- package/build-types/card/card-body/hook.d.ts.map +1 -1
- package/build-types/card/card-body/index.d.ts +2 -2
- package/build-types/card/card-body/index.d.ts.map +1 -1
- package/build-types/card/card-divider/component.d.ts +3 -3
- package/build-types/card/card-divider/component.d.ts.map +1 -1
- package/build-types/card/card-divider/hook.d.ts +5 -2
- package/build-types/card/card-divider/hook.d.ts.map +1 -1
- package/build-types/card/card-divider/index.d.ts +2 -2
- package/build-types/card/card-divider/index.d.ts.map +1 -1
- package/build-types/card/card-footer/component.d.ts +3 -3
- package/build-types/card/card-footer/component.d.ts.map +1 -1
- package/build-types/card/card-footer/hook.d.ts +5 -2
- package/build-types/card/card-footer/hook.d.ts.map +1 -1
- package/build-types/card/card-footer/index.d.ts +2 -2
- package/build-types/card/card-footer/index.d.ts.map +1 -1
- package/build-types/card/card-header/component.d.ts +3 -3
- package/build-types/card/card-header/component.d.ts.map +1 -1
- package/build-types/card/card-header/hook.d.ts +5 -2
- package/build-types/card/card-header/hook.d.ts.map +1 -1
- package/build-types/card/card-header/index.d.ts +2 -2
- package/build-types/card/card-header/index.d.ts.map +1 -1
- package/build-types/card/card-media/component.d.ts +3 -4
- package/build-types/card/card-media/component.d.ts.map +1 -1
- package/build-types/card/card-media/hook.d.ts +6 -5
- package/build-types/card/card-media/hook.d.ts.map +1 -1
- package/build-types/card/card-media/index.d.ts +2 -2
- package/build-types/card/card-media/index.d.ts.map +1 -1
- package/build-types/card/context.d.ts +3 -2
- package/build-types/card/context.d.ts.map +1 -1
- package/build-types/card/index.d.ts +6 -6
- package/build-types/card/index.d.ts.map +1 -1
- package/build-types/card/stories/index.d.ts +12 -0
- package/build-types/card/stories/index.d.ts.map +1 -0
- package/build-types/card/styles.d.ts +20 -22
- package/build-types/card/styles.d.ts.map +1 -1
- package/build-types/card/test/index.d.ts +2 -0
- package/build-types/{flyout → card/test}/index.d.ts.map +1 -1
- package/build-types/card/types.d.ts +7 -1
- package/build-types/card/types.d.ts.map +1 -1
- package/build-types/color-palette/index.d.ts +2 -1
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +2 -2
- package/build-types/date-time/constants.d.ts +2 -0
- package/build-types/date-time/constants.d.ts.map +1 -0
- package/build-types/date-time/date/index.d.ts +3 -1
- package/build-types/date-time/date/index.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +22 -8
- package/build-types/date-time/date/styles.d.ts.map +1 -1
- package/build-types/date-time/date/test/index.d.ts +1 -1
- package/build-types/date-time/date/test/index.d.ts.map +1 -1
- package/build-types/date-time/date-time/index.d.ts.map +1 -1
- package/build-types/date-time/time/index.d.ts.map +1 -1
- package/build-types/date-time/utils.d.ts +8 -0
- package/build-types/date-time/utils.d.ts.map +1 -0
- package/build-types/disabled/index.d.ts +35 -28
- package/build-types/disabled/index.d.ts.map +1 -1
- package/build-types/disabled/stories/index.d.ts +13 -0
- package/build-types/disabled/stories/index.d.ts.map +1 -0
- package/build-types/disabled/styles/disabled-styles.d.ts +2 -1
- package/build-types/disabled/styles/disabled-styles.d.ts.map +1 -1
- package/build-types/disabled/test/index.d.ts +2 -0
- package/build-types/{flyout/flyout → disabled/test}/index.d.ts.map +1 -1
- package/build-types/disabled/types.d.ts +14 -0
- package/build-types/disabled/types.d.ts.map +1 -0
- package/build-types/dropdown/index.d.ts.map +1 -1
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/stories/index.d.ts +1 -0
- package/build-types/form-token-field/stories/index.d.ts.map +1 -1
- package/build-types/form-token-field/test/index.d.ts +2 -0
- package/build-types/form-token-field/test/index.d.ts.map +1 -0
- package/build-types/form-token-field/types.d.ts +7 -0
- package/build-types/form-token-field/types.d.ts.map +1 -1
- package/build-types/navigable-container/menu.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +0 -3
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +0 -3
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
- package/build-types/placeholder/test/index.d.ts +2 -0
- package/build-types/placeholder/test/index.d.ts.map +1 -0
- package/build-types/popover/index.d.ts +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/utils.d.ts +26 -69
- package/build-types/popover/utils.d.ts.map +1 -1
- package/build-types/range-control/index.d.ts +2 -2
- package/build-types/range-control/index.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +5 -2
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/range-control/types.d.ts +2 -2
- package/build-types/range-control/types.d.ts.map +1 -1
- package/build-types/select-control/chevron-down.d.ts +4 -0
- package/build-types/select-control/chevron-down.d.ts.map +1 -0
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts +8 -0
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/spinner/index.d.ts.map +1 -1
- package/build-types/toggle-group-control/stories/index.d.ts +25 -0
- package/build-types/toggle-group-control/stories/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/test/index.d.ts +2 -0
- package/build-types/toggle-group-control/test/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts +6 -3
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +1 -0
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -7
- 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.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +4 -0
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +11 -9
- 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 +23 -10
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/ui/context/context-connect.d.ts +3 -0
- package/build-types/ui/context/context-connect.d.ts.map +1 -1
- package/build-types/ui/form-group/use-form-group.d.ts +2 -2
- package/build-types/unit-control/index.d.ts +2 -1
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/types.d.ts +5 -1
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/utils/colors-values.d.ts +18 -97
- package/build-types/utils/colors-values.d.ts.map +1 -1
- package/build-types/utils/rtl.d.ts.map +1 -1
- package/build-types/utils/strings.d.ts +2 -0
- package/build-types/utils/strings.d.ts.map +1 -0
- package/package.json +22 -21
- package/src/alignment-matrix-control/index.js +1 -1
- package/src/alignment-matrix-control/stories/index.js +49 -24
- package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +1 -3
- package/src/angle-picker-control/index.js +7 -1
- package/src/angle-picker-control/stories/index.js +8 -5
- package/src/angle-picker-control/styles/angle-picker-control-styles.js +12 -3
- package/src/autocomplete/index.js +9 -18
- package/src/base-control/styles/base-control-styles.ts +1 -1
- package/src/base-field/styles.js +1 -1
- package/src/base-field/test/__snapshots__/index.js.snap +2 -2
- package/src/box-control/styles/box-control-visualizer-styles.js +0 -1
- package/src/box-control/test/index.js +8 -8
- package/src/button/test/index.js +188 -146
- package/src/card/card/{component.js → component.tsx} +13 -9
- package/src/card/card/{hook.js → hook.ts} +11 -11
- package/src/card/card/{index.js → index.ts} +0 -0
- package/src/card/card-body/{component.js → component.tsx} +13 -9
- package/src/card/card-body/{hook.js → hook.ts} +5 -5
- package/src/card/card-body/{index.js → index.ts} +0 -0
- package/src/card/card-divider/{component.js → component.tsx} +16 -10
- package/src/card/card-divider/{hook.js → hook.ts} +5 -5
- package/src/card/card-divider/{index.js → index.ts} +0 -0
- package/src/card/card-footer/{component.js → component.tsx} +13 -9
- package/src/card/card-footer/{hook.js → hook.ts} +5 -5
- package/src/card/card-footer/{index.js → index.ts} +0 -0
- package/src/card/card-header/{component.js → component.tsx} +13 -9
- package/src/card/card-header/{hook.js → hook.ts} +5 -5
- package/src/card/card-header/{index.js → index.ts} +0 -0
- package/src/card/card-media/{component.js → component.tsx} +13 -8
- package/src/card/card-media/{hook.js → hook.ts} +5 -5
- package/src/card/card-media/{index.js → index.ts} +0 -0
- package/src/card/{context.js → context.ts} +0 -0
- package/src/card/{index.js → index.ts} +0 -0
- package/src/card/stories/index.tsx +75 -0
- package/src/card/{styles.js → styles.ts} +0 -0
- package/src/card/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
- package/src/card/test/{index.js → index.tsx} +3 -3
- package/src/card/types.ts +8 -1
- package/src/color-list-picker/index.js +15 -3
- package/src/color-list-picker/style.scss +11 -0
- package/src/color-palette/index.js +32 -16
- package/src/color-palette/index.native.js +10 -6
- package/src/color-palette/stories/index.js +1 -1
- package/src/color-palette/test/__snapshots__/index.js.snap +17 -3
- package/src/combobox-control/index.js +6 -5
- package/src/combobox-control/stories/index.js +9 -3
- package/src/combobox-control/style.scss +0 -1
- package/src/confirm-dialog/test/index.js +85 -62
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +54 -50
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -3
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/test/utils.js +0 -0
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
- package/src/custom-gradient-picker/index.js +18 -3
- package/src/custom-gradient-picker/stories/index.js +4 -3
- package/src/custom-gradient-picker/style.scss +30 -27
- package/src/custom-select-control/README.md +10 -0
- package/src/custom-select-control/index.js +22 -16
- package/src/custom-select-control/stories/index.js +1 -1
- package/src/custom-select-control/style.scss +0 -12
- package/src/custom-select-control/styles.ts +28 -0
- package/src/custom-select-control/test/index.js +4 -1
- package/src/date-time/constants.ts +1 -0
- package/src/date-time/date/index.tsx +289 -184
- package/src/date-time/date/styles.ts +86 -27
- package/src/date-time/date/test/index.tsx +18 -28
- package/src/date-time/date-time/index.tsx +3 -2
- package/src/date-time/time/index.tsx +23 -19
- package/src/date-time/utils.ts +17 -0
- package/src/dimension-control/index.js +1 -5
- package/src/disabled/index.tsx +80 -0
- package/src/disabled/stories/index.tsx +87 -0
- package/src/disabled/styles/{disabled-styles.js → disabled-styles.tsx} +0 -0
- package/src/disabled/test/index.tsx +174 -0
- package/src/disabled/types.ts +13 -0
- package/src/drop-zone/index.js +2 -3
- package/src/dropdown/index.js +3 -5
- package/src/dropdown-menu/stories/index.js +13 -2
- package/src/duotone-picker/custom-duotone-bar.js +1 -1
- package/src/duotone-picker/duotone-picker.js +34 -26
- package/src/duotone-picker/duotone-swatch.js +12 -5
- package/src/duotone-picker/stories/duotone-picker.js +66 -0
- package/src/duotone-picker/stories/duotone-swatch.js +32 -0
- package/src/focal-point-picker/index.js +10 -5
- package/src/focal-point-picker/styles/focal-point-style.js +0 -1
- package/src/focal-point-picker/test/index.js +78 -45
- package/src/font-size-picker/index.js +161 -144
- package/src/font-size-picker/stories/index.js +1 -0
- package/src/font-size-picker/style.scss +8 -5
- package/src/font-size-picker/test/index.js +13 -6
- package/src/font-size-picker/test/{util.js → utils.js} +77 -1
- package/src/font-size-picker/utils.js +38 -23
- package/src/form-token-field/README.md +1 -0
- package/src/form-token-field/index.tsx +41 -33
- package/src/form-token-field/stories/index.tsx +8 -0
- package/src/form-token-field/test/index.tsx +2106 -0
- package/src/form-token-field/types.ts +7 -0
- package/src/gradient-picker/index.js +22 -7
- package/src/gradient-picker/stories/index.js +56 -81
- package/src/guide/index.js +3 -1
- package/src/guide/page-control.js +1 -6
- package/src/guide/stories/index.js +12 -11
- package/src/guide/test/index.js +54 -37
- package/src/guide/test/page-control.js +14 -17
- package/src/higher-order/with-notices/test/index.js +4 -2
- package/src/higher-order/with-spoken-messages/test/index.js +1 -1
- package/src/item-group/styles.ts +3 -3
- package/src/menu-group/test/index.js +18 -7
- package/src/mobile/bottom-sheet/index.native.js +2 -4
- package/src/mobile/global-styles-context/utils.native.js +2 -1
- package/src/mobile/image/index.native.js +9 -30
- package/src/mobile/picker/index.android.js +10 -4
- package/src/mobile/picker/styles.native.scss +4 -4
- package/src/modal/index.js +1 -2
- package/src/modal/test/index.js +11 -9
- package/src/navigable-container/container.js +12 -18
- package/src/navigable-container/menu.js +3 -7
- package/src/navigable-container/test/menu.js +14 -11
- package/src/navigator/navigator-back-button/hook.ts +0 -3
- package/src/navigator/navigator-button/hook.ts +0 -3
- package/src/notice/list.js +12 -10
- package/src/palette-edit/index.js +1 -0
- package/src/palette-edit/styles.js +6 -5
- package/src/placeholder/README.md +1 -1
- package/src/placeholder/style.scss +65 -20
- package/src/placeholder/test/index.tsx +174 -0
- package/src/popover/index.js +133 -112
- package/src/popover/stories/index.js +17 -3
- package/src/popover/test/__snapshots__/index.js.snap +6 -6
- package/src/popover/test/index.js +129 -36
- package/src/popover/utils.js +107 -0
- package/src/range-control/index.tsx +3 -0
- package/src/range-control/styles/range-control-styles.ts +9 -4
- package/src/range-control/types.ts +5 -2
- package/src/select-control/chevron-down.tsx +25 -0
- package/src/select-control/index.tsx +6 -9
- package/src/select-control/styles/select-control-styles.ts +23 -14
- package/src/slot-fill/test/slot.js +5 -5
- package/src/snackbar/list.js +3 -2
- package/src/spinner/index.tsx +2 -0
- package/src/style.scss +0 -2
- package/src/text/styles.js +1 -1
- package/src/text/test/index.tsx +1 -1
- package/src/toggle-group-control/stories/index.tsx +127 -0
- package/src/toggle-group-control/test/__snapshots__/{index.js.snap → index.tsx.snap} +28 -22
- package/src/toggle-group-control/test/{index.js → index.tsx} +2 -4
- package/src/toggle-group-control/toggle-group-control/README.md +2 -0
- package/src/toggle-group-control/toggle-group-control/component.tsx +18 -9
- package/src/toggle-group-control/toggle-group-control/styles.ts +9 -6
- package/src/toggle-group-control/toggle-group-control-option/component.tsx +19 -3
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +3 -0
- package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +18 -0
- package/src/toggle-group-control/toggle-group-control-option-icon/README.md +6 -8
- package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +30 -7
- package/src/toggle-group-control/types.ts +74 -59
- package/src/toolbar/test/index.js +4 -4
- package/src/toolbar-group/test/index.js +9 -15
- package/src/tools-panel/styles.ts +2 -2
- package/src/tools-panel/test/index.js +3 -2
- package/src/tooltip/index.js +1 -5
- package/src/tooltip/test/index.js +188 -172
- package/src/tree-grid/index.js +4 -9
- package/src/ui/context/context-connect.ts +3 -2
- package/src/unit-control/index.tsx +2 -2
- package/src/unit-control/types.ts +10 -1
- package/src/utils/colors-values.js +42 -137
- package/src/utils/config-values.js +1 -1
- package/src/utils/input/input-control.js +6 -6
- package/src/utils/rtl.js +6 -2
- package/src/utils/strings.ts +72 -0
- package/src/utils/test/strings.js +15 -0
- package/tsconfig.json +0 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/custom-gradient-bar/constants.js.map +0 -1
- package/build/custom-gradient-bar/control-points.js.map +0 -1
- package/build/custom-gradient-bar/index.js.map +0 -1
- package/build/custom-gradient-bar/utils.js.map +0 -1
- package/build/date-time/date/utils.js +0 -34
- package/build/date-time/date/utils.js.map +0 -1
- package/build/swatch/index.js +0 -41
- package/build/swatch/index.js.map +0 -1
- package/build-module/custom-gradient-bar/constants.js.map +0 -1
- package/build-module/custom-gradient-bar/control-points.js.map +0 -1
- package/build-module/custom-gradient-bar/index.js.map +0 -1
- package/build-module/custom-gradient-bar/utils.js.map +0 -1
- package/build-module/date-time/date/utils.js +0 -22
- package/build-module/date-time/date/utils.js.map +0 -1
- package/build-module/swatch/index.js +0 -30
- package/build-module/swatch/index.js.map +0 -1
- package/build-types/color-picker/color-display.d.ts +0 -13
- package/build-types/color-picker/color-display.d.ts.map +0 -1
- package/build-types/date-time/date/test/utils.d.ts +0 -2
- package/build-types/date-time/date/test/utils.d.ts.map +0 -1
- package/build-types/date-time/date/utils.d.ts +0 -15
- package/build-types/date-time/date/utils.d.ts.map +0 -1
- package/build-types/flyout/context.d.ts +0 -6
- package/build-types/flyout/context.d.ts.map +0 -1
- package/build-types/flyout/flyout/component.d.ts +0 -21
- package/build-types/flyout/flyout/component.d.ts.map +0 -1
- package/build-types/flyout/flyout/hook.d.ts +0 -270
- package/build-types/flyout/flyout/hook.d.ts.map +0 -1
- package/build-types/flyout/flyout/index.d.ts +0 -3
- package/build-types/flyout/flyout-content/component.d.ts +0 -3
- package/build-types/flyout/flyout-content/component.d.ts.map +0 -1
- package/build-types/flyout/flyout-content/index.d.ts +0 -2
- package/build-types/flyout/flyout-content/index.d.ts.map +0 -1
- package/build-types/flyout/index.d.ts +0 -2
- package/build-types/flyout/styles.d.ts +0 -22
- package/build-types/flyout/styles.d.ts.map +0 -1
- package/build-types/flyout/types.d.ts +0 -80
- package/build-types/flyout/types.d.ts.map +0 -1
- package/build-types/flyout/utils.d.ts +0 -8
- package/build-types/flyout/utils.d.ts.map +0 -1
- package/build-types/form-token-field/test/lib/fixtures.d.ts +0 -26
- package/build-types/form-token-field/test/lib/fixtures.d.ts.map +0 -1
- package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts +0 -21
- package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts.map +0 -1
- package/build-types/swatch/index.d.ts +0 -5
- package/build-types/swatch/index.d.ts.map +0 -1
- package/build-types/swatch/types.d.ts +0 -11
- package/build-types/swatch/types.d.ts.map +0 -1
- package/build-types/utils/hooks/use-combined-ref.d.ts +0 -8
- package/build-types/utils/hooks/use-combined-ref.d.ts.map +0 -1
- package/src/card/stories/index.js +0 -209
- package/src/date-time/date/datepicker.scss +0 -863
- package/src/date-time/date/style.scss +0 -85
- package/src/date-time/date/test/utils.ts +0 -32
- package/src/date-time/date/utils.ts +0 -20
- package/src/date-time/style.scss +0 -1
- package/src/disabled/index.js +0 -55
- package/src/disabled/stories/index.js +0 -61
- package/src/disabled/test/index.js +0 -240
- package/src/form-token-field/test/index.js +0 -411
- package/src/form-token-field/test/lib/fixtures.js +0 -89
- package/src/form-token-field/test/lib/token-field-wrapper.tsx +0 -71
- package/src/menu-group/test/__snapshots__/index.js.snap +0 -23
- package/src/placeholder/test/index.js +0 -163
- package/src/swatch/index.tsx +0 -22
- package/src/swatch/style.scss +0 -21
- package/src/swatch/types.ts +0 -11
- package/src/toggle-group-control/stories/index.js +0 -203
- package/src/tools-panel/test/__snapshots__/index.js.snap +0 -210
|
@@ -0,0 +1,127 @@
|
|
|
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
|
+
import { formatLowercase, formatUppercase } from '@wordpress/icons';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Internal dependencies
|
|
14
|
+
*/
|
|
15
|
+
import {
|
|
16
|
+
ToggleGroupControl,
|
|
17
|
+
ToggleGroupControlOption,
|
|
18
|
+
ToggleGroupControlOptionIcon,
|
|
19
|
+
} from '../index';
|
|
20
|
+
import type {
|
|
21
|
+
ToggleGroupControlOptionProps,
|
|
22
|
+
ToggleGroupControlOptionIconProps,
|
|
23
|
+
ToggleGroupControlProps,
|
|
24
|
+
} from '../types';
|
|
25
|
+
|
|
26
|
+
const meta: ComponentMeta< typeof ToggleGroupControl > = {
|
|
27
|
+
component: ToggleGroupControl,
|
|
28
|
+
title: 'Components (Experimental)/ToggleGroupControl',
|
|
29
|
+
subcomponents: { ToggleGroupControlOption, ToggleGroupControlOptionIcon },
|
|
30
|
+
argTypes: {
|
|
31
|
+
help: { control: { type: 'text' } },
|
|
32
|
+
onChange: { action: 'onChange' },
|
|
33
|
+
value: { control: { type: null } },
|
|
34
|
+
},
|
|
35
|
+
parameters: {
|
|
36
|
+
controls: { expanded: true },
|
|
37
|
+
docs: { source: { state: 'open' } },
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
export default meta;
|
|
41
|
+
|
|
42
|
+
const Template: ComponentStory< typeof ToggleGroupControl > = ( {
|
|
43
|
+
onChange,
|
|
44
|
+
...props
|
|
45
|
+
} ) => {
|
|
46
|
+
const [ value, setValue ] =
|
|
47
|
+
useState< ToggleGroupControlProps[ 'value' ] >();
|
|
48
|
+
|
|
49
|
+
return (
|
|
50
|
+
<ToggleGroupControl
|
|
51
|
+
{ ...props }
|
|
52
|
+
onChange={ ( ...changeArgs ) => {
|
|
53
|
+
setValue( ...changeArgs );
|
|
54
|
+
onChange?.( ...changeArgs );
|
|
55
|
+
} }
|
|
56
|
+
value={ value }
|
|
57
|
+
/>
|
|
58
|
+
);
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const mapPropsToOptionComponent = ( {
|
|
62
|
+
value,
|
|
63
|
+
...props
|
|
64
|
+
}: ToggleGroupControlOptionProps ) => (
|
|
65
|
+
<ToggleGroupControlOption value={ value } key={ value } { ...props } />
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
const mapPropsToOptionIconComponent = ( {
|
|
69
|
+
value,
|
|
70
|
+
...props
|
|
71
|
+
}: ToggleGroupControlOptionIconProps ) => (
|
|
72
|
+
<ToggleGroupControlOptionIcon value={ value } key={ value } { ...props } />
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
export const Default: ComponentStory< typeof ToggleGroupControl > =
|
|
76
|
+
Template.bind( {} );
|
|
77
|
+
Default.args = {
|
|
78
|
+
children: [
|
|
79
|
+
{ value: 'left', label: 'Left' },
|
|
80
|
+
{ value: 'center', label: 'Center' },
|
|
81
|
+
{ value: 'right', label: 'Right' },
|
|
82
|
+
{ value: 'justify', label: 'Justify' },
|
|
83
|
+
].map( mapPropsToOptionComponent ),
|
|
84
|
+
label: 'Label',
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* A tooltip can be shown for each option by enabling the `showTooltip` prop.
|
|
89
|
+
* The `aria-label` will be used in the tooltip if provided. Otherwise, the
|
|
90
|
+
* `label` will be used.
|
|
91
|
+
*/
|
|
92
|
+
export const WithTooltip: ComponentStory< typeof ToggleGroupControl > =
|
|
93
|
+
Template.bind( {} );
|
|
94
|
+
WithTooltip.args = {
|
|
95
|
+
...Default.args,
|
|
96
|
+
children: [
|
|
97
|
+
{
|
|
98
|
+
value: 'asc',
|
|
99
|
+
label: 'A→Z',
|
|
100
|
+
'aria-label': 'Ascending',
|
|
101
|
+
showTooltip: true,
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
value: 'desc',
|
|
105
|
+
label: 'Z→A',
|
|
106
|
+
'aria-label': 'Descending',
|
|
107
|
+
showTooltip: true,
|
|
108
|
+
},
|
|
109
|
+
].map( mapPropsToOptionComponent ),
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* The `ToggleGroupControlOptionIcon` component can be used for icon options. A `label` is required
|
|
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
|
+
*/
|
|
118
|
+
export const WithIcons: ComponentStory< typeof ToggleGroupControl > =
|
|
119
|
+
Template.bind( {} );
|
|
120
|
+
WithIcons.args = {
|
|
121
|
+
...Default.args,
|
|
122
|
+
__experimentalIsIconGroup: true,
|
|
123
|
+
children: [
|
|
124
|
+
{ value: 'uppercase', label: 'Uppercase', icon: formatUppercase },
|
|
125
|
+
{ value: 'lowercase', label: 'Lowercase', icon: formatLowercase },
|
|
126
|
+
].map( mapPropsToOptionIconComponent ),
|
|
127
|
+
};
|
|
@@ -33,8 +33,7 @@ exports[`ToggleGroupControl should render correctly with icons 1`] = `
|
|
|
33
33
|
|
|
34
34
|
.emotion-6 {
|
|
35
35
|
background: #fff;
|
|
36
|
-
border: 1px solid;
|
|
37
|
-
border-color: #757575;
|
|
36
|
+
border: 1px solid transparent;
|
|
38
37
|
border-radius: 2px;
|
|
39
38
|
display: -webkit-inline-box;
|
|
40
39
|
display: -webkit-inline-flex;
|
|
@@ -46,6 +45,7 @@ exports[`ToggleGroupControl should render correctly with icons 1`] = `
|
|
|
46
45
|
-webkit-transition: -webkit-transform 100ms linear;
|
|
47
46
|
transition: transform 100ms linear;
|
|
48
47
|
min-height: 36px;
|
|
48
|
+
border-color: #757575;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
@media ( prefers-reduced-motion: reduce ) {
|
|
@@ -54,17 +54,17 @@ exports[`ToggleGroupControl should render correctly with icons 1`] = `
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
.emotion-6:hover {
|
|
58
|
-
border-color: #757575;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
57
|
.emotion-6:focus-within {
|
|
62
|
-
border-color: var( --wp-admin-theme-color-darker-10, #
|
|
63
|
-
box-shadow: 0 0 0 0.5px var( --wp-admin-theme-color, #
|
|
58
|
+
border-color: var( --wp-admin-theme-color-darker-10, #006ba1);
|
|
59
|
+
box-shadow: 0 0 0 0.5px var( --wp-admin-theme-color, #007cba);
|
|
64
60
|
outline: none;
|
|
65
61
|
z-index: 1;
|
|
66
62
|
}
|
|
67
63
|
|
|
64
|
+
.emotion-6:hover {
|
|
65
|
+
border-color: #757575;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
68
|
.emotion-8 {
|
|
69
69
|
background: #1e1e1e;
|
|
70
70
|
border-radius: 2px;
|
|
@@ -152,14 +152,20 @@ exports[`ToggleGroupControl should render correctly with icons 1`] = `
|
|
|
152
152
|
}
|
|
153
153
|
|
|
154
154
|
.emotion-13 {
|
|
155
|
+
width: 30px;
|
|
156
|
+
padding-left: 0;
|
|
157
|
+
padding-right: 0;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
.emotion-14 {
|
|
155
161
|
color: #fff;
|
|
156
162
|
}
|
|
157
163
|
|
|
158
|
-
.emotion-
|
|
164
|
+
.emotion-14:active {
|
|
159
165
|
background: transparent;
|
|
160
166
|
}
|
|
161
167
|
|
|
162
|
-
.emotion-
|
|
168
|
+
.emotion-15 {
|
|
163
169
|
font-size: 13px;
|
|
164
170
|
line-height: 1;
|
|
165
171
|
}
|
|
@@ -201,7 +207,7 @@ exports[`ToggleGroupControl should render correctly with icons 1`] = `
|
|
|
201
207
|
<button
|
|
202
208
|
aria-checked="true"
|
|
203
209
|
aria-label="Uppercase"
|
|
204
|
-
class="emotion-12 components-toggle-group-control-option-base emotion-
|
|
210
|
+
class="emotion-12 emotion-13 components-toggle-group-control-option-base emotion-14"
|
|
205
211
|
data-value="uppercase"
|
|
206
212
|
data-wp-c16t="true"
|
|
207
213
|
data-wp-component="ToggleGroupControlOptionBase"
|
|
@@ -210,7 +216,7 @@ exports[`ToggleGroupControl should render correctly with icons 1`] = `
|
|
|
210
216
|
tabindex="0"
|
|
211
217
|
>
|
|
212
218
|
<div
|
|
213
|
-
class="emotion-
|
|
219
|
+
class="emotion-15 emotion-16"
|
|
214
220
|
>
|
|
215
221
|
<svg
|
|
216
222
|
aria-hidden="true"
|
|
@@ -234,7 +240,7 @@ exports[`ToggleGroupControl should render correctly with icons 1`] = `
|
|
|
234
240
|
<button
|
|
235
241
|
aria-checked="false"
|
|
236
242
|
aria-label="Lowercase"
|
|
237
|
-
class="emotion-12 components-toggle-group-control-option-base"
|
|
243
|
+
class="emotion-12 emotion-13 components-toggle-group-control-option-base"
|
|
238
244
|
data-value="lowercase"
|
|
239
245
|
data-wp-c16t="true"
|
|
240
246
|
data-wp-component="ToggleGroupControlOptionBase"
|
|
@@ -243,7 +249,7 @@ exports[`ToggleGroupControl should render correctly with icons 1`] = `
|
|
|
243
249
|
tabindex="-1"
|
|
244
250
|
>
|
|
245
251
|
<div
|
|
246
|
-
class="emotion-
|
|
252
|
+
class="emotion-15 emotion-16"
|
|
247
253
|
>
|
|
248
254
|
<svg
|
|
249
255
|
aria-hidden="true"
|
|
@@ -298,8 +304,7 @@ exports[`ToggleGroupControl should render correctly with text options 1`] = `
|
|
|
298
304
|
|
|
299
305
|
.emotion-6 {
|
|
300
306
|
background: #fff;
|
|
301
|
-
border: 1px solid;
|
|
302
|
-
border-color: #757575;
|
|
307
|
+
border: 1px solid transparent;
|
|
303
308
|
border-radius: 2px;
|
|
304
309
|
display: -webkit-inline-box;
|
|
305
310
|
display: -webkit-inline-flex;
|
|
@@ -311,6 +316,7 @@ exports[`ToggleGroupControl should render correctly with text options 1`] = `
|
|
|
311
316
|
-webkit-transition: -webkit-transform 100ms linear;
|
|
312
317
|
transition: transform 100ms linear;
|
|
313
318
|
min-height: 36px;
|
|
319
|
+
border-color: #757575;
|
|
314
320
|
}
|
|
315
321
|
|
|
316
322
|
@media ( prefers-reduced-motion: reduce ) {
|
|
@@ -319,17 +325,17 @@ exports[`ToggleGroupControl should render correctly with text options 1`] = `
|
|
|
319
325
|
}
|
|
320
326
|
}
|
|
321
327
|
|
|
322
|
-
.emotion-6:hover {
|
|
323
|
-
border-color: #757575;
|
|
324
|
-
}
|
|
325
|
-
|
|
326
328
|
.emotion-6:focus-within {
|
|
327
|
-
border-color: var( --wp-admin-theme-color-darker-10, #
|
|
328
|
-
box-shadow: 0 0 0 0.5px var( --wp-admin-theme-color, #
|
|
329
|
+
border-color: var( --wp-admin-theme-color-darker-10, #006ba1);
|
|
330
|
+
box-shadow: 0 0 0 0.5px var( --wp-admin-theme-color, #007cba);
|
|
329
331
|
outline: none;
|
|
330
332
|
z-index: 1;
|
|
331
333
|
}
|
|
332
334
|
|
|
335
|
+
.emotion-6:hover {
|
|
336
|
+
border-color: #757575;
|
|
337
|
+
}
|
|
338
|
+
|
|
333
339
|
.emotion-8 {
|
|
334
340
|
display: -webkit-inline-box;
|
|
335
341
|
display: -webkit-inline-flex;
|
|
@@ -59,14 +59,12 @@ describe( 'ToggleGroupControl', () => {
|
|
|
59
59
|
<ToggleGroupControlOptionIcon
|
|
60
60
|
value="uppercase"
|
|
61
61
|
icon={ formatUppercase }
|
|
62
|
-
|
|
63
|
-
aria-label="Uppercase"
|
|
62
|
+
label="Uppercase"
|
|
64
63
|
/>
|
|
65
64
|
<ToggleGroupControlOptionIcon
|
|
66
65
|
value="lowercase"
|
|
67
66
|
icon={ formatLowercase }
|
|
68
|
-
|
|
69
|
-
aria-label="Lowercase"
|
|
67
|
+
label="Lowercase"
|
|
70
68
|
/>
|
|
71
69
|
</ToggleGroupControl>
|
|
72
70
|
);
|
|
@@ -6,6 +6,8 @@ This feature is still experimental. “Experimental” means this is an early im
|
|
|
6
6
|
|
|
7
7
|
`ToggleGroupControl` is a form component that lets users choose options represented in horizontal segments. To render options for this control use [`ToggleGroupControlOption`](/packages/components/src/toggle-group-control/toggle-group-control-option/README.md) component.
|
|
8
8
|
|
|
9
|
+
This component is intended for selecting a single persistent value from a set of options, similar to a how a radio button group would work. If you simply want a toggle to switch between views, use a [`TabPanel`](/packages/components/src/tab-panel/README.md) instead.
|
|
10
|
+
|
|
9
11
|
Only use this control when you know for sure the labels of items inside won't wrap. For items with longer labels, you can consider a [`SelectControl`](/packages/components/src/select-control/README.md) or a [`CustomSelectControl`](/packages/components/src/custom-select-control/README.md) component instead.
|
|
10
12
|
|
|
11
13
|
## Usage
|
|
@@ -35,14 +35,16 @@ import * as styles from './styles';
|
|
|
35
35
|
|
|
36
36
|
const noop = () => {};
|
|
37
37
|
|
|
38
|
-
function
|
|
39
|
-
props: WordPressComponentProps< ToggleGroupControlProps, 'input' >,
|
|
38
|
+
function UnconnectedToggleGroupControl(
|
|
39
|
+
props: WordPressComponentProps< ToggleGroupControlProps, 'input', false >,
|
|
40
40
|
forwardedRef: ForwardedRef< any >
|
|
41
41
|
) {
|
|
42
42
|
const {
|
|
43
|
+
__nextHasNoMarginBottom = false,
|
|
43
44
|
className,
|
|
44
45
|
isAdaptiveWidth = false,
|
|
45
46
|
isBlock = false,
|
|
47
|
+
__experimentalIsIconGroup = false,
|
|
46
48
|
label,
|
|
47
49
|
hideLabelFromVision = false,
|
|
48
50
|
help,
|
|
@@ -85,15 +87,19 @@ function ToggleGroupControl(
|
|
|
85
87
|
() =>
|
|
86
88
|
cx(
|
|
87
89
|
styles.ToggleGroupControl( { size } ),
|
|
90
|
+
! __experimentalIsIconGroup && styles.border,
|
|
88
91
|
isBlock && styles.block,
|
|
89
92
|
className
|
|
90
93
|
),
|
|
91
|
-
[ className, cx, isBlock, size ]
|
|
94
|
+
[ className, cx, isBlock, __experimentalIsIconGroup, size ]
|
|
92
95
|
);
|
|
93
96
|
return (
|
|
94
|
-
<BaseControl
|
|
97
|
+
<BaseControl
|
|
98
|
+
help={ help }
|
|
99
|
+
__nextHasNoMarginBottom={ __nextHasNoMarginBottom }
|
|
100
|
+
>
|
|
95
101
|
<ToggleGroupControlContext.Provider
|
|
96
|
-
value={ { ...radio, isBlock: ! isAdaptiveWidth } }
|
|
102
|
+
value={ { ...radio, isBlock: ! isAdaptiveWidth, size } }
|
|
97
103
|
>
|
|
98
104
|
{ ! hideLabelFromVision && (
|
|
99
105
|
<div>
|
|
@@ -129,11 +135,14 @@ function ToggleGroupControl(
|
|
|
129
135
|
* represented in horizontal segments. To render options for this control use
|
|
130
136
|
* `ToggleGroupControlOption` component.
|
|
131
137
|
*
|
|
138
|
+
* This component is intended for selecting a single persistent value from a set of options,
|
|
139
|
+
* similar to a how a radio button group would work. If you simply want a toggle to switch between views,
|
|
140
|
+
* use a `TabPanel` instead.
|
|
141
|
+
*
|
|
132
142
|
* Only use this control when you know for sure the labels of items inside won't
|
|
133
143
|
* wrap. For items with longer labels, you can consider a `SelectControl` or a
|
|
134
144
|
* `CustomSelectControl` component instead.
|
|
135
145
|
*
|
|
136
|
-
* @example
|
|
137
146
|
* ```jsx
|
|
138
147
|
* import {
|
|
139
148
|
* __experimentalToggleGroupControl as ToggleGroupControl,
|
|
@@ -150,9 +159,9 @@ function ToggleGroupControl(
|
|
|
150
159
|
* }
|
|
151
160
|
* ```
|
|
152
161
|
*/
|
|
153
|
-
const
|
|
154
|
-
|
|
162
|
+
export const ToggleGroupControl = contextConnect(
|
|
163
|
+
UnconnectedToggleGroupControl,
|
|
155
164
|
'ToggleGroupControl'
|
|
156
165
|
);
|
|
157
166
|
|
|
158
|
-
export default
|
|
167
|
+
export default ToggleGroupControl;
|
|
@@ -16,8 +16,7 @@ export const ToggleGroupControl = ( {
|
|
|
16
16
|
size: NonNullable< ToggleGroupControlProps[ 'size' ] >;
|
|
17
17
|
} ) => css`
|
|
18
18
|
background: ${ COLORS.ui.background };
|
|
19
|
-
border: 1px solid;
|
|
20
|
-
border-color: ${ COLORS.ui.border };
|
|
19
|
+
border: 1px solid transparent;
|
|
21
20
|
border-radius: ${ CONFIG.controlBorderRadius };
|
|
22
21
|
display: inline-flex;
|
|
23
22
|
min-width: 0;
|
|
@@ -28,10 +27,6 @@ export const ToggleGroupControl = ( {
|
|
|
28
27
|
|
|
29
28
|
${ toggleGroupControlSize( size ) }
|
|
30
29
|
|
|
31
|
-
&:hover {
|
|
32
|
-
border-color: ${ COLORS.ui.borderHover };
|
|
33
|
-
}
|
|
34
|
-
|
|
35
30
|
&:focus-within {
|
|
36
31
|
border-color: ${ COLORS.ui.borderFocus };
|
|
37
32
|
box-shadow: ${ CONFIG.controlBoxShadowFocus };
|
|
@@ -40,6 +35,14 @@ export const ToggleGroupControl = ( {
|
|
|
40
35
|
}
|
|
41
36
|
`;
|
|
42
37
|
|
|
38
|
+
export const border = css`
|
|
39
|
+
border-color: ${ COLORS.ui.border };
|
|
40
|
+
|
|
41
|
+
&:hover {
|
|
42
|
+
border-color: ${ COLORS.ui.borderHover };
|
|
43
|
+
}
|
|
44
|
+
`;
|
|
45
|
+
|
|
43
46
|
export const toggleGroupControlSize = (
|
|
44
47
|
size: NonNullable< ToggleGroupControlProps[ 'size' ] >
|
|
45
48
|
) => {
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ForwardedRef } from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { forwardRef } from '@wordpress/element';
|
|
10
|
+
|
|
1
11
|
/**
|
|
2
12
|
* Internal dependencies
|
|
3
13
|
*/
|
|
@@ -5,12 +15,13 @@ import type { WordPressComponentProps } from '../../ui/context';
|
|
|
5
15
|
import type { ToggleGroupControlOptionProps } from '../types';
|
|
6
16
|
import { ToggleGroupControlOptionBase } from '../toggle-group-control-option-base';
|
|
7
17
|
|
|
8
|
-
|
|
18
|
+
function UnforwardedToggleGroupControlOption(
|
|
9
19
|
props: WordPressComponentProps<
|
|
10
20
|
ToggleGroupControlOptionProps,
|
|
11
21
|
'button',
|
|
12
22
|
false
|
|
13
|
-
|
|
23
|
+
>,
|
|
24
|
+
ref: ForwardedRef< any >
|
|
14
25
|
) {
|
|
15
26
|
const { label, ...restProps } = props;
|
|
16
27
|
const optionLabel = restProps[ 'aria-label' ] || label;
|
|
@@ -18,6 +29,7 @@ export default function ToggleGroupControlOption(
|
|
|
18
29
|
<ToggleGroupControlOptionBase
|
|
19
30
|
{ ...restProps }
|
|
20
31
|
aria-label={ optionLabel }
|
|
32
|
+
ref={ ref }
|
|
21
33
|
>
|
|
22
34
|
{ label }
|
|
23
35
|
</ToggleGroupControlOptionBase>
|
|
@@ -28,7 +40,6 @@ export default function ToggleGroupControlOption(
|
|
|
28
40
|
* `ToggleGroupControlOption` is a form component and is meant to be used as a
|
|
29
41
|
* child of `ToggleGroupControl`.
|
|
30
42
|
*
|
|
31
|
-
* @example
|
|
32
43
|
* ```jsx
|
|
33
44
|
* import {
|
|
34
45
|
* __experimentalToggleGroupControl as ToggleGroupControl,
|
|
@@ -45,3 +56,8 @@ export default function ToggleGroupControlOption(
|
|
|
45
56
|
* }
|
|
46
57
|
* ```
|
|
47
58
|
*/
|
|
59
|
+
export const ToggleGroupControlOption = forwardRef(
|
|
60
|
+
UnforwardedToggleGroupControlOption
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
export default ToggleGroupControlOption;
|
|
@@ -60,8 +60,10 @@ function ToggleGroupControlOptionBase(
|
|
|
60
60
|
const {
|
|
61
61
|
className,
|
|
62
62
|
isBlock = false,
|
|
63
|
+
isIcon = false,
|
|
63
64
|
value,
|
|
64
65
|
children,
|
|
66
|
+
size = 'default',
|
|
65
67
|
showTooltip = false,
|
|
66
68
|
...radioProps
|
|
67
69
|
} = {
|
|
@@ -74,6 +76,7 @@ function ToggleGroupControlOptionBase(
|
|
|
74
76
|
const labelViewClasses = cx( isBlock && styles.labelBlock );
|
|
75
77
|
const classes = cx(
|
|
76
78
|
styles.buttonView,
|
|
79
|
+
isIcon && styles.isIcon( { size } ),
|
|
77
80
|
className,
|
|
78
81
|
isActive && styles.buttonActive
|
|
79
82
|
);
|
|
@@ -8,6 +8,7 @@ import styled from '@emotion/styled';
|
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
10
|
import { CONFIG, COLORS, reduceMotion } from '../../utils';
|
|
11
|
+
import type { ToggleGroupControlProps } from '../types';
|
|
11
12
|
|
|
12
13
|
export const LabelView = styled.div`
|
|
13
14
|
display: inline-flex;
|
|
@@ -69,3 +70,20 @@ export const ButtonContentView = styled.div`
|
|
|
69
70
|
export const separatorActive = css`
|
|
70
71
|
background: transparent;
|
|
71
72
|
`;
|
|
73
|
+
|
|
74
|
+
export const isIcon = ( {
|
|
75
|
+
size,
|
|
76
|
+
}: {
|
|
77
|
+
size: NonNullable< ToggleGroupControlProps[ 'size' ] >;
|
|
78
|
+
} ) => {
|
|
79
|
+
const iconButtonSizes = {
|
|
80
|
+
default: '30px',
|
|
81
|
+
'__unstable-large': '34px',
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
return css`
|
|
85
|
+
width: ${ iconButtonSizes[ size ] };
|
|
86
|
+
padding-left: 0;
|
|
87
|
+
padding-right: 0;
|
|
88
|
+
`;
|
|
89
|
+
};
|
|
@@ -17,18 +17,16 @@ import { formatLowercase, formatUppercase } from '@wordpress/icons';
|
|
|
17
17
|
|
|
18
18
|
function Example() {
|
|
19
19
|
return (
|
|
20
|
-
<ToggleGroupControl
|
|
20
|
+
<ToggleGroupControl __experimentalIsIconGroup>
|
|
21
21
|
<ToggleGroupControlOptionIcon
|
|
22
22
|
value="uppercase"
|
|
23
23
|
icon={ formatUppercase }
|
|
24
|
-
|
|
25
|
-
aria-label="Uppercase"
|
|
24
|
+
label="Uppercase"
|
|
26
25
|
/>
|
|
27
26
|
<ToggleGroupControlOptionIcon
|
|
28
27
|
value="lowercase"
|
|
29
28
|
icon={ formatLowercase }
|
|
30
|
-
|
|
31
|
-
aria-label="Lowercase"
|
|
29
|
+
label="Lowercase"
|
|
32
30
|
/>
|
|
33
31
|
</ToggleGroupControl>
|
|
34
32
|
);
|
|
@@ -49,8 +47,8 @@ Icon displayed as the content of the option. Usually one of the icons from the `
|
|
|
49
47
|
|
|
50
48
|
- Required: Yes
|
|
51
49
|
|
|
52
|
-
### `
|
|
50
|
+
### `label`: `string`
|
|
53
51
|
|
|
54
|
-
|
|
52
|
+
The text to accessibly label the icon option. Will also be shown in a tooltip.
|
|
55
53
|
|
|
56
|
-
- Required:
|
|
54
|
+
- Required: Yes
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ForwardedRef } from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { forwardRef } from '@wordpress/element';
|
|
10
|
+
|
|
1
11
|
/**
|
|
2
12
|
* Internal dependencies
|
|
3
13
|
*/
|
|
@@ -6,16 +16,23 @@ import type { ToggleGroupControlOptionIconProps } from '../types';
|
|
|
6
16
|
import { ToggleGroupControlOptionBase } from '../toggle-group-control-option-base';
|
|
7
17
|
import Icon from '../../icon';
|
|
8
18
|
|
|
9
|
-
|
|
19
|
+
function UnforwardedToggleGroupControlOptionIcon(
|
|
10
20
|
props: WordPressComponentProps<
|
|
11
21
|
ToggleGroupControlOptionIconProps,
|
|
12
22
|
'button',
|
|
13
23
|
false
|
|
14
|
-
|
|
24
|
+
>,
|
|
25
|
+
ref: ForwardedRef< any >
|
|
15
26
|
) {
|
|
16
|
-
const { icon, ...restProps } = props;
|
|
27
|
+
const { icon, label, ...restProps } = props;
|
|
17
28
|
return (
|
|
18
|
-
<ToggleGroupControlOptionBase
|
|
29
|
+
<ToggleGroupControlOptionBase
|
|
30
|
+
{ ...restProps }
|
|
31
|
+
isIcon
|
|
32
|
+
aria-label={ label }
|
|
33
|
+
showTooltip
|
|
34
|
+
ref={ ref }
|
|
35
|
+
>
|
|
19
36
|
<Icon icon={ icon } />
|
|
20
37
|
</ToggleGroupControlOptionBase>
|
|
21
38
|
);
|
|
@@ -25,7 +42,6 @@ export default function ToggleGroupControlOptionIcon(
|
|
|
25
42
|
* `ToggleGroupControlOptionIcon` is a form component which is meant to be used as a
|
|
26
43
|
* child of `ToggleGroupControl` and displays an icon.
|
|
27
44
|
*
|
|
28
|
-
* @example
|
|
29
45
|
* ```jsx
|
|
30
46
|
*
|
|
31
47
|
* import {
|
|
@@ -36,17 +52,24 @@ export default function ToggleGroupControlOptionIcon(
|
|
|
36
52
|
*
|
|
37
53
|
* function Example() {
|
|
38
54
|
* return (
|
|
39
|
-
* <ToggleGroupControl
|
|
55
|
+
* <ToggleGroupControl __experimentalIsIconGroup>
|
|
40
56
|
* <ToggleGroupControlOptionIcon
|
|
41
57
|
* value="uppercase"
|
|
58
|
+
* label="Uppercase"
|
|
42
59
|
* icon={ formatUppercase }
|
|
43
60
|
* />
|
|
44
61
|
* <ToggleGroupControlOptionIcon
|
|
45
62
|
* value="lowercase"
|
|
63
|
+
* label="Lowercase"
|
|
46
64
|
* icon={ formatLowercase }
|
|
47
65
|
* />
|
|
48
66
|
* </ToggleGroupControl>
|
|
49
67
|
* );
|
|
50
68
|
* }
|
|
51
|
-
|
|
69
|
+
* ```
|
|
52
70
|
*/
|
|
71
|
+
export const ToggleGroupControlOptionIcon = forwardRef(
|
|
72
|
+
UnforwardedToggleGroupControlOptionIcon
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
export default ToggleGroupControlOptionIcon;
|