@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
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
|
|
4
|
+
// eslint-disable-next-line no-restricted-imports
|
|
5
|
+
import * as Ariakit from '@ariakit/react';
|
|
5
6
|
import { css, keyframes } from '@emotion/react';
|
|
6
|
-
import
|
|
7
|
+
import styled from '@emotion/styled';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Internal dependencies
|
|
@@ -11,7 +12,8 @@ import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
|
|
|
11
12
|
import { COLORS, font, rtl, CONFIG } from '../utils';
|
|
12
13
|
import { space } from '../utils/space';
|
|
13
14
|
import Icon from '../icon';
|
|
14
|
-
import
|
|
15
|
+
import { Truncate } from '../truncate';
|
|
16
|
+
import type { DropdownMenuContext } from './types';
|
|
15
17
|
|
|
16
18
|
const ANIMATION_PARAMS = {
|
|
17
19
|
SLIDE_AMOUNT: '2px',
|
|
@@ -19,17 +21,22 @@ const ANIMATION_PARAMS = {
|
|
|
19
21
|
EASING: 'cubic-bezier( 0.16, 1, 0.3, 1 )',
|
|
20
22
|
};
|
|
21
23
|
|
|
22
|
-
const CONTENT_WRAPPER_PADDING = space(
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const ITEM_PADDING_INLINE_END = space( 2.5 );
|
|
24
|
+
const CONTENT_WRAPPER_PADDING = space( 1 );
|
|
25
|
+
const ITEM_PADDING_BLOCK = space( 2 );
|
|
26
|
+
const ITEM_PADDING_INLINE = space( 3 );
|
|
26
27
|
|
|
27
|
-
// TODO:
|
|
28
|
-
|
|
28
|
+
// TODO:
|
|
29
|
+
// - those values are different from saved variables?
|
|
30
|
+
// - should bring this into the config, and make themeable
|
|
31
|
+
// - border color and divider color are different?
|
|
32
|
+
const DEFAULT_BORDER_COLOR = COLORS.gray[ 300 ];
|
|
33
|
+
const DIVIDER_COLOR = COLORS.gray[ 200 ];
|
|
29
34
|
const TOOLBAR_VARIANT_BORDER_COLOR = COLORS.gray[ '900' ];
|
|
30
35
|
const DEFAULT_BOX_SHADOW = `0 0 0 ${ CONFIG.borderWidth } ${ DEFAULT_BORDER_COLOR }, ${ CONFIG.popoverShadow }`;
|
|
31
36
|
const TOOLBAR_VARIANT_BOX_SHADOW = `0 0 0 ${ CONFIG.borderWidth } ${ TOOLBAR_VARIANT_BORDER_COLOR }`;
|
|
32
37
|
|
|
38
|
+
const GRID_TEMPLATE_COLS = 'minmax( 0, max-content ) 1fr';
|
|
39
|
+
|
|
33
40
|
const slideUpAndFade = keyframes( {
|
|
34
41
|
'0%': {
|
|
35
42
|
opacity: 0,
|
|
@@ -62,217 +69,285 @@ const slideLeftAndFade = keyframes( {
|
|
|
62
69
|
'100%': { opacity: 1, transform: 'translateX(0)' },
|
|
63
70
|
} );
|
|
64
71
|
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
export const DropdownMenu = styled( Ariakit.Menu )<
|
|
73
|
+
Pick< DropdownMenuContext, 'variant' >
|
|
74
|
+
>`
|
|
75
|
+
position: relative;
|
|
76
|
+
/* Same as popover component */
|
|
77
|
+
/* TODO: is there a way to read the sass variable? */
|
|
78
|
+
z-index: 1000000;
|
|
79
|
+
|
|
80
|
+
display: grid;
|
|
81
|
+
grid-template-columns: ${ GRID_TEMPLATE_COLS };
|
|
82
|
+
grid-template-rows: auto;
|
|
83
|
+
|
|
84
|
+
box-sizing: border-box;
|
|
85
|
+
min-width: 160px;
|
|
86
|
+
max-width: 320px;
|
|
87
|
+
max-height: var( --popover-available-height );
|
|
71
88
|
padding: ${ CONTENT_WRAPPER_PADDING };
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
89
|
+
|
|
90
|
+
background-color: ${ COLORS.ui.background };
|
|
91
|
+
border-radius: 4px;
|
|
92
|
+
${ ( props ) => css`
|
|
93
|
+
box-shadow: ${ props.variant === 'toolbar'
|
|
94
|
+
? TOOLBAR_VARIANT_BOX_SHADOW
|
|
95
|
+
: DEFAULT_BOX_SHADOW };
|
|
96
|
+
` }
|
|
97
|
+
|
|
98
|
+
overscroll-behavior: contain;
|
|
99
|
+
overflow: auto;
|
|
100
|
+
|
|
101
|
+
/* Only visible in Windows High Contrast mode */
|
|
102
|
+
outline: 2px solid transparent !important;
|
|
103
|
+
|
|
104
|
+
/* Animation */
|
|
75
105
|
animation-duration: ${ ANIMATION_PARAMS.DURATION };
|
|
76
106
|
animation-timing-function: ${ ANIMATION_PARAMS.EASING };
|
|
77
107
|
will-change: transform, opacity;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
animation-name: ${ slideDownAndFade };
|
|
81
|
-
}
|
|
108
|
+
/* Default animation.*/
|
|
109
|
+
animation-name: ${ slideDownAndFade };
|
|
82
110
|
|
|
83
111
|
&[data-side='right'] {
|
|
84
112
|
animation-name: ${ slideLeftAndFade };
|
|
85
113
|
}
|
|
86
|
-
|
|
87
114
|
&[data-side='bottom'] {
|
|
88
115
|
animation-name: ${ slideUpAndFade };
|
|
89
116
|
}
|
|
90
|
-
|
|
91
117
|
&[data-side='left'] {
|
|
92
118
|
animation-name: ${ slideRightAndFade };
|
|
93
119
|
}
|
|
94
|
-
|
|
95
120
|
@media ( prefers-reduced-motion ) {
|
|
96
121
|
animation-duration: 0s;
|
|
97
122
|
}
|
|
98
123
|
`;
|
|
99
124
|
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
display: inline-flex;
|
|
103
|
-
align-items: center;
|
|
104
|
-
justify-content: center;
|
|
105
|
-
/* Prefixes don't get affected by the item's inline start padding */
|
|
106
|
-
margin-inline-start: calc( -1 * ${ ITEM_PADDING_INLINE_START } );
|
|
107
|
-
/*
|
|
108
|
-
Negative margin allows the suffix to be as tall as the whole item
|
|
109
|
-
(incl. padding) before increasing the items' height. This can be useful,
|
|
110
|
-
e.g., when using icons that are bigger than 20x20 px
|
|
111
|
-
*/
|
|
112
|
-
margin-top: ${ space( -2 ) };
|
|
113
|
-
margin-bottom: ${ space( -2 ) };
|
|
114
|
-
`;
|
|
115
|
-
|
|
116
|
-
const itemSuffix = css`
|
|
117
|
-
width: max-content;
|
|
118
|
-
display: inline-flex;
|
|
119
|
-
align-items: center;
|
|
120
|
-
justify-content: center;
|
|
121
|
-
/* Push prefix to the inline-end of the item */
|
|
122
|
-
margin-inline-start: auto;
|
|
123
|
-
/* Minimum space between the item's content and suffix */
|
|
124
|
-
padding-inline-start: ${ space( 6 ) };
|
|
125
|
-
/*
|
|
126
|
-
Negative margin allows the suffix to be as tall as the whole item
|
|
127
|
-
(incl. padding) before increasing the items' height. This can be useful,
|
|
128
|
-
e.g., when using icons that are bigger than 20x20 px
|
|
129
|
-
*/
|
|
130
|
-
margin-top: ${ space( -2 ) };
|
|
131
|
-
margin-bottom: ${ space( -2 ) };
|
|
125
|
+
const baseItem = css`
|
|
126
|
+
all: unset;
|
|
132
127
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
TODO:
|
|
138
|
-
- For now, used opacity like for disabled item, which makes it work
|
|
139
|
-
regardless of the theme
|
|
140
|
-
- how do we translate this for themes? Should we have a new variable
|
|
141
|
-
for "secondary" text?
|
|
142
|
-
*/
|
|
143
|
-
opacity: 0.6;
|
|
128
|
+
position: relative;
|
|
129
|
+
min-height: ${ space( 10 ) };
|
|
130
|
+
box-sizing: border-box;
|
|
144
131
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
[data-disabled] > & {
|
|
148
|
-
opacity: 1;
|
|
149
|
-
}
|
|
150
|
-
`;
|
|
132
|
+
/* Occupy the width of all grid columns (ie. full width) */
|
|
133
|
+
grid-column: 1 / -1;
|
|
151
134
|
|
|
152
|
-
|
|
153
|
-
${
|
|
154
|
-
|
|
135
|
+
display: grid;
|
|
136
|
+
grid-template-columns: ${ GRID_TEMPLATE_COLS };
|
|
137
|
+
align-items: center;
|
|
155
138
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
139
|
+
@supports ( grid-template-columns: subgrid ) {
|
|
140
|
+
/*
|
|
141
|
+
* Define a grid layout which inherits the same columns configuration
|
|
142
|
+
* from the parent layout (ie. subgrid). This allows the menu
|
|
143
|
+
* to synchronize the indentation of all its items.
|
|
144
|
+
*/
|
|
145
|
+
grid-template-columns: subgrid;
|
|
146
|
+
}
|
|
159
147
|
|
|
160
|
-
const baseItem = css`
|
|
161
|
-
all: unset;
|
|
162
148
|
font-size: ${ font( 'default.fontSize' ) };
|
|
163
149
|
font-family: inherit;
|
|
164
150
|
font-weight: normal;
|
|
165
151
|
line-height: 20px;
|
|
152
|
+
|
|
166
153
|
color: ${ COLORS.gray[ 900 ] };
|
|
167
154
|
border-radius: ${ CONFIG.radiusBlockUi };
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
padding: ${
|
|
171
|
-
|
|
172
|
-
|
|
155
|
+
|
|
156
|
+
padding-block: ${ ITEM_PADDING_BLOCK };
|
|
157
|
+
padding-inline: ${ ITEM_PADDING_INLINE };
|
|
158
|
+
|
|
159
|
+
/*
|
|
160
|
+
* Make sure that, when an item is scrolled into view (eg. while using the
|
|
161
|
+
* keyboard to move focus), the whole item comes into view
|
|
162
|
+
*/
|
|
163
|
+
scroll-margin: ${ CONTENT_WRAPPER_PADDING };
|
|
164
|
+
|
|
173
165
|
user-select: none;
|
|
174
166
|
outline: none;
|
|
175
167
|
|
|
176
|
-
&[
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
- we need a disabled color in the Theme variables
|
|
180
|
-
- design specs use opacity instead of setting a new text color
|
|
181
|
-
*/
|
|
182
|
-
opacity: 0.5;
|
|
183
|
-
pointer-events: none;
|
|
168
|
+
&[aria-disabled='true'] {
|
|
169
|
+
color: ${ COLORS.ui.textDisabled };
|
|
170
|
+
cursor: not-allowed;
|
|
184
171
|
}
|
|
185
172
|
|
|
186
|
-
/* Hover
|
|
187
|
-
&[data-
|
|
188
|
-
|
|
189
|
-
|
|
173
|
+
/* Hover */
|
|
174
|
+
&[data-active-item]:not( [data-focus-visible] ):not(
|
|
175
|
+
[aria-disabled='true']
|
|
176
|
+
) {
|
|
177
|
+
background-color: ${ COLORS.theme.accent };
|
|
178
|
+
color: ${ COLORS.white };
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/* Keyboard focus (focus-visible) */
|
|
182
|
+
&[data-focus-visible] {
|
|
183
|
+
box-shadow: 0 0 0 1.5px var( --wp-admin-theme-color );
|
|
190
184
|
|
|
191
185
|
/* Only visible in Windows High Contrast mode */
|
|
192
186
|
outline: 2px solid transparent;
|
|
193
187
|
}
|
|
194
188
|
|
|
195
|
-
|
|
196
|
-
|
|
189
|
+
/* Active (ie. pressed, mouse down) */
|
|
190
|
+
&:active,
|
|
191
|
+
&[data-active] {
|
|
192
|
+
/* TODO: should there be a visual active state? */
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/* When the item is the trigger of an open submenu */
|
|
196
|
+
${ DropdownMenu }:not(:focus) &:not(:focus)[aria-expanded="true"] {
|
|
197
|
+
background-color: ${ COLORS.gray[ 100 ] };
|
|
198
|
+
color: ${ COLORS.gray[ 900 ] };
|
|
197
199
|
}
|
|
198
200
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
+
svg {
|
|
202
|
+
fill: currentColor;
|
|
201
203
|
}
|
|
202
204
|
`;
|
|
203
205
|
|
|
204
|
-
export const
|
|
205
|
-
|
|
206
|
-
>`
|
|
207
|
-
${ ( props ) => baseContent( props.variant ) }
|
|
206
|
+
export const DropdownMenuItem = styled( Ariakit.MenuItem )`
|
|
207
|
+
${ baseItem };
|
|
208
208
|
`;
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
${ ( props ) => baseContent( props.variant ) }
|
|
209
|
+
|
|
210
|
+
export const DropdownMenuCheckboxItem = styled( Ariakit.MenuItemCheckbox )`
|
|
211
|
+
${ baseItem };
|
|
213
212
|
`;
|
|
214
213
|
|
|
215
|
-
export const
|
|
216
|
-
${ baseItem }
|
|
214
|
+
export const DropdownMenuRadioItem = styled( Ariakit.MenuItemRadio )`
|
|
215
|
+
${ baseItem };
|
|
217
216
|
`;
|
|
218
|
-
|
|
219
|
-
|
|
217
|
+
|
|
218
|
+
export const ItemPrefixWrapper = styled.span`
|
|
219
|
+
/* Always occupy the first column, even when auto-collapsing */
|
|
220
|
+
grid-column: 1;
|
|
221
|
+
|
|
222
|
+
/*
|
|
223
|
+
* Even when the item is not checked, occupy the same screen space to avoid
|
|
224
|
+
* the space collapside when no items are checked.
|
|
225
|
+
*/
|
|
226
|
+
${ DropdownMenuCheckboxItem } > &,
|
|
227
|
+
${ DropdownMenuRadioItem } > & {
|
|
228
|
+
/* Same width as the check icons */
|
|
229
|
+
min-width: ${ space( 6 ) };
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
${ DropdownMenuCheckboxItem } > &,
|
|
233
|
+
${ DropdownMenuRadioItem } > &,
|
|
234
|
+
&:not( :empty ) {
|
|
235
|
+
margin-inline-end: ${ space( 2 ) };
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
display: flex;
|
|
239
|
+
align-items: center;
|
|
240
|
+
justify-content: center;
|
|
241
|
+
|
|
242
|
+
color: ${ COLORS.gray[ '700' ] };
|
|
243
|
+
|
|
244
|
+
/*
|
|
245
|
+
* When the parent menu item is active, except when it's a non-focused/hovered
|
|
246
|
+
* submenu trigger (in that case, color should not be inherited)
|
|
247
|
+
*/
|
|
248
|
+
[data-active-item]:not( [data-focus-visible] ) > &,
|
|
249
|
+
/* When the parent menu item is disabled */
|
|
250
|
+
[aria-disabled='true'] > & {
|
|
251
|
+
color: inherit;
|
|
252
|
+
}
|
|
220
253
|
`;
|
|
221
|
-
|
|
222
|
-
|
|
254
|
+
|
|
255
|
+
export const DropdownMenuItemContentWrapper = styled.div`
|
|
256
|
+
/*
|
|
257
|
+
* Always occupy the second column, since the first column
|
|
258
|
+
* is taken by the prefix wrapper (when displayed).
|
|
259
|
+
*/
|
|
260
|
+
grid-column: 2;
|
|
261
|
+
|
|
262
|
+
display: flex;
|
|
263
|
+
align-items: center;
|
|
264
|
+
justify-content: space-between;
|
|
265
|
+
gap: ${ space( 3 ) };
|
|
266
|
+
|
|
267
|
+
pointer-events: none;
|
|
223
268
|
`;
|
|
224
|
-
export const SubTrigger = styled( DropdownMenu.SubTrigger )`
|
|
225
|
-
${ baseItem }
|
|
226
269
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
270
|
+
export const DropdownMenuItemChildrenWrapper = styled.div`
|
|
271
|
+
flex: 1;
|
|
272
|
+
|
|
273
|
+
display: inline-flex;
|
|
274
|
+
flex-direction: column;
|
|
275
|
+
gap: ${ space( 1 ) };
|
|
230
276
|
`;
|
|
231
277
|
|
|
232
|
-
export const
|
|
233
|
-
|
|
278
|
+
export const ItemSuffixWrapper = styled.span`
|
|
279
|
+
flex: 0 1 fit-content;
|
|
280
|
+
min-width: 0;
|
|
281
|
+
width: fit-content;
|
|
282
|
+
|
|
234
283
|
display: flex;
|
|
235
284
|
align-items: center;
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
285
|
+
justify-content: center;
|
|
286
|
+
gap: ${ space( 3 ) };
|
|
287
|
+
|
|
288
|
+
color: ${ COLORS.gray[ '700' ] };
|
|
289
|
+
|
|
290
|
+
/*
|
|
291
|
+
* When the parent menu item is active, except when it's a non-focused/hovered
|
|
292
|
+
* submenu trigger (in that case, color should not be inherited)
|
|
293
|
+
*/
|
|
294
|
+
[data-active-item]:not( [data-focus-visible] ) *:not(${ DropdownMenu }) &,
|
|
295
|
+
/* When the parent menu item is disabled */
|
|
296
|
+
[aria-disabled='true'] *:not(${ DropdownMenu }) & {
|
|
297
|
+
color: inherit;
|
|
298
|
+
}
|
|
248
299
|
`;
|
|
249
300
|
|
|
250
|
-
export const
|
|
251
|
-
|
|
301
|
+
export const DropdownMenuGroup = styled( Ariakit.MenuGroup )`
|
|
302
|
+
/* Ignore this element when calculating the layout. Useful for subgrid */
|
|
303
|
+
display: contents;
|
|
304
|
+
`;
|
|
305
|
+
|
|
306
|
+
export const DropdownMenuSeparator = styled( Ariakit.MenuSeparator )<
|
|
307
|
+
Pick< DropdownMenuContext, 'variant' >
|
|
252
308
|
>`
|
|
309
|
+
/* Occupy the width of all grid columns (ie. full width) */
|
|
310
|
+
grid-column: 1 / -1;
|
|
311
|
+
|
|
312
|
+
border: none;
|
|
253
313
|
height: ${ CONFIG.borderWidth };
|
|
254
|
-
/* TODO: doesn't match border color from variables */
|
|
255
314
|
background-color: ${ ( props ) =>
|
|
256
315
|
props.variant === 'toolbar'
|
|
257
316
|
? TOOLBAR_VARIANT_BORDER_COLOR
|
|
258
|
-
:
|
|
259
|
-
/*
|
|
260
|
-
margin: ${ space( 2 ) }
|
|
261
|
-
|
|
317
|
+
: DIVIDER_COLOR };
|
|
318
|
+
/* Align with menu items' content */
|
|
319
|
+
margin-block: ${ space( 2 ) };
|
|
320
|
+
margin-inline: ${ ITEM_PADDING_INLINE };
|
|
262
321
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
align-items: center;
|
|
266
|
-
justify-content: center;
|
|
322
|
+
/* Only visible in Windows High Contrast mode */
|
|
323
|
+
outline: 2px solid transparent;
|
|
267
324
|
`;
|
|
268
325
|
|
|
269
|
-
export const
|
|
326
|
+
export const SubmenuChevronIcon = styled( Icon )`
|
|
327
|
+
width: ${ space( 1.5 ) };
|
|
270
328
|
${ rtl(
|
|
271
329
|
{
|
|
272
|
-
transform: `scaleX(1)
|
|
330
|
+
transform: `scaleX(1)`,
|
|
273
331
|
},
|
|
274
332
|
{
|
|
275
|
-
transform: `scaleX(-1)
|
|
333
|
+
transform: `scaleX(-1)`,
|
|
276
334
|
}
|
|
277
|
-
) }
|
|
335
|
+
) };
|
|
336
|
+
`;
|
|
337
|
+
|
|
338
|
+
export const DropdownMenuItemLabel = styled( Truncate )`
|
|
339
|
+
font-size: ${ font( 'default.fontSize' ) };
|
|
340
|
+
line-height: 20px;
|
|
341
|
+
color: inherit;
|
|
342
|
+
`;
|
|
343
|
+
|
|
344
|
+
export const DropdownMenuItemHelpText = styled( Truncate )`
|
|
345
|
+
font-size: ${ font( 'helpText.fontSize' ) };
|
|
346
|
+
line-height: 16px;
|
|
347
|
+
color: ${ COLORS.gray[ '700' ] };
|
|
348
|
+
|
|
349
|
+
[data-active-item]:not( [data-focus-visible] ) *:not( ${ DropdownMenu } ) &,
|
|
350
|
+
[aria-disabled='true'] *:not( ${ DropdownMenu } ) & {
|
|
351
|
+
color: inherit;
|
|
352
|
+
}
|
|
278
353
|
`;
|