@wordpress/components 29.0.0 → 29.1.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 +39 -1
- package/LICENSE.md +1 -1
- package/build/badge/index.js +64 -0
- package/build/badge/index.js.map +1 -0
- package/build/badge/types.js +6 -0
- package/build/badge/types.js.map +1 -0
- package/build/box-control/index.js +5 -1
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/input-control.js +90 -29
- package/build/box-control/input-control.js.map +1 -1
- package/build/box-control/types.js.map +1 -1
- package/build/box-control/utils.js +50 -0
- package/build/box-control/utils.js.map +1 -1
- package/build/button-group/index.js +10 -0
- package/build/button-group/index.js.map +1 -1
- package/build/button-group/types.js.map +1 -1
- package/build/custom-select-control/index.js +3 -5
- package/build/custom-select-control/index.js.map +1 -1
- package/build/custom-select-control-v2/custom-select.js +2 -3
- package/build/custom-select-control-v2/custom-select.js.map +1 -1
- package/build/date-time/date/index.js +1 -0
- package/build/date-time/date/index.js.map +1 -1
- package/build/dimension-control/index.js +1 -0
- package/build/dimension-control/index.js.map +1 -1
- package/build/font-size-picker/styles.js +9 -9
- package/build/font-size-picker/styles.js.map +1 -1
- package/build/heading/hook.js +1 -1
- package/build/heading/hook.js.map +1 -1
- package/build/input-control/index.js +9 -0
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/types.js.map +1 -1
- package/build/menu/checkbox-item.js +2 -0
- package/build/menu/checkbox-item.js.map +1 -1
- package/build/menu/index.js +25 -94
- package/build/menu/index.js.map +1 -1
- package/build/menu/item.js +10 -1
- package/build/menu/item.js.map +1 -1
- package/build/menu/popover.js +89 -0
- package/build/menu/popover.js.map +1 -0
- package/build/menu/radio-item.js +2 -0
- package/build/menu/radio-item.js.map +1 -1
- package/build/menu/submenu-trigger-item.js +58 -0
- package/build/menu/submenu-trigger-item.js.map +1 -0
- package/build/menu/trigger-button.js +45 -0
- package/build/menu/trigger-button.js.map +1 -0
- package/build/menu/types.js.map +1 -1
- package/build/navigation/back-button/index.js +1 -0
- package/build/navigation/back-button/index.js.map +1 -1
- package/build/navigation/index.js +6 -0
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/item/index.js +1 -0
- package/build/navigation/item/index.js.map +1 -1
- package/build/number-control/index.js +1 -0
- package/build/number-control/index.js.map +1 -1
- package/build/palette-edit/index.js +1 -0
- package/build/palette-edit/index.js.map +1 -1
- package/build/private-apis.js +3 -1
- package/build/private-apis.js.map +1 -1
- package/build/radio-group/index.js +6 -0
- package/build/radio-group/index.js.map +1 -1
- package/build/radio-group/radio.js +2 -3
- package/build/radio-group/radio.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +28 -28
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/select-control/index.js +9 -0
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/types.js.map +1 -1
- package/build/slot-fill/context.js +4 -3
- package/build/slot-fill/context.js.map +1 -1
- package/build/slot-fill/fill.js +10 -15
- package/build/slot-fill/fill.js.map +1 -1
- package/build/slot-fill/provider.js +41 -55
- package/build/slot-fill/provider.js.map +1 -1
- package/build/slot-fill/slot.js +31 -23
- package/build/slot-fill/slot.js.map +1 -1
- package/build/slot-fill/types.js.map +1 -1
- package/build/tab-panel/index.js +2 -3
- package/build/tab-panel/index.js.map +1 -1
- package/build/tabs/index.js +21 -4
- package/build/tabs/index.js.map +1 -1
- package/build/tabs/types.js.map +1 -1
- package/build/text/hook.js +6 -6
- package/build/text/hook.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/as-radio-group.js +2 -3
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build/tooltip/index.js +2 -3
- package/build/tooltip/index.js.map +1 -1
- package/build/tree-select/index.js +10 -2
- package/build/tree-select/index.js.map +1 -1
- package/build/tree-select/types.js.map +1 -1
- package/build-module/badge/index.js +57 -0
- package/build-module/badge/index.js.map +1 -0
- package/build-module/badge/types.js +2 -0
- package/build-module/badge/types.js.map +1 -0
- package/build-module/box-control/index.js +5 -1
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/input-control.js +92 -31
- package/build-module/box-control/input-control.js.map +1 -1
- package/build-module/box-control/types.js.map +1 -1
- package/build-module/box-control/utils.js +47 -0
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/button-group/index.js +10 -0
- package/build-module/button-group/index.js.map +1 -1
- package/build-module/button-group/types.js.map +1 -1
- package/build-module/custom-select-control/index.js +3 -5
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/custom-select-control-v2/custom-select.js +1 -2
- package/build-module/custom-select-control-v2/custom-select.js.map +1 -1
- package/build-module/date-time/date/index.js +1 -0
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/dimension-control/index.js +1 -0
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/font-size-picker/styles.js +9 -9
- package/build-module/font-size-picker/styles.js.map +1 -1
- package/build-module/heading/hook.js +1 -1
- package/build-module/heading/hook.js.map +1 -1
- package/build-module/input-control/index.js +9 -0
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/types.js.map +1 -1
- package/build-module/menu/checkbox-item.js +2 -0
- package/build-module/menu/checkbox-item.js.map +1 -1
- package/build-module/menu/index.js +28 -97
- package/build-module/menu/index.js.map +1 -1
- package/build-module/menu/item.js +10 -1
- package/build-module/menu/item.js.map +1 -1
- package/build-module/menu/popover.js +81 -0
- package/build-module/menu/popover.js.map +1 -0
- package/build-module/menu/radio-item.js +2 -0
- package/build-module/menu/radio-item.js.map +1 -1
- package/build-module/menu/submenu-trigger-item.js +50 -0
- package/build-module/menu/submenu-trigger-item.js.map +1 -0
- package/build-module/menu/trigger-button.js +37 -0
- package/build-module/menu/trigger-button.js.map +1 -0
- package/build-module/menu/types.js.map +1 -1
- package/build-module/navigation/back-button/index.js +1 -0
- package/build-module/navigation/back-button/index.js.map +1 -1
- package/build-module/navigation/index.js +6 -0
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/item/index.js +1 -0
- package/build-module/navigation/item/index.js.map +1 -1
- package/build-module/number-control/index.js +1 -0
- package/build-module/number-control/index.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/private-apis.js +3 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/radio-group/index.js +6 -0
- package/build-module/radio-group/index.js.map +1 -1
- package/build-module/radio-group/radio.js +1 -2
- package/build-module/radio-group/radio.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +28 -28
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/select-control/index.js +9 -0
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/types.js.map +1 -1
- package/build-module/slot-fill/context.js +5 -3
- package/build-module/slot-fill/context.js.map +1 -1
- package/build-module/slot-fill/fill.js +10 -15
- package/build-module/slot-fill/fill.js.map +1 -1
- package/build-module/slot-fill/provider.js +41 -55
- package/build-module/slot-fill/provider.js.map +1 -1
- package/build-module/slot-fill/slot.js +32 -24
- package/build-module/slot-fill/slot.js.map +1 -1
- package/build-module/slot-fill/types.js.map +1 -1
- package/build-module/tab-panel/index.js +1 -2
- package/build-module/tab-panel/index.js.map +1 -1
- package/build-module/tabs/index.js +21 -4
- package/build-module/tabs/index.js.map +1 -1
- package/build-module/tabs/types.js.map +1 -1
- package/build-module/text/hook.js +6 -6
- package/build-module/text/hook.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/as-radio-group.js +1 -2
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build-module/tooltip/index.js +1 -2
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tree-select/index.js +10 -2
- package/build-module/tree-select/index.js.map +1 -1
- package/build-module/tree-select/types.js.map +1 -1
- package/build-style/style-rtl.css +60 -13
- package/build-style/style.css +60 -13
- package/build-types/alignment-matrix-control/stories/index.story.d.ts +1 -1
- package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
- package/build-types/angle-picker-control/stories/index.story.d.ts +1 -1
- package/build-types/animate/stories/index.story.d.ts +7 -7
- package/build-types/animate/stories/index.story.d.ts.map +1 -1
- package/build-types/badge/index.d.ts +8 -0
- package/build-types/badge/index.d.ts.map +1 -0
- package/build-types/badge/stories/index.story.d.ts +17 -0
- package/build-types/badge/stories/index.story.d.ts.map +1 -0
- package/build-types/badge/test/index.d.ts +2 -0
- package/build-types/badge/test/index.d.ts.map +1 -0
- package/build-types/badge/types.d.ts +13 -0
- package/build-types/badge/types.d.ts.map +1 -0
- package/build-types/base-control/stories/index.story.d.ts +1 -1
- package/build-types/border-box-control/stories/index.story.d.ts +1 -1
- package/build-types/border-control/stories/index.story.d.ts +5 -5
- package/build-types/box-control/index.d.ts +1 -1
- package/build-types/box-control/index.d.ts.map +1 -1
- package/build-types/box-control/input-control.d.ts +1 -1
- package/build-types/box-control/input-control.d.ts.map +1 -1
- package/build-types/box-control/stories/index.story.d.ts +356 -11
- package/build-types/box-control/stories/index.story.d.ts.map +1 -1
- package/build-types/box-control/styles/box-control-styles.d.ts +2 -2
- package/build-types/box-control/types.d.ts +17 -0
- package/build-types/box-control/types.d.ts.map +1 -1
- package/build-types/box-control/utils.d.ts +27 -1
- package/build-types/box-control/utils.d.ts.map +1 -1
- package/build-types/button/stories/e2e/index.story.d.ts +1 -1
- package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
- package/build-types/button/stories/index.story.d.ts +7 -7
- package/build-types/button/stories/index.story.d.ts.map +1 -1
- package/build-types/button-group/index.d.ts +3 -1
- package/build-types/button-group/index.d.ts.map +1 -1
- package/build-types/button-group/stories/index.story.d.ts +6 -0
- package/build-types/button-group/stories/index.story.d.ts.map +1 -1
- package/build-types/button-group/types.d.ts +7 -0
- package/build-types/button-group/types.d.ts.map +1 -1
- package/build-types/circular-option-picker/stories/index.story.d.ts +5 -5
- package/build-types/circular-option-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/color-palette/stories/index.story.d.ts +3 -3
- package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +2 -2
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/combobox-control/stories/index.story.d.ts +4 -4
- package/build-types/confirm-dialog/stories/index.story.d.ts +2 -2
- package/build-types/confirm-dialog/stories/index.story.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/stories/index.story.d.ts +1 -1
- package/build-types/custom-gradient-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/custom-select-control/stories/index.story.d.ts +3 -3
- package/build-types/custom-select-control/stories/index.story.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/stories/index.story.d.ts +3 -3
- package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +1 -1
- package/build-types/date-time/date/index.d.ts.map +1 -1
- package/build-types/date-time/stories/time.story.d.ts +1 -1
- package/build-types/date-time/stories/time.story.d.ts.map +1 -1
- package/build-types/date-time/time/styles.d.ts +4 -4
- package/build-types/dimension-control/index.d.ts.map +1 -1
- package/build-types/dimension-control/stories/index.story.d.ts +1 -1
- package/build-types/disabled/stories/index.story.d.ts.map +1 -1
- package/build-types/drop-zone/stories/index.story.d.ts +1 -1
- package/build-types/drop-zone/stories/index.story.d.ts.map +1 -1
- package/build-types/duotone-picker/stories/duotone-picker.story.d.ts +1 -1
- package/build-types/duotone-picker/stories/duotone-picker.story.d.ts.map +1 -1
- package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts +3 -3
- package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts.map +1 -1
- package/build-types/focal-point-picker/stories/index.story.d.ts +4 -4
- package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +1 -1
- package/build-types/font-size-picker/styles.d.ts.map +1 -1
- package/build-types/form-file-upload/stories/index.story.d.ts +5 -5
- package/build-types/form-file-upload/stories/index.story.d.ts.map +1 -1
- package/build-types/gradient-picker/stories/index.story.d.ts +3 -3
- package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/guide/stories/index.story.d.ts +1 -1
- package/build-types/guide/stories/index.story.d.ts.map +1 -1
- package/build-types/icon/stories/index.story.d.ts +4 -4
- package/build-types/icon/stories/index.story.d.ts.map +1 -1
- package/build-types/input-control/index.d.ts +1 -0
- package/build-types/input-control/index.d.ts.map +1 -1
- package/build-types/input-control/stories/index.story.d.ts +7 -7
- package/build-types/input-control/stories/index.story.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +11 -2
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/keyboard-shortcuts/stories/index.story.d.ts +1 -1
- package/build-types/keyboard-shortcuts/stories/index.story.d.ts.map +1 -1
- package/build-types/menu/checkbox-item.d.ts.map +1 -1
- package/build-types/menu/index.d.ts +10 -1
- package/build-types/menu/index.d.ts.map +1 -1
- package/build-types/menu/item.d.ts.map +1 -1
- package/build-types/menu/popover.d.ts +3 -0
- package/build-types/menu/popover.d.ts.map +1 -0
- package/build-types/menu/radio-item.d.ts.map +1 -1
- package/build-types/menu/stories/index.story.d.ts +9 -9
- package/build-types/menu/stories/index.story.d.ts.map +1 -1
- package/build-types/menu/submenu-trigger-item.d.ts +3 -0
- package/build-types/menu/submenu-trigger-item.d.ts.map +1 -0
- package/build-types/menu/trigger-button.d.ts +3 -0
- package/build-types/menu/trigger-button.d.ts.map +1 -0
- package/build-types/menu/types.d.ts +208 -57
- package/build-types/menu/types.d.ts.map +1 -1
- package/build-types/menu-group/stories/index.story.d.ts +1 -1
- package/build-types/menu-group/stories/index.story.d.ts.map +1 -1
- package/build-types/menu-item/stories/index.story.d.ts +4 -4
- package/build-types/modal/stories/index.story.d.ts.map +1 -1
- package/build-types/navigation/back-button/index.d.ts.map +1 -1
- package/build-types/navigation/index.d.ts.map +1 -1
- package/build-types/navigation/item/index.d.ts.map +1 -1
- package/build-types/navigation/stories/index.story.d.ts +6 -6
- package/build-types/navigation/stories/index.story.d.ts.map +1 -1
- package/build-types/notice/stories/index.story.d.ts +4 -4
- package/build-types/notice/stories/index.story.d.ts.map +1 -1
- package/build-types/number-control/index.d.ts +1 -1
- package/build-types/number-control/index.d.ts.map +1 -1
- package/build-types/number-control/stories/index.story.d.ts +2 -2
- package/build-types/palette-edit/index.d.ts.map +1 -1
- package/build-types/palette-edit/stories/index.story.d.ts +2 -2
- package/build-types/palette-edit/stories/index.story.d.ts.map +1 -1
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/progress-bar/stories/index.story.d.ts +1 -1
- package/build-types/progress-bar/stories/index.story.d.ts.map +1 -1
- package/build-types/query-controls/stories/index.story.d.ts +1 -1
- package/build-types/query-controls/stories/index.story.d.ts.map +1 -1
- package/build-types/radio-group/index.d.ts.map +1 -1
- package/build-types/radio-group/radio.d.ts.map +1 -1
- package/build-types/range-control/index.d.ts +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/resizable-box/stories/index.story.d.ts +2 -2
- package/build-types/responsive-wrapper/stories/index.story.d.ts +1 -1
- package/build-types/responsive-wrapper/stories/index.story.d.ts.map +1 -1
- package/build-types/sandbox/stories/index.story.d.ts +1 -1
- package/build-types/sandbox/stories/index.story.d.ts.map +1 -1
- package/build-types/search-control/stories/index.story.d.ts +1 -1
- package/build-types/search-control/stories/index.story.d.ts.map +1 -1
- package/build-types/select-control/index.d.ts +1 -0
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/stories/index.story.d.ts +5 -5
- package/build-types/select-control/stories/index.story.d.ts.map +1 -1
- package/build-types/select-control/types.d.ts +1 -1
- package/build-types/select-control/types.d.ts.map +1 -1
- package/build-types/shortcut/stories/index.story.d.ts +1 -1
- package/build-types/shortcut/stories/index.story.d.ts.map +1 -1
- package/build-types/slot-fill/context.d.ts.map +1 -1
- package/build-types/slot-fill/fill.d.ts.map +1 -1
- package/build-types/slot-fill/provider.d.ts.map +1 -1
- package/build-types/slot-fill/slot.d.ts.map +1 -1
- package/build-types/slot-fill/types.d.ts +13 -11
- package/build-types/slot-fill/types.d.ts.map +1 -1
- package/build-types/tab-panel/index.d.ts.map +1 -1
- package/build-types/tab-panel/stories/index.story.d.ts +4 -4
- package/build-types/tab-panel/stories/index.story.d.ts.map +1 -1
- package/build-types/tabs/index.d.ts +21 -4
- package/build-types/tabs/index.d.ts.map +1 -1
- package/build-types/tabs/stories/index.story.d.ts +10 -10
- package/build-types/tabs/stories/index.story.d.ts.map +1 -1
- package/build-types/tabs/types.d.ts +13 -13
- package/build-types/tabs/types.d.ts.map +1 -1
- package/build-types/text/stories/index.story.d.ts +3 -3
- package/build-types/theme/stories/index.story.d.ts +1 -1
- package/build-types/toggle-control/stories/index.story.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
- package/build-types/toolbar/stories/index.story.d.ts +3 -3
- package/build-types/toolbar/stories/index.story.d.ts.map +1 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/tooltip/stories/index.story.d.ts +1 -1
- package/build-types/tooltip/stories/index.story.d.ts.map +1 -1
- package/build-types/tree-grid/stories/index.story.d.ts +1 -1
- package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
- package/build-types/tree-select/index.d.ts +3 -2
- package/build-types/tree-select/index.d.ts.map +1 -1
- package/build-types/tree-select/stories/index.story.d.ts +1 -1
- package/build-types/tree-select/stories/index.story.d.ts.map +1 -1
- package/build-types/tree-select/types.d.ts +5 -1
- package/build-types/tree-select/types.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
- package/build-types/v-stack/stories/index.story.d.ts +1 -1
- package/package.json +19 -19
- package/src/alignment-matrix-control/README.md +16 -15
- package/src/angle-picker-control/README.md +10 -9
- package/src/badge/README.md +24 -0
- package/src/badge/docs-manifest.json +5 -0
- package/src/badge/index.tsx +67 -0
- package/src/badge/stories/index.story.tsx +54 -0
- package/src/badge/styles.scss +49 -0
- package/src/badge/test/index.tsx +45 -0
- package/src/badge/types.ts +12 -0
- package/src/base-control/README.md +22 -21
- package/src/box-control/README.md +41 -24
- package/src/box-control/index.tsx +4 -0
- package/src/box-control/input-control.tsx +142 -40
- package/src/box-control/stories/index.story.tsx +12 -0
- package/src/box-control/types.ts +18 -0
- package/src/box-control/utils.ts +60 -0
- package/src/button/README.md +51 -50
- package/src/button/style.scss +9 -10
- package/src/button/test/index.tsx +9 -2
- package/src/button-group/README.md +4 -0
- package/src/button-group/index.tsx +11 -1
- package/src/button-group/stories/index.story.tsx +8 -1
- package/src/button-group/types.ts +7 -0
- package/src/custom-select-control/index.tsx +3 -3
- package/src/custom-select-control-v2/custom-select.tsx +1 -2
- package/src/custom-select-control-v2/stories/index.story.tsx +4 -0
- package/src/date-time/date/index.tsx +1 -0
- package/src/dimension-control/index.tsx +1 -0
- package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
- package/src/disabled/stories/index.story.tsx +1 -0
- package/src/drop-zone/stories/index.story.tsx +7 -1
- package/src/font-size-picker/styles.ts +1 -0
- package/src/form-file-upload/README.md +22 -21
- package/src/gradient-picker/README.md +36 -35
- package/src/heading/hook.ts +1 -1
- package/src/heading/test/__snapshots__/index.tsx.snap +4 -4
- package/src/icon/README.md +9 -8
- package/src/input-control/README.md +1 -0
- package/src/input-control/index.tsx +10 -0
- package/src/input-control/stories/index.story.tsx +6 -1
- package/src/input-control/test/index.js +9 -3
- package/src/input-control/types.ts +11 -2
- package/src/menu/checkbox-item.tsx +2 -1
- package/src/menu/index.tsx +61 -165
- package/src/menu/item.tsx +17 -2
- package/src/menu/popover.tsx +103 -0
- package/src/menu/radio-item.tsx +2 -1
- package/src/menu/stories/index.story.tsx +533 -381
- package/src/menu/submenu-trigger-item.tsx +61 -0
- package/src/menu/test/index.tsx +266 -182
- package/src/menu/trigger-button.tsx +46 -0
- package/src/menu/types.ts +210 -63
- package/src/modal/stories/index.story.tsx +4 -1
- package/src/navigation/back-button/index.tsx +1 -0
- package/src/navigation/index.tsx +7 -0
- package/src/navigation/item/index.tsx +2 -0
- package/src/navigation/test/index.tsx +4 -0
- package/src/navigator/test/index.tsx +4 -0
- package/src/number-control/index.tsx +1 -0
- package/src/palette-edit/index.tsx +1 -0
- package/src/panel/stories/index.story.tsx +3 -3
- package/src/private-apis.ts +2 -0
- package/src/radio-group/index.tsx +12 -1
- package/src/radio-group/radio.tsx +1 -2
- package/src/range-control/styles/range-control-styles.ts +8 -4
- package/src/select-control/README.md +3 -0
- package/src/select-control/index.tsx +10 -0
- package/src/select-control/stories/index.story.tsx +2 -0
- package/src/select-control/test/select-control.tsx +7 -1
- package/src/select-control/types.ts +1 -0
- package/src/slot-fill/context.ts +5 -3
- package/src/slot-fill/fill.ts +10 -15
- package/src/slot-fill/provider.tsx +63 -64
- package/src/slot-fill/slot.tsx +40 -27
- package/src/slot-fill/types.ts +23 -11
- package/src/style.scss +1 -0
- package/src/tab-panel/index.tsx +1 -2
- package/src/tab-panel/stories/index.story.tsx +4 -0
- package/src/tabs/README.md +151 -187
- package/src/tabs/docs-manifest.json +22 -0
- package/src/tabs/index.tsx +21 -4
- package/src/tabs/stories/best-practices.mdx +99 -0
- package/src/tabs/stories/index.story.tsx +5 -0
- package/src/tabs/types.ts +13 -14
- package/src/text/hook.ts +2 -2
- package/src/text/styles.ts +1 -1
- package/src/text/test/__snapshots__/index.tsx.snap +3 -3
- package/src/text/test/index.tsx +1 -1
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +2 -2
- package/src/toggle-group-control/test/index.tsx +7 -1
- package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +1 -2
- package/src/tooltip/index.tsx +1 -2
- package/src/tree-grid/stories/index.story.tsx +2 -0
- package/src/tree-select/README.md +144 -28
- package/src/tree-select/docs-manifest.json +5 -0
- package/src/tree-select/index.tsx +11 -2
- package/src/tree-select/stories/index.story.tsx +1 -0
- package/src/tree-select/types.ts +8 -1
- package/tsconfig.json +0 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/build/slot-fill/use-slot.js +0 -32
- package/build/slot-fill/use-slot.js.map +0 -1
- package/build-module/slot-fill/use-slot.js +0 -24
- package/build-module/slot-fill/use-slot.js.map +0 -1
- package/build-types/slot-fill/use-slot.d.ts +0 -10
- package/build-types/slot-fill/use-slot.d.ts.map +0 -1
- package/src/slot-fill/use-slot.ts +0 -27
package/src/tabs/types.ts
CHANGED
|
@@ -22,18 +22,16 @@ export type TabsProps = {
|
|
|
22
22
|
* `Tabs.Tablist` component and as many instances of the `Tabs.TabPanel`
|
|
23
23
|
* components as there are `Tabs.Tab` components.
|
|
24
24
|
*/
|
|
25
|
-
children: Ariakit.
|
|
25
|
+
children: Ariakit.TabProviderProps[ 'children' ];
|
|
26
26
|
/**
|
|
27
27
|
* Determines if the tab should be selected when it receives focus. If set to
|
|
28
28
|
* `false`, the tab will only be selected upon clicking, not when using arrow
|
|
29
|
-
* keys to shift focus (manual tab activation). See the official W3C docs
|
|
29
|
+
* keys to shift focus (manual tab activation). See the [official W3C docs](https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/)
|
|
30
30
|
* for more info.
|
|
31
31
|
*
|
|
32
32
|
* @default true
|
|
33
|
-
*
|
|
34
|
-
* @see https://www.w3.org/WAI/ARIA/apg/patterns/tabpanel/
|
|
35
33
|
*/
|
|
36
|
-
selectOnMove?: Ariakit.
|
|
34
|
+
selectOnMove?: Ariakit.TabProviderProps[ 'selectOnMove' ];
|
|
37
35
|
/**
|
|
38
36
|
* The id of the tab whose panel is currently visible.
|
|
39
37
|
*
|
|
@@ -44,7 +42,7 @@ export type TabsProps = {
|
|
|
44
42
|
* in "controlled" mode. When in "controlled" mode, the `null` value will
|
|
45
43
|
* result in no tabs being selected, and the tablist becoming tabbable.
|
|
46
44
|
*/
|
|
47
|
-
selectedTabId?: Ariakit.
|
|
45
|
+
selectedTabId?: Ariakit.TabProviderProps[ 'selectedId' ];
|
|
48
46
|
/**
|
|
49
47
|
* The id of the tab whose panel is currently visible.
|
|
50
48
|
*
|
|
@@ -55,21 +53,22 @@ export type TabsProps = {
|
|
|
55
53
|
* Note: this prop will be overridden by the `selectedTabId` prop if it is
|
|
56
54
|
* provided (meaning the component will be used in "controlled" mode).
|
|
57
55
|
*/
|
|
58
|
-
defaultTabId?: Ariakit.
|
|
56
|
+
defaultTabId?: Ariakit.TabProviderProps[ 'defaultSelectedId' ];
|
|
59
57
|
/**
|
|
60
58
|
* The function called when the `selectedTabId` changes.
|
|
61
59
|
*/
|
|
62
|
-
onSelect?: Ariakit.
|
|
60
|
+
onSelect?: Ariakit.TabProviderProps[ 'setSelectedId' ];
|
|
63
61
|
/**
|
|
64
62
|
* The current active tab `id`. The active tab is the tab element within the
|
|
65
63
|
* tablist widget that has DOM focus.
|
|
64
|
+
*
|
|
66
65
|
* - `null` represents the tablist (ie. the base composite element). Users
|
|
67
66
|
* will be able to navigate out of it using arrow keys.
|
|
68
67
|
* - If `activeTabId` is initially set to `null`, the base composite element
|
|
69
68
|
* itself will have focus and users will be able to navigate to it using
|
|
70
|
-
* arrow keys.
|
|
69
|
+
* arrow keys.
|
|
71
70
|
*/
|
|
72
|
-
activeTabId?: Ariakit.
|
|
71
|
+
activeTabId?: Ariakit.TabProviderProps[ 'activeId' ];
|
|
73
72
|
/**
|
|
74
73
|
* The tab id that should be active by default when the composite widget is
|
|
75
74
|
* rendered. If `null`, the tablist element itself will have focus
|
|
@@ -79,21 +78,22 @@ export type TabsProps = {
|
|
|
79
78
|
* Note: this prop will be overridden by the `activeTabId` prop if it is
|
|
80
79
|
* provided.
|
|
81
80
|
*/
|
|
82
|
-
defaultActiveTabId?: Ariakit.
|
|
81
|
+
defaultActiveTabId?: Ariakit.TabProviderProps[ 'defaultActiveId' ];
|
|
83
82
|
/**
|
|
84
83
|
* A callback that gets called when the `activeTabId` state changes.
|
|
85
84
|
*/
|
|
86
|
-
onActiveTabIdChange?: Ariakit.
|
|
85
|
+
onActiveTabIdChange?: Ariakit.TabProviderProps[ 'setActiveId' ];
|
|
87
86
|
/**
|
|
88
87
|
* Defines the orientation of the tablist and determines which arrow keys
|
|
89
88
|
* can be used to move focus:
|
|
89
|
+
*
|
|
90
90
|
* - `both`: all arrow keys work.
|
|
91
91
|
* - `horizontal`: only left and right arrow keys work.
|
|
92
92
|
* - `vertical`: only up and down arrow keys work.
|
|
93
93
|
*
|
|
94
94
|
* @default "horizontal"
|
|
95
95
|
*/
|
|
96
|
-
orientation?: Ariakit.
|
|
96
|
+
orientation?: Ariakit.TabProviderProps[ 'orientation' ];
|
|
97
97
|
};
|
|
98
98
|
|
|
99
99
|
export type TabListProps = {
|
|
@@ -105,7 +105,6 @@ export type TabListProps = {
|
|
|
105
105
|
};
|
|
106
106
|
|
|
107
107
|
// TODO: consider prop name changes (tabId, selectedTabId)
|
|
108
|
-
// switch to auto-generated README
|
|
109
108
|
// compound technique
|
|
110
109
|
|
|
111
110
|
export type TabProps = {
|
package/src/text/hook.ts
CHANGED
|
@@ -105,8 +105,8 @@ export default function useText(
|
|
|
105
105
|
getOptimalTextShade( optimizeReadabilityFor ) === 'dark';
|
|
106
106
|
|
|
107
107
|
sx.optimalTextColor = isOptimalTextColorDark
|
|
108
|
-
? css( { color: COLORS.
|
|
109
|
-
: css( { color: COLORS.
|
|
108
|
+
? css( { color: COLORS.theme.foreground } )
|
|
109
|
+
: css( { color: COLORS.theme.foregroundInverted } );
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
return cx(
|
package/src/text/styles.ts
CHANGED
|
@@ -9,7 +9,7 @@ import { css } from '@emotion/react';
|
|
|
9
9
|
import { COLORS, CONFIG } from '../utils';
|
|
10
10
|
|
|
11
11
|
export const Text = css`
|
|
12
|
-
color: ${ COLORS.
|
|
12
|
+
color: ${ COLORS.theme.foreground };
|
|
13
13
|
line-height: ${ CONFIG.fontLineHeightBase };
|
|
14
14
|
margin: 0;
|
|
15
15
|
text-wrap: balance; /* Fallback for Safari. */
|
|
@@ -6,7 +6,7 @@ Snapshot Diff:
|
|
|
6
6
|
+ Base styles
|
|
7
7
|
|
|
8
8
|
@@ -3,8 +3,9 @@
|
|
9
|
-
"color": "#1e1e1e",
|
|
9
|
+
"color": "var(--wp-components-color-foreground, #1e1e1e)",
|
|
10
10
|
"font-size": "calc((13 / 13) * 13px)",
|
|
11
11
|
"font-weight": "normal",
|
|
12
12
|
"line-height": "1.4",
|
|
@@ -19,7 +19,7 @@ Snapshot Diff:
|
|
|
19
19
|
|
|
20
20
|
exports[`Text should render highlighted words with highlightCaseSensitive 1`] = `
|
|
21
21
|
.emotion-0 {
|
|
22
|
-
color: #1e1e1e;
|
|
22
|
+
color: var(--wp-components-color-foreground, #1e1e1e);
|
|
23
23
|
line-height: 1.4;
|
|
24
24
|
margin: 0;
|
|
25
25
|
text-wrap: balance;
|
|
@@ -52,7 +52,7 @@ exports[`Text should render highlighted words with highlightCaseSensitive 1`] =
|
|
|
52
52
|
|
|
53
53
|
exports[`Text snapshot tests should render correctly 1`] = `
|
|
54
54
|
.emotion-0 {
|
|
55
|
-
color: #1e1e1e;
|
|
55
|
+
color: var(--wp-components-color-foreground, #1e1e1e);
|
|
56
56
|
line-height: 1.4;
|
|
57
57
|
margin: 0;
|
|
58
58
|
text-wrap: balance;
|
package/src/text/test/index.tsx
CHANGED
|
@@ -357,7 +357,7 @@ exports[`ToggleGroupControl controlled should render correctly with icons 1`] =
|
|
|
357
357
|
</div>
|
|
358
358
|
</div>
|
|
359
359
|
<button
|
|
360
|
-
class="components-button"
|
|
360
|
+
class="components-button is-next-40px-default-size"
|
|
361
361
|
type="button"
|
|
362
362
|
>
|
|
363
363
|
Reset
|
|
@@ -626,7 +626,7 @@ exports[`ToggleGroupControl controlled should render correctly with text options
|
|
|
626
626
|
</div>
|
|
627
627
|
</div>
|
|
628
628
|
<button
|
|
629
|
-
class="components-button"
|
|
629
|
+
class="components-button is-next-40px-default-size"
|
|
630
630
|
type="button"
|
|
631
631
|
>
|
|
632
632
|
Reset
|
|
@@ -57,9 +57,15 @@ const ControlledToggleGroupControl = ( {
|
|
|
57
57
|
} }
|
|
58
58
|
value={ value }
|
|
59
59
|
/>
|
|
60
|
-
<Button
|
|
60
|
+
<Button
|
|
61
|
+
onClick={ () => setValue( undefined ) }
|
|
62
|
+
__next40pxDefaultSize
|
|
63
|
+
>
|
|
64
|
+
Reset
|
|
65
|
+
</Button>
|
|
61
66
|
{ extraButtonOptions?.map( ( obj ) => (
|
|
62
67
|
<Button
|
|
68
|
+
__next40pxDefaultSize
|
|
63
69
|
key={ obj.value }
|
|
64
70
|
onClick={ () => setValue( obj.value ) }
|
|
65
71
|
>
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { ForwardedRef } from 'react';
|
|
5
5
|
import * as Ariakit from '@ariakit/react';
|
|
6
|
-
import { useStoreState } from '@ariakit/react';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* WordPress dependencies
|
|
@@ -70,7 +69,7 @@ function UnforwardedToggleGroupControlAsRadioGroup(
|
|
|
70
69
|
rtl: isRTL(),
|
|
71
70
|
} );
|
|
72
71
|
|
|
73
|
-
const selectedValue = useStoreState( radio, 'value' );
|
|
72
|
+
const selectedValue = Ariakit.useStoreState( radio, 'value' );
|
|
74
73
|
const setValue = radio.setValue;
|
|
75
74
|
|
|
76
75
|
// Ensures that the active id is also reset after the value is "reset" by the consumer.
|
package/src/tooltip/index.tsx
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import * as Ariakit from '@ariakit/react';
|
|
5
|
-
import { useStoreState } from '@ariakit/react';
|
|
6
5
|
import clsx from 'clsx';
|
|
7
6
|
|
|
8
7
|
/**
|
|
@@ -94,7 +93,7 @@ function UnforwardedTooltip(
|
|
|
94
93
|
placement: computedPlacement,
|
|
95
94
|
showTimeout: delay,
|
|
96
95
|
} );
|
|
97
|
-
const mounted = useStoreState( tooltipStore, 'mounted' );
|
|
96
|
+
const mounted = Ariakit.useStoreState( tooltipStore, 'mounted' );
|
|
98
97
|
|
|
99
98
|
if ( isNestedInTooltip ) {
|
|
100
99
|
return isOnlyChild ? (
|
|
@@ -111,6 +111,7 @@ const Rows = ( {
|
|
|
111
111
|
label="Description"
|
|
112
112
|
hideLabelFromVision
|
|
113
113
|
placeholder="Description"
|
|
114
|
+
__next40pxDefaultSize
|
|
114
115
|
{ ...props }
|
|
115
116
|
/>
|
|
116
117
|
) }
|
|
@@ -121,6 +122,7 @@ const Rows = ( {
|
|
|
121
122
|
label="Notes"
|
|
122
123
|
hideLabelFromVision
|
|
123
124
|
placeholder="Notes"
|
|
125
|
+
__next40pxDefaultSize
|
|
124
126
|
{ ...props }
|
|
125
127
|
/>
|
|
126
128
|
) }
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# TreeSelect
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
<!-- This file is generated automatically and cannot be edited directly. Make edits via TypeScript types and TSDocs. -->
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<p class="callout callout-info">See the <a href="https://wordpress.github.io/gutenberg/?path=/docs/components-treeselect--docs">WordPress Storybook</a> for more detailed, interactive documentation.</p>
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Generates a hierarchical select input.
|
|
8
8
|
|
|
9
9
|
```jsx
|
|
10
10
|
import { useState } from 'react';
|
|
@@ -15,7 +15,8 @@ const MyTreeSelect = () => {
|
|
|
15
15
|
|
|
16
16
|
return (
|
|
17
17
|
<TreeSelect
|
|
18
|
-
|
|
18
|
+
__nextHasNoMarginBottom
|
|
19
|
+
__next40pxDefaultSize
|
|
19
20
|
label="Parent page"
|
|
20
21
|
noOptionLabel="No parent page"
|
|
21
22
|
onChange={ ( newPage ) => setPage( newPage ) }
|
|
@@ -53,48 +54,163 @@ const MyTreeSelect = () => {
|
|
|
53
54
|
|
|
54
55
|
## Props
|
|
55
56
|
|
|
56
|
-
|
|
57
|
-
Props not included in this set will be applied to the SelectControl component being used.
|
|
57
|
+
### `__next40pxDefaultSize`
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
- Type: `boolean`
|
|
60
|
+
- Required: No
|
|
61
|
+
- Default: `false`
|
|
62
|
+
|
|
63
|
+
Start opting into the larger default height that will become the default size in a future version.
|
|
64
|
+
|
|
65
|
+
### `__nextHasNoMarginBottom`
|
|
66
|
+
|
|
67
|
+
- Type: `boolean`
|
|
68
|
+
- Required: No
|
|
69
|
+
- Default: `false`
|
|
70
|
+
|
|
71
|
+
Start opting into the new margin-free styles that will become the default in a future version.
|
|
72
|
+
|
|
73
|
+
### `children`
|
|
74
|
+
|
|
75
|
+
- Type: `ReactNode`
|
|
76
|
+
- Required: No
|
|
77
|
+
|
|
78
|
+
As an alternative to the `options` prop, `optgroup`s and `options` can be
|
|
79
|
+
passed in as `children` for more customizability.
|
|
80
|
+
|
|
81
|
+
### `disabled`
|
|
82
|
+
|
|
83
|
+
- Type: `boolean`
|
|
84
|
+
- Required: No
|
|
85
|
+
- Default: `false`
|
|
86
|
+
|
|
87
|
+
If true, the `input` will be disabled.
|
|
88
|
+
|
|
89
|
+
### `hideLabelFromVision`
|
|
90
|
+
|
|
91
|
+
- Type: `boolean`
|
|
92
|
+
- Required: No
|
|
93
|
+
- Default: `false`
|
|
94
|
+
|
|
95
|
+
If true, the label will only be visible to screen readers.
|
|
96
|
+
|
|
97
|
+
### `help`
|
|
98
|
+
|
|
99
|
+
- Type: `ReactNode`
|
|
100
|
+
- Required: No
|
|
101
|
+
|
|
102
|
+
Additional description for the control.
|
|
103
|
+
|
|
104
|
+
Only use for meaningful description or instructions for the control. An element containing the description will be programmatically associated to the BaseControl by the means of an `aria-describedby` attribute.
|
|
105
|
+
|
|
106
|
+
### `label`
|
|
107
|
+
|
|
108
|
+
- Type: `ReactNode`
|
|
109
|
+
- Required: No
|
|
60
110
|
|
|
61
111
|
If this property is added, a label will be generated using label property as the content.
|
|
62
112
|
|
|
63
|
-
|
|
64
|
-
|
|
113
|
+
### `labelPosition`
|
|
114
|
+
|
|
115
|
+
- Type: `"top" | "bottom" | "side" | "edge"`
|
|
116
|
+
- Required: No
|
|
117
|
+
- Default: `'top'`
|
|
118
|
+
|
|
119
|
+
The position of the label.
|
|
120
|
+
|
|
121
|
+
### `noOptionLabel`
|
|
65
122
|
|
|
66
|
-
|
|
123
|
+
- Type: `string`
|
|
124
|
+
- Required: No
|
|
67
125
|
|
|
68
126
|
If this property is added, an option will be added with this label to represent empty selection.
|
|
69
127
|
|
|
70
|
-
|
|
71
|
-
- Required: No
|
|
128
|
+
### `onChange`
|
|
72
129
|
|
|
73
|
-
|
|
130
|
+
- Type: `(value: string, extra?: { event?: ChangeEvent<HTMLSelectElement>; }) => void`
|
|
131
|
+
- Required: No
|
|
74
132
|
|
|
75
|
-
A function that receives the
|
|
133
|
+
A function that receives the value of the new option that is being selected as input.
|
|
76
134
|
|
|
77
|
-
|
|
78
|
-
- Required: Yes
|
|
135
|
+
### `options`
|
|
79
136
|
|
|
80
|
-
|
|
137
|
+
- Type: `readonly ({ label: string; value: string; } & Omit<OptionHTMLAttributes<HTMLOptionElement>, "label" | "value">)[]`
|
|
138
|
+
- Required: No
|
|
139
|
+
|
|
140
|
+
An array of option property objects to be rendered,
|
|
141
|
+
each with a `label` and `value` property, as well as any other
|
|
142
|
+
`<option>` attributes.
|
|
143
|
+
|
|
144
|
+
### `prefix`
|
|
145
|
+
|
|
146
|
+
- Type: `ReactNode`
|
|
147
|
+
- Required: No
|
|
148
|
+
|
|
149
|
+
Renders an element on the left side of the input.
|
|
150
|
+
|
|
151
|
+
By default, the prefix is aligned with the edge of the input border, with no padding.
|
|
152
|
+
If you want to apply standard padding in accordance with the size variant, wrap the element in
|
|
153
|
+
the provided `<InputControlPrefixWrapper>` component.
|
|
154
|
+
|
|
155
|
+
```jsx
|
|
156
|
+
import {
|
|
157
|
+
__experimentalInputControl as InputControl,
|
|
158
|
+
__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,
|
|
159
|
+
} from '@wordpress/components';
|
|
160
|
+
|
|
161
|
+
<InputControl
|
|
162
|
+
prefix={<InputControlPrefixWrapper>@</InputControlPrefixWrapper>}
|
|
163
|
+
/>
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
### `selectedId`
|
|
167
|
+
|
|
168
|
+
- Type: `string`
|
|
169
|
+
- Required: No
|
|
81
170
|
|
|
82
171
|
The id of the currently selected node.
|
|
83
172
|
|
|
84
|
-
|
|
85
|
-
- Required: No
|
|
173
|
+
### `size`
|
|
86
174
|
|
|
87
|
-
|
|
175
|
+
- Type: `"default" | "small" | "compact" | "__unstable-large"`
|
|
176
|
+
- Required: No
|
|
177
|
+
- Default: `'default'`
|
|
88
178
|
|
|
89
|
-
|
|
179
|
+
Adjusts the size of the input.
|
|
90
180
|
|
|
91
|
-
|
|
92
|
-
- Required: No
|
|
181
|
+
### `suffix`
|
|
93
182
|
|
|
94
|
-
|
|
183
|
+
- Type: `ReactNode`
|
|
184
|
+
- Required: No
|
|
95
185
|
|
|
96
|
-
|
|
186
|
+
Renders an element on the right side of the input.
|
|
187
|
+
|
|
188
|
+
By default, the suffix is aligned with the edge of the input border, with no padding.
|
|
189
|
+
If you want to apply standard padding in accordance with the size variant, wrap the element in
|
|
190
|
+
the provided `<InputControlSuffixWrapper>` component.
|
|
191
|
+
|
|
192
|
+
```jsx
|
|
193
|
+
import {
|
|
194
|
+
__experimentalInputControl as InputControl,
|
|
195
|
+
__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,
|
|
196
|
+
} from '@wordpress/components';
|
|
197
|
+
|
|
198
|
+
<InputControl
|
|
199
|
+
suffix={<InputControlSuffixWrapper>%</InputControlSuffixWrapper>}
|
|
200
|
+
/>
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### `tree`
|
|
204
|
+
|
|
205
|
+
- Type: `Tree[]`
|
|
206
|
+
- Required: No
|
|
207
|
+
|
|
208
|
+
An array containing the tree objects with the possible nodes the user can select.
|
|
209
|
+
|
|
210
|
+
### `variant`
|
|
211
|
+
|
|
212
|
+
- Type: `"default" | "minimal"`
|
|
213
|
+
- Required: No
|
|
214
|
+
- Default: `'default'`
|
|
97
215
|
|
|
98
|
-
|
|
99
|
-
- Required: No
|
|
100
|
-
- Default: `false`
|
|
216
|
+
The style variant of the control.
|
|
@@ -11,6 +11,7 @@ import { SelectControl } from '../select-control';
|
|
|
11
11
|
import type { TreeSelectProps, Tree, Truthy } from './types';
|
|
12
12
|
import { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';
|
|
13
13
|
import { ContextSystemProvider } from '../context';
|
|
14
|
+
import { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';
|
|
14
15
|
|
|
15
16
|
const CONTEXT_VALUE = {
|
|
16
17
|
BaseControl: {
|
|
@@ -35,11 +36,11 @@ function getSelectOptions(
|
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
/**
|
|
38
|
-
*
|
|
39
|
+
* Generates a hierarchical select input.
|
|
39
40
|
*
|
|
40
41
|
* ```jsx
|
|
42
|
+
* import { useState } from 'react';
|
|
41
43
|
* import { TreeSelect } from '@wordpress/components';
|
|
42
|
-
* import { useState } from '@wordpress/element';
|
|
43
44
|
*
|
|
44
45
|
* const MyTreeSelect = () => {
|
|
45
46
|
* const [ page, setPage ] = useState( 'p21' );
|
|
@@ -47,6 +48,7 @@ function getSelectOptions(
|
|
|
47
48
|
* return (
|
|
48
49
|
* <TreeSelect
|
|
49
50
|
* __nextHasNoMarginBottom
|
|
51
|
+
* __next40pxDefaultSize
|
|
50
52
|
* label="Parent page"
|
|
51
53
|
* noOptionLabel="No parent page"
|
|
52
54
|
* onChange={ ( newPage ) => setPage( newPage ) }
|
|
@@ -99,9 +101,16 @@ export function TreeSelect( props: TreeSelectProps ) {
|
|
|
99
101
|
].filter( < T, >( option: T ): option is Truthy< T > => !! option );
|
|
100
102
|
}, [ noOptionLabel, tree ] );
|
|
101
103
|
|
|
104
|
+
maybeWarnDeprecated36pxSize( {
|
|
105
|
+
componentName: 'TreeSelect',
|
|
106
|
+
size: restProps.size,
|
|
107
|
+
__next40pxDefaultSize: restProps.__next40pxDefaultSize,
|
|
108
|
+
} );
|
|
109
|
+
|
|
102
110
|
return (
|
|
103
111
|
<ContextSystemProvider value={ CONTEXT_VALUE }>
|
|
104
112
|
<SelectControl
|
|
113
|
+
__shouldNotWarnDeprecated36pxSize
|
|
105
114
|
{ ...{ label, options, onChange } }
|
|
106
115
|
value={ selectedId }
|
|
107
116
|
{ ...restProps }
|
|
@@ -50,6 +50,7 @@ const TreeSelectWithState: StoryFn< typeof TreeSelect > = ( props ) => {
|
|
|
50
50
|
export const Default = TreeSelectWithState.bind( {} );
|
|
51
51
|
Default.args = {
|
|
52
52
|
__nextHasNoMarginBottom: true,
|
|
53
|
+
__next40pxDefaultSize: true,
|
|
53
54
|
label: 'Label Text',
|
|
54
55
|
noOptionLabel: 'No parent page',
|
|
55
56
|
help: 'Help text to explain the select control.',
|
package/src/tree-select/types.ts
CHANGED
|
@@ -16,11 +16,18 @@ export interface Tree {
|
|
|
16
16
|
// `TreeSelect` inherits props from `SelectControl`, but only
|
|
17
17
|
// in single selection mode (ie. when the `multiple` prop is not defined).
|
|
18
18
|
export interface TreeSelectProps
|
|
19
|
-
extends Omit<
|
|
19
|
+
extends Omit<
|
|
20
|
+
SelectControlSingleSelectionProps,
|
|
21
|
+
'value' | 'multiple' | 'onChange'
|
|
22
|
+
> {
|
|
20
23
|
/**
|
|
21
24
|
* If this property is added, an option will be added with this label to represent empty selection.
|
|
22
25
|
*/
|
|
23
26
|
noOptionLabel?: string;
|
|
27
|
+
/**
|
|
28
|
+
* A function that receives the value of the new option that is being selected as input.
|
|
29
|
+
*/
|
|
30
|
+
onChange?: SelectControlSingleSelectionProps[ 'onChange' ];
|
|
24
31
|
/**
|
|
25
32
|
* An array containing the tree objects with the possible nodes the user can select.
|
|
26
33
|
*/
|
package/tsconfig.json
CHANGED
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
"$schema": "https://json.schemastore.org/tsconfig.json",
|
|
3
3
|
"extends": "../../tsconfig.base.json",
|
|
4
4
|
"compilerOptions": {
|
|
5
|
-
"rootDir": "src",
|
|
6
|
-
"declarationDir": "build-types",
|
|
7
5
|
"types": [
|
|
8
6
|
"gutenberg-env",
|
|
9
7
|
"gutenberg-test-env",
|
|
@@ -31,7 +29,6 @@
|
|
|
31
29
|
{ "path": "../rich-text" },
|
|
32
30
|
{ "path": "../warning" }
|
|
33
31
|
],
|
|
34
|
-
"include": [ "src/**/*" ],
|
|
35
32
|
"exclude": [
|
|
36
33
|
"src/**/*.android.js",
|
|
37
34
|
"src/**/*.ios.js",
|