@wordpress/components 25.14.0 → 25.15.1-next.79a6196f.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 +51 -0
- package/CONTRIBUTING.md +57 -115
- package/LICENSE.md +1 -1
- package/build/base-control/index.js +17 -13
- package/build/base-control/index.js.map +1 -1
- package/build/border-box-control/border-box-control-linked-button/component.js +1 -1
- package/build/border-box-control/border-box-control-linked-button/component.js.map +1 -1
- package/build/border-control/border-control-style-picker/component.js +1 -1
- package/build/border-control/border-control-style-picker/component.js.map +1 -1
- package/build/box-control/index.js +1 -1
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/linked-button.js +1 -1
- package/build/box-control/linked-button.js.map +1 -1
- package/build/button/index.js +1 -1
- package/build/button/index.js.map +1 -1
- package/build/color-palette/index.native.js +11 -7
- package/build/color-palette/index.native.js.map +1 -1
- package/build/color-picker/color-copy-button.js +1 -1
- package/build/color-picker/color-copy-button.js.map +1 -1
- package/build/context/wordpress-component.js.map +1 -1
- package/build/custom-select-control-v2/index.js +11 -10
- package/build/custom-select-control-v2/index.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/dropdown-menu-v2/index.js +205 -159
- package/build/dropdown-menu-v2/index.js.map +1 -1
- package/build/dropdown-menu-v2/styles.js +86 -77
- package/build/dropdown-menu-v2/styles.js.map +1 -1
- package/build/dropdown-menu-v2/types.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +4 -3
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/font-size-picker/index.js +4 -2
- package/build/font-size-picker/index.js.map +1 -1
- package/build/font-size-picker/index.native.js +6 -3
- package/build/font-size-picker/index.native.js.map +1 -1
- package/build/form-token-field/index.js +10 -5
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/token.js +1 -0
- package/build/form-token-field/token.js.map +1 -1
- package/build/gradient-picker/index.js +3 -2
- package/build/gradient-picker/index.js.map +1 -1
- package/build/index.native.js +20 -3
- package/build/index.native.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +32 -29
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/input-control/types.js.map +1 -1
- package/build/lock-unlock.js +18 -0
- package/build/lock-unlock.js.map +1 -0
- package/build/mobile/bottom-sheet/index.native.js +8 -0
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/color-settings/palette.screen.native.js +8 -4
- package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +26 -13
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/mobile/image/constants.js +12 -0
- package/build/mobile/image/constants.js.map +1 -0
- package/build/mobile/image/index.native.js +26 -18
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.android.js +40 -8
- package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.ios.js +44 -68
- package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +39 -0
- package/build/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js.map +1 -0
- package/build/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +22 -29
- package/build/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js.map +1 -0
- package/build/mobile/keyboard-aware-flat-list/use-scroll.native.js +93 -0
- package/build/mobile/keyboard-aware-flat-list/use-scroll.native.js.map +1 -0
- package/build/mobile/utils/get-px-from-css-unit.native.js +302 -0
- package/build/mobile/utils/get-px-from-css-unit.native.js.map +1 -0
- package/build/modal/index.js +18 -13
- package/build/modal/index.js.map +1 -1
- package/build/navigation/menu/menu-title.js +1 -1
- package/build/navigation/menu/menu-title.js.map +1 -1
- package/build/navigator/navigator-provider/component.js +13 -15
- package/build/navigator/navigator-provider/component.js.map +1 -1
- package/build/navigator/navigator-screen/component.js +23 -63
- package/build/navigator/navigator-screen/component.js.map +1 -1
- package/build/navigator/styles.js +52 -0
- package/build/navigator/styles.js.map +1 -0
- package/build/number-control/index.js +4 -8
- package/build/number-control/index.js.map +1 -1
- package/build/number-control/types.js.map +1 -1
- package/build/palette-edit/index.js +15 -54
- package/build/palette-edit/index.js.map +1 -1
- package/build/private-apis.js +11 -26
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +21 -0
- package/build/private-apis.native.js.map +1 -0
- package/build/radio-control/index.js +1 -0
- package/build/radio-control/index.js.map +1 -1
- package/build/range-control/index.js +1 -1
- package/build/range-control/index.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +15 -25
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/slot-fill/index.js +3 -2
- package/build/slot-fill/index.js.map +1 -1
- package/build/slot-fill/types.js.map +1 -1
- package/build/snackbar/types.js.map +1 -1
- package/build/tabs/styles.js +3 -3
- package/build/tabs/styles.js.map +1 -1
- package/build/tabs/tabpanel.js +9 -7
- package/build/tabs/tabpanel.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +4 -4
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +29 -15
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build/tools-panel/tools-panel/component.js +3 -1
- package/build/tools-panel/tools-panel/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +9 -8
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/tools-panel/types.js.map +1 -1
- package/build/tooltip/index.js +34 -10
- package/build/tooltip/index.js.map +1 -1
- package/build/tooltip/types.js.map +1 -1
- package/build/truncate/hook.js +10 -4
- package/build/truncate/hook.js.map +1 -1
- package/build/truncate/types.js.map +1 -1
- package/build/unit-control/index.js +1 -1
- package/build/unit-control/index.js.map +1 -1
- package/build/utils/strings.js +34 -3
- package/build/utils/strings.js.map +1 -1
- package/build-module/base-control/index.js +16 -12
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/border-box-control/border-box-control-linked-button/component.js +1 -1
- package/build-module/border-box-control/border-box-control-linked-button/component.js.map +1 -1
- package/build-module/border-control/border-control-style-picker/component.js +1 -1
- package/build-module/border-control/border-control-style-picker/component.js.map +1 -1
- package/build-module/box-control/index.js +1 -1
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/linked-button.js +1 -1
- package/build-module/box-control/linked-button.js.map +1 -1
- package/build-module/button/index.js +1 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/color-palette/index.native.js +11 -7
- package/build-module/color-palette/index.native.js.map +1 -1
- package/build-module/color-picker/color-copy-button.js +1 -1
- package/build-module/color-picker/color-copy-button.js.map +1 -1
- package/build-module/context/wordpress-component.js.map +1 -1
- package/build-module/custom-select-control-v2/index.js +11 -10
- package/build-module/custom-select-control-v2/index.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/dropdown-menu-v2/index.js +201 -154
- package/build-module/dropdown-menu-v2/index.js.map +1 -1
- package/build-module/dropdown-menu-v2/styles.js +68 -61
- 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/duotone-picker/duotone-picker.js +4 -3
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/font-size-picker/index.js +4 -2
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/font-size-picker/index.native.js +5 -2
- package/build-module/font-size-picker/index.native.js.map +1 -1
- package/build-module/form-token-field/index.js +10 -5
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/token.js +1 -0
- package/build-module/form-token-field/token.js.map +1 -1
- package/build-module/gradient-picker/index.js +3 -2
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/index.native.js +6 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +31 -29
- 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/lock-unlock.js +9 -0
- package/build-module/lock-unlock.js.map +1 -0
- package/build-module/mobile/bottom-sheet/index.native.js +9 -1
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/color-settings/palette.screen.native.js +8 -4
- package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +25 -13
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/mobile/image/constants.js +5 -0
- package/build-module/mobile/image/constants.js.map +1 -0
- package/build-module/mobile/image/index.native.js +25 -16
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/index.android.js +40 -6
- package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +46 -68
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +33 -0
- package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js.map +1 -0
- package/build-module/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +21 -27
- package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-section.native.js.map +1 -0
- package/build-module/mobile/keyboard-aware-flat-list/use-scroll.native.js +86 -0
- package/build-module/mobile/keyboard-aware-flat-list/use-scroll.native.js.map +1 -0
- package/build-module/mobile/utils/get-px-from-css-unit.native.js +294 -0
- package/build-module/mobile/utils/get-px-from-css-unit.native.js.map +1 -0
- package/build-module/modal/index.js +18 -13
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigation/menu/menu-title.js +1 -1
- package/build-module/navigation/menu/menu-title.js.map +1 -1
- package/build-module/navigator/navigator-provider/component.js +3 -16
- package/build-module/navigator/navigator-provider/component.js.map +1 -1
- package/build-module/navigator/navigator-screen/component.js +16 -70
- package/build-module/navigator/navigator-screen/component.js.map +1 -1
- package/build-module/navigator/styles.js +47 -0
- package/build-module/navigator/styles.js.map +1 -0
- package/build-module/number-control/index.js +4 -8
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/number-control/types.js.map +1 -1
- package/build-module/palette-edit/index.js +15 -51
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/private-apis.js +10 -23
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +14 -0
- package/build-module/private-apis.native.js.map +1 -0
- package/build-module/radio-control/index.js +1 -0
- package/build-module/radio-control/index.js.map +1 -1
- package/build-module/range-control/index.js +1 -1
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +15 -25
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/slot-fill/index.js +3 -2
- package/build-module/slot-fill/index.js.map +1 -1
- package/build-module/slot-fill/types.js.map +1 -1
- package/build-module/snackbar/types.js.map +1 -1
- package/build-module/tabs/styles.js +3 -3
- package/build-module/tabs/styles.js.map +1 -1
- package/build-module/tabs/tabpanel.js +9 -7
- package/build-module/tabs/tabpanel.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +4 -4
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +29 -15
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +9 -9
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build-module/tools-panel/tools-panel/component.js +3 -1
- package/build-module/tools-panel/tools-panel/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +9 -8
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/tools-panel/types.js.map +1 -1
- package/build-module/tooltip/index.js +34 -12
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tooltip/types.js.map +1 -1
- package/build-module/truncate/hook.js +10 -4
- package/build-module/truncate/hook.js.map +1 -1
- package/build-module/truncate/types.js.map +1 -1
- package/build-module/unit-control/index.js +1 -1
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/utils/strings.js +32 -2
- package/build-module/utils/strings.js.map +1 -1
- package/build-style/style-rtl.css +29 -5
- package/build-style/style.css +29 -5
- package/build-types/base-control/index.d.ts +3 -27
- package/build-types/base-control/index.d.ts.map +1 -1
- package/build-types/base-control/stories/index.story.d.ts +4 -1
- package/build-types/base-control/stories/index.story.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control/hook.d.ts +4 -4
- package/build-types/border-box-control/border-box-control-linked-button/hook.d.ts +6 -6
- package/build-types/border-box-control/border-box-control-split-controls/hook.d.ts +4 -4
- package/build-types/border-box-control/border-box-control-visualizer/hook.d.ts +4 -4
- package/build-types/border-box-control/stories/index.story.d.ts +1 -1
- package/build-types/border-control/border-control/hook.d.ts +4 -4
- package/build-types/border-control/border-control-dropdown/hook.d.ts +4 -4
- package/build-types/border-control/border-control-style-picker/hook.d.ts +4 -4
- package/build-types/border-control/stories/index.story.d.ts +6 -6
- package/build-types/box-control/stories/index.story.d.ts +42 -42
- package/build-types/box-control/styles/box-control-styles.d.ts +1 -1
- package/build-types/button/deprecated.d.ts +3 -3
- package/build-types/card/card/hook.d.ts +4 -4
- package/build-types/card/card-body/hook.d.ts +4 -4
- package/build-types/card/card-divider/hook.d.ts +4 -4
- package/build-types/card/card-footer/hook.d.ts +4 -4
- package/build-types/card/card-header/hook.d.ts +4 -4
- package/build-types/card/card-media/hook.d.ts +4 -4
- package/build-types/color-palette/styles.d.ts +2 -2
- package/build-types/color-picker/component.d.ts +2 -2
- package/build-types/color-picker/stories/index.story.d.ts +1 -1
- package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +3 -3
- package/build-types/composite/test/index.d.ts.map +1 -0
- package/build-types/context/wordpress-component.d.ts +3 -3
- package/build-types/context/wordpress-component.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/index.d.ts +3 -2
- package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/stories/index.story.d.ts +4 -3
- package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +3 -3
- package/build-types/date-time/date-time/styles.d.ts +1 -1
- package/build-types/date-time/time/styles.d.ts +4 -4
- package/build-types/dropdown/index.d.ts +1 -1
- package/build-types/dropdown/index.d.ts.map +1 -1
- package/build-types/dropdown/stories/index.story.d.ts +3 -3
- package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu/index.d.ts +1 -1
- package/build-types/dropdown-menu/index.d.ts.map +1 -1
- package/build-types/dropdown-menu/stories/index.story.d.ts +2 -2
- package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/index.d.ts +18 -15
- package/build-types/dropdown-menu-v2/index.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/stories/index.story.d.ts +7 -2
- package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/styles.d.ts +77 -23
- package/build-types/dropdown-menu-v2/styles.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/types.d.ts +89 -173
- package/build-types/dropdown-menu-v2/types.d.ts.map +1 -1
- package/build-types/duotone-picker/duotone-picker.d.ts.map +1 -1
- package/build-types/elevation/hook.d.ts +4 -4
- package/build-types/flex/flex/hook.d.ts +4 -4
- package/build-types/flex/flex-block/hook.d.ts +4 -4
- package/build-types/flex/flex-item/hook.d.ts +4 -4
- 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/index.d.ts.map +1 -1
- package/build-types/font-size-picker/styles.d.ts +1 -1
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/token.d.ts.map +1 -1
- package/build-types/grid/hook.d.ts +4 -4
- package/build-types/h-stack/hook.d.ts +4 -4
- package/build-types/heading/component.d.ts +1 -1
- package/build-types/heading/hook.d.ts +4 -4
- package/build-types/input-control/styles/input-control-styles.d.ts +11 -0
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +1 -1
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/item-group/item/hook.d.ts +4 -4
- package/build-types/item-group/item-group/hook.d.ts +4 -4
- package/build-types/lock-unlock.d.ts +3 -0
- package/build-types/lock-unlock.d.ts.map +1 -0
- package/build-types/menu-item/index.d.ts +1 -1
- package/build-types/menu-item/stories/index.story.d.ts +4 -4
- package/build-types/mobile/image/constants.d.ts +5 -0
- package/build-types/mobile/image/constants.d.ts.map +1 -0
- package/build-types/modal/index.d.ts.map +1 -1
- package/build-types/navigation/styles/navigation-styles.d.ts +3 -3
- package/build-types/navigator/navigator-back-button/hook.d.ts +6 -6
- package/build-types/navigator/navigator-button/hook.d.ts +6 -6
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-screen/component.d.ts +1 -7
- package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
- package/build-types/navigator/styles.d.ts +9 -0
- package/build-types/navigator/styles.d.ts.map +1 -0
- 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 +1 -1
- package/build-types/number-control/types.d.ts +1 -1
- package/build-types/palette-edit/index.d.ts +3 -8
- package/build-types/palette-edit/index.d.ts.map +1 -1
- package/build-types/palette-edit/styles.d.ts +3 -3
- package/build-types/popover/index.d.ts +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/stories/e2e/index.story.d.ts +1 -1
- package/build-types/private-apis.d.ts +0 -1
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/radio-control/index.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/resizable-box/index.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/index.d.ts +1 -1
- package/build-types/resizable-box/stories/index.story.d.ts +2 -2
- package/build-types/scrollable/hook.d.ts +4 -4
- package/build-types/search-control/index.d.ts +1 -1
- package/build-types/search-control/stories/index.story.d.ts +2 -2
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/slot-fill/index.d.ts +1 -1
- package/build-types/slot-fill/index.d.ts.map +1 -1
- package/build-types/slot-fill/types.d.ts +4 -0
- package/build-types/slot-fill/types.d.ts.map +1 -1
- package/build-types/snackbar/index.d.ts +2 -2
- package/build-types/snackbar/stories/index.story.d.ts +0 -3
- package/build-types/snackbar/stories/index.story.d.ts.map +1 -1
- package/build-types/snackbar/types.d.ts +1 -1
- package/build-types/snackbar/types.d.ts.map +1 -1
- package/build-types/spacer/hook.d.ts +4 -4
- package/build-types/surface/hook.d.ts +4 -4
- package/build-types/tabs/styles.d.ts.map +1 -1
- package/build-types/tabs/tabpanel.d.ts +1 -1
- package/build-types/tabs/tabpanel.d.ts.map +1 -1
- package/build-types/text/hook.d.ts +4 -4
- package/build-types/text-control/index.d.ts +1 -1
- package/build-types/textarea-control/index.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-button-group.d.ts +1 -1
- package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +1 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +1 -1
- package/build-types/toolbar/toolbar-button/index.d.ts +3 -3
- package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts +5 -4
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/hook.d.ts +5 -4
- package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-item/hook.d.ts +4 -4
- package/build-types/tools-panel/types.d.ts +9 -0
- package/build-types/tools-panel/types.d.ts.map +1 -1
- package/build-types/tooltip/index.d.ts +1 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/tooltip/stories/index.story.d.ts +10 -1
- package/build-types/tooltip/stories/index.story.d.ts.map +1 -1
- package/build-types/tooltip/types.d.ts +3 -0
- package/build-types/tooltip/types.d.ts.map +1 -1
- package/build-types/truncate/hook.d.ts +5 -5
- package/build-types/truncate/hook.d.ts.map +1 -1
- package/build-types/truncate/types.d.ts +4 -0
- package/build-types/truncate/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/utils/strings.d.ts +14 -2
- package/build-types/utils/strings.d.ts.map +1 -1
- package/build-types/v-stack/hook.d.ts +4 -4
- package/build-types/v-stack/stories/index.story.d.ts +1 -1
- package/package.json +20 -21
- package/src/alignment-matrix-control/test/index.tsx +10 -16
- package/src/base-control/index.tsx +21 -16
- package/src/border-box-control/border-box-control-linked-button/component.tsx +1 -1
- package/src/border-control/border-control-style-picker/component.tsx +1 -1
- package/src/box-control/index.tsx +1 -1
- package/src/box-control/linked-button.tsx +1 -1
- package/src/button/README.md +32 -6
- package/src/button/index.tsx +1 -1
- package/src/button-group/README.md +0 -6
- package/src/card/card/README.md +1 -1
- package/src/checkbox-control/README.md +1 -9
- package/src/color-palette/index.native.js +18 -7
- package/src/color-picker/color-copy-button.tsx +1 -1
- package/src/combobox-control/README.md +0 -6
- package/src/composite/test/index.tsx +576 -0
- package/src/context/wordpress-component.ts +11 -6
- package/src/custom-select-control/README.md +0 -6
- package/src/custom-select-control-v2/index.tsx +13 -12
- package/src/date-time/date/styles.ts +3 -3
- package/src/dropdown-menu/README.md +0 -5
- package/src/dropdown-menu-v2/README.md +75 -136
- package/src/dropdown-menu-v2/index.tsx +321 -231
- package/src/dropdown-menu-v2/stories/index.story.tsx +522 -126
- package/src/dropdown-menu-v2/styles.ts +226 -151
- package/src/dropdown-menu-v2/test/index.tsx +480 -188
- package/src/dropdown-menu-v2/types.ts +98 -184
- package/src/duotone-picker/duotone-picker.tsx +7 -3
- package/src/font-size-picker/index.native.js +8 -2
- package/src/font-size-picker/index.tsx +4 -2
- package/src/form-toggle/README.md +0 -6
- package/src/form-token-field/index.tsx +11 -7
- package/src/form-token-field/test/index.tsx +97 -0
- package/src/form-token-field/token.tsx +1 -0
- package/src/gradient-picker/index.tsx +2 -2
- package/src/index.native.js +6 -1
- package/src/input-control/styles/input-control-styles.tsx +10 -8
- package/src/input-control/types.ts +1 -1
- package/src/lock-unlock.js +10 -0
- package/src/menu-group/README.md +0 -8
- package/src/menu-items-choice/README.md +0 -7
- package/src/mobile/bottom-sheet/index.native.js +15 -1
- package/src/mobile/color-settings/palette.screen.native.js +7 -5
- package/src/mobile/global-styles-context/test/fixtures/theme.native.js +0 -20
- package/src/mobile/global-styles-context/utils.native.js +28 -19
- package/src/mobile/image/constants.js +1 -0
- package/src/mobile/image/index.native.js +55 -18
- package/src/mobile/image/style.native.scss +35 -9
- package/src/mobile/keyboard-aware-flat-list/index.android.js +50 -5
- package/src/mobile/keyboard-aware-flat-list/index.ios.js +65 -91
- package/src/mobile/keyboard-aware-flat-list/test/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +27 -25
- package/src/mobile/keyboard-aware-flat-list/test/use-scroll.native.js +71 -0
- package/src/mobile/keyboard-aware-flat-list/use-scroll-to-element.native.js +41 -0
- package/src/mobile/keyboard-aware-flat-list/{use-scroll-to-text-input.native.js → use-scroll-to-section.native.js} +22 -27
- package/src/mobile/keyboard-aware-flat-list/use-scroll.native.js +100 -0
- package/src/mobile/utils/get-px-from-css-unit.native.js +329 -0
- package/src/mobile/utils/test/get-px-from-css-unit.native.js +172 -0
- package/src/modal/README.md +0 -6
- package/src/modal/index.tsx +18 -16
- package/src/modal/test/index.tsx +90 -1
- package/src/navigation/menu/menu-title.tsx +1 -1
- package/src/navigator/navigator-provider/component.tsx +3 -4
- package/src/navigator/navigator-screen/component.tsx +15 -93
- package/src/navigator/styles.ts +71 -0
- package/src/navigator/test/index.tsx +0 -64
- package/src/notice/README.md +0 -6
- package/src/number-control/README.md +2 -2
- package/src/number-control/index.tsx +4 -8
- package/src/number-control/types.ts +1 -1
- package/src/palette-edit/index.tsx +15 -58
- package/src/palette-edit/test/index.tsx +1 -75
- package/src/panel/README.md +0 -6
- package/src/private-apis.native.js +13 -0
- package/src/private-apis.ts +12 -37
- package/src/radio-control/README.md +0 -6
- package/src/radio-control/index.tsx +4 -1
- package/src/radio-control/style.scss +29 -2
- package/src/radio-group/README.md +0 -6
- package/src/range-control/README.md +1 -9
- package/src/range-control/index.tsx +1 -1
- package/src/search-control/README.md +0 -6
- package/src/select-control/README.md +0 -6
- package/src/select-control/styles/select-control-styles.ts +10 -28
- package/src/slot-fill/index.tsx +5 -2
- package/src/slot-fill/types.ts +5 -0
- package/src/snackbar/README.md +0 -6
- package/src/snackbar/stories/index.story.tsx +7 -5
- package/src/snackbar/style.scss +4 -3
- package/src/snackbar/types.ts +2 -1
- package/src/spacer/README.md +0 -2
- package/src/tab-panel/README.md +0 -5
- package/src/tab-panel/test/index.tsx +39 -56
- package/src/tabs/styles.ts +7 -1
- package/src/tabs/tabpanel.tsx +7 -6
- package/src/tabs/test/index.tsx +56 -0
- package/src/text-control/README.md +0 -6
- package/src/textarea-control/README.md +0 -6
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +12 -16
- package/src/toggle-group-control/test/index.tsx +58 -45
- package/src/toggle-group-control/toggle-group-control/component.tsx +5 -4
- package/src/toggle-group-control/toggle-group-control/styles.ts +13 -19
- package/src/toggle-group-control/toggle-group-control-option/README.md +1 -1
- package/src/toggle-group-control/toggle-group-control-option-base/README.md +1 -1
- package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +3 -2
- package/src/toggle-group-control/toggle-group-control-option-icon/README.md +1 -1
- package/src/toolbar/toolbar/README.md +0 -6
- package/src/tools-panel/test/index.tsx +12 -20
- package/src/tools-panel/tools-panel/README.md +7 -0
- package/src/tools-panel/tools-panel/component.tsx +2 -0
- package/src/tools-panel/tools-panel-header/README.md +7 -0
- package/src/tools-panel/tools-panel-header/component.tsx +20 -13
- package/src/tools-panel/types.ts +9 -0
- package/src/tooltip/README.md +4 -0
- package/src/tooltip/index.tsx +48 -10
- package/src/tooltip/stories/index.story.tsx +18 -1
- package/src/tooltip/test/index.tsx +404 -254
- package/src/tooltip/types.ts +4 -0
- package/src/tree-grid/README.md +0 -4
- package/src/truncate/README.md +8 -0
- package/src/truncate/hook.ts +17 -10
- package/src/truncate/test/index.tsx +54 -27
- package/src/truncate/types.ts +4 -0
- package/src/unit-control/index.tsx +1 -1
- package/src/utils/strings.ts +30 -2
- package/src/utils/test/strings.js +96 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/dropdown-menu-v2-ariakit/index.js +0 -256
- package/build/dropdown-menu-v2-ariakit/index.js.map +0 -1
- package/build/dropdown-menu-v2-ariakit/styles.js +0 -180
- package/build/dropdown-menu-v2-ariakit/styles.js.map +0 -1
- package/build/dropdown-menu-v2-ariakit/types.js +0 -6
- package/build/dropdown-menu-v2-ariakit/types.js.map +0 -1
- package/build/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js.map +0 -1
- package/build-module/dropdown-menu-v2-ariakit/index.js +0 -237
- package/build-module/dropdown-menu-v2-ariakit/index.js.map +0 -1
- package/build-module/dropdown-menu-v2-ariakit/styles.js +0 -165
- package/build-module/dropdown-menu-v2-ariakit/styles.js.map +0 -1
- package/build-module/dropdown-menu-v2-ariakit/types.js +0 -2
- package/build-module/dropdown-menu-v2-ariakit/types.js.map +0 -1
- package/build-module/mobile/keyboard-aware-flat-list/use-scroll-to-text-input.native.js.map +0 -1
- package/build-types/dropdown-menu-v2-ariakit/index.d.ts +0 -20
- package/build-types/dropdown-menu-v2-ariakit/index.d.ts.map +0 -1
- package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts +0 -16
- package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts.map +0 -1
- package/build-types/dropdown-menu-v2-ariakit/styles.d.ts +0 -96
- package/build-types/dropdown-menu-v2-ariakit/styles.d.ts.map +0 -1
- package/build-types/dropdown-menu-v2-ariakit/test/index.d.ts.map +0 -1
- package/build-types/dropdown-menu-v2-ariakit/types.d.ts +0 -168
- package/build-types/dropdown-menu-v2-ariakit/types.d.ts.map +0 -1
- package/src/dropdown-menu-v2-ariakit/README.md +0 -331
- package/src/dropdown-menu-v2-ariakit/index.tsx +0 -383
- package/src/dropdown-menu-v2-ariakit/stories/index.story.tsx +0 -617
- package/src/dropdown-menu-v2-ariakit/styles.ts +0 -345
- package/src/dropdown-menu-v2-ariakit/test/index.tsx +0 -1108
- package/src/dropdown-menu-v2-ariakit/types.ts +0 -179
- /package/build-types/{dropdown-menu-v2-ariakit → composite}/test/index.d.ts +0 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
2
|
+
/**
|
|
3
|
+
* External dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { css, keyframes } from '@emotion/react';
|
|
6
|
+
export const navigatorProviderWrapper = process.env.NODE_ENV === "production" ? {
|
|
7
|
+
name: "xpkswc",
|
|
8
|
+
styles: "overflow-x:hidden;contain:content"
|
|
9
|
+
} : {
|
|
10
|
+
name: "1qbsmur-navigatorProviderWrapper",
|
|
11
|
+
styles: "overflow-x:hidden;contain:content;label:navigatorProviderWrapper;",
|
|
12
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLMkMiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9uYXZpZ2F0b3Ivc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmV4cG9ydCBjb25zdCBuYXZpZ2F0b3JQcm92aWRlcldyYXBwZXIgPSBjc3NgXG5cdC8qIFByZXZlbnRzIGhvcml6b250YWwgb3ZlcmZsb3cgd2hpbGUgYW5pbWF0aW5nIHNjcmVlbiB0cmFuc2l0aW9ucyAqL1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdC8qIE1hcmsgdGhpcyBzdWJzZWN0aW9uIG9mIHRoZSBET00gYXMgaXNvbGF0ZWQsIHByb3ZpZGluZyBwZXJmb3JtYW5jZSBiZW5lZml0c1xuXHQgKiBieSBsaW1pdGluZyBjYWxjdWxhdGlvbnMgb2YgbGF5b3V0LCBzdHlsZSBhbmQgcGFpbnQgdG8gYSBET00gc3VidHJlZSByYXRoZXJcblx0ICogdGhhbiB0aGUgZW50aXJlIHBhZ2UuXG5cdCAqL1xuXHRjb250YWluOiBjb250ZW50O1xuYDtcblxuY29uc3QgZmFkZUluRnJvbVJpZ2h0ID0ga2V5ZnJhbWVzKCB7XG5cdCcwJSc6IHtcblx0XHRvcGFjaXR5OiAwLFxuXHRcdHRyYW5zZm9ybTogYHRyYW5zbGF0ZVgoIDUwcHggKWAsXG5cdH0sXG5cdCcxMDAlJzogeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICdub25lJyB9LFxufSApO1xuXG5jb25zdCBmYWRlSW5Gcm9tTGVmdCA9IGtleWZyYW1lcygge1xuXHQnMCUnOiB7XG5cdFx0b3BhY2l0eTogMCxcblx0XHR0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKCAtNTBweCApYCxcblx0fSxcblx0JzEwMCUnOiB7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ25vbmUnIH0sXG59ICk7XG5cbnR5cGUgTmF2aWdhdG9yU2NyZWVuQW5pbWF0aW9uUHJvcHMgPSB7XG5cdGlzSW5pdGlhbD86IGJvb2xlYW47XG5cdGlzQmFjaz86IGJvb2xlYW47XG5cdGlzUlRMOiBib29sZWFuO1xufTtcblxuY29uc3QgbmF2aWdhdG9yU2NyZWVuQW5pbWF0aW9uID0gKCB7XG5cdGlzSW5pdGlhbCxcblx0aXNCYWNrLFxuXHRpc1JUTCxcbn06IE5hdmlnYXRvclNjcmVlbkFuaW1hdGlvblByb3BzICkgPT4ge1xuXHRpZiAoIGlzSW5pdGlhbCAmJiAhIGlzQmFjayApIHtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRjb25zdCBhbmltYXRpb25OYW1lID1cblx0XHQoIGlzUlRMICYmIGlzQmFjayApIHx8ICggISBpc1JUTCAmJiAhIGlzQmFjayApXG5cdFx0XHQ/IGZhZGVJbkZyb21SaWdodFxuXHRcdFx0OiBmYWRlSW5Gcm9tTGVmdDtcblxuXHRyZXR1cm4gY3NzYFxuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xNHM7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0XHRhbmltYXRpb24tbmFtZTogJHsgYW5pbWF0aW9uTmFtZSB9O1xuXG5cdFx0QG1lZGlhICggcHJlZmVycy1yZWR1Y2VkLW1vdGlvbiApIHtcblx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMHM7XG5cdFx0fVxuXHRgO1xufTtcblxuZXhwb3J0IGNvbnN0IG5hdmlnYXRvclNjcmVlbiA9ICggcHJvcHM6IE5hdmlnYXRvclNjcmVlbkFuaW1hdGlvblByb3BzICkgPT4gY3NzYFxuXHQvKiBFbnN1cmVzIGhvcml6b250YWwgb3ZlcmZsb3cgaXMgdmlzdWFsbHkgYWNjZXNzaWJsZSAqL1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHQvKiBJbiBjYXNlIHRoZSByb290IGhhcyBhIGhlaWdodCwgaXQgc2hvdWxkIG5vdCBiZSBleGNlZWRlZCAqL1xuXHRtYXgtaGVpZ2h0OiAxMDAlO1xuXG5cdCR7IG5hdmlnYXRvclNjcmVlbkFuaW1hdGlvbiggcHJvcHMgKSB9XG5gO1xuIl19 */",
|
|
13
|
+
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
14
|
+
};
|
|
15
|
+
const fadeInFromRight = keyframes({
|
|
16
|
+
'0%': {
|
|
17
|
+
opacity: 0,
|
|
18
|
+
transform: `translateX( 50px )`
|
|
19
|
+
},
|
|
20
|
+
'100%': {
|
|
21
|
+
opacity: 1,
|
|
22
|
+
transform: 'none'
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const fadeInFromLeft = keyframes({
|
|
26
|
+
'0%': {
|
|
27
|
+
opacity: 0,
|
|
28
|
+
transform: `translateX( -50px )`
|
|
29
|
+
},
|
|
30
|
+
'100%': {
|
|
31
|
+
opacity: 1,
|
|
32
|
+
transform: 'none'
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
const navigatorScreenAnimation = ({
|
|
36
|
+
isInitial,
|
|
37
|
+
isBack,
|
|
38
|
+
isRTL
|
|
39
|
+
}) => {
|
|
40
|
+
if (isInitial && !isBack) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const animationName = isRTL && isBack || !isRTL && !isBack ? fadeInFromRight : fadeInFromLeft;
|
|
44
|
+
return /*#__PURE__*/css("animation-duration:0.14s;animation-timing-function:ease-in-out;will-change:transform,opacity;animation-name:", animationName, ";@media ( prefers-reduced-motion ){animation-duration:0s;}" + (process.env.NODE_ENV === "production" ? "" : ";label:navigatorScreenAnimation;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRFciLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9uYXZpZ2F0b3Ivc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdAZW1vdGlvbi9yZWFjdCc7XG5cbmV4cG9ydCBjb25zdCBuYXZpZ2F0b3JQcm92aWRlcldyYXBwZXIgPSBjc3NgXG5cdC8qIFByZXZlbnRzIGhvcml6b250YWwgb3ZlcmZsb3cgd2hpbGUgYW5pbWF0aW5nIHNjcmVlbiB0cmFuc2l0aW9ucyAqL1xuXHRvdmVyZmxvdy14OiBoaWRkZW47XG5cdC8qIE1hcmsgdGhpcyBzdWJzZWN0aW9uIG9mIHRoZSBET00gYXMgaXNvbGF0ZWQsIHByb3ZpZGluZyBwZXJmb3JtYW5jZSBiZW5lZml0c1xuXHQgKiBieSBsaW1pdGluZyBjYWxjdWxhdGlvbnMgb2YgbGF5b3V0LCBzdHlsZSBhbmQgcGFpbnQgdG8gYSBET00gc3VidHJlZSByYXRoZXJcblx0ICogdGhhbiB0aGUgZW50aXJlIHBhZ2UuXG5cdCAqL1xuXHRjb250YWluOiBjb250ZW50O1xuYDtcblxuY29uc3QgZmFkZUluRnJvbVJpZ2h0ID0ga2V5ZnJhbWVzKCB7XG5cdCcwJSc6IHtcblx0XHRvcGFjaXR5OiAwLFxuXHRcdHRyYW5zZm9ybTogYHRyYW5zbGF0ZVgoIDUwcHggKWAsXG5cdH0sXG5cdCcxMDAlJzogeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICdub25lJyB9LFxufSApO1xuXG5jb25zdCBmYWRlSW5Gcm9tTGVmdCA9IGtleWZyYW1lcygge1xuXHQnMCUnOiB7XG5cdFx0b3BhY2l0eTogMCxcblx0XHR0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKCAtNTBweCApYCxcblx0fSxcblx0JzEwMCUnOiB7IG9wYWNpdHk6IDEsIHRyYW5zZm9ybTogJ25vbmUnIH0sXG59ICk7XG5cbnR5cGUgTmF2aWdhdG9yU2NyZWVuQW5pbWF0aW9uUHJvcHMgPSB7XG5cdGlzSW5pdGlhbD86IGJvb2xlYW47XG5cdGlzQmFjaz86IGJvb2xlYW47XG5cdGlzUlRMOiBib29sZWFuO1xufTtcblxuY29uc3QgbmF2aWdhdG9yU2NyZWVuQW5pbWF0aW9uID0gKCB7XG5cdGlzSW5pdGlhbCxcblx0aXNCYWNrLFxuXHRpc1JUTCxcbn06IE5hdmlnYXRvclNjcmVlbkFuaW1hdGlvblByb3BzICkgPT4ge1xuXHRpZiAoIGlzSW5pdGlhbCAmJiAhIGlzQmFjayApIHtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRjb25zdCBhbmltYXRpb25OYW1lID1cblx0XHQoIGlzUlRMICYmIGlzQmFjayApIHx8ICggISBpc1JUTCAmJiAhIGlzQmFjayApXG5cdFx0XHQ/IGZhZGVJbkZyb21SaWdodFxuXHRcdFx0OiBmYWRlSW5Gcm9tTGVmdDtcblxuXHRyZXR1cm4gY3NzYFxuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMC4xNHM7XG5cdFx0YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cdFx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTtcblx0XHRhbmltYXRpb24tbmFtZTogJHsgYW5pbWF0aW9uTmFtZSB9O1xuXG5cdFx0QG1lZGlhICggcHJlZmVycy1yZWR1Y2VkLW1vdGlvbiApIHtcblx0XHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMHM7XG5cdFx0fVxuXHRgO1xufTtcblxuZXhwb3J0IGNvbnN0IG5hdmlnYXRvclNjcmVlbiA9ICggcHJvcHM6IE5hdmlnYXRvclNjcmVlbkFuaW1hdGlvblByb3BzICkgPT4gY3NzYFxuXHQvKiBFbnN1cmVzIGhvcml6b250YWwgb3ZlcmZsb3cgaXMgdmlzdWFsbHkgYWNjZXNzaWJsZSAqL1xuXHRvdmVyZmxvdy14OiBhdXRvO1xuXHQvKiBJbiBjYXNlIHRoZSByb290IGhhcyBhIGhlaWdodCwgaXQgc2hvdWxkIG5vdCBiZSBleGNlZWRlZCAqL1xuXHRtYXgtaGVpZ2h0OiAxMDAlO1xuXG5cdCR7IG5hdmlnYXRvclNjcmVlbkFuaW1hdGlvbiggcHJvcHMgKSB9XG5gO1xuIl19 */");
|
|
45
|
+
};
|
|
46
|
+
export const navigatorScreen = props => /*#__PURE__*/css("overflow-x:auto;max-height:100%;", navigatorScreenAnimation(props), ";" + (process.env.NODE_ENV === "production" ? "" : ";label:navigatorScreen;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUErRDhFIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvbmF2aWdhdG9yL3N0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuXG5leHBvcnQgY29uc3QgbmF2aWdhdG9yUHJvdmlkZXJXcmFwcGVyID0gY3NzYFxuXHQvKiBQcmV2ZW50cyBob3Jpem9udGFsIG92ZXJmbG93IHdoaWxlIGFuaW1hdGluZyBzY3JlZW4gdHJhbnNpdGlvbnMgKi9cblx0b3ZlcmZsb3cteDogaGlkZGVuO1xuXHQvKiBNYXJrIHRoaXMgc3Vic2VjdGlvbiBvZiB0aGUgRE9NIGFzIGlzb2xhdGVkLCBwcm92aWRpbmcgcGVyZm9ybWFuY2UgYmVuZWZpdHNcblx0ICogYnkgbGltaXRpbmcgY2FsY3VsYXRpb25zIG9mIGxheW91dCwgc3R5bGUgYW5kIHBhaW50IHRvIGEgRE9NIHN1YnRyZWUgcmF0aGVyXG5cdCAqIHRoYW4gdGhlIGVudGlyZSBwYWdlLlxuXHQgKi9cblx0Y29udGFpbjogY29udGVudDtcbmA7XG5cbmNvbnN0IGZhZGVJbkZyb21SaWdodCA9IGtleWZyYW1lcygge1xuXHQnMCUnOiB7XG5cdFx0b3BhY2l0eTogMCxcblx0XHR0cmFuc2Zvcm06IGB0cmFuc2xhdGVYKCA1MHB4IClgLFxuXHR9LFxuXHQnMTAwJSc6IHsgb3BhY2l0eTogMSwgdHJhbnNmb3JtOiAnbm9uZScgfSxcbn0gKTtcblxuY29uc3QgZmFkZUluRnJvbUxlZnQgPSBrZXlmcmFtZXMoIHtcblx0JzAlJzoge1xuXHRcdG9wYWNpdHk6IDAsXG5cdFx0dHJhbnNmb3JtOiBgdHJhbnNsYXRlWCggLTUwcHggKWAsXG5cdH0sXG5cdCcxMDAlJzogeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICdub25lJyB9LFxufSApO1xuXG50eXBlIE5hdmlnYXRvclNjcmVlbkFuaW1hdGlvblByb3BzID0ge1xuXHRpc0luaXRpYWw/OiBib29sZWFuO1xuXHRpc0JhY2s/OiBib29sZWFuO1xuXHRpc1JUTDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IG5hdmlnYXRvclNjcmVlbkFuaW1hdGlvbiA9ICgge1xuXHRpc0luaXRpYWwsXG5cdGlzQmFjayxcblx0aXNSVEwsXG59OiBOYXZpZ2F0b3JTY3JlZW5BbmltYXRpb25Qcm9wcyApID0+IHtcblx0aWYgKCBpc0luaXRpYWwgJiYgISBpc0JhY2sgKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3QgYW5pbWF0aW9uTmFtZSA9XG5cdFx0KCBpc1JUTCAmJiBpc0JhY2sgKSB8fCAoICEgaXNSVEwgJiYgISBpc0JhY2sgKVxuXHRcdFx0PyBmYWRlSW5Gcm9tUmlnaHRcblx0XHRcdDogZmFkZUluRnJvbUxlZnQ7XG5cblx0cmV0dXJuIGNzc2Bcblx0XHRhbmltYXRpb24tZHVyYXRpb246IDAuMTRzO1xuXHRcdGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuXHRcdHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG5cdFx0YW5pbWF0aW9uLW5hbWU6ICR7IGFuaW1hdGlvbk5hbWUgfTtcblxuXHRcdEBtZWRpYSAoIHByZWZlcnMtcmVkdWNlZC1tb3Rpb24gKSB7XG5cdFx0XHRhbmltYXRpb24tZHVyYXRpb246IDBzO1xuXHRcdH1cblx0YDtcbn07XG5cbmV4cG9ydCBjb25zdCBuYXZpZ2F0b3JTY3JlZW4gPSAoIHByb3BzOiBOYXZpZ2F0b3JTY3JlZW5BbmltYXRpb25Qcm9wcyApID0+IGNzc2Bcblx0LyogRW5zdXJlcyBob3Jpem9udGFsIG92ZXJmbG93IGlzIHZpc3VhbGx5IGFjY2Vzc2libGUgKi9cblx0b3ZlcmZsb3cteDogYXV0bztcblx0LyogSW4gY2FzZSB0aGUgcm9vdCBoYXMgYSBoZWlnaHQsIGl0IHNob3VsZCBub3QgYmUgZXhjZWVkZWQgKi9cblx0bWF4LWhlaWdodDogMTAwJTtcblxuXHQkeyBuYXZpZ2F0b3JTY3JlZW5BbmltYXRpb24oIHByb3BzICkgfVxuYDtcbiJdfQ== */");
|
|
47
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["css","keyframes","navigatorProviderWrapper","process","env","NODE_ENV","name","styles","map","toString","_EMOTION_STRINGIFIED_CSS_ERROR__","fadeInFromRight","opacity","transform","fadeInFromLeft","navigatorScreenAnimation","isInitial","isBack","isRTL","animationName","navigatorScreen","props"],"sources":["@wordpress/components/src/navigator/styles.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { css, keyframes } from '@emotion/react';\n\nexport const navigatorProviderWrapper = css`\n\t/* Prevents horizontal overflow while animating screen transitions */\n\toverflow-x: hidden;\n\t/* Mark this subsection of the DOM as isolated, providing performance benefits\n\t * by limiting calculations of layout, style and paint to a DOM subtree rather\n\t * than the entire page.\n\t */\n\tcontain: content;\n`;\n\nconst fadeInFromRight = keyframes( {\n\t'0%': {\n\t\topacity: 0,\n\t\ttransform: `translateX( 50px )`,\n\t},\n\t'100%': { opacity: 1, transform: 'none' },\n} );\n\nconst fadeInFromLeft = keyframes( {\n\t'0%': {\n\t\topacity: 0,\n\t\ttransform: `translateX( -50px )`,\n\t},\n\t'100%': { opacity: 1, transform: 'none' },\n} );\n\ntype NavigatorScreenAnimationProps = {\n\tisInitial?: boolean;\n\tisBack?: boolean;\n\tisRTL: boolean;\n};\n\nconst navigatorScreenAnimation = ( {\n\tisInitial,\n\tisBack,\n\tisRTL,\n}: NavigatorScreenAnimationProps ) => {\n\tif ( isInitial && ! isBack ) {\n\t\treturn;\n\t}\n\n\tconst animationName =\n\t\t( isRTL && isBack ) || ( ! isRTL && ! isBack )\n\t\t\t? fadeInFromRight\n\t\t\t: fadeInFromLeft;\n\n\treturn css`\n\t\tanimation-duration: 0.14s;\n\t\tanimation-timing-function: ease-in-out;\n\t\twill-change: transform, opacity;\n\t\tanimation-name: ${ animationName };\n\n\t\t@media ( prefers-reduced-motion ) {\n\t\t\tanimation-duration: 0s;\n\t\t}\n\t`;\n};\n\nexport const navigatorScreen = ( props: NavigatorScreenAnimationProps ) => css`\n\t/* Ensures horizontal overflow is visually accessible */\n\toverflow-x: auto;\n\t/* In case the root has a height, it should not be exceeded */\n\tmax-height: 100%;\n\n\t${ navigatorScreenAnimation( props ) }\n`;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,GAAG,EAAEC,SAAS,QAAQ,gBAAgB;AAE/C,OAAO,MAAMC,wBAAwB,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,IAAA;EAAAC,MAAA;AAAA;EAAAD,IAAA;EAAAC,MAAA;EAAAC,GAAA;EAAAC,QAAA,EAAAC;AAAA,CAQpC;AAED,MAAMC,eAAe,GAAGV,SAAS,CAAE;EAClC,IAAI,EAAE;IACLW,OAAO,EAAE,CAAC;IACVC,SAAS,EAAG;EACb,CAAC;EACD,MAAM,EAAE;IAAED,OAAO,EAAE,CAAC;IAAEC,SAAS,EAAE;EAAO;AACzC,CAAE,CAAC;AAEH,MAAMC,cAAc,GAAGb,SAAS,CAAE;EACjC,IAAI,EAAE;IACLW,OAAO,EAAE,CAAC;IACVC,SAAS,EAAG;EACb,CAAC;EACD,MAAM,EAAE;IAAED,OAAO,EAAE,CAAC;IAAEC,SAAS,EAAE;EAAO;AACzC,CAAE,CAAC;AAQH,MAAME,wBAAwB,GAAGA,CAAE;EAClCC,SAAS;EACTC,MAAM;EACNC;AAC8B,CAAC,KAAM;EACrC,IAAKF,SAAS,IAAI,CAAEC,MAAM,EAAG;IAC5B;EACD;EAEA,MAAME,aAAa,GAChBD,KAAK,IAAID,MAAM,IAAQ,CAAEC,KAAK,IAAI,CAAED,MAAQ,GAC3CN,eAAe,GACfG,cAAc;EAElB,oBAAOd,GAAG,iHAIUmB,aAAa,kEAAAhB,OAAA,CAAAC,GAAA,CAAAC,QAAA,8DAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA;AAMlC,CAAC;AAED,OAAO,MAAMe,eAAe,GAAKC,KAAoC,iBAAMrB,GAAG,qCAM1Ee,wBAAwB,CAAEM,KAAM,CAAC,SAAAlB,OAAA,CAAAC,GAAA,CAAAC,QAAA,qDAAAF,OAAA,CAAAC,GAAA,CAAAC,QAAA,mnFACpC"}
|
|
@@ -194,18 +194,14 @@ function UnforwardedNumberControl(props, forwardedRef) {
|
|
|
194
194
|
}, createElement(SpinButton, {
|
|
195
195
|
className: spinButtonClasses,
|
|
196
196
|
icon: plusIcon,
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
"aria-label": __('Increment'),
|
|
200
|
-
tabIndex: -1,
|
|
197
|
+
size: "small",
|
|
198
|
+
label: __('Increment'),
|
|
201
199
|
onClick: buildSpinButtonClickHandler('up')
|
|
202
200
|
}), createElement(SpinButton, {
|
|
203
201
|
className: spinButtonClasses,
|
|
204
202
|
icon: resetIcon,
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
"aria-label": __('Decrement'),
|
|
208
|
-
tabIndex: -1,
|
|
203
|
+
size: "small",
|
|
204
|
+
label: __('Decrement'),
|
|
209
205
|
onClick: buildSpinButtonClickHandler('down')
|
|
210
206
|
})))) : suffix,
|
|
211
207
|
onChange: onChange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classNames","useRef","forwardRef","isRTL","__","plus","plusIcon","reset","resetIcon","useMergeRefs","deprecated","Input","SpinButton","styles","inputControlActionTypes","add","subtract","roundClamp","ensureNumber","isValueEmpty","HStack","Spacer","useCx","useDeprecated36pxDefaultSizeProp","noop","UnforwardedNumberControl","props","forwardedRef","__unstableStateReducer","stateReducerProp","className","dragDirection","hideHTMLArrows","spinControls","isDragEnabled","isShiftStepEnabled","label","max","Infinity","min","required","shiftStep","step","spinFactor","type","typeProp","value","valueProp","size","suffix","onChange","restProps","alternative","since","version","inputRef","mergedRef","isStepAny","baseStep","baseSpin","baseValue","constrainValue","stepOverride","Math","autoComplete","undefined","classes","cx","spinButtonClasses","smallSpinButtons","spinValue","direction","event","preventDefault","shift","shiftKey","delta","nextValue","numberControlStateReducer","state","action","nextState","payload","currentValue","PRESS_UP","PRESS_DOWN","DRAG","x","y","enableShift","modifier","directionModifier","ceil","abs","sign","distance","PRESS_ENTER","COMMIT","applyEmptyValue","buildSpinButtonClickHandler","String","target","current","createElement","inputMode","ref","_stateReducerProp","baseState","Fragment","marginBottom","marginRight","spacing","icon","isSmall","tabIndex","onClick","NumberControl"],"sources":["@wordpress/components/src/number-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\nimport type { ForwardedRef, KeyboardEvent, MouseEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, forwardRef } from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { plus as plusIcon, reset as resetIcon } from '@wordpress/icons';\nimport { useMergeRefs } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { Input, SpinButton, styles } from './styles/number-control-styles';\nimport * as inputControlActionTypes from '../input-control/reducer/actions';\nimport { add, subtract, roundClamp } from '../utils/math';\nimport { ensureNumber, isValueEmpty } from '../utils/values';\nimport type { WordPressComponentProps } from '../context/wordpress-component';\nimport type { NumberControlProps } from './types';\nimport { HStack } from '../h-stack';\nimport { Spacer } from '../spacer';\nimport { useCx } from '../utils';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\n\nconst noop = () => {};\n\nfunction UnforwardedNumberControl(\n\tprops: WordPressComponentProps< NumberControlProps, 'input', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\t__unstableStateReducer: stateReducerProp,\n\t\tclassName,\n\t\tdragDirection = 'n',\n\t\thideHTMLArrows = false,\n\t\tspinControls = hideHTMLArrows ? 'none' : 'native',\n\t\tisDragEnabled = true,\n\t\tisShiftStepEnabled = true,\n\t\tlabel,\n\t\tmax = Infinity,\n\t\tmin = -Infinity,\n\t\trequired = false,\n\t\tshiftStep = 10,\n\t\tstep = 1,\n\t\tspinFactor = 1,\n\t\ttype: typeProp = 'number',\n\t\tvalue: valueProp,\n\t\tsize = 'default',\n\t\tsuffix,\n\t\tonChange = noop,\n\t\t...restProps\n\t} = useDeprecated36pxDefaultSizeProp< NumberControlProps >(\n\t\tprops,\n\t\t'wp.components.NumberControl',\n\t\t'6.4'\n\t);\n\n\tif ( hideHTMLArrows ) {\n\t\tdeprecated( 'wp.components.NumberControl hideHTMLArrows prop ', {\n\t\t\talternative: 'spinControls=\"none\"',\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.3',\n\t\t} );\n\t}\n\tconst inputRef = useRef< HTMLInputElement >();\n\tconst mergedRef = useMergeRefs( [ inputRef, forwardedRef ] );\n\n\tconst isStepAny = step === 'any';\n\tconst baseStep = isStepAny ? 1 : ensureNumber( step );\n\tconst baseSpin = ensureNumber( spinFactor ) * baseStep;\n\tconst baseValue = roundClamp( 0, min, max, baseStep );\n\tconst constrainValue = (\n\t\tvalue: number | string,\n\t\tstepOverride?: number\n\t) => {\n\t\t// When step is \"any\" clamp the value, otherwise round and clamp it.\n\t\t// Use '' + to convert to string for use in input value attribute.\n\t\treturn isStepAny\n\t\t\t? '' + Math.min( max, Math.max( min, ensureNumber( value ) ) )\n\t\t\t: '' + roundClamp( value, min, max, stepOverride ?? baseStep );\n\t};\n\n\tconst autoComplete = typeProp === 'number' ? 'off' : undefined;\n\tconst classes = classNames( 'components-number-control', className );\n\tconst cx = useCx();\n\tconst spinButtonClasses = cx( size === 'small' && styles.smallSpinButtons );\n\n\tconst spinValue = (\n\t\tvalue: string | number | undefined,\n\t\tdirection: 'up' | 'down',\n\t\tevent: KeyboardEvent | MouseEvent | undefined\n\t) => {\n\t\tevent?.preventDefault();\n\t\tconst shift = event?.shiftKey && isShiftStepEnabled;\n\t\tconst delta = shift ? ensureNumber( shiftStep ) * baseSpin : baseSpin;\n\t\tlet nextValue = isValueEmpty( value ) ? baseValue : value;\n\t\tif ( direction === 'up' ) {\n\t\t\tnextValue = add( nextValue, delta );\n\t\t} else if ( direction === 'down' ) {\n\t\t\tnextValue = subtract( nextValue, delta );\n\t\t}\n\t\treturn constrainValue( nextValue, shift ? delta : undefined );\n\t};\n\n\t/**\n\t * \"Middleware\" function that intercepts updates from InputControl.\n\t * This allows us to tap into actions to transform the (next) state for\n\t * InputControl.\n\t *\n\t * @return The updated state to apply to InputControl\n\t */\n\tconst numberControlStateReducer: NumberControlProps[ '__unstableStateReducer' ] =\n\t\t( state, action ) => {\n\t\t\tconst nextState = { ...state };\n\n\t\t\tconst { type, payload } = action;\n\t\t\tconst event = payload.event;\n\t\t\tconst currentValue = nextState.value;\n\n\t\t\t/**\n\t\t\t * Handles custom UP and DOWN Keyboard events\n\t\t\t */\n\t\t\tif (\n\t\t\t\ttype === inputControlActionTypes.PRESS_UP ||\n\t\t\t\ttype === inputControlActionTypes.PRESS_DOWN\n\t\t\t) {\n\t\t\t\tnextState.value = spinValue(\n\t\t\t\t\tcurrentValue,\n\t\t\t\t\ttype === inputControlActionTypes.PRESS_UP ? 'up' : 'down',\n\t\t\t\t\tevent as KeyboardEvent | undefined\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Handles drag to update events\n\t\t\t */\n\t\t\tif ( type === inputControlActionTypes.DRAG && isDragEnabled ) {\n\t\t\t\tconst [ x, y ] = payload.delta;\n\t\t\t\tconst enableShift = payload.shiftKey && isShiftStepEnabled;\n\t\t\t\tconst modifier = enableShift\n\t\t\t\t\t? ensureNumber( shiftStep ) * baseSpin\n\t\t\t\t\t: baseSpin;\n\n\t\t\t\tlet directionModifier;\n\t\t\t\tlet delta;\n\n\t\t\t\tswitch ( dragDirection ) {\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tdelta = y;\n\t\t\t\t\t\tdirectionModifier = -1;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'e':\n\t\t\t\t\t\tdelta = x;\n\t\t\t\t\t\tdirectionModifier = isRTL() ? -1 : 1;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 's':\n\t\t\t\t\t\tdelta = y;\n\t\t\t\t\t\tdirectionModifier = 1;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'w':\n\t\t\t\t\t\tdelta = x;\n\t\t\t\t\t\tdirectionModifier = isRTL() ? 1 : -1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif ( delta !== 0 ) {\n\t\t\t\t\tdelta = Math.ceil( Math.abs( delta ) ) * Math.sign( delta );\n\t\t\t\t\tconst distance = delta * modifier * directionModifier;\n\n\t\t\t\t\tnextState.value = constrainValue(\n\t\t\t\t\t\t// @ts-expect-error TODO: Investigate if it's ok for currentValue to be undefined\n\t\t\t\t\t\tadd( currentValue, distance ),\n\t\t\t\t\t\tenableShift ? modifier : undefined\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Handles commit (ENTER key press or blur)\n\t\t\t */\n\t\t\tif (\n\t\t\t\ttype === inputControlActionTypes.PRESS_ENTER ||\n\t\t\t\ttype === inputControlActionTypes.COMMIT\n\t\t\t) {\n\t\t\t\tconst applyEmptyValue =\n\t\t\t\t\trequired === false && currentValue === '';\n\n\t\t\t\tnextState.value = applyEmptyValue\n\t\t\t\t\t? currentValue\n\t\t\t\t\t: // @ts-expect-error TODO: Investigate if it's ok for currentValue to be undefined\n\t\t\t\t\t constrainValue( currentValue );\n\t\t\t}\n\n\t\t\treturn nextState;\n\t\t};\n\n\tconst buildSpinButtonClickHandler =\n\t\t( direction: 'up' | 'down' ) =>\n\t\t( event: MouseEvent< HTMLButtonElement > ) =>\n\t\t\tonChange( String( spinValue( valueProp, direction, event ) ), {\n\t\t\t\t// Set event.target to the <input> so that consumers can use\n\t\t\t\t// e.g. event.target.validity.\n\t\t\t\tevent: {\n\t\t\t\t\t...event,\n\t\t\t\t\ttarget: inputRef.current!,\n\t\t\t\t},\n\t\t\t} );\n\n\treturn (\n\t\t<Input\n\t\t\tautoComplete={ autoComplete }\n\t\t\tinputMode=\"numeric\"\n\t\t\t{ ...restProps }\n\t\t\tclassName={ classes }\n\t\t\tdragDirection={ dragDirection }\n\t\t\thideHTMLArrows={ spinControls !== 'native' }\n\t\t\tisDragEnabled={ isDragEnabled }\n\t\t\tlabel={ label }\n\t\t\tmax={ max }\n\t\t\tmin={ min }\n\t\t\tref={ mergedRef }\n\t\t\trequired={ required }\n\t\t\tstep={ step }\n\t\t\ttype={ typeProp }\n\t\t\t// @ts-expect-error TODO: Resolve discrepancy between `value` types in InputControl based components\n\t\t\tvalue={ valueProp }\n\t\t\t__unstableStateReducer={ ( state, action ) => {\n\t\t\t\tconst baseState = numberControlStateReducer( state, action );\n\t\t\t\treturn stateReducerProp?.( baseState, action ) ?? baseState;\n\t\t\t} }\n\t\t\tsize={ size }\n\t\t\tsuffix={\n\t\t\t\tspinControls === 'custom' ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ suffix }\n\t\t\t\t\t\t<Spacer marginBottom={ 0 } marginRight={ 2 }>\n\t\t\t\t\t\t\t<HStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t<SpinButton\n\t\t\t\t\t\t\t\t\tclassName={ spinButtonClasses }\n\t\t\t\t\t\t\t\t\ticon={ plusIcon }\n\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Increment' ) }\n\t\t\t\t\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\t\t\t\t\tonClick={ buildSpinButtonClickHandler(\n\t\t\t\t\t\t\t\t\t\t'up'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<SpinButton\n\t\t\t\t\t\t\t\t\tclassName={ spinButtonClasses }\n\t\t\t\t\t\t\t\t\ticon={ resetIcon }\n\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Decrement' ) }\n\t\t\t\t\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\t\t\t\t\tonClick={ buildSpinButtonClickHandler(\n\t\t\t\t\t\t\t\t\t\t'down'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\tsuffix\n\t\t\t\t)\n\t\t\t}\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nexport const NumberControl = forwardRef( UnforwardedNumberControl );\n\nexport default NumberControl;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classNames","useRef","forwardRef","isRTL","__","plus","plusIcon","reset","resetIcon","useMergeRefs","deprecated","Input","SpinButton","styles","inputControlActionTypes","add","subtract","roundClamp","ensureNumber","isValueEmpty","HStack","Spacer","useCx","useDeprecated36pxDefaultSizeProp","noop","UnforwardedNumberControl","props","forwardedRef","__unstableStateReducer","stateReducerProp","className","dragDirection","hideHTMLArrows","spinControls","isDragEnabled","isShiftStepEnabled","label","max","Infinity","min","required","shiftStep","step","spinFactor","type","typeProp","value","valueProp","size","suffix","onChange","restProps","alternative","since","version","inputRef","mergedRef","isStepAny","baseStep","baseSpin","baseValue","constrainValue","stepOverride","Math","autoComplete","undefined","classes","cx","spinButtonClasses","smallSpinButtons","spinValue","direction","event","preventDefault","shift","shiftKey","delta","nextValue","numberControlStateReducer","state","action","nextState","payload","currentValue","PRESS_UP","PRESS_DOWN","DRAG","x","y","enableShift","modifier","directionModifier","ceil","abs","sign","distance","PRESS_ENTER","COMMIT","applyEmptyValue","buildSpinButtonClickHandler","String","target","current","createElement","inputMode","ref","_stateReducerProp","baseState","Fragment","marginBottom","marginRight","spacing","icon","onClick","NumberControl"],"sources":["@wordpress/components/src/number-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\nimport type { ForwardedRef, KeyboardEvent, MouseEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useRef, forwardRef } from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { plus as plusIcon, reset as resetIcon } from '@wordpress/icons';\nimport { useMergeRefs } from '@wordpress/compose';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { Input, SpinButton, styles } from './styles/number-control-styles';\nimport * as inputControlActionTypes from '../input-control/reducer/actions';\nimport { add, subtract, roundClamp } from '../utils/math';\nimport { ensureNumber, isValueEmpty } from '../utils/values';\nimport type { WordPressComponentProps } from '../context/wordpress-component';\nimport type { NumberControlProps } from './types';\nimport { HStack } from '../h-stack';\nimport { Spacer } from '../spacer';\nimport { useCx } from '../utils';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\n\nconst noop = () => {};\n\nfunction UnforwardedNumberControl(\n\tprops: WordPressComponentProps< NumberControlProps, 'input', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\t__unstableStateReducer: stateReducerProp,\n\t\tclassName,\n\t\tdragDirection = 'n',\n\t\thideHTMLArrows = false,\n\t\tspinControls = hideHTMLArrows ? 'none' : 'native',\n\t\tisDragEnabled = true,\n\t\tisShiftStepEnabled = true,\n\t\tlabel,\n\t\tmax = Infinity,\n\t\tmin = -Infinity,\n\t\trequired = false,\n\t\tshiftStep = 10,\n\t\tstep = 1,\n\t\tspinFactor = 1,\n\t\ttype: typeProp = 'number',\n\t\tvalue: valueProp,\n\t\tsize = 'default',\n\t\tsuffix,\n\t\tonChange = noop,\n\t\t...restProps\n\t} = useDeprecated36pxDefaultSizeProp< NumberControlProps >(\n\t\tprops,\n\t\t'wp.components.NumberControl',\n\t\t'6.4'\n\t);\n\n\tif ( hideHTMLArrows ) {\n\t\tdeprecated( 'wp.components.NumberControl hideHTMLArrows prop ', {\n\t\t\talternative: 'spinControls=\"none\"',\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.3',\n\t\t} );\n\t}\n\tconst inputRef = useRef< HTMLInputElement >();\n\tconst mergedRef = useMergeRefs( [ inputRef, forwardedRef ] );\n\n\tconst isStepAny = step === 'any';\n\tconst baseStep = isStepAny ? 1 : ensureNumber( step );\n\tconst baseSpin = ensureNumber( spinFactor ) * baseStep;\n\tconst baseValue = roundClamp( 0, min, max, baseStep );\n\tconst constrainValue = (\n\t\tvalue: number | string,\n\t\tstepOverride?: number\n\t) => {\n\t\t// When step is \"any\" clamp the value, otherwise round and clamp it.\n\t\t// Use '' + to convert to string for use in input value attribute.\n\t\treturn isStepAny\n\t\t\t? '' + Math.min( max, Math.max( min, ensureNumber( value ) ) )\n\t\t\t: '' + roundClamp( value, min, max, stepOverride ?? baseStep );\n\t};\n\n\tconst autoComplete = typeProp === 'number' ? 'off' : undefined;\n\tconst classes = classNames( 'components-number-control', className );\n\tconst cx = useCx();\n\tconst spinButtonClasses = cx( size === 'small' && styles.smallSpinButtons );\n\n\tconst spinValue = (\n\t\tvalue: string | number | undefined,\n\t\tdirection: 'up' | 'down',\n\t\tevent: KeyboardEvent | MouseEvent | undefined\n\t) => {\n\t\tevent?.preventDefault();\n\t\tconst shift = event?.shiftKey && isShiftStepEnabled;\n\t\tconst delta = shift ? ensureNumber( shiftStep ) * baseSpin : baseSpin;\n\t\tlet nextValue = isValueEmpty( value ) ? baseValue : value;\n\t\tif ( direction === 'up' ) {\n\t\t\tnextValue = add( nextValue, delta );\n\t\t} else if ( direction === 'down' ) {\n\t\t\tnextValue = subtract( nextValue, delta );\n\t\t}\n\t\treturn constrainValue( nextValue, shift ? delta : undefined );\n\t};\n\n\t/**\n\t * \"Middleware\" function that intercepts updates from InputControl.\n\t * This allows us to tap into actions to transform the (next) state for\n\t * InputControl.\n\t *\n\t * @return The updated state to apply to InputControl\n\t */\n\tconst numberControlStateReducer: NumberControlProps[ '__unstableStateReducer' ] =\n\t\t( state, action ) => {\n\t\t\tconst nextState = { ...state };\n\n\t\t\tconst { type, payload } = action;\n\t\t\tconst event = payload.event;\n\t\t\tconst currentValue = nextState.value;\n\n\t\t\t/**\n\t\t\t * Handles custom UP and DOWN Keyboard events\n\t\t\t */\n\t\t\tif (\n\t\t\t\ttype === inputControlActionTypes.PRESS_UP ||\n\t\t\t\ttype === inputControlActionTypes.PRESS_DOWN\n\t\t\t) {\n\t\t\t\tnextState.value = spinValue(\n\t\t\t\t\tcurrentValue,\n\t\t\t\t\ttype === inputControlActionTypes.PRESS_UP ? 'up' : 'down',\n\t\t\t\t\tevent as KeyboardEvent | undefined\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Handles drag to update events\n\t\t\t */\n\t\t\tif ( type === inputControlActionTypes.DRAG && isDragEnabled ) {\n\t\t\t\tconst [ x, y ] = payload.delta;\n\t\t\t\tconst enableShift = payload.shiftKey && isShiftStepEnabled;\n\t\t\t\tconst modifier = enableShift\n\t\t\t\t\t? ensureNumber( shiftStep ) * baseSpin\n\t\t\t\t\t: baseSpin;\n\n\t\t\t\tlet directionModifier;\n\t\t\t\tlet delta;\n\n\t\t\t\tswitch ( dragDirection ) {\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\tdelta = y;\n\t\t\t\t\t\tdirectionModifier = -1;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'e':\n\t\t\t\t\t\tdelta = x;\n\t\t\t\t\t\tdirectionModifier = isRTL() ? -1 : 1;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 's':\n\t\t\t\t\t\tdelta = y;\n\t\t\t\t\t\tdirectionModifier = 1;\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'w':\n\t\t\t\t\t\tdelta = x;\n\t\t\t\t\t\tdirectionModifier = isRTL() ? 1 : -1;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif ( delta !== 0 ) {\n\t\t\t\t\tdelta = Math.ceil( Math.abs( delta ) ) * Math.sign( delta );\n\t\t\t\t\tconst distance = delta * modifier * directionModifier;\n\n\t\t\t\t\tnextState.value = constrainValue(\n\t\t\t\t\t\t// @ts-expect-error TODO: Investigate if it's ok for currentValue to be undefined\n\t\t\t\t\t\tadd( currentValue, distance ),\n\t\t\t\t\t\tenableShift ? modifier : undefined\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Handles commit (ENTER key press or blur)\n\t\t\t */\n\t\t\tif (\n\t\t\t\ttype === inputControlActionTypes.PRESS_ENTER ||\n\t\t\t\ttype === inputControlActionTypes.COMMIT\n\t\t\t) {\n\t\t\t\tconst applyEmptyValue =\n\t\t\t\t\trequired === false && currentValue === '';\n\n\t\t\t\tnextState.value = applyEmptyValue\n\t\t\t\t\t? currentValue\n\t\t\t\t\t: // @ts-expect-error TODO: Investigate if it's ok for currentValue to be undefined\n\t\t\t\t\t constrainValue( currentValue );\n\t\t\t}\n\n\t\t\treturn nextState;\n\t\t};\n\n\tconst buildSpinButtonClickHandler =\n\t\t( direction: 'up' | 'down' ) =>\n\t\t( event: MouseEvent< HTMLButtonElement > ) =>\n\t\t\tonChange( String( spinValue( valueProp, direction, event ) ), {\n\t\t\t\t// Set event.target to the <input> so that consumers can use\n\t\t\t\t// e.g. event.target.validity.\n\t\t\t\tevent: {\n\t\t\t\t\t...event,\n\t\t\t\t\ttarget: inputRef.current!,\n\t\t\t\t},\n\t\t\t} );\n\n\treturn (\n\t\t<Input\n\t\t\tautoComplete={ autoComplete }\n\t\t\tinputMode=\"numeric\"\n\t\t\t{ ...restProps }\n\t\t\tclassName={ classes }\n\t\t\tdragDirection={ dragDirection }\n\t\t\thideHTMLArrows={ spinControls !== 'native' }\n\t\t\tisDragEnabled={ isDragEnabled }\n\t\t\tlabel={ label }\n\t\t\tmax={ max }\n\t\t\tmin={ min }\n\t\t\tref={ mergedRef }\n\t\t\trequired={ required }\n\t\t\tstep={ step }\n\t\t\ttype={ typeProp }\n\t\t\t// @ts-expect-error TODO: Resolve discrepancy between `value` types in InputControl based components\n\t\t\tvalue={ valueProp }\n\t\t\t__unstableStateReducer={ ( state, action ) => {\n\t\t\t\tconst baseState = numberControlStateReducer( state, action );\n\t\t\t\treturn stateReducerProp?.( baseState, action ) ?? baseState;\n\t\t\t} }\n\t\t\tsize={ size }\n\t\t\tsuffix={\n\t\t\t\tspinControls === 'custom' ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ suffix }\n\t\t\t\t\t\t<Spacer marginBottom={ 0 } marginRight={ 2 }>\n\t\t\t\t\t\t\t<HStack spacing={ 1 }>\n\t\t\t\t\t\t\t\t<SpinButton\n\t\t\t\t\t\t\t\t\tclassName={ spinButtonClasses }\n\t\t\t\t\t\t\t\t\ticon={ plusIcon }\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Increment' ) }\n\t\t\t\t\t\t\t\t\tonClick={ buildSpinButtonClickHandler(\n\t\t\t\t\t\t\t\t\t\t'up'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<SpinButton\n\t\t\t\t\t\t\t\t\tclassName={ spinButtonClasses }\n\t\t\t\t\t\t\t\t\ticon={ resetIcon }\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Decrement' ) }\n\t\t\t\t\t\t\t\t\tonClick={ buildSpinButtonClickHandler(\n\t\t\t\t\t\t\t\t\t\t'down'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</Spacer>\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\tsuffix\n\t\t\t\t)\n\t\t\t}\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nexport const NumberControl = forwardRef( UnforwardedNumberControl );\n\nexport default NumberControl;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["@wordpress/components/src/number-control/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { InputControlProps } from '../input-control/types';\n\nexport type NumberControlProps = Omit<\n\tInputControlProps,\n\t'isDragEnabled' | 'min' | 'max' | 'required' | 'step' | 'type' | 'value'\n> & {\n\t/**\n\t * If true, the default `input` HTML arrows will be hidden.\n\t *\n\t * @deprecated\n\t * @default false\n\t */\n\thideHTMLArrows?: boolean;\n\t/**\n\t * The type of spin controls to display. These are
|
|
1
|
+
{"version":3,"names":[],"sources":["@wordpress/components/src/number-control/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { InputControlProps } from '../input-control/types';\n\nexport type NumberControlProps = Omit<\n\tInputControlProps,\n\t'isDragEnabled' | 'min' | 'max' | 'required' | 'step' | 'type' | 'value'\n> & {\n\t/**\n\t * If true, the default `input` HTML arrows will be hidden.\n\t *\n\t * @deprecated\n\t * @default false\n\t */\n\thideHTMLArrows?: boolean;\n\t/**\n\t * The type of spin controls to display. These are buttons that allow the\n\t * user to quickly increment and decrement the number.\n\t *\n\t * - 'none' - Do not show spin controls.\n\t * - 'native' - Use browser's native HTML `input` controls.\n\t * - 'custom' - Use plus and minus icon buttons.\n\t *\n\t * @default 'native'\n\t */\n\tspinControls?: 'none' | 'native' | 'custom';\n\t/**\n\t * If true, enables mouse drag gestures.\n\t *\n\t * @default true\n\t */\n\tisDragEnabled?: InputControlProps[ 'isDragEnabled' ];\n\t/**\n\t * If true, pressing `UP` or `DOWN` along with the `SHIFT` key will increment the\n\t * value by the `shiftStep` value.\n\t *\n\t * @default true\n\t */\n\tisShiftStepEnabled?: boolean;\n\t/**\n\t * The maximum `value` allowed.\n\t *\n\t * @default Infinity\n\t */\n\tmax?: number;\n\t/**\n\t * The minimum `value` allowed.\n\t *\n\t * @default -Infinity\n\t */\n\tmin?: number;\n\t/**\n\t * If `true` enforces a valid number within the control's min/max range.\n\t * If `false` allows an empty string as a valid value.\n\t *\n\t * @default false\n\t */\n\trequired?: InputControlProps[ 'required' ];\n\t/**\n\t * Amount to increment by when the `SHIFT` key is held down. This shift value is\n\t * a multiplier to the `step` value. For example, if the `step` value is `5`,\n\t * and `shiftStep` is `10`, each jump would increment/decrement by `50`.\n\t *\n\t * @default 10\n\t */\n\tshiftStep?: number;\n\t/**\n\t * Amount by which the `value` is changed when incrementing/decrementing.\n\t * It is also a factor in validation as `value` must be a multiple of `step`\n\t * (offset by `min`, if specified) to be valid. Accepts the special string value `any`\n\t * that voids the validation constraint and causes stepping actions to increment/decrement by `1`.\n\t *\n\t * @default 1\n\t */\n\tstep?: InputControlProps[ 'step' ];\n\t/**\n\t * Optional multiplication factor in spin changes. i.e. A spin changes\n\t * by `spinFactor * step` (if `step` is \"any\", 1 is used instead).\n\t *\n\t * @default 1\n\t */\n\tspinFactor?: number;\n\t/**\n\t * The `type` attribute of the `input` element.\n\t *\n\t * @default 'number'\n\t */\n\ttype?: InputControlProps[ 'type' ];\n\t/**\n\t * The value of the input.\n\t */\n\tvalue?: number | string;\n};\n"],"mappings":""}
|
|
@@ -3,7 +3,6 @@ import { createElement, Fragment } from "react";
|
|
|
3
3
|
* External dependencies
|
|
4
4
|
*/
|
|
5
5
|
import classnames from 'classnames';
|
|
6
|
-
import { paramCase as kebabCase } from 'change-case';
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* WordPress dependencies
|
|
@@ -30,7 +29,8 @@ import { PaletteActionsContainer, PaletteEditStyles, PaletteHeading, PaletteHSta
|
|
|
30
29
|
import { NavigableMenu } from '../navigable-container';
|
|
31
30
|
import { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';
|
|
32
31
|
import CustomGradientPicker from '../custom-gradient-picker';
|
|
33
|
-
|
|
32
|
+
import { kebabCase } from '../utils/strings';
|
|
33
|
+
const DEFAULT_COLOR = '#000';
|
|
34
34
|
function NameInput({
|
|
35
35
|
value,
|
|
36
36
|
onChange,
|
|
@@ -45,8 +45,8 @@ function NameInput({
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
|
-
* Returns a
|
|
49
|
-
* To ensure there are no duplicate ids, this function checks all slugs
|
|
48
|
+
* Returns a name for a palette item in the format "Color + id".
|
|
49
|
+
* To ensure there are no duplicate ids, this function checks all slugs.
|
|
50
50
|
* It expects slugs to be in the format: slugPrefix + color- + number.
|
|
51
51
|
* It then sets the id component of the new name based on the incremented id of the highest existing slug id.
|
|
52
52
|
*
|
|
@@ -56,10 +56,10 @@ function NameInput({
|
|
|
56
56
|
* @return A unique name for a palette item.
|
|
57
57
|
*/
|
|
58
58
|
export function getNameForPosition(elements, slugPrefix) {
|
|
59
|
-
const
|
|
59
|
+
const nameRegex = new RegExp(`^${slugPrefix}color-([\\d]+)$`);
|
|
60
60
|
const position = elements.reduce((previousValue, currentValue) => {
|
|
61
61
|
if (typeof currentValue?.slug === 'string') {
|
|
62
|
-
const matches = currentValue?.slug.match(
|
|
62
|
+
const matches = currentValue?.slug.match(nameRegex);
|
|
63
63
|
if (matches) {
|
|
64
64
|
const id = parseInt(matches[1], 10);
|
|
65
65
|
if (id >= previousValue) {
|
|
@@ -69,7 +69,7 @@ export function getNameForPosition(elements, slugPrefix) {
|
|
|
69
69
|
}
|
|
70
70
|
return previousValue;
|
|
71
71
|
}, 1);
|
|
72
|
-
return sprintf( /* translators: %s: is
|
|
72
|
+
return sprintf( /* translators: %s: is an id for a custom color */
|
|
73
73
|
__('Color %s'), position);
|
|
74
74
|
}
|
|
75
75
|
function ColorPickerPopover({
|
|
@@ -167,7 +167,7 @@ function Option({
|
|
|
167
167
|
slug: slugPrefix + kebabCase(nextName !== null && nextName !== void 0 ? nextName : '')
|
|
168
168
|
})
|
|
169
169
|
}) : createElement(NameContainer, null, element.name)), isEditing && !canOnlyChangeValues && createElement(FlexItem, null, createElement(RemoveButton, {
|
|
170
|
-
|
|
170
|
+
size: "small",
|
|
171
171
|
icon: lineSolid,
|
|
172
172
|
label: __('Remove color'),
|
|
173
173
|
onClick: onRemove
|
|
@@ -178,31 +178,6 @@ function Option({
|
|
|
178
178
|
popoverProps: popoverProps
|
|
179
179
|
}));
|
|
180
180
|
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Checks if a color or gradient is a temporary element by testing against default values.
|
|
184
|
-
*/
|
|
185
|
-
export function isTemporaryElement(slugPrefix, {
|
|
186
|
-
slug,
|
|
187
|
-
color,
|
|
188
|
-
gradient
|
|
189
|
-
}) {
|
|
190
|
-
const regex = new RegExp(`^${slugPrefix}color-([\\d]+)$`);
|
|
191
|
-
|
|
192
|
-
// If the slug matches the temporary name regex,
|
|
193
|
-
// check if the color or gradient matches the default value.
|
|
194
|
-
if (regex.test(slug)) {
|
|
195
|
-
// The order is important as gradient elements
|
|
196
|
-
// contain a color property.
|
|
197
|
-
if (!!gradient) {
|
|
198
|
-
return gradient === DEFAULT_GRADIENT;
|
|
199
|
-
}
|
|
200
|
-
if (!!color) {
|
|
201
|
-
return color === DEFAULT_COLOR;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
return false;
|
|
205
|
-
}
|
|
206
181
|
function PaletteEditListView({
|
|
207
182
|
elements,
|
|
208
183
|
onChange,
|
|
@@ -218,17 +193,6 @@ function PaletteEditListView({
|
|
|
218
193
|
useEffect(() => {
|
|
219
194
|
elementsReference.current = elements;
|
|
220
195
|
}, [elements]);
|
|
221
|
-
useEffect(() => {
|
|
222
|
-
return () => {
|
|
223
|
-
if (elementsReference.current?.some(element => isTemporaryElement(slugPrefix, element))) {
|
|
224
|
-
const newElements = elementsReference.current.filter(element => !isTemporaryElement(slugPrefix, element));
|
|
225
|
-
onChange(newElements.length ? newElements : undefined);
|
|
226
|
-
}
|
|
227
|
-
};
|
|
228
|
-
// Disable reason: adding the missing dependency here would cause breaking changes that will require
|
|
229
|
-
// a heavier refactor to avoid. See https://github.com/WordPress/gutenberg/pull/43911
|
|
230
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
231
|
-
}, []);
|
|
232
196
|
const debounceOnChange = useDebounce(onChange, 100);
|
|
233
197
|
return createElement(VStack, {
|
|
234
198
|
spacing: 3
|
|
@@ -327,29 +291,29 @@ export function PaletteEdit({
|
|
|
327
291
|
return createElement(PaletteEditStyles, null, createElement(PaletteHStackHeader, null, createElement(PaletteHeading, {
|
|
328
292
|
level: paletteLabelHeadingLevel
|
|
329
293
|
}, paletteLabel), createElement(PaletteActionsContainer, null, hasElements && isEditing && createElement(DoneButton, {
|
|
330
|
-
|
|
294
|
+
size: "small",
|
|
331
295
|
onClick: () => {
|
|
332
296
|
setIsEditing(false);
|
|
333
297
|
setEditingElement(null);
|
|
334
298
|
}
|
|
335
299
|
}, __('Done')), !canOnlyChangeValues && createElement(Button, {
|
|
336
|
-
|
|
300
|
+
size: "small",
|
|
337
301
|
isPressed: isAdding,
|
|
338
302
|
icon: plus,
|
|
339
303
|
label: isGradient ? __('Add gradient') : __('Add color'),
|
|
340
304
|
onClick: () => {
|
|
341
|
-
const
|
|
305
|
+
const optionName = getNameForPosition(elements, slugPrefix);
|
|
342
306
|
if (!!gradients) {
|
|
343
307
|
onChange([...gradients, {
|
|
344
308
|
gradient: DEFAULT_GRADIENT,
|
|
345
|
-
name:
|
|
346
|
-
slug: slugPrefix + kebabCase(
|
|
309
|
+
name: optionName,
|
|
310
|
+
slug: slugPrefix + kebabCase(optionName)
|
|
347
311
|
}]);
|
|
348
312
|
} else {
|
|
349
313
|
onChange([...colors, {
|
|
350
314
|
color: DEFAULT_COLOR,
|
|
351
|
-
name:
|
|
352
|
-
slug: slugPrefix + kebabCase(
|
|
315
|
+
name: optionName,
|
|
316
|
+
slug: slugPrefix + kebabCase(optionName)
|
|
353
317
|
}]);
|
|
354
318
|
}
|
|
355
319
|
setIsEditing(true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","paramCase","kebabCase","useState","useRef","useEffect","useCallback","useMemo","__","sprintf","lineSolid","moreVertical","plus","__experimentalUseFocusOutside","useFocusOutside","useDebounce","Button","ColorPicker","FlexItem","HStack","ItemGroup","VStack","GradientPicker","ColorPalette","DropdownMenu","Popover","PaletteActionsContainer","PaletteEditStyles","PaletteHeading","PaletteHStackHeader","IndicatorStyled","PaletteItem","NameContainer","NameInputControl","DoneButton","RemoveButton","NavigableMenu","DEFAULT_GRADIENT","CustomGradientPicker","DEFAULT_COLOR","NameInput","value","onChange","label","createElement","hideLabelFromVision","getNameForPosition","elements","slugPrefix","temporaryNameRegex","RegExp","position","reduce","previousValue","currentValue","slug","matches","match","id","parseInt","ColorPickerPopover","isGradient","element","popoverProps","receivedPopoverProps","onClose","shift","offset","resize","placement","className","color","enableAlpha","newColor","__nextHasNoMargin","__experimentalIsRenderedInSidebar","gradient","newGradient","Option","canOnlyChangeValues","isEditing","onStartEditing","onRemove","onStopEditing","focusOutsideProps","popoverAnchor","setPopoverAnchor","anchor","undefined","as","onClick","ref","style","cursor","justify","background","name","nextName","isSmall","icon","isTemporaryElement","regex","test","PaletteEditListView","editingElement","setEditingElement","elementsReference","current","some","newElements","filter","length","debounceOnChange","spacing","isRounded","map","index","key","newElement","currentElement","currentIndex","_currentElement","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","paletteLabelHeadingLevel","emptyMessage","canReset","setIsEditing","isAdding","elementsLength","hasElements","onSelectPaletteItem","newEditingElementIndex","selectedElement","level","isPressed","tempOptionName","toggleProps","Fragment","role","variant","clearable","disableCustomGradients","disableCustomColors"],"sources":["@wordpress/components/src/palette-edit/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { paramCase as kebabCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport {\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseDebounce,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tPaletteHStackHeader,\n\tIndicatorStyled,\n\tPaletteItem,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport type {\n\tColor,\n\tColorPickerPopoverProps,\n\tGradient,\n\tNameInputProps,\n\tOptionProps,\n\tPaletteEditListViewProps,\n\tPaletteEditProps,\n\tPaletteElement,\n} from './types';\n\nexport const DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label }: NameInputProps ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Returns a temporary name for a palette item in the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs for temporary names.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param elements An array of color palette items.\n * @param slugPrefix The slug prefix used to match the element slug.\n *\n * @return A unique name for a palette item.\n */\nexport function getNameForPosition(\n\telements: PaletteElement[],\n\tslugPrefix: string\n) {\n\tconst temporaryNameRegex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\tconst position = elements.reduce( ( previousValue, currentValue ) => {\n\t\tif ( typeof currentValue?.slug === 'string' ) {\n\t\t\tconst matches = currentValue?.slug.match( temporaryNameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id >= previousValue ) {\n\t\t\t\t\treturn id + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn previousValue;\n\t}, 1 );\n\n\treturn sprintf(\n\t\t/* translators: %s: is a temporary id for a custom color */\n\t\t__( 'Color %s' ),\n\t\tposition\n\t);\n}\n\nfunction ColorPickerPopover< T extends Color | Gradient >( {\n\tisGradient,\n\telement,\n\tonChange,\n\tpopoverProps: receivedPopoverProps,\n\tonClose = () => {},\n}: ColorPickerPopoverProps< T > ) {\n\tconst popoverProps: ColorPickerPopoverProps< T >[ 'popoverProps' ] =\n\t\tuseMemo(\n\t\t\t() => ( {\n\t\t\t\tshift: true,\n\t\t\t\toffset: 20,\n\t\t\t\t// Disabling resize as it would otherwise cause the popover to show\n\t\t\t\t// scrollbars while dragging the color picker's handle close to the\n\t\t\t\t// popover edge.\n\t\t\t\tresize: false,\n\t\t\t\tplacement: 'left-start',\n\t\t\t\t...receivedPopoverProps,\n\t\t\t\tclassName: classnames(\n\t\t\t\t\t'components-palette-edit__popover',\n\t\t\t\t\treceivedPopoverProps?.className\n\t\t\t\t),\n\t\t\t} ),\n\t\t\t[ receivedPopoverProps ]\n\t\t);\n\n\treturn (\n\t\t<Popover { ...popoverProps } onClose={ onClose }>\n\t\t\t{ ! isGradient && (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tcolor={ element.color }\n\t\t\t\t\tenableAlpha\n\t\t\t\t\tonChange={ ( newColor ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\tcolor: newColor,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isGradient && (\n\t\t\t\t<div className=\"components-palette-edit__popover-gradient-picker\">\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t__nextHasNoMargin\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tvalue={ element.gradient }\n\t\t\t\t\t\tonChange={ ( newGradient ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nfunction Option< T extends Color | Gradient >( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tisEditing,\n\tonStartEditing,\n\tonRemove,\n\tonStopEditing,\n\tpopoverProps: receivedPopoverProps,\n\tslugPrefix,\n\tisGradient,\n}: OptionProps< T > ) {\n\tconst focusOutsideProps = useFocusOutside( onStopEditing );\n\tconst value = isGradient ? element.gradient : element.color;\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t...receivedPopoverProps,\n\t\t\t// Use the custom palette color item as the popover anchor.\n\t\t\tanchor: popoverAnchor,\n\t\t} ),\n\t\t[ popoverAnchor, receivedPopoverProps ]\n\t);\n\n\treturn (\n\t\t<PaletteItem\n\t\t\tclassName={ isEditing ? 'is-selected' : undefined }\n\t\t\tas=\"div\"\n\t\t\tonClick={ onStartEditing }\n\t\t\tref={ setPopoverAnchor }\n\t\t\t{ ...( isEditing\n\t\t\t\t? { ...focusOutsideProps }\n\t\t\t\t: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t},\n\t\t\t\t } ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<IndicatorStyled\n\t\t\t\t\t\tstyle={ { background: value, color: 'transparent' } }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ isEditing && ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName?: string ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\tkebabCase( nextName ?? '' ),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<NameContainer>{ element.name }</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isEditing && ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ __( 'Remove color' ) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditing && (\n\t\t\t\t<ColorPickerPopover\n\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\telement={ element }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PaletteItem>\n\t);\n}\n\n/**\n * Checks if a color or gradient is a temporary element by testing against default values.\n */\nexport function isTemporaryElement(\n\tslugPrefix: string,\n\t{ slug, color, gradient }: Color | Gradient\n): Boolean {\n\tconst regex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\n\t// If the slug matches the temporary name regex,\n\t// check if the color or gradient matches the default value.\n\tif ( regex.test( slug ) ) {\n\t\t// The order is important as gradient elements\n\t\t// contain a color property.\n\t\tif ( !! gradient ) {\n\t\t\treturn gradient === DEFAULT_GRADIENT;\n\t\t}\n\n\t\tif ( !! color ) {\n\t\t\treturn color === DEFAULT_COLOR;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction PaletteEditListView< T extends Color | Gradient >( {\n\telements,\n\tonChange,\n\teditingElement,\n\tsetEditingElement,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n\tpopoverProps,\n}: PaletteEditListViewProps< T > ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReference = useRef< typeof elements >();\n\tuseEffect( () => {\n\t\telementsReference.current = elements;\n\t}, [ elements ] );\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\telementsReference.current?.some( ( element ) =>\n\t\t\t\t\tisTemporaryElement( slugPrefix, element )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tconst newElements = elementsReference.current.filter(\n\t\t\t\t\t( element ) => ! isTemporaryElement( slugPrefix, element )\n\t\t\t\t);\n\t\t\t\tonChange( newElements.length ? newElements : undefined );\n\t\t\t}\n\t\t};\n\t\t// Disable reason: adding the missing dependency here would cause breaking changes that will require\n\t\t// a heavier refactor to avoid. See https://github.com/WordPress/gutenberg/pull/43911\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonStartEditing={ () => {\n\t\t\t\t\t\t\tif ( editingElement !== index ) {\n\t\t\t\t\t\t\t\tsetEditingElement( index );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisEditing={ index === editingElement }\n\t\t\t\t\t\tonStopEditing={ () => {\n\t\t\t\t\t\t\tif ( index === editingElement ) {\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY: Color[] = [];\n\n/**\n * Allows editing a palette of colors or gradients.\n *\n * ```jsx\n * import { PaletteEdit } from '@wordpress/components';\n * const MyPaletteEdit = () => {\n * const [ controlledColors, setControlledColors ] = useState( colors );\n *\n * return (\n * <PaletteEdit\n * colors={ controlledColors }\n * onChange={ ( newColors?: Color[] ) => {\n * setControlledColors( newColors );\n * } }\n * paletteLabel=\"Here is a label\"\n * />\n * );\n * };\n * ```\n */\nexport function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\tpaletteLabelHeadingLevel = 2,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n\tpopoverProps,\n}: PaletteEditProps ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState<\n\t\tnumber | null | undefined\n\t>( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\t!! editingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\tconst onSelectPaletteItem = useCallback(\n\t\t(\n\t\t\tvalue?: PaletteElement[ keyof PaletteElement ],\n\t\t\tnewEditingElementIndex?: number\n\t\t) => {\n\t\t\tconst selectedElement =\n\t\t\t\tnewEditingElementIndex === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: elements[ newEditingElementIndex ];\n\t\t\tconst key = isGradient ? 'gradient' : 'color';\n\t\t\t// Ensures that the index returned matches a known element value.\n\t\t\tif ( !! selectedElement && selectedElement[ key ] === value ) {\n\t\t\t\tsetEditingElement( newEditingElementIndex );\n\t\t\t} else {\n\t\t\t\tsetIsEditing( true );\n\t\t\t}\n\t\t},\n\t\t[ isGradient, elements ]\n\t);\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<PaletteHStackHeader>\n\t\t\t\t<PaletteHeading level={ paletteLabelHeadingLevel }>\n\t\t\t\t\t{ paletteLabel }\n\t\t\t\t</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ hasElements && isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst tempOptionName = getNameForPosition(\n\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t\tslugPrefix\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tif ( !! gradients ) {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...gradients,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tgradient: DEFAULT_GRADIENT,\n\t\t\t\t\t\t\t\t\t\t\tname: tempOptionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( tempOptionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...colors,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcolor: DEFAULT_COLOR,\n\t\t\t\t\t\t\t\t\t\t\tname: tempOptionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( tempOptionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose }: { onClose: () => void } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Show details' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all gradients'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</PaletteHStackHeader>\n\t\t\t{ hasElements && (\n\t\t\t\t<>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView< ( typeof elements )[ number ] >\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\teditingElement={ editingElement }\n\t\t\t\t\t\t\tsetEditingElement={ setEditingElement }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing && editingElement !== null && (\n\t\t\t\t\t\t<ColorPickerPopover\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tonClose={ () => setEditingElement( null ) }\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\tnewElement: ( typeof elements )[ number ]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tcurrentElement: ( typeof elements )[ number ],\n\t\t\t\t\t\t\t\t\t\t\tcurrentIndex: number\n\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === editingElement\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\telement={ elements[ editingElement ?? -1 ] }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\t__nextHasNoMargin\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage }\n\t\t</PaletteEditStyles>\n\t);\n}\n\nexport default PaletteEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useState","useRef","useEffect","useCallback","useMemo","__","sprintf","lineSolid","moreVertical","plus","__experimentalUseFocusOutside","useFocusOutside","useDebounce","Button","ColorPicker","FlexItem","HStack","ItemGroup","VStack","GradientPicker","ColorPalette","DropdownMenu","Popover","PaletteActionsContainer","PaletteEditStyles","PaletteHeading","PaletteHStackHeader","IndicatorStyled","PaletteItem","NameContainer","NameInputControl","DoneButton","RemoveButton","NavigableMenu","DEFAULT_GRADIENT","CustomGradientPicker","kebabCase","DEFAULT_COLOR","NameInput","value","onChange","label","createElement","hideLabelFromVision","getNameForPosition","elements","slugPrefix","nameRegex","RegExp","position","reduce","previousValue","currentValue","slug","matches","match","id","parseInt","ColorPickerPopover","isGradient","element","popoverProps","receivedPopoverProps","onClose","shift","offset","resize","placement","className","color","enableAlpha","newColor","__nextHasNoMargin","__experimentalIsRenderedInSidebar","gradient","newGradient","Option","canOnlyChangeValues","isEditing","onStartEditing","onRemove","onStopEditing","focusOutsideProps","popoverAnchor","setPopoverAnchor","anchor","undefined","as","onClick","ref","style","cursor","justify","background","name","nextName","size","icon","PaletteEditListView","editingElement","setEditingElement","elementsReference","current","debounceOnChange","spacing","isRounded","map","index","key","newElement","currentElement","currentIndex","newElements","filter","_currentElement","length","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","paletteLabelHeadingLevel","emptyMessage","canReset","setIsEditing","isAdding","elementsLength","hasElements","onSelectPaletteItem","newEditingElementIndex","selectedElement","level","isPressed","optionName","toggleProps","isSmall","Fragment","role","variant","clearable","disableCustomGradients","disableCustomColors"],"sources":["@wordpress/components/src/palette-edit/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseEffect,\n\tuseCallback,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport {\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseDebounce,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tPaletteHStackHeader,\n\tIndicatorStyled,\n\tPaletteItem,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { kebabCase } from '../utils/strings';\nimport type {\n\tColor,\n\tColorPickerPopoverProps,\n\tGradient,\n\tNameInputProps,\n\tOptionProps,\n\tPaletteEditListViewProps,\n\tPaletteEditProps,\n\tPaletteElement,\n} from './types';\n\nconst DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label }: NameInputProps ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Returns a name for a palette item in the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param elements An array of color palette items.\n * @param slugPrefix The slug prefix used to match the element slug.\n *\n * @return A unique name for a palette item.\n */\nexport function getNameForPosition(\n\telements: PaletteElement[],\n\tslugPrefix: string\n) {\n\tconst nameRegex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\tconst position = elements.reduce( ( previousValue, currentValue ) => {\n\t\tif ( typeof currentValue?.slug === 'string' ) {\n\t\t\tconst matches = currentValue?.slug.match( nameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id >= previousValue ) {\n\t\t\t\t\treturn id + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn previousValue;\n\t}, 1 );\n\n\treturn sprintf(\n\t\t/* translators: %s: is an id for a custom color */\n\t\t__( 'Color %s' ),\n\t\tposition\n\t);\n}\n\nfunction ColorPickerPopover< T extends Color | Gradient >( {\n\tisGradient,\n\telement,\n\tonChange,\n\tpopoverProps: receivedPopoverProps,\n\tonClose = () => {},\n}: ColorPickerPopoverProps< T > ) {\n\tconst popoverProps: ColorPickerPopoverProps< T >[ 'popoverProps' ] =\n\t\tuseMemo(\n\t\t\t() => ( {\n\t\t\t\tshift: true,\n\t\t\t\toffset: 20,\n\t\t\t\t// Disabling resize as it would otherwise cause the popover to show\n\t\t\t\t// scrollbars while dragging the color picker's handle close to the\n\t\t\t\t// popover edge.\n\t\t\t\tresize: false,\n\t\t\t\tplacement: 'left-start',\n\t\t\t\t...receivedPopoverProps,\n\t\t\t\tclassName: classnames(\n\t\t\t\t\t'components-palette-edit__popover',\n\t\t\t\t\treceivedPopoverProps?.className\n\t\t\t\t),\n\t\t\t} ),\n\t\t\t[ receivedPopoverProps ]\n\t\t);\n\n\treturn (\n\t\t<Popover { ...popoverProps } onClose={ onClose }>\n\t\t\t{ ! isGradient && (\n\t\t\t\t<ColorPicker\n\t\t\t\t\tcolor={ element.color }\n\t\t\t\t\tenableAlpha\n\t\t\t\t\tonChange={ ( newColor ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\tcolor: newColor,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isGradient && (\n\t\t\t\t<div className=\"components-palette-edit__popover-gradient-picker\">\n\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t__nextHasNoMargin\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tvalue={ element.gradient }\n\t\t\t\t\t\tonChange={ ( newGradient ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</Popover>\n\t);\n}\n\nfunction Option< T extends Color | Gradient >( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tisEditing,\n\tonStartEditing,\n\tonRemove,\n\tonStopEditing,\n\tpopoverProps: receivedPopoverProps,\n\tslugPrefix,\n\tisGradient,\n}: OptionProps< T > ) {\n\tconst focusOutsideProps = useFocusOutside( onStopEditing );\n\tconst value = isGradient ? element.gradient : element.color;\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t...receivedPopoverProps,\n\t\t\t// Use the custom palette color item as the popover anchor.\n\t\t\tanchor: popoverAnchor,\n\t\t} ),\n\t\t[ popoverAnchor, receivedPopoverProps ]\n\t);\n\n\treturn (\n\t\t<PaletteItem\n\t\t\tclassName={ isEditing ? 'is-selected' : undefined }\n\t\t\tas=\"div\"\n\t\t\tonClick={ onStartEditing }\n\t\t\tref={ setPopoverAnchor }\n\t\t\t{ ...( isEditing\n\t\t\t\t? { ...focusOutsideProps }\n\t\t\t\t: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t},\n\t\t\t\t } ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<IndicatorStyled\n\t\t\t\t\t\tstyle={ { background: value, color: 'transparent' } }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ isEditing && ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName?: string ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\tkebabCase( nextName ?? '' ),\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<NameContainer>{ element.name }</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isEditing && ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ __( 'Remove color' ) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditing && (\n\t\t\t\t<ColorPickerPopover\n\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\telement={ element }\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PaletteItem>\n\t);\n}\n\nfunction PaletteEditListView< T extends Color | Gradient >( {\n\telements,\n\tonChange,\n\teditingElement,\n\tsetEditingElement,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n\tpopoverProps,\n}: PaletteEditListViewProps< T > ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReference = useRef< typeof elements >();\n\tuseEffect( () => {\n\t\telementsReference.current = elements;\n\t}, [ elements ] );\n\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonStartEditing={ () => {\n\t\t\t\t\t\t\tif ( editingElement !== index ) {\n\t\t\t\t\t\t\t\tsetEditingElement( index );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisEditing={ index === editingElement }\n\t\t\t\t\t\tonStopEditing={ () => {\n\t\t\t\t\t\t\tif ( index === editingElement ) {\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY: Color[] = [];\n\n/**\n * Allows editing a palette of colors or gradients.\n *\n * ```jsx\n * import { PaletteEdit } from '@wordpress/components';\n * const MyPaletteEdit = () => {\n * const [ controlledColors, setControlledColors ] = useState( colors );\n *\n * return (\n * <PaletteEdit\n * colors={ controlledColors }\n * onChange={ ( newColors?: Color[] ) => {\n * setControlledColors( newColors );\n * } }\n * paletteLabel=\"Here is a label\"\n * />\n * );\n * };\n * ```\n */\nexport function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\tpaletteLabelHeadingLevel = 2,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n\tpopoverProps,\n}: PaletteEditProps ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState<\n\t\tnumber | null | undefined\n\t>( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\t!! editingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\tconst onSelectPaletteItem = useCallback(\n\t\t(\n\t\t\tvalue?: PaletteElement[ keyof PaletteElement ],\n\t\t\tnewEditingElementIndex?: number\n\t\t) => {\n\t\t\tconst selectedElement =\n\t\t\t\tnewEditingElementIndex === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: elements[ newEditingElementIndex ];\n\t\t\tconst key = isGradient ? 'gradient' : 'color';\n\t\t\t// Ensures that the index returned matches a known element value.\n\t\t\tif ( !! selectedElement && selectedElement[ key ] === value ) {\n\t\t\t\tsetEditingElement( newEditingElementIndex );\n\t\t\t} else {\n\t\t\t\tsetIsEditing( true );\n\t\t\t}\n\t\t},\n\t\t[ isGradient, elements ]\n\t);\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<PaletteHStackHeader>\n\t\t\t\t<PaletteHeading level={ paletteLabelHeadingLevel }>\n\t\t\t\t\t{ paletteLabel }\n\t\t\t\t</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ hasElements && isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst optionName = getNameForPosition(\n\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t\tslugPrefix\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tif ( !! gradients ) {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...gradients,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tgradient: DEFAULT_GRADIENT,\n\t\t\t\t\t\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( optionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t\t...colors,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcolor: DEFAULT_COLOR,\n\t\t\t\t\t\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\t\tkebabCase( optionName ),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose }: { onClose: () => void } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Show details' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all gradients'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</PaletteHStackHeader>\n\t\t\t{ hasElements && (\n\t\t\t\t<>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView< ( typeof elements )[ number ] >\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\teditingElement={ editingElement }\n\t\t\t\t\t\t\tsetEditingElement={ setEditingElement }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing && editingElement !== null && (\n\t\t\t\t\t\t<ColorPickerPopover\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t\tonClose={ () => setEditingElement( null ) }\n\t\t\t\t\t\t\tonChange={ (\n\t\t\t\t\t\t\t\tnewElement: ( typeof elements )[ number ]\n\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\t\t// @ts-expect-error TODO: Don't know how to resolve\n\t\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\tcurrentElement: ( typeof elements )[ number ],\n\t\t\t\t\t\t\t\t\t\t\tcurrentIndex: number\n\t\t\t\t\t\t\t\t\t\t) => {\n\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === editingElement\n\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\telement={ elements[ editingElement ?? -1 ] }\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\t__nextHasNoMargin\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ onSelectPaletteItem }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage }\n\t\t</PaletteEditStyles>\n\t);\n}\n\nexport default PaletteEdit;\n"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Internal dependencies
|
|
@@ -11,15 +10,12 @@ import { default as CustomSelectControl } from './custom-select-control';
|
|
|
11
10
|
import { positionToPlacement as __experimentalPopoverLegacyPositionToPlacement } from './popover/utils';
|
|
12
11
|
import { default as ProgressBar } from './progress-bar';
|
|
13
12
|
import { createPrivateSlotFill } from './slot-fill';
|
|
14
|
-
import { DropdownMenu as DropdownMenuV2,
|
|
15
|
-
import { DropdownMenu as DropdownMenuV2Ariakit, DropdownMenuGroup as DropdownMenuGroupV2Ariakit, DropdownMenuItem as DropdownMenuItemV2Ariakit, DropdownMenuCheckboxItem as DropdownMenuCheckboxItemV2Ariakit, DropdownMenuRadioItem as DropdownMenuRadioItemV2Ariakit, DropdownMenuSeparator as DropdownMenuSeparatorV2Ariakit, DropdownMenuItemLabel as DropdownMenuItemLabelV2Ariakit, DropdownMenuItemHelpText as DropdownMenuItemHelpTextV2Ariakit } from './dropdown-menu-v2-ariakit';
|
|
13
|
+
import { DropdownMenu as DropdownMenuV2, DropdownMenuGroup as DropdownMenuGroupV2, DropdownMenuItem as DropdownMenuItemV2, DropdownMenuCheckboxItem as DropdownMenuCheckboxItemV2, DropdownMenuRadioItem as DropdownMenuRadioItemV2, DropdownMenuSeparator as DropdownMenuSeparatorV2, DropdownMenuItemLabel as DropdownMenuItemLabelV2, DropdownMenuItemHelpText as DropdownMenuItemHelpTextV2 } from './dropdown-menu-v2';
|
|
16
14
|
import { ComponentsContext } from './context/context-system-provider';
|
|
17
15
|
import Theme from './theme';
|
|
18
16
|
import Tabs from './tabs';
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
unlock
|
|
22
|
-
} = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/components');
|
|
17
|
+
import { kebabCase } from './utils/strings';
|
|
18
|
+
import { lock } from './lock-unlock';
|
|
23
19
|
export const privateApis = {};
|
|
24
20
|
lock(privateApis, {
|
|
25
21
|
CompositeV2,
|
|
@@ -31,26 +27,17 @@ lock(privateApis, {
|
|
|
31
27
|
__experimentalPopoverLegacyPositionToPlacement,
|
|
32
28
|
createPrivateSlotFill,
|
|
33
29
|
ComponentsContext,
|
|
30
|
+
ProgressBar,
|
|
31
|
+
Tabs,
|
|
32
|
+
Theme,
|
|
34
33
|
DropdownMenuV2,
|
|
35
|
-
DropdownMenuCheckboxItemV2,
|
|
36
34
|
DropdownMenuGroupV2,
|
|
37
35
|
DropdownMenuItemV2,
|
|
38
|
-
|
|
39
|
-
DropdownMenuRadioGroupV2,
|
|
36
|
+
DropdownMenuCheckboxItemV2,
|
|
40
37
|
DropdownMenuRadioItemV2,
|
|
41
38
|
DropdownMenuSeparatorV2,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
Tabs,
|
|
46
|
-
Theme,
|
|
47
|
-
DropdownMenuV2Ariakit,
|
|
48
|
-
DropdownMenuGroupV2Ariakit,
|
|
49
|
-
DropdownMenuItemV2Ariakit,
|
|
50
|
-
DropdownMenuCheckboxItemV2Ariakit,
|
|
51
|
-
DropdownMenuRadioItemV2Ariakit,
|
|
52
|
-
DropdownMenuSeparatorV2Ariakit,
|
|
53
|
-
DropdownMenuItemLabelV2Ariakit,
|
|
54
|
-
DropdownMenuItemHelpTextV2Ariakit
|
|
39
|
+
DropdownMenuItemLabelV2,
|
|
40
|
+
DropdownMenuItemHelpTextV2,
|
|
41
|
+
kebabCase
|
|
55
42
|
});
|
|
56
43
|
//# sourceMappingURL=private-apis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Composite","CompositeV2","CompositeGroup","CompositeGroupV2","CompositeItem","CompositeItemV2","CompositeRow","CompositeRowV2","useCompositeStore","useCompositeStoreV2","default","CustomSelectControl","positionToPlacement","__experimentalPopoverLegacyPositionToPlacement","ProgressBar","createPrivateSlotFill","DropdownMenu","DropdownMenuV2","DropdownMenuGroup","DropdownMenuGroupV2","DropdownMenuItem","DropdownMenuItemV2","DropdownMenuCheckboxItem","DropdownMenuCheckboxItemV2","DropdownMenuRadioItem","DropdownMenuRadioItemV2","DropdownMenuSeparator","DropdownMenuSeparatorV2","DropdownMenuItemLabel","DropdownMenuItemLabelV2","DropdownMenuItemHelpText","DropdownMenuItemHelpTextV2","ComponentsContext","Theme","Tabs","kebabCase","lock","privateApis"],"sources":["@wordpress/components/src/private-apis.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\n/**\n * Internal dependencies\n */\nimport {\n\tComposite as CompositeV2,\n\tCompositeGroup as CompositeGroupV2,\n\tCompositeItem as CompositeItemV2,\n\tCompositeRow as CompositeRowV2,\n\tuseCompositeStore as useCompositeStoreV2,\n} from './composite/v2';\nimport { default as CustomSelectControl } from './custom-select-control';\nimport { positionToPlacement as __experimentalPopoverLegacyPositionToPlacement } from './popover/utils';\nimport { default as ProgressBar } from './progress-bar';\nimport { createPrivateSlotFill } from './slot-fill';\nimport {\n\tDropdownMenu as DropdownMenuV2,\n\tDropdownMenuGroup as DropdownMenuGroupV2,\n\tDropdownMenuItem as DropdownMenuItemV2,\n\tDropdownMenuCheckboxItem as DropdownMenuCheckboxItemV2,\n\tDropdownMenuRadioItem as DropdownMenuRadioItemV2,\n\tDropdownMenuSeparator as DropdownMenuSeparatorV2,\n\tDropdownMenuItemLabel as DropdownMenuItemLabelV2,\n\tDropdownMenuItemHelpText as DropdownMenuItemHelpTextV2,\n} from './dropdown-menu-v2';\nimport { ComponentsContext } from './context/context-system-provider';\nimport Theme from './theme';\nimport Tabs from './tabs';\nimport { kebabCase } from './utils/strings';\nimport { lock } from './lock-unlock';\n\nexport const privateApis = {};\nlock( privateApis, {\n\tCompositeV2,\n\tCompositeGroupV2,\n\tCompositeItemV2,\n\tCompositeRowV2,\n\tuseCompositeStoreV2,\n\tCustomSelectControl,\n\t__experimentalPopoverLegacyPositionToPlacement,\n\tcreatePrivateSlotFill,\n\tComponentsContext,\n\tProgressBar,\n\tTabs,\n\tTheme,\n\tDropdownMenuV2,\n\tDropdownMenuGroupV2,\n\tDropdownMenuItemV2,\n\tDropdownMenuCheckboxItemV2,\n\tDropdownMenuRadioItemV2,\n\tDropdownMenuSeparatorV2,\n\tDropdownMenuItemLabelV2,\n\tDropdownMenuItemHelpTextV2,\n\tkebabCase,\n} );\n"],"mappings":"AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SACCA,SAAS,IAAIC,WAAW,EACxBC,cAAc,IAAIC,gBAAgB,EAClCC,aAAa,IAAIC,eAAe,EAChCC,YAAY,IAAIC,cAAc,EAC9BC,iBAAiB,IAAIC,mBAAmB,QAClC,gBAAgB;AACvB,SAASC,OAAO,IAAIC,mBAAmB,QAAQ,yBAAyB;AACxE,SAASC,mBAAmB,IAAIC,8CAA8C,QAAQ,iBAAiB;AACvG,SAASH,OAAO,IAAII,WAAW,QAAQ,gBAAgB;AACvD,SAASC,qBAAqB,QAAQ,aAAa;AACnD,SACCC,YAAY,IAAIC,cAAc,EAC9BC,iBAAiB,IAAIC,mBAAmB,EACxCC,gBAAgB,IAAIC,kBAAkB,EACtCC,wBAAwB,IAAIC,0BAA0B,EACtDC,qBAAqB,IAAIC,uBAAuB,EAChDC,qBAAqB,IAAIC,uBAAuB,EAChDC,qBAAqB,IAAIC,uBAAuB,EAChDC,wBAAwB,IAAIC,0BAA0B,QAChD,oBAAoB;AAC3B,SAASC,iBAAiB,QAAQ,mCAAmC;AACrE,OAAOC,KAAK,MAAM,SAAS;AAC3B,OAAOC,IAAI,MAAM,QAAQ;AACzB,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,IAAI,QAAQ,eAAe;AAEpC,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7BD,IAAI,CAAEC,WAAW,EAAE;EAClBpC,WAAW;EACXE,gBAAgB;EAChBE,eAAe;EACfE,cAAc;EACdE,mBAAmB;EACnBE,mBAAmB;EACnBE,8CAA8C;EAC9CE,qBAAqB;EACrBiB,iBAAiB;EACjBlB,WAAW;EACXoB,IAAI;EACJD,KAAK;EACLhB,cAAc;EACdE,mBAAmB;EACnBE,kBAAkB;EAClBE,0BAA0B;EAC1BE,uBAAuB;EACvBE,uBAAuB;EACvBE,uBAAuB;EACvBE,0BAA0B;EAC1BI;AACD,CAAE,CAAC"}
|