@wordpress/components 28.6.0 → 28.7.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 +77 -0
- package/CONTRIBUTING.md +42 -19
- package/build/alignment-matrix-control/cell.js +4 -7
- package/build/alignment-matrix-control/cell.js.map +1 -1
- package/build/alignment-matrix-control/icon.js +31 -19
- package/build/alignment-matrix-control/icon.js.map +1 -1
- package/build/alignment-matrix-control/index.js +55 -51
- package/build/alignment-matrix-control/index.js.map +1 -1
- package/build/alignment-matrix-control/styles.js +73 -0
- package/build/alignment-matrix-control/styles.js.map +1 -0
- package/build/alignment-matrix-control/types.js.map +1 -1
- package/build/angle-picker-control/angle-circle.js +9 -9
- package/build/angle-picker-control/angle-circle.js.map +1 -1
- package/build/border-control/border-control/component.js +18 -13
- package/build/border-control/border-control/component.js.map +1 -1
- package/build/circular-option-picker/circular-option-picker-option.js +15 -9
- package/build/circular-option-picker/circular-option-picker-option.js.map +1 -1
- package/build/circular-option-picker/circular-option-picker.js +15 -12
- package/build/circular-option-picker/circular-option-picker.js.map +1 -1
- package/build/circular-option-picker/types.js.map +1 -1
- package/build/clipboard-button/index.js +6 -6
- package/build/clipboard-button/index.js.map +1 -1
- package/build/color-palette/utils.js +1 -2
- package/build/color-palette/utils.js.map +1 -1
- package/build/color-picker/color-copy-button.js +8 -8
- package/build/color-picker/color-copy-button.js.map +1 -1
- package/build/color-picker/hex-input.js +8 -8
- package/build/color-picker/hex-input.js.map +1 -1
- package/build/color-picker/input-with-slider.js +8 -8
- package/build/color-picker/input-with-slider.js.map +1 -1
- package/build/color-picker/styles.js +8 -8
- package/build/color-picker/styles.js.map +1 -1
- package/build/combobox-control/types.js.map +1 -1
- package/build/composite/group-label.js +33 -0
- package/build/composite/group-label.js.map +1 -0
- package/build/composite/group.js +33 -0
- package/build/composite/group.js.map +1 -0
- package/build/composite/hover.js +33 -0
- package/build/composite/hover.js.map +1 -0
- package/build/composite/index.js +50 -96
- package/build/composite/index.js.map +1 -1
- package/build/composite/item.js +33 -0
- package/build/composite/item.js.map +1 -0
- package/build/composite/legacy/index.js +2 -1
- package/build/composite/legacy/index.js.map +1 -1
- package/build/composite/row.js +33 -0
- package/build/composite/row.js.map +1 -0
- package/build/composite/store.js +54 -0
- package/build/composite/store.js.map +1 -0
- package/build/composite/typeahead.js +33 -0
- package/build/composite/typeahead.js.map +1 -0
- package/build/composite/types.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/control-points.js +8 -8
- package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build/custom-select-control-v2/styles.js +12 -14
- package/build/custom-select-control-v2/styles.js.map +1 -1
- package/build/date-time/date/styles.js +8 -8
- package/build/date-time/date/styles.js.map +1 -1
- package/build/date-time/time/time-input/index.js +17 -19
- package/build/date-time/time/time-input/index.js.map +1 -1
- package/build/dimension-control/index.js +6 -1
- package/build/dimension-control/index.js.map +1 -1
- package/build/draggable/index.js +4 -4
- package/build/draggable/index.js.map +1 -1
- package/build/dropdown-menu-v2/checkbox-item.js +69 -0
- package/build/dropdown-menu-v2/checkbox-item.js.map +1 -0
- package/build/dropdown-menu-v2/context.js +17 -0
- package/build/dropdown-menu-v2/context.js.map +1 -0
- package/build/dropdown-menu-v2/group-label.js +40 -0
- package/build/dropdown-menu-v2/group-label.js.map +1 -0
- package/build/dropdown-menu-v2/group.js +29 -0
- package/build/dropdown-menu-v2/group.js.map +1 -0
- package/build/dropdown-menu-v2/index.js +58 -146
- package/build/dropdown-menu-v2/index.js.map +1 -1
- package/build/dropdown-menu-v2/item-help-text.js +27 -0
- package/build/dropdown-menu-v2/item-help-text.js.map +1 -0
- package/build/dropdown-menu-v2/item-label.js +27 -0
- package/build/dropdown-menu-v2/item-label.js.map +1 -0
- package/build/dropdown-menu-v2/item.js +53 -0
- package/build/dropdown-menu-v2/item.js.map +1 -0
- package/build/dropdown-menu-v2/radio-item.js +79 -0
- package/build/dropdown-menu-v2/radio-item.js.map +1 -0
- package/build/dropdown-menu-v2/separator.js +30 -0
- package/build/dropdown-menu-v2/separator.js.map +1 -0
- package/build/dropdown-menu-v2/styles.js +54 -78
- package/build/dropdown-menu-v2/styles.js.map +1 -1
- package/build/dropdown-menu-v2/types.js.map +1 -1
- package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js +27 -0
- package/build/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
- package/build/focal-point-picker/styles/focal-point-style.js +7 -2
- package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build/form-token-field/types.js.map +1 -1
- package/build/index.js +6 -0
- package/build/index.js.map +1 -1
- package/build/input-control/index.js +2 -2
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/input-base.js +5 -10
- package/build/input-control/input-base.js.map +1 -1
- package/build/input-control/input-prefix-wrapper.js +3 -3
- package/build/input-control/input-prefix-wrapper.js.map +1 -1
- package/build/input-control/input-suffix-wrapper.js +2 -3
- package/build/input-control/input-suffix-wrapper.js.map +1 -1
- package/build/input-control/reducer/reducer.js +8 -8
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +75 -45
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/input-control/types.js.map +1 -1
- package/build/input-control/utils.js +3 -3
- package/build/input-control/utils.js.map +1 -1
- package/build/item-group/styles.js +10 -10
- package/build/item-group/styles.js.map +1 -1
- package/build/modal/index.js +5 -5
- package/build/modal/index.js.map +1 -1
- package/build/navigation/index.js +4 -4
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/styles/navigation-styles.js +13 -13
- package/build/navigation/styles/navigation-styles.js.map +1 -1
- package/build/navigator/index.js +12 -13
- package/build/navigator/index.js.map +1 -1
- package/build/navigator/navigator-back-button/hook.js +2 -2
- package/build/navigator/navigator-back-button/hook.js.map +1 -1
- package/build/navigator/navigator-button/hook.js +2 -2
- package/build/navigator/navigator-button/hook.js.map +1 -1
- package/build/navigator/navigator-provider/component.js +99 -67
- package/build/navigator/navigator-provider/component.js.map +1 -1
- package/build/navigator/navigator-to-parent-button/component.js +2 -2
- package/build/navigator/navigator-to-parent-button/component.js.map +1 -1
- package/build/navigator/types.js.map +1 -1
- package/build/navigator/use-navigator.js +1 -2
- package/build/navigator/use-navigator.js.map +1 -1
- package/build/palette-edit/index.js +2 -2
- package/build/palette-edit/index.js.map +1 -1
- package/build/private-apis.js +5 -9
- package/build/private-apis.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +30 -30
- package/build/range-control/styles/range-control-styles.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/select-control/styles/select-control-styles.js +12 -12
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/fill.js +4 -4
- package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
- package/build/snackbar/index.js +4 -4
- package/build/snackbar/index.js.map +1 -1
- package/build/tabs/index.js +4 -4
- package/build/tabs/index.js.map +1 -1
- package/build/tabs/styles.js +3 -3
- package/build/tabs/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/utils.js +6 -6
- package/build/toggle-group-control/toggle-group-control/utils.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js +6 -6
- package/build/tools-panel/tools-panel/hook.js.map +1 -1
- package/build/unit-control/styles/unit-control-styles.js +7 -7
- package/build/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build/utils/config-values.js +6 -4
- package/build/utils/config-values.js.map +1 -1
- package/build/utils/hooks/use-update-effect.js +4 -4
- package/build/utils/hooks/use-update-effect.js.map +1 -1
- package/build-module/alignment-matrix-control/cell.js +2 -5
- package/build-module/alignment-matrix-control/cell.js.map +1 -1
- package/build-module/alignment-matrix-control/icon.js +31 -19
- package/build-module/alignment-matrix-control/icon.js.map +1 -1
- package/build-module/alignment-matrix-control/index.js +55 -50
- package/build-module/alignment-matrix-control/index.js.map +1 -1
- package/build-module/alignment-matrix-control/styles.js +70 -0
- package/build-module/alignment-matrix-control/styles.js.map +1 -0
- package/build-module/alignment-matrix-control/types.js.map +1 -1
- package/build-module/angle-picker-control/angle-circle.js +9 -9
- package/build-module/angle-picker-control/angle-circle.js.map +1 -1
- package/build-module/border-control/border-control/component.js +18 -13
- package/build-module/border-control/border-control/component.js.map +1 -1
- package/build-module/circular-option-picker/circular-option-picker-option.js +16 -10
- package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
- package/build-module/circular-option-picker/circular-option-picker.js +16 -13
- package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
- package/build-module/circular-option-picker/types.js.map +1 -1
- package/build-module/clipboard-button/index.js +6 -6
- package/build-module/clipboard-button/index.js.map +1 -1
- package/build-module/color-palette/utils.js +1 -2
- package/build-module/color-palette/utils.js.map +1 -1
- package/build-module/color-picker/color-copy-button.js +8 -8
- package/build-module/color-picker/color-copy-button.js.map +1 -1
- package/build-module/color-picker/hex-input.js +7 -8
- package/build-module/color-picker/hex-input.js.map +1 -1
- package/build-module/color-picker/input-with-slider.js +7 -8
- package/build-module/color-picker/input-with-slider.js.map +1 -1
- package/build-module/color-picker/styles.js +8 -8
- package/build-module/color-picker/styles.js.map +1 -1
- package/build-module/combobox-control/types.js.map +1 -1
- package/build-module/composite/group-label.js +25 -0
- package/build-module/composite/group-label.js.map +1 -0
- package/build-module/composite/group.js +25 -0
- package/build-module/composite/group.js.map +1 -0
- package/build-module/composite/hover.js +25 -0
- package/build-module/composite/hover.js.map +1 -0
- package/build-module/composite/index.js +51 -96
- package/build-module/composite/index.js.map +1 -1
- package/build-module/composite/item.js +25 -0
- package/build-module/composite/item.js.map +1 -0
- package/build-module/composite/legacy/index.js +2 -1
- package/build-module/composite/legacy/index.js.map +1 -1
- package/build-module/composite/row.js +25 -0
- package/build-module/composite/row.js.map +1 -0
- package/build-module/composite/store.js +46 -0
- package/build-module/composite/store.js.map +1 -0
- package/build-module/composite/typeahead.js +25 -0
- package/build-module/composite/typeahead.js.map +1 -0
- package/build-module/composite/types.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js +8 -8
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build-module/custom-select-control-v2/styles.js +12 -14
- package/build-module/custom-select-control-v2/styles.js.map +1 -1
- package/build-module/date-time/date/styles.js +8 -8
- package/build-module/date-time/date/styles.js.map +1 -1
- package/build-module/date-time/time/time-input/index.js +17 -19
- package/build-module/date-time/time/time-input/index.js.map +1 -1
- package/build-module/dimension-control/index.js +6 -1
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/draggable/index.js +4 -4
- package/build-module/draggable/index.js.map +1 -1
- package/build-module/dropdown-menu-v2/checkbox-item.js +62 -0
- package/build-module/dropdown-menu-v2/checkbox-item.js.map +1 -0
- package/build-module/dropdown-menu-v2/context.js +11 -0
- package/build-module/dropdown-menu-v2/context.js.map +1 -0
- package/build-module/dropdown-menu-v2/group-label.js +32 -0
- package/build-module/dropdown-menu-v2/group-label.js.map +1 -0
- package/build-module/dropdown-menu-v2/group.js +21 -0
- package/build-module/dropdown-menu-v2/group.js.map +1 -0
- package/build-module/dropdown-menu-v2/index.js +57 -144
- package/build-module/dropdown-menu-v2/index.js.map +1 -1
- package/build-module/dropdown-menu-v2/item-help-text.js +19 -0
- package/build-module/dropdown-menu-v2/item-help-text.js.map +1 -0
- package/build-module/dropdown-menu-v2/item-label.js +19 -0
- package/build-module/dropdown-menu-v2/item-label.js.map +1 -0
- package/build-module/dropdown-menu-v2/item.js +46 -0
- package/build-module/dropdown-menu-v2/item.js.map +1 -0
- package/build-module/dropdown-menu-v2/radio-item.js +72 -0
- package/build-module/dropdown-menu-v2/radio-item.js.map +1 -0
- package/build-module/dropdown-menu-v2/separator.js +22 -0
- package/build-module/dropdown-menu-v2/separator.js.map +1 -0
- package/build-module/dropdown-menu-v2/styles.js +54 -78
- package/build-module/dropdown-menu-v2/styles.js.map +1 -1
- package/build-module/dropdown-menu-v2/types.js.map +1 -1
- package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js +20 -0
- package/build-module/dropdown-menu-v2/use-temporary-focus-visible-fix.js.map +1 -0
- package/build-module/focal-point-picker/styles/focal-point-style.js +6 -2
- package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build-module/form-token-field/types.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/input-control/index.js +2 -2
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/input-base.js +6 -11
- package/build-module/input-control/input-base.js.map +1 -1
- package/build-module/input-control/input-prefix-wrapper.js +4 -3
- package/build-module/input-control/input-prefix-wrapper.js.map +1 -1
- package/build-module/input-control/input-suffix-wrapper.js +3 -3
- package/build-module/input-control/input-suffix-wrapper.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js +8 -8
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +74 -44
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/input-control/types.js.map +1 -1
- package/build-module/input-control/utils.js +3 -3
- package/build-module/input-control/utils.js.map +1 -1
- package/build-module/item-group/styles.js +10 -10
- package/build-module/item-group/styles.js.map +1 -1
- package/build-module/modal/index.js +5 -5
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigation/index.js +4 -4
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/styles/navigation-styles.js +14 -14
- package/build-module/navigation/styles/navigation-styles.js.map +1 -1
- package/build-module/navigator/index.js +6 -6
- package/build-module/navigator/index.js.map +1 -1
- package/build-module/navigator/navigator-back-button/hook.js +1 -1
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-button/hook.js +1 -1
- package/build-module/navigator/navigator-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-provider/component.js +99 -67
- package/build-module/navigator/navigator-provider/component.js.map +1 -1
- package/build-module/navigator/navigator-to-parent-button/component.js +1 -1
- package/build-module/navigator/navigator-to-parent-button/component.js.map +1 -1
- package/build-module/navigator/types.js.map +1 -1
- package/build-module/navigator/use-navigator.js +1 -2
- package/build-module/navigator/use-navigator.js.map +1 -1
- package/build-module/palette-edit/index.js +2 -2
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/private-apis.js +5 -9
- package/build-module/private-apis.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +31 -31
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +5 -5
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +13 -13
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/fill.js +4 -4
- package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
- package/build-module/snackbar/index.js +4 -4
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/tabs/index.js +4 -4
- package/build-module/tabs/index.js.map +1 -1
- package/build-module/tabs/styles.js +4 -4
- package/build-module/tabs/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/utils.js +6 -6
- package/build-module/toggle-group-control/toggle-group-control/utils.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js +6 -6
- package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
- package/build-module/unit-control/styles/unit-control-styles.js +7 -7
- package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build-module/utils/config-values.js +6 -4
- package/build-module/utils/config-values.js.map +1 -1
- package/build-module/utils/hooks/use-update-effect.js +4 -4
- package/build-module/utils/hooks/use-update-effect.js.map +1 -1
- package/build-style/style-rtl.css +11 -23
- package/build-style/style.css +11 -23
- package/build-types/alignment-matrix-control/cell.d.ts +1 -1
- package/build-types/alignment-matrix-control/cell.d.ts.map +1 -1
- package/build-types/alignment-matrix-control/icon.d.ts +1 -1
- package/build-types/alignment-matrix-control/icon.d.ts.map +1 -1
- package/build-types/alignment-matrix-control/index.d.ts +16 -6
- package/build-types/alignment-matrix-control/index.d.ts.map +1 -1
- package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
- package/build-types/alignment-matrix-control/{styles/alignment-matrix-control-styles.d.ts → styles.d.ts} +9 -10
- package/build-types/alignment-matrix-control/styles.d.ts.map +1 -0
- package/build-types/alignment-matrix-control/types.d.ts +12 -1
- package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
- package/build-types/angle-picker-control/angle-circle.d.ts.map +1 -1
- package/build-types/border-control/border-control/component.d.ts.map +1 -1
- package/build-types/box-control/stories/index.story.d.ts.map +1 -1
- package/build-types/circular-option-picker/circular-option-picker-option.d.ts.map +1 -1
- package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
- package/build-types/circular-option-picker/types.d.ts +2 -2
- package/build-types/circular-option-picker/types.d.ts.map +1 -1
- package/build-types/color-palette/utils.d.ts.map +1 -1
- package/build-types/color-picker/color-copy-button.d.ts.map +1 -1
- package/build-types/color-picker/hex-input.d.ts.map +1 -1
- package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/combobox-control/types.d.ts +1 -0
- package/build-types/combobox-control/types.d.ts.map +1 -1
- package/build-types/composite/group-label.d.ts +3 -0
- package/build-types/composite/group-label.d.ts.map +1 -0
- package/build-types/composite/group.d.ts +3 -0
- package/build-types/composite/group.d.ts.map +1 -0
- package/build-types/composite/hover.d.ts +3 -0
- package/build-types/composite/hover.d.ts.map +1 -0
- package/build-types/composite/index.d.ts +30 -26
- package/build-types/composite/index.d.ts.map +1 -1
- package/build-types/composite/item.d.ts +3 -0
- package/build-types/composite/item.d.ts.map +1 -0
- package/build-types/composite/legacy/index.d.ts +1 -4
- package/build-types/composite/legacy/index.d.ts.map +1 -1
- package/build-types/composite/row.d.ts +3 -0
- package/build-types/composite/row.d.ts.map +1 -0
- package/build-types/composite/store.d.ts +25 -0
- package/build-types/composite/store.d.ts.map +1 -0
- package/build-types/composite/stories/index.story.d.ts +1 -0
- package/build-types/composite/stories/index.story.d.ts.map +1 -1
- package/build-types/composite/typeahead.d.ts +3 -0
- package/build-types/composite/typeahead.d.ts.map +1 -0
- package/build-types/composite/types.d.ts +2 -2
- package/build-types/composite/types.d.ts.map +1 -1
- package/build-types/date-time/time/time-input/index.d.ts.map +1 -1
- package/build-types/dimension-control/index.d.ts +1 -1
- package/build-types/dimension-control/index.d.ts.map +1 -1
- package/build-types/dimension-control/stories/index.story.d.ts +5 -0
- package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/checkbox-item.d.ts +3 -0
- package/build-types/dropdown-menu-v2/checkbox-item.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/context.d.ts +6 -0
- package/build-types/dropdown-menu-v2/context.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/group-label.d.ts +3 -0
- package/build-types/dropdown-menu-v2/group-label.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/group.d.ts +3 -0
- package/build-types/dropdown-menu-v2/group.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/index.d.ts +39 -18
- package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/item-help-text.d.ts +6 -0
- package/build-types/dropdown-menu-v2/item-help-text.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/item-label.d.ts +6 -0
- package/build-types/dropdown-menu-v2/item-label.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/item.d.ts +3 -0
- package/build-types/dropdown-menu-v2/item.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/radio-item.d.ts +3 -0
- package/build-types/dropdown-menu-v2/radio-item.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/separator.d.ts +3 -0
- package/build-types/dropdown-menu-v2/separator.d.ts.map +1 -0
- package/build-types/dropdown-menu-v2/stories/index.story.d.ts +10 -10
- package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/styles.d.ts +14 -6
- package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/types.d.ts +6 -0
- package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts +8 -0
- package/build-types/dropdown-menu-v2/use-temporary-focus-visible-fix.d.ts.map +1 -0
- package/build-types/focal-point-picker/styles/focal-point-style.d.ts.map +1 -1
- package/build-types/form-token-field/types.d.ts +1 -0
- package/build-types/form-token-field/types.d.ts.map +1 -1
- package/build-types/index.d.ts +3 -1
- package/build-types/index.d.ts.map +1 -1
- package/build-types/input-control/input-base.d.ts.map +1 -1
- package/build-types/input-control/input-prefix-wrapper.d.ts +2 -2
- package/build-types/input-control/input-prefix-wrapper.d.ts.map +1 -1
- package/build-types/input-control/input-suffix-wrapper.d.ts +2 -2
- package/build-types/input-control/input-suffix-wrapper.d.ts.map +1 -1
- package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
- package/build-types/input-control/stories/index.story.d.ts +9 -0
- package/build-types/input-control/stories/index.story.d.ts.map +1 -1
- package/build-types/input-control/styles/input-control-styles.d.ts +15 -9
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +23 -6
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
- package/build-types/navigator/index.d.ts +6 -6
- package/build-types/navigator/index.d.ts.map +1 -1
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
- package/build-types/navigator/stories/index.story.d.ts +1 -1
- package/build-types/navigator/stories/index.story.d.ts.map +1 -1
- package/build-types/navigator/types.d.ts +3 -1
- package/build-types/navigator/types.d.ts.map +1 -1
- package/build-types/navigator/use-navigator.d.ts +1 -2
- package/build-types/navigator/use-navigator.d.ts.map +1 -1
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/tabs/index.d.ts.map +1 -1
- package/build-types/tabs/styles.d.ts.map +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
- package/build-types/utils/config-values.d.ts +3 -3
- package/package.json +19 -19
- package/src/alignment-matrix-control/README.md +1 -5
- package/src/alignment-matrix-control/cell.tsx +3 -9
- package/src/alignment-matrix-control/icon.tsx +48 -30
- package/src/alignment-matrix-control/index.tsx +60 -50
- package/src/alignment-matrix-control/stories/index.story.tsx +3 -12
- package/src/alignment-matrix-control/styles.ts +113 -0
- package/src/alignment-matrix-control/types.ts +12 -1
- package/src/angle-picker-control/angle-circle.tsx +11 -9
- package/src/border-control/border-control/component.tsx +23 -16
- package/src/circular-option-picker/circular-option-picker-option.tsx +16 -19
- package/src/circular-option-picker/circular-option-picker.tsx +26 -12
- package/src/circular-option-picker/types.ts +2 -2
- package/src/clipboard-button/index.tsx +6 -6
- package/src/color-palette/test/utils.ts +21 -2
- package/src/color-palette/utils.ts +1 -3
- package/src/color-picker/color-copy-button.tsx +10 -8
- package/src/color-picker/hex-input.tsx +6 -10
- package/src/color-picker/input-with-slider.tsx +6 -10
- package/src/color-picker/styles.ts +1 -1
- package/src/combobox-control/types.ts +1 -0
- package/src/composite/group-label.tsx +30 -0
- package/src/composite/group.tsx +30 -0
- package/src/composite/hover.tsx +30 -0
- package/src/composite/index.tsx +61 -145
- package/src/composite/item.tsx +30 -0
- package/src/composite/legacy/index.tsx +2 -1
- package/src/composite/row.tsx +30 -0
- package/src/composite/store.ts +46 -0
- package/src/composite/stories/index.story.tsx +138 -265
- package/src/composite/typeahead.tsx +30 -0
- package/src/composite/types.ts +2 -2
- package/src/custom-gradient-picker/gradient-bar/control-points.tsx +10 -10
- package/src/custom-gradient-picker/style.scss +2 -21
- package/src/custom-select-control-v2/styles.ts +4 -4
- package/src/date-time/date/styles.ts +2 -2
- package/src/date-time/time/test/index.tsx +3 -6
- package/src/date-time/time/time-input/index.tsx +25 -25
- package/src/date-time/time/time-input/test/index.tsx +6 -7
- package/src/dimension-control/README.md +4 -0
- package/src/dimension-control/index.tsx +7 -1
- package/src/dimension-control/stories/index.story.tsx +7 -2
- package/src/dimension-control/test/__snapshots__/index.test.js.snap +16 -16
- package/src/dimension-control/test/index.test.js +1 -0
- package/src/draggable/index.tsx +4 -4
- package/src/dropdown-menu-v2/README.md +73 -60
- package/src/dropdown-menu-v2/checkbox-item.tsx +63 -0
- package/src/dropdown-menu-v2/context.tsx +13 -0
- package/src/dropdown-menu-v2/group-label.tsx +37 -0
- package/src/dropdown-menu-v2/group.tsx +26 -0
- package/src/dropdown-menu-v2/index.tsx +57 -197
- package/src/dropdown-menu-v2/item-help-text.tsx +23 -0
- package/src/dropdown-menu-v2/item-label.tsx +23 -0
- package/src/dropdown-menu-v2/item.tsx +50 -0
- package/src/dropdown-menu-v2/radio-item.tsx +70 -0
- package/src/dropdown-menu-v2/separator.tsx +27 -0
- package/src/dropdown-menu-v2/stories/index.story.tsx +295 -262
- package/src/dropdown-menu-v2/styles.ts +102 -66
- package/src/dropdown-menu-v2/test/index.tsx +159 -132
- package/src/dropdown-menu-v2/types.ts +7 -0
- package/src/dropdown-menu-v2/use-temporary-focus-visible-fix.ts +22 -0
- package/src/focal-point-picker/styles/focal-point-style.ts +6 -1
- package/src/form-toggle/style.scss +1 -1
- package/src/form-token-field/style.scss +2 -3
- package/src/form-token-field/types.ts +1 -0
- package/src/index.ts +5 -1
- package/src/input-control/index.tsx +2 -2
- package/src/input-control/input-base.tsx +4 -14
- package/src/input-control/input-prefix-wrapper.tsx +8 -4
- package/src/input-control/input-suffix-wrapper.tsx +4 -6
- package/src/input-control/reducer/reducer.ts +13 -10
- package/src/input-control/stories/index.story.tsx +31 -12
- package/src/input-control/styles/input-control-styles.tsx +42 -11
- package/src/input-control/types.ts +23 -7
- package/src/input-control/utils.ts +3 -3
- package/src/item-group/styles.ts +3 -3
- package/src/item-group/test/__snapshots__/index.js.snap +3 -3
- package/src/modal/index.tsx +5 -5
- package/src/modal/style.scss +5 -4
- package/src/navigation/index.tsx +4 -4
- package/src/navigation/styles/navigation-styles.tsx +3 -3
- package/src/navigator/index.ts +6 -6
- package/src/navigator/navigator-back-button/hook.ts +1 -1
- package/src/navigator/navigator-button/hook.ts +1 -1
- package/src/navigator/navigator-provider/README.md +2 -3
- package/src/navigator/navigator-provider/component.tsx +97 -82
- package/src/navigator/navigator-to-parent-button/component.tsx +1 -1
- package/src/navigator/stories/index.story.tsx +82 -253
- package/src/navigator/types.ts +3 -1
- package/src/navigator/use-navigator.ts +1 -3
- package/src/palette-edit/index.tsx +2 -2
- package/src/private-apis.ts +5 -18
- package/src/range-control/styles/range-control-styles.ts +7 -7
- package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.ts +2 -2
- package/src/resizable-box/style.scss +2 -2
- package/src/select-control/styles/select-control-styles.ts +5 -5
- package/src/slot-fill/bubbles-virtually/fill.tsx +4 -4
- package/src/snackbar/index.tsx +4 -4
- package/src/tab-panel/style.scss +0 -1
- package/src/tabs/index.tsx +8 -4
- package/src/tabs/styles.ts +2 -3
- package/src/text-control/style.scss +3 -2
- package/src/toggle-group-control/toggle-group-control/utils.ts +7 -7
- package/src/tools-panel/tools-panel/hook.ts +6 -6
- package/src/unit-control/styles/unit-control-styles.ts +2 -1
- package/src/utils/config-values.js +6 -4
- package/src/utils/hooks/use-update-effect.js +4 -4
- package/tsconfig.tsbuildinfo +1 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -66
- package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -77
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
- package/build/navigator/navigator-back-button/index.js +0 -14
- package/build/navigator/navigator-back-button/index.js.map +0 -1
- package/build/navigator/navigator-button/index.js +0 -14
- package/build/navigator/navigator-button/index.js.map +0 -1
- package/build/navigator/navigator-provider/index.js +0 -14
- package/build/navigator/navigator-provider/index.js.map +0 -1
- package/build/navigator/navigator-screen/index.js +0 -14
- package/build/navigator/navigator-screen/index.js.map +0 -1
- package/build/navigator/navigator-to-parent-button/index.js +0 -14
- package/build/navigator/navigator-to-parent-button/index.js.map +0 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +0 -63
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +0 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +0 -72
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +0 -1
- package/build-module/navigator/navigator-back-button/index.js +0 -2
- package/build-module/navigator/navigator-back-button/index.js.map +0 -1
- package/build-module/navigator/navigator-button/index.js +0 -2
- package/build-module/navigator/navigator-button/index.js.map +0 -1
- package/build-module/navigator/navigator-provider/index.js +0 -2
- package/build-module/navigator/navigator-provider/index.js.map +0 -1
- package/build-module/navigator/navigator-screen/index.js +0 -2
- package/build-module/navigator/navigator-screen/index.js.map +0 -1
- package/build-module/navigator/navigator-to-parent-button/index.js +0 -2
- package/build-module/navigator/navigator-to-parent-button/index.js.map +0 -1
- package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts +0 -18
- package/build-types/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.d.ts.map +0 -1
- package/build-types/alignment-matrix-control/styles/alignment-matrix-control-styles.d.ts.map +0 -1
- package/build-types/navigator/navigator-back-button/index.d.ts +0 -2
- package/build-types/navigator/navigator-back-button/index.d.ts.map +0 -1
- package/build-types/navigator/navigator-button/index.d.ts +0 -2
- package/build-types/navigator/navigator-button/index.d.ts.map +0 -1
- package/build-types/navigator/navigator-provider/index.d.ts +0 -2
- package/build-types/navigator/navigator-provider/index.d.ts.map +0 -1
- package/build-types/navigator/navigator-screen/index.d.ts +0 -2
- package/build-types/navigator/navigator-screen/index.d.ts.map +0 -1
- package/build-types/navigator/navigator-to-parent-button/index.d.ts +0 -2
- package/build-types/navigator/navigator-to-parent-button/index.d.ts.map +0 -1
- package/src/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.ts +0 -77
- package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.ts +0 -102
- package/src/navigator/navigator-back-button/index.ts +0 -1
- package/src/navigator/navigator-button/index.ts +0 -1
- package/src/navigator/navigator-provider/index.ts +0 -1
- package/src/navigator/navigator-screen/index.ts +0 -1
- package/src/navigator/navigator-to-parent-button/index.ts +0 -1
|
@@ -100,8 +100,8 @@ export function UnforwardedInputControl(
|
|
|
100
100
|
isPressEnterToChange={ isPressEnterToChange }
|
|
101
101
|
onKeyDown={ onKeyDown }
|
|
102
102
|
onValidate={ onValidate }
|
|
103
|
-
paddingInlineStart={ prefix ? space(
|
|
104
|
-
paddingInlineEnd={ suffix ? space(
|
|
103
|
+
paddingInlineStart={ prefix ? space( 1 ) : undefined }
|
|
104
|
+
paddingInlineEnd={ suffix ? space( 1 ) : undefined }
|
|
105
105
|
ref={ ref }
|
|
106
106
|
size={ size }
|
|
107
107
|
stateReducer={ stateReducer }
|
|
@@ -14,13 +14,7 @@ import { useMemo } from '@wordpress/element';
|
|
|
14
14
|
*/
|
|
15
15
|
import Backdrop from './backdrop';
|
|
16
16
|
import Label from './label';
|
|
17
|
-
import {
|
|
18
|
-
Container,
|
|
19
|
-
Root,
|
|
20
|
-
Prefix,
|
|
21
|
-
Suffix,
|
|
22
|
-
getSizeConfig,
|
|
23
|
-
} from './styles/input-control-styles';
|
|
17
|
+
import { Container, Root, Prefix, Suffix } from './styles/input-control-styles';
|
|
24
18
|
import type { InputBaseProps, LabelPosition } from './types';
|
|
25
19
|
import type { WordPressComponentProps } from '../context';
|
|
26
20
|
import {
|
|
@@ -90,16 +84,12 @@ function InputBase(
|
|
|
90
84
|
const id = useUniqueId( idProp );
|
|
91
85
|
const hideLabel = hideLabelFromVision || ! label;
|
|
92
86
|
|
|
93
|
-
const { paddingLeft, paddingRight } = getSizeConfig( {
|
|
94
|
-
inputSize: size,
|
|
95
|
-
__next40pxDefaultSize,
|
|
96
|
-
} );
|
|
97
87
|
const prefixSuffixContextValue = useMemo( () => {
|
|
98
88
|
return {
|
|
99
|
-
InputControlPrefixWrapper: {
|
|
100
|
-
InputControlSuffixWrapper: {
|
|
89
|
+
InputControlPrefixWrapper: { __next40pxDefaultSize, size },
|
|
90
|
+
InputControlSuffixWrapper: { __next40pxDefaultSize, size },
|
|
101
91
|
};
|
|
102
|
-
}, [
|
|
92
|
+
}, [ __next40pxDefaultSize, size ] );
|
|
103
93
|
|
|
104
94
|
return (
|
|
105
95
|
// @ts-expect-error The `direction` prop from Flex (FlexDirection) conflicts with legacy SVGAttributes `direction` (string) that come from React intrinsic prop definitions.
|
|
@@ -6,19 +6,23 @@ import type { ForwardedRef } from 'react';
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { Spacer } from '../spacer';
|
|
10
9
|
import type { WordPressComponentProps } from '../context';
|
|
11
10
|
import { contextConnect, useContextSystem } from '../context';
|
|
12
|
-
import type {
|
|
11
|
+
import type { PrefixSuffixWrapperProps } from './types';
|
|
12
|
+
import { PrefixSuffixWrapper } from './styles/input-control-styles';
|
|
13
13
|
|
|
14
14
|
function UnconnectedInputControlPrefixWrapper(
|
|
15
|
-
props: WordPressComponentProps<
|
|
15
|
+
props: WordPressComponentProps< PrefixSuffixWrapperProps, 'div' >,
|
|
16
16
|
forwardedRef: ForwardedRef< any >
|
|
17
17
|
) {
|
|
18
18
|
const derivedProps = useContextSystem( props, 'InputControlPrefixWrapper' );
|
|
19
19
|
|
|
20
20
|
return (
|
|
21
|
-
<
|
|
21
|
+
<PrefixSuffixWrapper
|
|
22
|
+
{ ...derivedProps }
|
|
23
|
+
isPrefix
|
|
24
|
+
ref={ forwardedRef }
|
|
25
|
+
/>
|
|
22
26
|
);
|
|
23
27
|
}
|
|
24
28
|
|
|
@@ -6,20 +6,18 @@ import type { ForwardedRef } from 'react';
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { Spacer } from '../spacer';
|
|
10
9
|
import type { WordPressComponentProps } from '../context';
|
|
11
10
|
import { contextConnect, useContextSystem } from '../context';
|
|
12
|
-
import type {
|
|
11
|
+
import type { PrefixSuffixWrapperProps } from './types';
|
|
12
|
+
import { PrefixSuffixWrapper } from './styles/input-control-styles';
|
|
13
13
|
|
|
14
14
|
function UnconnectedInputControlSuffixWrapper(
|
|
15
|
-
props: WordPressComponentProps<
|
|
15
|
+
props: WordPressComponentProps< PrefixSuffixWrapperProps, 'div' >,
|
|
16
16
|
forwardedRef: ForwardedRef< any >
|
|
17
17
|
) {
|
|
18
18
|
const derivedProps = useContextSystem( props, 'InputControlSuffixWrapper' );
|
|
19
19
|
|
|
20
|
-
return
|
|
21
|
-
<Spacer marginBottom={ 0 } { ...derivedProps } ref={ forwardedRef } />
|
|
22
|
-
);
|
|
20
|
+
return <PrefixSuffixWrapper { ...derivedProps } ref={ forwardedRef } />;
|
|
23
21
|
}
|
|
24
22
|
|
|
25
23
|
/**
|
|
@@ -192,25 +192,28 @@ export function useInputControlStateReducer(
|
|
|
192
192
|
const pressDown = createKeyEvent( actions.PRESS_DOWN );
|
|
193
193
|
const pressEnter = createKeyEvent( actions.PRESS_ENTER );
|
|
194
194
|
|
|
195
|
-
const
|
|
196
|
-
const
|
|
195
|
+
const currentStateRef = useRef( state );
|
|
196
|
+
const refPropsRef = useRef( {
|
|
197
|
+
value: initialState.value,
|
|
198
|
+
onChangeHandler,
|
|
199
|
+
} );
|
|
197
200
|
|
|
198
201
|
// Freshens refs to props and state so that subsequent effects have access
|
|
199
202
|
// to their latest values without their changes causing effect runs.
|
|
200
203
|
useLayoutEffect( () => {
|
|
201
|
-
|
|
202
|
-
|
|
204
|
+
currentStateRef.current = state;
|
|
205
|
+
refPropsRef.current = { value: initialState.value, onChangeHandler };
|
|
203
206
|
} );
|
|
204
207
|
|
|
205
208
|
// Propagates the latest state through onChange.
|
|
206
209
|
useLayoutEffect( () => {
|
|
207
210
|
if (
|
|
208
|
-
|
|
209
|
-
state.value !==
|
|
211
|
+
currentStateRef.current._event !== undefined &&
|
|
212
|
+
state.value !== refPropsRef.current.value &&
|
|
210
213
|
! state.isDirty
|
|
211
214
|
) {
|
|
212
|
-
|
|
213
|
-
event:
|
|
215
|
+
refPropsRef.current.onChangeHandler( state.value ?? '', {
|
|
216
|
+
event: currentStateRef.current._event as
|
|
214
217
|
| ChangeEvent< HTMLInputElement >
|
|
215
218
|
| PointerEvent< HTMLInputElement >,
|
|
216
219
|
} );
|
|
@@ -220,8 +223,8 @@ export function useInputControlStateReducer(
|
|
|
220
223
|
// Updates the state from props.
|
|
221
224
|
useLayoutEffect( () => {
|
|
222
225
|
if (
|
|
223
|
-
initialState.value !==
|
|
224
|
-
!
|
|
226
|
+
initialState.value !== currentStateRef.current.value &&
|
|
227
|
+
! currentStateRef.current.isDirty
|
|
225
228
|
) {
|
|
226
229
|
dispatch( {
|
|
227
230
|
type: actions.CONTROL,
|
|
@@ -5,7 +5,7 @@ import type { Meta, StoryFn } from '@storybook/react';
|
|
|
5
5
|
/**
|
|
6
6
|
* WordPress dependencies
|
|
7
7
|
*/
|
|
8
|
-
import { seen, unseen } from '@wordpress/icons';
|
|
8
|
+
import { closeSmall, Icon, link, seen, unseen } from '@wordpress/icons';
|
|
9
9
|
import { useState } from '@wordpress/element';
|
|
10
10
|
/**
|
|
11
11
|
* Internal dependencies
|
|
@@ -75,6 +75,29 @@ WithSuffix.args = {
|
|
|
75
75
|
suffix: <InputControlSuffixWrapper>%</InputControlSuffixWrapper>,
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
+
/**
|
|
79
|
+
* `<InputControlPrefixWrapper>` and `<InputControlSuffixWrapper>` have a `variant` prop that can be used to
|
|
80
|
+
* adjust the wrapper based on the prefix or suffix content.
|
|
81
|
+
*
|
|
82
|
+
* - `'default'`: Standard padding for text content.
|
|
83
|
+
* - `'icon'`: For icons.
|
|
84
|
+
* - `'control'`: For controls, like buttons or selects.
|
|
85
|
+
*/
|
|
86
|
+
export const WithIconOrControl = Template.bind( {} );
|
|
87
|
+
WithIconOrControl.args = {
|
|
88
|
+
...Default.args,
|
|
89
|
+
prefix: (
|
|
90
|
+
<InputControlPrefixWrapper variant="icon">
|
|
91
|
+
<Icon icon={ link } />
|
|
92
|
+
</InputControlPrefixWrapper>
|
|
93
|
+
),
|
|
94
|
+
suffix: (
|
|
95
|
+
<InputControlSuffixWrapper variant="control">
|
|
96
|
+
<Button icon={ closeSmall } size="small" label="Clear" />
|
|
97
|
+
</InputControlSuffixWrapper>
|
|
98
|
+
),
|
|
99
|
+
};
|
|
100
|
+
|
|
78
101
|
export const WithSideLabel = Template.bind( {} );
|
|
79
102
|
WithSideLabel.args = {
|
|
80
103
|
...Default.args,
|
|
@@ -95,17 +118,13 @@ export const ShowPassword: StoryFn< typeof InputControl > = ( args ) => {
|
|
|
95
118
|
type={ visible ? 'text' : 'password' }
|
|
96
119
|
label="Password"
|
|
97
120
|
suffix={
|
|
98
|
-
<InputControlSuffixWrapper>
|
|
99
|
-
<
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
visible ? 'Hide password' : 'Show password'
|
|
106
|
-
}
|
|
107
|
-
/>
|
|
108
|
-
</div>
|
|
121
|
+
<InputControlSuffixWrapper variant="control">
|
|
122
|
+
<Button
|
|
123
|
+
size="small"
|
|
124
|
+
icon={ visible ? unseen : seen }
|
|
125
|
+
onClick={ () => setVisible( ( value ) => ! value ) }
|
|
126
|
+
label={ visible ? 'Hide password' : 'Show password' }
|
|
127
|
+
/>
|
|
109
128
|
</InputControlSuffixWrapper>
|
|
110
129
|
}
|
|
111
130
|
{ ...args }
|
|
@@ -13,8 +13,7 @@ import type { WordPressComponentProps } from '../../context';
|
|
|
13
13
|
import { Flex, FlexItem } from '../../flex';
|
|
14
14
|
import { Text } from '../../text';
|
|
15
15
|
import { baseLabelTypography, COLORS, CONFIG, rtl } from '../../utils';
|
|
16
|
-
import type { LabelPosition, Size } from '../types';
|
|
17
|
-
import { space } from '../../utils/space';
|
|
16
|
+
import type { LabelPosition, Size, PrefixSuffixWrapperProps } from '../types';
|
|
18
17
|
|
|
19
18
|
type ContainerProps = {
|
|
20
19
|
disabled?: boolean;
|
|
@@ -78,7 +77,7 @@ export const BackdropUI = styled.div< BackdropProps >`
|
|
|
78
77
|
export const Root = styled( Flex )`
|
|
79
78
|
box-sizing: border-box;
|
|
80
79
|
position: relative;
|
|
81
|
-
border-radius:
|
|
80
|
+
border-radius: ${ CONFIG.radiusSmall };
|
|
82
81
|
padding-top: 0;
|
|
83
82
|
|
|
84
83
|
// Focus within, excluding cases where auxiliary controls in prefix or suffix have focus.
|
|
@@ -188,29 +187,29 @@ export const getSizeConfig = ( {
|
|
|
188
187
|
height: 40,
|
|
189
188
|
lineHeight: 1,
|
|
190
189
|
minHeight: 40,
|
|
191
|
-
paddingLeft:
|
|
192
|
-
paddingRight:
|
|
190
|
+
paddingLeft: CONFIG.controlPaddingX,
|
|
191
|
+
paddingRight: CONFIG.controlPaddingX,
|
|
193
192
|
},
|
|
194
193
|
small: {
|
|
195
194
|
height: 24,
|
|
196
195
|
lineHeight: 1,
|
|
197
196
|
minHeight: 24,
|
|
198
|
-
paddingLeft:
|
|
199
|
-
paddingRight:
|
|
197
|
+
paddingLeft: CONFIG.controlPaddingXSmall,
|
|
198
|
+
paddingRight: CONFIG.controlPaddingXSmall,
|
|
200
199
|
},
|
|
201
200
|
compact: {
|
|
202
201
|
height: 32,
|
|
203
202
|
lineHeight: 1,
|
|
204
203
|
minHeight: 32,
|
|
205
|
-
paddingLeft:
|
|
206
|
-
paddingRight:
|
|
204
|
+
paddingLeft: CONFIG.controlPaddingXSmall,
|
|
205
|
+
paddingRight: CONFIG.controlPaddingXSmall,
|
|
207
206
|
},
|
|
208
207
|
'__unstable-large': {
|
|
209
208
|
height: 40,
|
|
210
209
|
lineHeight: 1,
|
|
211
210
|
minHeight: 40,
|
|
212
|
-
paddingLeft:
|
|
213
|
-
paddingRight:
|
|
211
|
+
paddingLeft: CONFIG.controlPaddingX,
|
|
212
|
+
paddingRight: CONFIG.controlPaddingX,
|
|
214
213
|
},
|
|
215
214
|
};
|
|
216
215
|
|
|
@@ -319,3 +318,35 @@ export const Label = (
|
|
|
319
318
|
export const LabelWrapper = styled( FlexItem )`
|
|
320
319
|
max-width: calc( 100% - 10px );
|
|
321
320
|
`;
|
|
321
|
+
|
|
322
|
+
const prefixSuffixWrapperStyles = ( {
|
|
323
|
+
variant = 'default',
|
|
324
|
+
size,
|
|
325
|
+
__next40pxDefaultSize,
|
|
326
|
+
isPrefix,
|
|
327
|
+
}: PrefixSuffixWrapperProps & { isPrefix?: boolean } ) => {
|
|
328
|
+
const { paddingLeft: padding } = getSizeConfig( {
|
|
329
|
+
inputSize: size,
|
|
330
|
+
__next40pxDefaultSize,
|
|
331
|
+
} );
|
|
332
|
+
|
|
333
|
+
const paddingProperty = isPrefix
|
|
334
|
+
? 'paddingInlineStart'
|
|
335
|
+
: 'paddingInlineEnd';
|
|
336
|
+
|
|
337
|
+
if ( variant === 'default' ) {
|
|
338
|
+
return css( {
|
|
339
|
+
[ paddingProperty ]: padding,
|
|
340
|
+
} );
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
// If variant is 'icon' or 'control'
|
|
344
|
+
return css( {
|
|
345
|
+
display: 'flex',
|
|
346
|
+
[ paddingProperty ]: padding - 4,
|
|
347
|
+
} );
|
|
348
|
+
};
|
|
349
|
+
|
|
350
|
+
export const PrefixSuffixWrapper = styled.div`
|
|
351
|
+
${ prefixSuffixWrapperStyles }
|
|
352
|
+
`;
|
|
@@ -31,6 +31,7 @@ interface BaseProps {
|
|
|
31
31
|
*
|
|
32
32
|
* @default false
|
|
33
33
|
* @deprecated
|
|
34
|
+
* @ignore
|
|
34
35
|
*/
|
|
35
36
|
__next36pxDefaultSize?: boolean;
|
|
36
37
|
/**
|
|
@@ -208,16 +209,31 @@ export interface InputControlLabelProps {
|
|
|
208
209
|
size?: BaseProps[ 'size' ];
|
|
209
210
|
}
|
|
210
211
|
|
|
211
|
-
export type
|
|
212
|
+
export type PrefixSuffixWrapperProps = {
|
|
212
213
|
/**
|
|
213
|
-
* The
|
|
214
|
+
* The content to be inserted.
|
|
214
215
|
*/
|
|
215
216
|
children: ReactNode;
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
export type InputControlSuffixWrapperProps = {
|
|
219
217
|
/**
|
|
220
|
-
*
|
|
218
|
+
* Internal prop used to control the padding size of the wrapper.
|
|
219
|
+
*
|
|
220
|
+
* @ignore
|
|
221
221
|
*/
|
|
222
|
-
|
|
222
|
+
size?: BaseProps[ 'size' ];
|
|
223
|
+
/**
|
|
224
|
+
* Internal prop used to control the padding size of the wrapper.
|
|
225
|
+
*
|
|
226
|
+
* @ignore
|
|
227
|
+
*/
|
|
228
|
+
__next40pxDefaultSize?: BaseProps[ '__next40pxDefaultSize' ];
|
|
229
|
+
/**
|
|
230
|
+
* Adjust the wrapper based on the prefix or suffix content.
|
|
231
|
+
*
|
|
232
|
+
* - `'default'`: Standard padding for text content.
|
|
233
|
+
* - `'icon'`: For icons.
|
|
234
|
+
* - `'control'`: For controls, like buttons or selects.
|
|
235
|
+
*
|
|
236
|
+
* @default 'default'
|
|
237
|
+
*/
|
|
238
|
+
variant?: 'default' | 'icon' | 'control';
|
|
223
239
|
};
|
|
@@ -73,7 +73,7 @@ export function useDraft( props: {
|
|
|
73
73
|
onBlur?: FocusEventHandler;
|
|
74
74
|
onChange: InputChangeCallback;
|
|
75
75
|
} ) {
|
|
76
|
-
const
|
|
76
|
+
const previousValueRef = useRef( props.value );
|
|
77
77
|
const [ draft, setDraft ] = useState< {
|
|
78
78
|
value?: string;
|
|
79
79
|
isStale?: boolean;
|
|
@@ -84,8 +84,8 @@ export function useDraft( props: {
|
|
|
84
84
|
// To do so, it tracks the previous value and marks the draft value as stale
|
|
85
85
|
// after each render.
|
|
86
86
|
useLayoutEffect( () => {
|
|
87
|
-
const { current: previousValue } =
|
|
88
|
-
|
|
87
|
+
const { current: previousValue } = previousValueRef;
|
|
88
|
+
previousValueRef.current = props.value;
|
|
89
89
|
if ( draft.value !== undefined && ! draft.isStale ) {
|
|
90
90
|
setDraft( { ...draft, isStale: true } );
|
|
91
91
|
} else if ( draft.isStale && props.value !== previousValue ) {
|
package/src/item-group/styles.ts
CHANGED
|
@@ -105,12 +105,12 @@ const paddingYLarge = `calc((${ CONFIG.controlHeightLarge } - ${ baseFontHeight
|
|
|
105
105
|
|
|
106
106
|
export const itemSizes = {
|
|
107
107
|
small: css`
|
|
108
|
-
padding: ${ paddingYSmall } ${ CONFIG.controlPaddingXSmall };
|
|
108
|
+
padding: ${ paddingYSmall } ${ CONFIG.controlPaddingXSmall }px;
|
|
109
109
|
`,
|
|
110
110
|
medium: css`
|
|
111
|
-
padding: ${ paddingY } ${ CONFIG.controlPaddingX };
|
|
111
|
+
padding: ${ paddingY } ${ CONFIG.controlPaddingX }px;
|
|
112
112
|
`,
|
|
113
113
|
large: css`
|
|
114
|
-
padding: ${ paddingYLarge } ${ CONFIG.controlPaddingXLarge };
|
|
114
|
+
padding: ${ paddingYLarge } ${ CONFIG.controlPaddingXLarge }px;
|
|
115
115
|
`,
|
|
116
116
|
};
|
|
@@ -12,7 +12,7 @@ Snapshot Diff:
|
|
|
12
12
|
>
|
|
13
13
|
<div
|
|
14
14
|
- class="components-item css-au4yox-PolymorphicDiv-medium-item-spacedAround e19lxcc00"
|
|
15
|
-
+ class="components-item css-
|
|
15
|
+
+ class="components-item css-1ycukrf-PolymorphicDiv-large-item-spacedAround e19lxcc00"
|
|
16
16
|
data-wp-c16t="true"
|
|
17
17
|
data-wp-component="Item"
|
|
18
18
|
>
|
|
@@ -25,7 +25,7 @@ Snapshot Diff:
|
|
|
25
25
|
>
|
|
26
26
|
<div
|
|
27
27
|
- class="components-item css-au4yox-PolymorphicDiv-medium-item-spacedAround e19lxcc00"
|
|
28
|
-
+ class="components-item css-
|
|
28
|
+
+ class="components-item css-1ycukrf-PolymorphicDiv-large-item-spacedAround e19lxcc00"
|
|
29
29
|
data-wp-c16t="true"
|
|
30
30
|
data-wp-component="Item"
|
|
31
31
|
>
|
|
@@ -45,7 +45,7 @@ Snapshot Diff:
|
|
|
45
45
|
>
|
|
46
46
|
<div
|
|
47
47
|
- class="components-item css-tpom78-PolymorphicDiv-medium-item e19lxcc00"
|
|
48
|
-
+ class="components-item css-
|
|
48
|
+
+ class="components-item css-sbyvbg-PolymorphicDiv-large-item e19lxcc00"
|
|
49
49
|
data-wp-c16t="true"
|
|
50
50
|
data-wp-component="Item"
|
|
51
51
|
>
|
package/src/modal/index.tsx
CHANGED
|
@@ -134,9 +134,9 @@ function UnforwardedModal(
|
|
|
134
134
|
}, [] );
|
|
135
135
|
|
|
136
136
|
// Keeps a fresh ref for the subsequent effect.
|
|
137
|
-
const
|
|
137
|
+
const onRequestCloseRef = useRef< ModalProps[ 'onRequestClose' ] >();
|
|
138
138
|
useEffect( () => {
|
|
139
|
-
|
|
139
|
+
onRequestCloseRef.current = onRequestClose;
|
|
140
140
|
}, [ onRequestClose ] );
|
|
141
141
|
|
|
142
142
|
// The list of `onRequestClose` callbacks of open (non-nested) Modals. Only
|
|
@@ -149,10 +149,10 @@ function UnforwardedModal(
|
|
|
149
149
|
// onRequestClose for any prior and/or nested modals as applicable.
|
|
150
150
|
useEffect( () => {
|
|
151
151
|
// add this modal instance to the dismissers set
|
|
152
|
-
dismissers.add(
|
|
152
|
+
dismissers.add( onRequestCloseRef );
|
|
153
153
|
// request that all the other modals close themselves
|
|
154
154
|
for ( const dismisser of dismissers ) {
|
|
155
|
-
if ( dismisser !==
|
|
155
|
+
if ( dismisser !== onRequestCloseRef ) {
|
|
156
156
|
dismisser.current?.();
|
|
157
157
|
}
|
|
158
158
|
}
|
|
@@ -162,7 +162,7 @@ function UnforwardedModal(
|
|
|
162
162
|
dismisser.current?.();
|
|
163
163
|
}
|
|
164
164
|
// remove this modal instance from the dismissers set
|
|
165
|
-
dismissers.delete(
|
|
165
|
+
dismissers.delete( onRequestCloseRef );
|
|
166
166
|
};
|
|
167
167
|
}, [ dismissers, nestedDismissers ] );
|
|
168
168
|
|
package/src/modal/style.scss
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
background-color: rgba($black, 0.35);
|
|
9
9
|
z-index: z-index(".components-modal__screen-overlay");
|
|
10
10
|
display: flex;
|
|
11
|
-
// backdrop-filter: blur($grid-unit);
|
|
12
11
|
// This animates the appearance of the white background.
|
|
13
12
|
@include edit-post__fade-in-animation();
|
|
14
13
|
}
|
|
@@ -26,7 +25,7 @@
|
|
|
26
25
|
// Have the content element fill the vertical space yet not overflow.
|
|
27
26
|
display: flex;
|
|
28
27
|
// Animate the modal frame/contents appearing on the page.
|
|
29
|
-
animation: components-modal__appear-animation 0.
|
|
28
|
+
animation: components-modal__appear-animation 0.26s cubic-bezier(0.29, 0, 0, 1);
|
|
30
29
|
animation-fill-mode: forwards;
|
|
31
30
|
@include reduce-motion("animation");
|
|
32
31
|
|
|
@@ -80,10 +79,12 @@
|
|
|
80
79
|
|
|
81
80
|
@keyframes components-modal__appear-animation {
|
|
82
81
|
from {
|
|
83
|
-
|
|
82
|
+
opacity: 0;
|
|
83
|
+
transform: scale(0.9);
|
|
84
84
|
}
|
|
85
85
|
to {
|
|
86
|
-
|
|
86
|
+
opacity: 1;
|
|
87
|
+
transform: scale(1);
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
90
|
|
package/src/navigation/index.tsx
CHANGED
|
@@ -93,10 +93,10 @@ export function Navigation( {
|
|
|
93
93
|
};
|
|
94
94
|
|
|
95
95
|
// Used to prevent the sliding animation on mount
|
|
96
|
-
const
|
|
96
|
+
const isMountedRef = useRef( false );
|
|
97
97
|
useEffect( () => {
|
|
98
|
-
if ( !
|
|
99
|
-
|
|
98
|
+
if ( ! isMountedRef.current ) {
|
|
99
|
+
isMountedRef.current = true;
|
|
100
100
|
}
|
|
101
101
|
}, [] );
|
|
102
102
|
|
|
@@ -130,7 +130,7 @@ export function Navigation( {
|
|
|
130
130
|
animateClassName
|
|
131
131
|
? clsx( {
|
|
132
132
|
[ animateClassName ]:
|
|
133
|
-
|
|
133
|
+
isMountedRef.current && slideOrigin,
|
|
134
134
|
} )
|
|
135
135
|
: undefined
|
|
136
136
|
}
|
|
@@ -15,7 +15,7 @@ import { COLORS } from '../../utils/colors-values';
|
|
|
15
15
|
import Button from '../../button';
|
|
16
16
|
import { Text } from '../../text';
|
|
17
17
|
import { Heading } from '../../heading';
|
|
18
|
-
import { rtl } from '../../utils';
|
|
18
|
+
import { rtl, CONFIG } from '../../utils';
|
|
19
19
|
import { space } from '../../utils/space';
|
|
20
20
|
|
|
21
21
|
export const NavigationUI = styled.div`
|
|
@@ -111,7 +111,7 @@ export const GroupTitleUI = styled( Heading )`
|
|
|
111
111
|
`;
|
|
112
112
|
|
|
113
113
|
export const ItemBaseUI = styled.li`
|
|
114
|
-
border-radius:
|
|
114
|
+
border-radius: ${ CONFIG.radiusSmall };
|
|
115
115
|
color: inherit;
|
|
116
116
|
margin-bottom: 0;
|
|
117
117
|
|
|
@@ -172,7 +172,7 @@ export const ItemBadgeUI = styled.span`
|
|
|
172
172
|
margin-right: ${ () => ( isRTL() ? space( 2 ) : '0' ) };
|
|
173
173
|
display: inline-flex;
|
|
174
174
|
padding: ${ space( 1 ) } ${ space( 3 ) };
|
|
175
|
-
border-radius:
|
|
175
|
+
border-radius: ${ CONFIG.radiusSmall };
|
|
176
176
|
|
|
177
177
|
@keyframes fade-in {
|
|
178
178
|
from {
|
package/src/navigator/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { NavigatorProvider } from './navigator-provider';
|
|
2
|
-
export { NavigatorScreen } from './navigator-screen';
|
|
3
|
-
export { NavigatorButton } from './navigator-button';
|
|
4
|
-
export { NavigatorBackButton } from './navigator-back-button';
|
|
5
|
-
export { NavigatorToParentButton } from './navigator-to-parent-button';
|
|
6
|
-
export {
|
|
1
|
+
export { NavigatorProvider } from './navigator-provider/component';
|
|
2
|
+
export { NavigatorScreen } from './navigator-screen/component';
|
|
3
|
+
export { NavigatorButton } from './navigator-button/component';
|
|
4
|
+
export { NavigatorBackButton } from './navigator-back-button/component';
|
|
5
|
+
export { NavigatorToParentButton } from './navigator-to-parent-button/component';
|
|
6
|
+
export { useNavigator } from './use-navigator';
|
|
@@ -9,7 +9,7 @@ import { useCallback } from '@wordpress/element';
|
|
|
9
9
|
import type { WordPressComponentProps } from '../../context';
|
|
10
10
|
import { useContextSystem } from '../../context';
|
|
11
11
|
import Button from '../../button';
|
|
12
|
-
import useNavigator from '../use-navigator';
|
|
12
|
+
import { useNavigator } from '../use-navigator';
|
|
13
13
|
import type { NavigatorBackButtonProps } from '../types';
|
|
14
14
|
|
|
15
15
|
export function useNavigatorBackButton(
|
|
@@ -10,7 +10,7 @@ import { escapeAttribute } from '@wordpress/escape-html';
|
|
|
10
10
|
import type { WordPressComponentProps } from '../../context';
|
|
11
11
|
import { useContextSystem } from '../../context';
|
|
12
12
|
import Button from '../../button';
|
|
13
|
-
import useNavigator from '../use-navigator';
|
|
13
|
+
import { useNavigator } from '../use-navigator';
|
|
14
14
|
import type { NavigatorButtonProps } from '../types';
|
|
15
15
|
|
|
16
16
|
const cssSelectorForAttribute = ( attrName: string, attrValue: string ) =>
|
|
@@ -72,7 +72,6 @@ The available options are:
|
|
|
72
72
|
- `focusTargetSelector`: `string`. An optional property used to specify the CSS selector used to restore focus on the matching element when navigating back;
|
|
73
73
|
- `isBack`: `boolean`. An optional property used to specify whether the navigation should be considered as backwards (thus enabling focus restoration when possible, and causing the animation to be backwards too);
|
|
74
74
|
- `skipFocus`: `boolean`. An optional property used to opt out of `Navigator`'s focus management, useful when the consumer of the component wants to manage focus themselves;
|
|
75
|
-
- `replace`: `boolean`. An optional property used to cause the new location to replace the current location in the stack.
|
|
76
75
|
|
|
77
76
|
### `goBack`: `( path: string, options: NavigateOptions ) => void`
|
|
78
77
|
|
|
@@ -87,8 +86,8 @@ The available options are the same as for the `goTo` method, except for the `isB
|
|
|
87
86
|
The `location` object represent the current location, and has a few properties:
|
|
88
87
|
|
|
89
88
|
- `path`: `string`. The path associated to the location.
|
|
90
|
-
- `isBack`: `boolean`. A flag that is `true` when the current location was reached by navigating backwards
|
|
91
|
-
- `isInitial`: `boolean`. A flag that is `true` only for the
|
|
89
|
+
- `isBack`: `boolean`. A flag that is `true` when the current location was reached by navigating backwards.
|
|
90
|
+
- `isInitial`: `boolean`. A flag that is `true` only for the initial location.
|
|
92
91
|
|
|
93
92
|
### `params`: `Record< string, string | string[] >`
|
|
94
93
|
|