@wordpress/components 19.7.0-next.e230fbab09.0 → 19.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +57 -1
- package/README.md +38 -0
- package/build/base-control/index.js +41 -32
- package/build/base-control/index.js.map +1 -1
- package/build/base-control/styles/base-control-styles.js +43 -22
- package/build/base-control/styles/base-control-styles.js.map +1 -1
- package/build/base-control/types.js +6 -0
- package/build/base-control/types.js.map +1 -0
- package/build/border-box-control/border-box-control/component.js +124 -0
- package/build/border-box-control/border-box-control/component.js.map +1 -0
- package/build/border-box-control/border-box-control/hook.js +113 -0
- package/build/border-box-control/border-box-control/hook.js.map +1 -0
- package/build/border-box-control/border-box-control/index.js +24 -0
- package/build/border-box-control/border-box-control/index.js.map +1 -0
- package/build/border-box-control/border-box-control-linked-button/component.js +59 -0
- package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -0
- package/build/border-box-control/border-box-control-linked-button/hook.js +41 -0
- package/build/border-box-control/border-box-control-linked-button/hook.js.map +1 -0
- package/build/border-box-control/border-box-control-linked-button/index.js +16 -0
- package/build/border-box-control/border-box-control-linked-button/index.js.map +1 -0
- package/build/border-box-control/border-box-control-split-controls/component.js +93 -0
- package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -0
- package/build/border-box-control/border-box-control-split-controls/hook.js +45 -0
- package/build/border-box-control/border-box-control-split-controls/hook.js.map +1 -0
- package/build/border-box-control/border-box-control-split-controls/index.js +16 -0
- package/build/border-box-control/border-box-control-split-controls/index.js.map +1 -0
- package/build/border-box-control/border-box-control-visualizer/component.js +40 -0
- package/build/border-box-control/border-box-control-visualizer/component.js.map +1 -0
- package/build/border-box-control/border-box-control-visualizer/hook.js +43 -0
- package/build/border-box-control/border-box-control-visualizer/hook.js.map +1 -0
- package/build/border-box-control/border-box-control-visualizer/index.js +16 -0
- package/build/border-box-control/border-box-control-visualizer/index.js.map +1 -0
- package/build/border-box-control/index.js +44 -0
- package/build/border-box-control/index.js.map +1 -0
- package/build/border-box-control/styles.js +76 -0
- package/build/border-box-control/styles.js.map +1 -0
- package/build/border-box-control/types.js +6 -0
- package/build/border-box-control/types.js.map +1 -0
- package/build/border-box-control/utils.js +161 -0
- package/build/border-box-control/utils.js.map +1 -0
- package/build/border-control/border-control/component.js +119 -0
- package/build/border-control/border-control/component.js.map +1 -0
- package/build/border-control/border-control/hook.js +130 -0
- package/build/border-control/border-control/hook.js.map +1 -0
- package/build/border-control/border-control/index.js +24 -0
- package/build/border-control/border-control/index.js.map +1 -0
- package/build/border-control/border-control-dropdown/component.js +196 -0
- package/build/border-control/border-control-dropdown/component.js.map +1 -0
- package/build/border-control/border-control-dropdown/hook.js +105 -0
- package/build/border-control/border-control-dropdown/hook.js.map +1 -0
- package/build/border-control/border-control-dropdown/index.js +16 -0
- package/build/border-control/border-control-dropdown/index.js.map +1 -0
- package/build/border-control/border-control-style-picker/component.js +101 -0
- package/build/border-control/border-control-style-picker/component.js.map +1 -0
- package/build/border-control/border-control-style-picker/hook.js +45 -0
- package/build/border-control/border-control-style-picker/hook.js.map +1 -0
- package/build/border-control/border-control-style-picker/index.js +16 -0
- package/build/border-control/border-control-style-picker/index.js.map +1 -0
- package/build/border-control/index.js +24 -0
- package/build/border-control/index.js.map +1 -0
- package/build/border-control/styles.js +125 -0
- package/build/border-control/styles.js.map +1 -0
- package/build/border-control/types.js +6 -0
- package/build/border-control/types.js.map +1 -0
- package/build/box-control/all-input-control.js +3 -7
- package/build/box-control/all-input-control.js.map +1 -1
- package/build/box-control/axial-input-controls.js +20 -15
- package/build/box-control/axial-input-controls.js.map +1 -1
- package/build/box-control/input-controls.js +21 -16
- package/build/box-control/input-controls.js.map +1 -1
- package/build/box-control/utils.js +25 -11
- package/build/box-control/utils.js.map +1 -1
- package/build/card/styles.js +22 -17
- package/build/card/styles.js.map +1 -1
- package/build/checkbox-control/index.js +21 -1
- package/build/checkbox-control/index.js.map +1 -1
- package/build/color-palette/index.js +53 -4
- package/build/color-palette/index.js.map +1 -1
- package/build/custom-select-control/index.js +12 -4
- package/build/custom-select-control/index.js.map +1 -1
- package/build/divider/styles.js +28 -16
- package/build/divider/styles.js.map +1 -1
- package/build/focal-point-picker/controls.js +2 -3
- package/build/focal-point-picker/controls.js.map +1 -1
- package/build/form-file-upload/index.js +4 -1
- package/build/form-file-upload/index.js.map +1 -1
- package/build/guide/index.js +14 -8
- package/build/guide/index.js.map +1 -1
- package/build/index.js +40 -0
- package/build/index.js.map +1 -1
- package/build/input-control/input-field.js +21 -14
- package/build/input-control/input-field.js.map +1 -1
- package/build/input-control/reducer/actions.js +1 -3
- package/build/input-control/reducer/actions.js.map +1 -1
- package/build/input-control/reducer/reducer.js +1 -43
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/item-group/styles.js +14 -14
- package/build/item-group/styles.js.map +1 -1
- package/build/mobile/picker/index.android.js +0 -3
- package/build/mobile/picker/index.android.js.map +1 -1
- package/build/number-control/index.js +15 -10
- package/build/number-control/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build/surface/styles.js +8 -8
- package/build/surface/styles.js.map +1 -1
- package/build/toggle-group-control/index.js +8 -0
- package/build/toggle-group-control/index.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +10 -1
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +14 -3
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +90 -0
- package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control-option/component.js +9 -90
- 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 +127 -0
- package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control-option-base/index.js +16 -0
- package/build/toggle-group-control/toggle-group-control-option-base/index.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js +66 -0
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js +55 -0
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -0
- package/build/toggle-group-control/toggle-group-control-option-icon/index.js +16 -0
- package/build/toggle-group-control/toggle-group-control-option-icon/index.js.map +1 -0
- package/build/toolbar-dropdown-menu/index.js +1 -1
- package/build/toolbar-dropdown-menu/index.js.map +1 -1
- package/build/tree-grid/index.js +4 -1
- package/build/tree-grid/index.js.map +1 -1
- package/build/unit-control/index.js +56 -29
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/unit-select-control.js +2 -4
- package/build/unit-control/unit-select-control.js.map +1 -1
- package/build/utils/colors-values.js +5 -3
- package/build/utils/colors-values.js.map +1 -1
- package/build/utils/config-values.js +9 -4
- package/build/utils/config-values.js.map +1 -1
- package/build-module/base-control/index.js +39 -35
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/base-control/styles/base-control-styles.js +44 -16
- package/build-module/base-control/styles/base-control-styles.js.map +1 -1
- package/build-module/base-control/types.js +2 -0
- package/build-module/base-control/types.js.map +1 -0
- package/build-module/border-box-control/border-box-control/component.js +104 -0
- package/build-module/border-box-control/border-box-control/component.js.map +1 -0
- package/build-module/border-box-control/border-box-control/hook.js +97 -0
- package/build-module/border-box-control/border-box-control/hook.js.map +1 -0
- package/build-module/border-box-control/border-box-control/index.js +3 -0
- package/build-module/border-box-control/border-box-control/index.js.map +1 -0
- package/build-module/border-box-control/border-box-control-linked-button/component.js +42 -0
- package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -0
- package/build-module/border-box-control/border-box-control-linked-button/hook.js +26 -0
- package/build-module/border-box-control/border-box-control-linked-button/hook.js.map +1 -0
- package/build-module/border-box-control/border-box-control-linked-button/index.js +2 -0
- package/build-module/border-box-control/border-box-control-linked-button/index.js.map +1 -0
- package/build-module/border-box-control/border-box-control-split-controls/component.js +77 -0
- package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -0
- package/build-module/border-box-control/border-box-control-split-controls/hook.js +30 -0
- package/build-module/border-box-control/border-box-control-split-controls/hook.js.map +1 -0
- package/build-module/border-box-control/border-box-control-split-controls/index.js +2 -0
- package/build-module/border-box-control/border-box-control-split-controls/index.js.map +1 -0
- package/build-module/border-box-control/border-box-control-visualizer/component.js +27 -0
- package/build-module/border-box-control/border-box-control-visualizer/component.js.map +1 -0
- package/build-module/border-box-control/border-box-control-visualizer/hook.js +28 -0
- package/build-module/border-box-control/border-box-control-visualizer/hook.js.map +1 -0
- package/build-module/border-box-control/border-box-control-visualizer/index.js +2 -0
- package/build-module/border-box-control/border-box-control-visualizer/index.js.map +1 -0
- package/build-module/border-box-control/index.js +4 -0
- package/build-module/border-box-control/index.js.map +1 -0
- package/build-module/border-box-control/styles.js +66 -0
- package/build-module/border-box-control/styles.js.map +1 -0
- package/build-module/border-box-control/types.js +2 -0
- package/build-module/border-box-control/types.js.map +1 -0
- package/build-module/border-box-control/utils.js +127 -0
- package/build-module/border-box-control/utils.js.map +1 -0
- package/build-module/border-control/border-control/component.js +100 -0
- package/build-module/border-control/border-control/component.js.map +1 -0
- package/build-module/border-control/border-control/hook.js +115 -0
- package/build-module/border-control/border-control/hook.js.map +1 -0
- package/build-module/border-control/border-control/index.js +3 -0
- package/build-module/border-control/border-control/index.js.map +1 -0
- package/build-module/border-control/border-control-dropdown/component.js +174 -0
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -0
- package/build-module/border-control/border-control-dropdown/hook.js +89 -0
- package/build-module/border-control/border-control-dropdown/hook.js.map +1 -0
- package/build-module/border-control/border-control-dropdown/index.js +2 -0
- package/build-module/border-control/border-control-dropdown/index.js.map +1 -0
- package/build-module/border-control/border-control-style-picker/component.js +81 -0
- package/build-module/border-control/border-control-style-picker/component.js.map +1 -0
- package/build-module/border-control/border-control-style-picker/hook.js +30 -0
- package/build-module/border-control/border-control-style-picker/hook.js.map +1 -0
- package/build-module/border-control/border-control-style-picker/index.js +2 -0
- package/build-module/border-control/border-control-style-picker/index.js.map +1 -0
- package/build-module/border-control/index.js +3 -0
- package/build-module/border-control/index.js.map +1 -0
- package/build-module/border-control/styles.js +90 -0
- package/build-module/border-control/styles.js.map +1 -0
- package/build-module/border-control/types.js +2 -0
- package/build-module/border-control/types.js.map +1 -0
- package/build-module/box-control/all-input-control.js +4 -8
- package/build-module/box-control/all-input-control.js.map +1 -1
- package/build-module/box-control/axial-input-controls.js +18 -14
- package/build-module/box-control/axial-input-controls.js.map +1 -1
- package/build-module/box-control/input-controls.js +18 -14
- package/build-module/box-control/input-controls.js.map +1 -1
- package/build-module/box-control/utils.js +25 -11
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/card/styles.js +23 -18
- package/build-module/card/styles.js.map +1 -1
- package/build-module/checkbox-control/index.js +24 -3
- package/build-module/checkbox-control/index.js.map +1 -1
- package/build-module/color-palette/index.js +52 -4
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/custom-select-control/index.js +12 -4
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/divider/styles.js +29 -10
- package/build-module/divider/styles.js.map +1 -1
- package/build-module/focal-point-picker/controls.js +2 -3
- package/build-module/focal-point-picker/controls.js.map +1 -1
- package/build-module/form-file-upload/index.js +4 -1
- package/build-module/form-file-upload/index.js.map +1 -1
- package/build-module/guide/index.js +14 -8
- package/build-module/guide/index.js.map +1 -1
- package/build-module/index.js +3 -1
- package/build-module/index.js.map +1 -1
- package/build-module/input-control/input-field.js +21 -13
- package/build-module/input-control/input-field.js.map +1 -1
- package/build-module/input-control/reducer/actions.js +0 -1
- package/build-module/input-control/reducer/actions.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js +2 -39
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/item-group/styles.js +14 -14
- package/build-module/item-group/styles.js.map +1 -1
- package/build-module/mobile/picker/index.android.js +0 -3
- package/build-module/mobile/picker/index.android.js.map +1 -1
- package/build-module/number-control/index.js +15 -9
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build-module/surface/styles.js +8 -8
- package/build-module/surface/styles.js.map +1 -1
- package/build-module/toggle-group-control/index.js +1 -0
- package/build-module/toggle-group-control/index.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +8 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +11 -3
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +86 -0
- package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control-option/component.js +9 -79
- 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 +105 -0
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control-option-base/index.js +2 -0
- package/build-module/toggle-group-control/toggle-group-control-option-base/index.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +55 -0
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +50 -0
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -0
- package/build-module/toggle-group-control/toggle-group-control-option-icon/index.js +2 -0
- package/build-module/toggle-group-control/toggle-group-control-option-icon/index.js.map +1 -0
- package/build-module/toolbar-dropdown-menu/index.js +1 -1
- package/build-module/toolbar-dropdown-menu/index.js.map +1 -1
- package/build-module/tree-grid/index.js +4 -1
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/unit-control/index.js +54 -27
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/unit-select-control.js +2 -3
- package/build-module/unit-control/unit-select-control.js.map +1 -1
- package/build-module/utils/colors-values.js +5 -3
- package/build-module/utils/colors-values.js.map +1 -1
- package/build-module/utils/config-values.js +8 -4
- package/build-module/utils/config-values.js.map +1 -1
- package/build-style/style-rtl.css +33 -185
- package/build-style/style.css +33 -185
- package/build-types/base-control/index.d.ts +35 -71
- package/build-types/base-control/index.d.ts.map +1 -1
- package/build-types/base-control/stories/index.d.ts +25 -0
- package/build-types/base-control/stories/index.d.ts.map +1 -0
- package/build-types/base-control/styles/base-control-styles.d.ts +10 -5
- package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
- package/build-types/base-control/types.d.ts +41 -0
- package/build-types/base-control/types.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control/component.d.ts +4 -0
- package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control/hook.d.ts +282 -0
- package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control/index.d.ts +3 -0
- package/build-types/border-box-control/border-box-control/index.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control-linked-button/component.d.ts +4 -0
- package/build-types/border-box-control/border-box-control-linked-button/component.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +266 -0
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control-linked-button/index.d.ts +2 -0
- package/build-types/border-box-control/border-box-control-linked-button/index.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control-split-controls/component.d.ts +4 -0
- package/build-types/border-box-control/border-box-control-split-controls/component.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +274 -0
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control-split-controls/index.d.ts +2 -0
- package/build-types/border-box-control/border-box-control-split-controls/index.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control-visualizer/component.d.ts +4 -0
- package/build-types/border-box-control/border-box-control-visualizer/component.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +266 -0
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts.map +1 -0
- package/build-types/border-box-control/border-box-control-visualizer/index.d.ts +2 -0
- package/build-types/border-box-control/border-box-control-visualizer/index.d.ts.map +1 -0
- package/build-types/border-box-control/index.d.ts +4 -0
- package/build-types/border-box-control/index.d.ts.map +1 -0
- package/build-types/border-box-control/styles.d.ts +8 -0
- package/build-types/border-box-control/styles.d.ts.map +1 -0
- package/build-types/border-box-control/types.d.ts +91 -0
- package/build-types/border-box-control/types.d.ts.map +1 -0
- package/build-types/border-box-control/utils.d.ts +24 -0
- package/build-types/border-box-control/utils.d.ts.map +1 -0
- package/build-types/border-control/border-control/component.d.ts +4 -0
- package/build-types/border-control/border-control/component.d.ts.map +1 -0
- package/build-types/border-control/border-control/hook.d.ts +285 -0
- package/build-types/border-control/border-control/hook.d.ts.map +1 -0
- package/build-types/border-control/border-control/index.d.ts +3 -0
- package/build-types/border-control/border-control/index.d.ts.map +1 -0
- package/build-types/border-control/border-control-dropdown/component.d.ts +4 -0
- package/build-types/border-control/border-control-dropdown/component.d.ts.map +1 -0
- package/build-types/border-control/border-control-dropdown/hook.d.ts +280 -0
- package/build-types/border-control/border-control-dropdown/hook.d.ts.map +1 -0
- package/build-types/border-control/border-control-dropdown/index.d.ts +2 -0
- package/build-types/border-control/border-control-dropdown/index.d.ts.map +1 -0
- package/build-types/border-control/border-control-style-picker/component.d.ts +4 -0
- package/build-types/border-control/border-control-style-picker/component.d.ts.map +1 -0
- package/build-types/border-control/border-control-style-picker/hook.d.ts +269 -0
- package/build-types/border-control/border-control-style-picker/hook.d.ts.map +1 -0
- package/build-types/border-control/border-control-style-picker/index.d.ts +2 -0
- package/build-types/border-control/border-control-style-picker/index.d.ts.map +1 -0
- package/build-types/border-control/index.d.ts +3 -0
- package/build-types/border-control/index.d.ts.map +1 -0
- package/build-types/border-control/styles.d.ts +18 -0
- package/build-types/border-control/styles.d.ts.map +1 -0
- package/build-types/border-control/types.d.ts +163 -0
- package/build-types/border-control/types.d.ts.map +1 -0
- package/build-types/card/card-divider/hook.d.ts +1 -1
- package/build-types/card/styles.d.ts.map +1 -1
- package/build-types/color-indicator/index.d.ts +7 -0
- package/build-types/color-indicator/index.d.ts.map +1 -0
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +1 -1
- package/build-types/divider/stories/index.d.ts +1 -0
- package/build-types/divider/stories/index.d.ts.map +1 -1
- package/build-types/divider/styles.d.ts.map +1 -1
- package/build-types/divider/types.d.ts +8 -1
- package/build-types/divider/types.d.ts.map +1 -1
- package/build-types/input-control/input-field.d.ts.map +1 -1
- package/build-types/input-control/reducer/actions.d.ts +1 -3
- package/build-types/input-control/reducer/actions.d.ts.map +1 -1
- package/build-types/input-control/reducer/reducer.d.ts +3 -9
- package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
- package/build-types/input-control/stories/index.d.ts +17 -0
- package/build-types/input-control/stories/index.d.ts.map +1 -0
- package/build-types/input-control/types.d.ts +2 -2
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/item-group/styles.d.ts.map +1 -1
- package/build-types/number-control/index.d.ts +3 -3
- package/build-types/number-control/index.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
- package/build-types/spinner/styles/spinner-styles.d.ts +5 -0
- package/build-types/spinner/styles/spinner-styles.d.ts.map +1 -0
- package/build-types/toggle-group-control/index.d.ts +1 -0
- package/build-types/toggle-group-control/index.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +5 -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/toggle-group-control-backdrop.d.ts +9 -0
- package/build-types/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -2
- 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/styles.d.ts +0 -4
- package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +25 -0
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option-base/index.d.ts +2 -0
- package/build-types/toggle-group-control/toggle-group-control-option-base/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +15 -0
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +37 -0
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control-option-icon/index.d.ts +2 -0
- package/build-types/toggle-group-control/toggle-group-control-option-icon/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/types.d.ts +24 -8
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/build-types/ui/form-group/form-group.d.ts +2 -2
- package/build-types/unit-control/index.d.ts +12 -5
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/stories/index.d.ts +33 -0
- package/build-types/unit-control/stories/index.d.ts.map +1 -0
- package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
- package/build-types/unit-control/types.d.ts +28 -7
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/unit-control/unit-select-control.d.ts.map +1 -1
- package/build-types/utils/colors-values.d.ts +78 -18
- package/build-types/utils/colors-values.d.ts.map +1 -1
- package/build-types/utils/config-values.d.ts +71 -71
- package/build-types/utils/config-values.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/animate/README.md +1 -1
- package/src/base-control/README.md +20 -12
- package/src/base-control/index.tsx +124 -0
- package/src/base-control/stories/index.tsx +80 -0
- package/src/base-control/styles/{base-control-styles.js → base-control-styles.ts} +23 -1
- package/src/base-control/types.ts +42 -0
- package/src/border-box-control/border-box-control/README.md +178 -0
- package/src/border-box-control/border-box-control/component.tsx +123 -0
- package/src/border-box-control/border-box-control/hook.ts +119 -0
- package/src/border-box-control/border-box-control/index.ts +2 -0
- package/src/border-box-control/border-box-control-linked-button/component.tsx +50 -0
- package/src/border-box-control/border-box-control-linked-button/hook.ts +30 -0
- package/src/border-box-control/border-box-control-linked-button/index.ts +1 -0
- package/src/border-box-control/border-box-control-split-controls/component.tsx +90 -0
- package/src/border-box-control/border-box-control-split-controls/hook.ts +34 -0
- package/src/border-box-control/border-box-control-split-controls/index.ts +1 -0
- package/src/border-box-control/border-box-control-visualizer/component.tsx +28 -0
- package/src/border-box-control/border-box-control-visualizer/hook.ts +30 -0
- package/src/border-box-control/border-box-control-visualizer/index.ts +1 -0
- package/src/border-box-control/index.ts +3 -0
- package/src/border-box-control/stories/index.js +104 -0
- package/src/border-box-control/styles.ts +69 -0
- package/src/border-box-control/test/index.js +354 -0
- package/src/border-box-control/test/utils.js +305 -0
- package/src/border-box-control/types.ts +98 -0
- package/src/border-box-control/utils.ts +151 -0
- package/src/border-control/border-control/README.md +181 -0
- package/src/border-control/border-control/component.tsx +112 -0
- package/src/border-control/border-control/hook.ts +145 -0
- package/src/border-control/border-control/index.ts +2 -0
- package/src/border-control/border-control-dropdown/component.tsx +252 -0
- package/src/border-control/border-control-dropdown/hook.ts +98 -0
- package/src/border-control/border-control-dropdown/index.ts +1 -0
- package/src/border-control/border-control-style-picker/component.tsx +89 -0
- package/src/border-control/border-control-style-picker/hook.ts +34 -0
- package/src/border-control/border-control-style-picker/index.ts +1 -0
- package/src/border-control/index.ts +2 -0
- package/src/border-control/stories/index.js +118 -0
- package/src/border-control/styles.ts +190 -0
- package/src/border-control/test/index.js +436 -0
- package/src/border-control/types.ts +173 -0
- package/src/box-control/all-input-control.js +2 -10
- package/src/box-control/axial-input-controls.js +32 -21
- package/src/box-control/input-controls.js +30 -19
- package/src/box-control/utils.js +29 -12
- package/src/card/styles.js +11 -5
- package/src/card/test/__snapshots__/index.js.snap +83 -66
- package/src/card/test/index.js +7 -5
- package/src/checkbox-control/index.js +34 -3
- package/src/checkbox-control/stories/index.js +44 -0
- package/src/checkbox-control/style.scss +4 -2
- package/src/color-palette/README.md +6 -0
- package/src/color-palette/index.js +73 -8
- package/src/color-palette/stories/index.js +69 -26
- package/src/color-palette/style.scss +11 -3
- package/src/color-palette/test/__snapshots__/index.js.snap +662 -12
- package/src/color-palette/test/index.js +1 -1
- package/src/custom-select-control/index.js +15 -3
- package/src/custom-select-control/stories/index.js +77 -74
- package/src/custom-select-control/style.scss +23 -4
- package/src/disabled/README.md +7 -10
- package/src/divider/stories/index.tsx +26 -23
- package/src/divider/styles.ts +9 -0
- package/src/divider/types.ts +11 -1
- package/src/flyout/test/__snapshots__/index.js.snap +7 -7
- package/src/focal-point-picker/controls.js +2 -3
- package/src/font-size-picker/test/index.js +0 -2
- package/src/form-file-upload/README.md +18 -0
- package/src/form-file-upload/index.js +3 -0
- package/src/form-file-upload/test/index.js +73 -11
- package/src/form-toggle/README.md +1 -1
- package/src/guide/index.js +12 -13
- package/src/guide/style.scss +0 -4
- package/src/index.js +8 -0
- package/src/input-control/input-field.tsx +23 -12
- package/src/input-control/reducer/actions.ts +1 -7
- package/src/input-control/reducer/reducer.ts +0 -29
- package/src/input-control/types.ts +2 -1
- package/src/item-group/styles.ts +1 -0
- package/src/item-group/test/__snapshots__/index.js.snap +11 -10
- package/src/mobile/picker/index.android.js +0 -1
- package/src/number-control/README.md +14 -0
- package/src/number-control/index.js +13 -12
- package/src/number-control/stories/index.js +14 -7
- package/src/number-control/test/index.js +79 -1
- package/src/range-control/stories/index.js +91 -119
- package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -0
- package/src/surface/styles.js +1 -1
- package/src/surface/test/__snapshots__/index.js.snap +11 -11
- package/src/toggle-group-control/index.ts +1 -0
- package/src/toggle-group-control/stories/index.js +37 -7
- package/src/toggle-group-control/test/__snapshots__/index.js.snap +269 -32
- package/src/toggle-group-control/test/index.js +43 -10
- package/src/toggle-group-control/toggle-group-control/component.tsx +10 -0
- package/src/toggle-group-control/toggle-group-control/styles.ts +14 -0
- package/src/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.tsx +86 -0
- package/src/toggle-group-control/toggle-group-control-option/README.md +8 -5
- package/src/toggle-group-control/toggle-group-control-option/component.tsx +18 -97
- package/src/toggle-group-control/toggle-group-control-option-base/README.md +27 -0
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +129 -0
- package/src/toggle-group-control/toggle-group-control-option-base/index.ts +1 -0
- package/src/toggle-group-control/{toggle-group-control-option → toggle-group-control-option-base}/styles.ts +4 -13
- package/src/toggle-group-control/toggle-group-control-option-icon/README.md +56 -0
- package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +56 -0
- package/src/toggle-group-control/toggle-group-control-option-icon/index.ts +1 -0
- package/src/toggle-group-control/types.ts +33 -8
- package/src/toolbar-dropdown-menu/index.js +1 -1
- package/src/toolbar-group/style.scss +0 -73
- package/src/tools-panel/test/__snapshots__/index.js.snap +8 -8
- package/src/tree-grid/README.md +1 -1
- package/src/tree-grid/index.js +4 -0
- package/src/tree-grid/test/index.js +61 -17
- package/src/unit-control/README.md +7 -3
- package/src/unit-control/index.tsx +65 -31
- package/src/unit-control/stories/index.tsx +170 -0
- package/src/unit-control/test/index.js +263 -100
- package/src/unit-control/types.ts +65 -42
- package/src/unit-control/unit-select-control.tsx +2 -3
- package/src/utils/colors-values.js +4 -3
- package/src/utils/config-values.js +9 -4
- package/tsconfig.json +3 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/guide/finish-button.js +0 -44
- package/build/guide/finish-button.js.map +0 -1
- package/build/toggle-group-control/toggle-group-control-option/styles.js +0 -73
- package/build/toggle-group-control/toggle-group-control-option/styles.js.map +0 -1
- package/build-module/guide/finish-button.js +0 -34
- package/build-module/guide/finish-button.js.map +0 -1
- package/build-module/toggle-group-control/toggle-group-control-option/styles.js +0 -61
- package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +0 -1
- package/src/base-control/index.js +0 -111
- package/src/base-control/stories/index.js +0 -81
- package/src/guide/finish-button.js +0 -26
- package/src/guide/test/finish-button.js +0 -49
- package/src/unit-control/stories/index.js +0 -127
|
@@ -1,99 +1,26 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import type { ForwardedRef } from 'react';
|
|
5
|
-
// eslint-disable-next-line no-restricted-imports
|
|
6
|
-
import { Radio } from 'reakit';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* WordPress dependencies
|
|
10
|
-
*/
|
|
11
|
-
import { useInstanceId } from '@wordpress/compose';
|
|
12
|
-
|
|
13
1
|
/**
|
|
14
2
|
* Internal dependencies
|
|
15
3
|
*/
|
|
16
|
-
import {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
const { ButtonContentView, LabelPlaceholderView, LabelView } = styles;
|
|
28
|
-
|
|
29
|
-
const WithToolTip = ( { showTooltip, text, children }: WithToolTipProps ) => {
|
|
30
|
-
if ( showTooltip && text ) {
|
|
31
|
-
return (
|
|
32
|
-
<Tooltip text={ text } position="top center">
|
|
33
|
-
{ children }
|
|
34
|
-
</Tooltip>
|
|
35
|
-
);
|
|
36
|
-
}
|
|
37
|
-
return <>{ children }</>;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
function ToggleGroupControlOption(
|
|
41
|
-
props: WordPressComponentProps< ToggleGroupControlOptionProps, 'button' >,
|
|
42
|
-
forwardedRef: ForwardedRef< any >
|
|
4
|
+
import type { WordPressComponentProps } from '../../ui/context';
|
|
5
|
+
import type { ToggleGroupControlOptionProps } from '../types';
|
|
6
|
+
import { ToggleGroupControlOptionBase } from '../toggle-group-control-option-base';
|
|
7
|
+
|
|
8
|
+
export default function ToggleGroupControlOption(
|
|
9
|
+
props: WordPressComponentProps<
|
|
10
|
+
ToggleGroupControlOptionProps,
|
|
11
|
+
'button',
|
|
12
|
+
false
|
|
13
|
+
>
|
|
43
14
|
) {
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
ToggleGroupControlOption,
|
|
47
|
-
toggleGroupControlContext.baseId || 'toggle-group-control-option'
|
|
48
|
-
) as string;
|
|
49
|
-
const buttonProps = useContextSystem(
|
|
50
|
-
{ ...props, id },
|
|
51
|
-
'ToggleGroupControlOption'
|
|
52
|
-
);
|
|
53
|
-
|
|
54
|
-
const {
|
|
55
|
-
className,
|
|
56
|
-
isBlock = false,
|
|
57
|
-
label,
|
|
58
|
-
value,
|
|
59
|
-
showTooltip = false,
|
|
60
|
-
...radioProps
|
|
61
|
-
} = {
|
|
62
|
-
...toggleGroupControlContext,
|
|
63
|
-
...buttonProps,
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
const isActive = radioProps.state === value;
|
|
67
|
-
const cx = useCx();
|
|
68
|
-
const labelViewClasses = cx( isBlock && styles.labelBlock );
|
|
69
|
-
const classes = cx(
|
|
70
|
-
styles.buttonView,
|
|
71
|
-
className,
|
|
72
|
-
isActive && styles.buttonActive
|
|
73
|
-
);
|
|
74
|
-
const optionLabel = !! radioProps[ 'aria-label' ]
|
|
75
|
-
? radioProps[ 'aria-label' ]
|
|
76
|
-
: label;
|
|
77
|
-
|
|
15
|
+
const { label, ...restProps } = props;
|
|
16
|
+
const optionLabel = restProps[ 'aria-label' ] || label;
|
|
78
17
|
return (
|
|
79
|
-
<
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
className={ classes }
|
|
86
|
-
data-value={ value }
|
|
87
|
-
ref={ forwardedRef }
|
|
88
|
-
value={ value }
|
|
89
|
-
>
|
|
90
|
-
<ButtonContentView>{ label }</ButtonContentView>
|
|
91
|
-
<LabelPlaceholderView aria-hidden>
|
|
92
|
-
{ label }
|
|
93
|
-
</LabelPlaceholderView>
|
|
94
|
-
</Radio>
|
|
95
|
-
</WithToolTip>
|
|
96
|
-
</LabelView>
|
|
18
|
+
<ToggleGroupControlOptionBase
|
|
19
|
+
{ ...restProps }
|
|
20
|
+
aria-label={ optionLabel }
|
|
21
|
+
>
|
|
22
|
+
{ label }
|
|
23
|
+
</ToggleGroupControlOptionBase>
|
|
97
24
|
);
|
|
98
25
|
}
|
|
99
26
|
|
|
@@ -118,9 +45,3 @@ function ToggleGroupControlOption(
|
|
|
118
45
|
* }
|
|
119
46
|
* ```
|
|
120
47
|
*/
|
|
121
|
-
const ConnectedToggleGroupControlOption = contextConnect(
|
|
122
|
-
ToggleGroupControlOption,
|
|
123
|
-
'ToggleGroupControlOption'
|
|
124
|
-
);
|
|
125
|
-
|
|
126
|
-
export default ConnectedToggleGroupControlOption;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# `ToggleGroupControlOptionBase`
|
|
2
|
+
|
|
3
|
+
<div class="callout callout-alert">
|
|
4
|
+
This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
`ToggleGroupControlOptionBase` is a form component and is meant to be used as an internal, generic component for any children of [`ToggleGroupControl`](<(/packages/components/src/toggle-group-control/toggle-group-control/README.md)>).
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
### `children`: `ReactNode`
|
|
12
|
+
|
|
13
|
+
The children elements.
|
|
14
|
+
|
|
15
|
+
- Required: Yes
|
|
16
|
+
|
|
17
|
+
### `value`: `string | number`
|
|
18
|
+
|
|
19
|
+
The value of the `ToggleGroupControlOptionBase`.
|
|
20
|
+
|
|
21
|
+
- Required: Yes
|
|
22
|
+
|
|
23
|
+
### `showTooltip`: `boolean`
|
|
24
|
+
|
|
25
|
+
Whether to show a tooltip when hovering over the option. The tooltip will only show if a label for it is provided using the `aria-label` prop.
|
|
26
|
+
|
|
27
|
+
- Required: No
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import type { ForwardedRef } from 'react';
|
|
5
|
+
// eslint-disable-next-line no-restricted-imports
|
|
6
|
+
import { Radio } from 'reakit';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* WordPress dependencies
|
|
10
|
+
*/
|
|
11
|
+
import { useInstanceId } from '@wordpress/compose';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Internal dependencies
|
|
15
|
+
*/
|
|
16
|
+
import {
|
|
17
|
+
contextConnect,
|
|
18
|
+
useContextSystem,
|
|
19
|
+
WordPressComponentProps,
|
|
20
|
+
} from '../../ui/context';
|
|
21
|
+
import type {
|
|
22
|
+
ToggleGroupControlOptionBaseProps,
|
|
23
|
+
WithToolTipProps,
|
|
24
|
+
} from '../types';
|
|
25
|
+
import { useToggleGroupControlContext } from '../context';
|
|
26
|
+
import * as styles from './styles';
|
|
27
|
+
import { useCx } from '../../utils/hooks';
|
|
28
|
+
import Tooltip from '../../tooltip';
|
|
29
|
+
|
|
30
|
+
const { ButtonContentView, LabelView } = styles;
|
|
31
|
+
|
|
32
|
+
const WithToolTip = ( { showTooltip, text, children }: WithToolTipProps ) => {
|
|
33
|
+
if ( showTooltip && text ) {
|
|
34
|
+
return (
|
|
35
|
+
<Tooltip text={ text } position="top center">
|
|
36
|
+
{ children }
|
|
37
|
+
</Tooltip>
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
return <>{ children }</>;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
function ToggleGroupControlOptionBase(
|
|
44
|
+
props: WordPressComponentProps<
|
|
45
|
+
ToggleGroupControlOptionBaseProps,
|
|
46
|
+
'button',
|
|
47
|
+
false
|
|
48
|
+
>,
|
|
49
|
+
forwardedRef: ForwardedRef< any >
|
|
50
|
+
) {
|
|
51
|
+
const toggleGroupControlContext = useToggleGroupControlContext();
|
|
52
|
+
const id = useInstanceId(
|
|
53
|
+
ToggleGroupControlOptionBase,
|
|
54
|
+
toggleGroupControlContext.baseId || 'toggle-group-control-option-base'
|
|
55
|
+
) as string;
|
|
56
|
+
const buttonProps = useContextSystem(
|
|
57
|
+
{ ...props, id },
|
|
58
|
+
'ToggleGroupControlOptionBase'
|
|
59
|
+
);
|
|
60
|
+
const {
|
|
61
|
+
className,
|
|
62
|
+
isBlock = false,
|
|
63
|
+
value,
|
|
64
|
+
children,
|
|
65
|
+
showTooltip = false,
|
|
66
|
+
...radioProps
|
|
67
|
+
} = {
|
|
68
|
+
...toggleGroupControlContext,
|
|
69
|
+
...buttonProps,
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const isActive = radioProps.state === value;
|
|
73
|
+
const cx = useCx();
|
|
74
|
+
const labelViewClasses = cx( isBlock && styles.labelBlock );
|
|
75
|
+
const classes = cx(
|
|
76
|
+
styles.buttonView,
|
|
77
|
+
className,
|
|
78
|
+
isActive && styles.buttonActive
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
return (
|
|
82
|
+
<LabelView className={ labelViewClasses } data-active={ isActive }>
|
|
83
|
+
<WithToolTip
|
|
84
|
+
showTooltip={ showTooltip }
|
|
85
|
+
text={ radioProps[ 'aria-label' ] }
|
|
86
|
+
>
|
|
87
|
+
<Radio
|
|
88
|
+
{ ...radioProps }
|
|
89
|
+
as="button"
|
|
90
|
+
aria-label={ radioProps[ 'aria-label' ] }
|
|
91
|
+
className={ classes }
|
|
92
|
+
data-value={ value }
|
|
93
|
+
ref={ forwardedRef }
|
|
94
|
+
value={ value }
|
|
95
|
+
>
|
|
96
|
+
<ButtonContentView>{ children }</ButtonContentView>
|
|
97
|
+
</Radio>
|
|
98
|
+
</WithToolTip>
|
|
99
|
+
</LabelView>
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* `ToggleGroupControlOptionBase` is a form component and is meant to be used as an internal,
|
|
105
|
+
* generic component for any children of `ToggleGroupControl`.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```jsx
|
|
109
|
+
* import {
|
|
110
|
+
* __experimentalToggleGroupControl as ToggleGroupControl,
|
|
111
|
+
* __experimentalToggleGroupControlOptionBase as ToggleGroupControlOptionBase,
|
|
112
|
+
* } from '@wordpress/components';
|
|
113
|
+
*
|
|
114
|
+
* function Example() {
|
|
115
|
+
* return (
|
|
116
|
+
* <ToggleGroupControl label="my label" value="vertical" isBlock>
|
|
117
|
+
* <ToggleGroupControlOption value="horizontal" label="Horizontal" />
|
|
118
|
+
* <ToggleGroupControlOption value="vertical" label="Vertical" />
|
|
119
|
+
* </ToggleGroupControl>
|
|
120
|
+
* );
|
|
121
|
+
* }
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
const ConnectedToggleGroupControlOptionBase = contextConnect(
|
|
125
|
+
ToggleGroupControlOptionBase,
|
|
126
|
+
'ToggleGroupControlOptionBase'
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
export default ConnectedToggleGroupControlOptionBase;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ToggleGroupControlOptionBase } from './component';
|
|
@@ -27,6 +27,7 @@ export const buttonView = css`
|
|
|
27
27
|
border: none;
|
|
28
28
|
border-radius: ${ CONFIG.controlBorderRadius };
|
|
29
29
|
color: ${ COLORS.gray[ 700 ] };
|
|
30
|
+
fill: currentColor;
|
|
30
31
|
cursor: pointer;
|
|
31
32
|
display: flex;
|
|
32
33
|
font-family: inherit;
|
|
@@ -55,30 +56,20 @@ export const buttonView = css`
|
|
|
55
56
|
|
|
56
57
|
export const buttonActive = css`
|
|
57
58
|
color: ${ COLORS.white };
|
|
58
|
-
|
|
59
|
+
&:active {
|
|
60
|
+
background: transparent;
|
|
61
|
+
}
|
|
59
62
|
`;
|
|
60
63
|
|
|
61
64
|
export const ButtonContentView = styled.div`
|
|
62
65
|
font-size: ${ CONFIG.fontSize };
|
|
63
66
|
line-height: 1;
|
|
64
|
-
position: absolute;
|
|
65
|
-
top: 50%;
|
|
66
|
-
left: 50%;
|
|
67
|
-
transform: translate( -50%, -50% );
|
|
68
67
|
`;
|
|
69
68
|
|
|
70
69
|
export const separatorActive = css`
|
|
71
70
|
background: transparent;
|
|
72
71
|
`;
|
|
73
72
|
|
|
74
|
-
export const LabelPlaceholderView = styled.div`
|
|
75
|
-
font-size: ${ CONFIG.fontSize };
|
|
76
|
-
font-weight: bold;
|
|
77
|
-
height: 0;
|
|
78
|
-
overflow: hidden;
|
|
79
|
-
visibility: hidden;
|
|
80
|
-
`;
|
|
81
|
-
|
|
82
73
|
export const medium = css`
|
|
83
74
|
min-height: ${ CONFIG.controlHeight };
|
|
84
75
|
`;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# `ToggleGroupControlOptionIcon`
|
|
2
|
+
|
|
3
|
+
<div class="callout callout-alert">
|
|
4
|
+
This feature is still experimental. “Experimental” means this is an early implementation subject to drastic and breaking changes.
|
|
5
|
+
</div>
|
|
6
|
+
|
|
7
|
+
`ToggleGroupControlOptionIcon` is a form component which is meant to be used as a child of [`ToggleGroupControl`] and displays an icon(<(/packages/components/src/toggle-group-control/toggle-group-control/README.md)>).
|
|
8
|
+
|
|
9
|
+
## Usage
|
|
10
|
+
|
|
11
|
+
```js
|
|
12
|
+
import {
|
|
13
|
+
__experimentalToggleGroupControl as ToggleGroupControl,
|
|
14
|
+
__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,
|
|
15
|
+
} from '@wordpress/components';
|
|
16
|
+
import { formatLowercase, formatUppercase } from '@wordpress/icons';
|
|
17
|
+
|
|
18
|
+
function Example() {
|
|
19
|
+
return (
|
|
20
|
+
<ToggleGroupControl label="my label" value="lowercase" isBlock>
|
|
21
|
+
<ToggleGroupControlOptionIcon
|
|
22
|
+
value="uppercase"
|
|
23
|
+
icon={ formatUppercase }
|
|
24
|
+
showTooltip={ true }
|
|
25
|
+
aria-label="Uppercase"
|
|
26
|
+
/>
|
|
27
|
+
<ToggleGroupControlOptionIcon
|
|
28
|
+
value="lowercase"
|
|
29
|
+
icon={ formatLowercase }
|
|
30
|
+
showTooltip={ true }
|
|
31
|
+
aria-label="Lowercase"
|
|
32
|
+
/>
|
|
33
|
+
</ToggleGroupControl>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Props
|
|
39
|
+
|
|
40
|
+
### `value`: `string | number`
|
|
41
|
+
|
|
42
|
+
The value of the `ToggleGroupControlOption`.
|
|
43
|
+
|
|
44
|
+
- Required: Yes
|
|
45
|
+
|
|
46
|
+
### `icon`: `WPComponent`
|
|
47
|
+
|
|
48
|
+
Icon displayed as the content of the option. Usually one of the icons from the `@wordpress/icons` package, or a custom React `<svg>` icon.
|
|
49
|
+
|
|
50
|
+
- Required: Yes
|
|
51
|
+
|
|
52
|
+
### `showTooltip`: `boolean`
|
|
53
|
+
|
|
54
|
+
Whether to show a tooltip when hovering over the option. The tooltip will only show if a label for it is provided using the `aria-label` prop.
|
|
55
|
+
|
|
56
|
+
- Required: No
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { Icon } from '@wordpress/icons';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import type { WordPressComponentProps } from '../../ui/context';
|
|
10
|
+
import type { ToggleGroupControlOptionIconProps } from '../types';
|
|
11
|
+
import { ToggleGroupControlOptionBase } from '../toggle-group-control-option-base';
|
|
12
|
+
|
|
13
|
+
export default function ToggleGroupControlOptionIcon(
|
|
14
|
+
props: WordPressComponentProps<
|
|
15
|
+
ToggleGroupControlOptionIconProps,
|
|
16
|
+
'button',
|
|
17
|
+
false
|
|
18
|
+
>
|
|
19
|
+
) {
|
|
20
|
+
const { icon, ...restProps } = props;
|
|
21
|
+
return (
|
|
22
|
+
<ToggleGroupControlOptionBase { ...restProps }>
|
|
23
|
+
<Icon icon={ icon } />
|
|
24
|
+
</ToggleGroupControlOptionBase>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* `ToggleGroupControlOptionIcon` is a form component which is meant to be used as a
|
|
30
|
+
* child of `ToggleGroupControl` and displays an icon.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```jsx
|
|
34
|
+
*
|
|
35
|
+
* import {
|
|
36
|
+
* __experimentalToggleGroupControl as ToggleGroupControl,
|
|
37
|
+
* __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,
|
|
38
|
+
* from '@wordpress/components';
|
|
39
|
+
* import { formatLowercase, formatUppercase } from '@wordpress/icons';
|
|
40
|
+
*
|
|
41
|
+
* function Example() {
|
|
42
|
+
* return (
|
|
43
|
+
* <ToggleGroupControl label="my label" value="vertical" isBlock>
|
|
44
|
+
* <ToggleGroupControlOptionIcon
|
|
45
|
+
* value="uppercase"
|
|
46
|
+
* icon={ formatUppercase }
|
|
47
|
+
* />
|
|
48
|
+
* <ToggleGroupControlOptionIcon
|
|
49
|
+
* value="lowercase"
|
|
50
|
+
* icon={ formatLowercase }
|
|
51
|
+
* />
|
|
52
|
+
* </ToggleGroupControl>
|
|
53
|
+
* );
|
|
54
|
+
* }
|
|
55
|
+
** ```
|
|
56
|
+
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ToggleGroupControlOptionIcon } from './component';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import type { ReactNode, ReactText } from 'react';
|
|
4
|
+
import type { MutableRefObject, ReactNode, ReactText } from 'react';
|
|
5
5
|
// eslint-disable-next-line no-restricted-imports
|
|
6
6
|
import type { RadioStateReturn } from 'reakit';
|
|
7
7
|
|
|
@@ -10,13 +10,9 @@ import type { RadioStateReturn } from 'reakit';
|
|
|
10
10
|
*/
|
|
11
11
|
import type { FormElementProps } from '../utils/types';
|
|
12
12
|
|
|
13
|
-
export type
|
|
13
|
+
export type ToggleGroupControlOptionBaseProps = {
|
|
14
|
+
children: ReactNode;
|
|
14
15
|
value: ReactText;
|
|
15
|
-
/**
|
|
16
|
-
* Label for the option. If needed, the `aria-label` prop can be used in addition
|
|
17
|
-
* to specify a different label for assistive technologies.
|
|
18
|
-
*/
|
|
19
|
-
label: string;
|
|
20
16
|
/**
|
|
21
17
|
* Whether to display a Tooltip for the control option. If set to `true`, the tooltip will
|
|
22
18
|
* show the aria-label or the label prop text.
|
|
@@ -26,6 +22,28 @@ export type ToggleGroupControlOptionProps = {
|
|
|
26
22
|
showTooltip?: boolean;
|
|
27
23
|
};
|
|
28
24
|
|
|
25
|
+
export type ToggleGroupControlOptionIconProps = Omit<
|
|
26
|
+
ToggleGroupControlOptionBaseProps,
|
|
27
|
+
'children'
|
|
28
|
+
> & {
|
|
29
|
+
/**
|
|
30
|
+
* Icon displayed as the content of the option. Usually one of the icons from
|
|
31
|
+
* the `@wordpress/icons` package, or a custom React `<svg>` icon.
|
|
32
|
+
*/
|
|
33
|
+
icon: JSX.Element;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export type ToggleGroupControlOptionProps = Omit<
|
|
37
|
+
ToggleGroupControlOptionBaseProps,
|
|
38
|
+
'children'
|
|
39
|
+
> & {
|
|
40
|
+
/**
|
|
41
|
+
* Label for the option. If needed, the `aria-label` prop can be used in addition
|
|
42
|
+
* to specify a different label for assistive technologies.
|
|
43
|
+
*/
|
|
44
|
+
label: string;
|
|
45
|
+
};
|
|
46
|
+
|
|
29
47
|
export type WithToolTipProps = {
|
|
30
48
|
/**
|
|
31
49
|
* React children
|
|
@@ -34,7 +52,7 @@ export type WithToolTipProps = {
|
|
|
34
52
|
/**
|
|
35
53
|
* Label for the Tooltip component.
|
|
36
54
|
*/
|
|
37
|
-
text
|
|
55
|
+
text?: string;
|
|
38
56
|
/**
|
|
39
57
|
* Whether to wrap the control option in a Tooltip component.
|
|
40
58
|
*
|
|
@@ -96,3 +114,10 @@ export type ToggleGroupControlContextProps = RadioStateReturn & {
|
|
|
96
114
|
*/
|
|
97
115
|
isBlock?: boolean;
|
|
98
116
|
};
|
|
117
|
+
|
|
118
|
+
export type ToggleGroupControlBackdropProps = {
|
|
119
|
+
containerRef: MutableRefObject< HTMLElement | undefined >;
|
|
120
|
+
containerWidth?: number | null;
|
|
121
|
+
isAdaptiveWidth?: boolean;
|
|
122
|
+
state?: any;
|
|
123
|
+
};
|
|
@@ -19,7 +19,7 @@ function ToolbarDropdownMenu( props, ref ) {
|
|
|
19
19
|
|
|
20
20
|
// ToobarItem will pass all props to the render prop child, which will pass
|
|
21
21
|
// all props to the toggle of DropdownMenu. This means that ToolbarDropdownMenu
|
|
22
|
-
// has the same API as
|
|
22
|
+
// has the same API as DropdownMenu.
|
|
23
23
|
return (
|
|
24
24
|
<ToolbarItem ref={ ref } { ...props.toggleProps }>
|
|
25
25
|
{ ( toolbarItemProps ) => (
|
|
@@ -64,76 +64,3 @@ div.components-toolbar {
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
|
|
68
|
-
// Size multiple sequential buttons to be optically balanced.
|
|
69
|
-
// Icons are 36px, as set by a 24px icon and 12px padding.
|
|
70
|
-
.block-editor-block-toolbar > .components-toolbar > .block-editor-block-toolbar__slot, // When a plugin adds to a slot, the segment has a `components-toolbar` class.
|
|
71
|
-
.block-editor-block-toolbar > .components-toolbar-group > .block-editor-block-toolbar__slot, // When no plugin adds to slots, the segment has a `components-toolbar-group` class.
|
|
72
|
-
.block-editor-block-toolbar > .block-editor-block-toolbar__slot > .components-toolbar, // The nesting order is sometimes reversed.
|
|
73
|
-
.block-editor-block-toolbar > .block-editor-block-toolbar__slot > .components-dropdown, // Targets unique markup for the "Replace" button.
|
|
74
|
-
.block-editor-block-toolbar .block-editor-block-toolbar__slot .components-toolbar-group { // Inline formatting tools use this class.
|
|
75
|
-
|
|
76
|
-
// Segments with just a single button.
|
|
77
|
-
> .components-button:first-child:last-child,
|
|
78
|
-
> .components-dropdown:first-child:last-child .components-button,
|
|
79
|
-
&.components-dropdown > .components-button.components-button, // Single segments where the dropdown is also the toolbar group (such as text align).
|
|
80
|
-
&.components-dropdown > * .components-button {
|
|
81
|
-
min-width: $block-toolbar-height;
|
|
82
|
-
padding-left: $grid-unit-15;
|
|
83
|
-
padding-right: $grid-unit-15;
|
|
84
|
-
|
|
85
|
-
&::before {
|
|
86
|
-
left: $grid-unit-10;
|
|
87
|
-
right: $grid-unit-10;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// First.
|
|
92
|
-
// @todo, this unnamed div only shows up when plugins add to slots. We should remove the fragment.
|
|
93
|
-
> .components-button:first-child,
|
|
94
|
-
> div:first-child > .components-button,
|
|
95
|
-
> .components-dropdown:first-child .components-button {
|
|
96
|
-
min-width: $block-toolbar-height - $grid-unit-15 * 0.5;
|
|
97
|
-
padding-left: $grid-unit-15 - $border-width;
|
|
98
|
-
padding-right: $grid-unit-15 * 0.5;
|
|
99
|
-
|
|
100
|
-
&::before {
|
|
101
|
-
left: $grid-unit-10;
|
|
102
|
-
right: 2px;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
// Middle.
|
|
107
|
-
// @todo, this unnamed div only shows up when plugins add to slots. We should remove the fragment.
|
|
108
|
-
> .components-button,
|
|
109
|
-
> div > .components-button,
|
|
110
|
-
> .components-dropdown .components-button {
|
|
111
|
-
min-width: $block-toolbar-height - $grid-unit-15;
|
|
112
|
-
padding-left: $grid-unit-15 * 0.5; // 6px.
|
|
113
|
-
padding-right: $grid-unit-15 * 0.5;
|
|
114
|
-
|
|
115
|
-
svg {
|
|
116
|
-
min-width: $button-size-small; // This is the optimal icon size, and we size the whole button after this.
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
&::before {
|
|
120
|
-
left: 2px;
|
|
121
|
-
right: 2px;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
// Last.
|
|
126
|
-
// @todo, this unnamed div only shows up when plugins add to slots. We should remove the fragment.
|
|
127
|
-
> .components-button:last-child,
|
|
128
|
-
> div:last-child > .components-button,
|
|
129
|
-
> .components-dropdown:last-child .components-button {
|
|
130
|
-
min-width: $block-toolbar-height - $grid-unit-15 * 0.5;
|
|
131
|
-
padding-left: $grid-unit-15 * 0.5;
|
|
132
|
-
padding-right: $grid-unit-15 - $border-width;
|
|
133
|
-
|
|
134
|
-
&::before {
|
|
135
|
-
left: 2px;
|
|
136
|
-
right: $grid-unit-10;
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
@@ -89,15 +89,15 @@ exports[`ToolsPanel first and last panel items should apply first/last classes t
|
|
|
89
89
|
max-width: 100%;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
.emotion-6.emotion-6 .
|
|
92
|
+
.emotion-6.emotion-6 .ej5x27r4 {
|
|
93
93
|
margin-bottom: 0;
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
.emotion-6.emotion-6 .
|
|
96
|
+
.emotion-6.emotion-6 .ej5x27r4 .ej5x27r3:last-child {
|
|
97
97
|
margin-bottom: 0;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
.emotion-6 .
|
|
100
|
+
.emotion-6 .ej5x27r1 {
|
|
101
101
|
margin-bottom: 0;
|
|
102
102
|
}
|
|
103
103
|
|
|
@@ -106,7 +106,7 @@ exports[`ToolsPanel first and last panel items should apply first/last classes t
|
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
.emotion-6 .components-custom-select-control__label,
|
|
109
|
-
.emotion-6 .
|
|
109
|
+
.emotion-6 .ej5x27r2 {
|
|
110
110
|
line-height: 1.4em;
|
|
111
111
|
}
|
|
112
112
|
|
|
@@ -121,15 +121,15 @@ exports[`ToolsPanel first and last panel items should apply first/last classes t
|
|
|
121
121
|
max-width: 100%;
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
.emotion-8.emotion-8 .
|
|
124
|
+
.emotion-8.emotion-8 .ej5x27r4 {
|
|
125
125
|
margin-bottom: 0;
|
|
126
126
|
}
|
|
127
127
|
|
|
128
|
-
.emotion-8.emotion-8 .
|
|
128
|
+
.emotion-8.emotion-8 .ej5x27r4 .ej5x27r3:last-child {
|
|
129
129
|
margin-bottom: 0;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
.emotion-8 .
|
|
132
|
+
.emotion-8 .ej5x27r1 {
|
|
133
133
|
margin-bottom: 0;
|
|
134
134
|
}
|
|
135
135
|
|
|
@@ -138,7 +138,7 @@ exports[`ToolsPanel first and last panel items should apply first/last classes t
|
|
|
138
138
|
}
|
|
139
139
|
|
|
140
140
|
.emotion-8 .components-custom-select-control__label,
|
|
141
|
-
.emotion-8 .
|
|
141
|
+
.emotion-8 .ej5x27r2 {
|
|
142
142
|
line-height: 1.4em;
|
|
143
143
|
}
|
|
144
144
|
|
package/src/tree-grid/README.md
CHANGED
|
@@ -114,7 +114,7 @@ Aside from the documented callback functions, any props specified will be passed
|
|
|
114
114
|
|
|
115
115
|
###### onFocusRow( event: Event, startRow: HTMLElement, destinationRow: HTMLElement )
|
|
116
116
|
|
|
117
|
-
Callback that fires when focus is shifted from one row to another via the
|
|
117
|
+
Callback that fires when focus is shifted from one row to another via the Up and Down keys. Callback is also fired on Home and End keys which move focus from the beginning row to the end row.
|
|
118
118
|
The callback is passed the event, the start row element that the focus was on originally, and
|
|
119
119
|
the destination row element after the focus has moved.
|
|
120
120
|
|
package/src/tree-grid/index.js
CHANGED
|
@@ -275,6 +275,10 @@ function TreeGrid(
|
|
|
275
275
|
);
|
|
276
276
|
focusablesInNextRow[ nextIndex ].focus();
|
|
277
277
|
|
|
278
|
+
// Let consumers know the row that was originally focused,
|
|
279
|
+
// and the row that is now in focus.
|
|
280
|
+
onFocusRow( event, activeRow, rows[ nextRowIndex ] );
|
|
281
|
+
|
|
278
282
|
// Prevent key use for anything else. This ensures Voiceover
|
|
279
283
|
// doesn't try to handle key navigation.
|
|
280
284
|
event.preventDefault();
|