@wordpress/components 19.16.0 → 19.17.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 +40 -4
- package/build/base-control/index.js +6 -3
- package/build/base-control/index.js.map +1 -1
- package/build/base-control/styles/base-control-styles.js +8 -8
- package/build/base-control/styles/base-control-styles.js.map +1 -1
- package/build/border-control/styles.js +17 -25
- package/build/border-control/styles.js.map +1 -1
- package/build/box-control/all-input-control.js +2 -27
- package/build/box-control/all-input-control.js.map +1 -1
- package/build/box-control/index.js +10 -5
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/styles/box-control-styles.js +17 -9
- package/build/box-control/styles/box-control-styles.js.map +1 -1
- package/build/box-control/utils.js +35 -0
- package/build/box-control/utils.js.map +1 -1
- package/build/color-picker/styles.js +10 -8
- package/build/color-picker/styles.js.map +1 -1
- package/build/combobox-control/index.js +14 -6
- package/build/combobox-control/index.js.map +1 -1
- package/build/custom-select-control/index.js +3 -1
- package/build/custom-select-control/index.js.map +1 -1
- package/build/date-time/time/index.js +6 -2
- package/build/date-time/time/index.js.map +1 -1
- package/build/date-time/time/styles.js +17 -24
- package/build/date-time/time/styles.js.map +1 -1
- package/build/external-link/index.js +6 -0
- package/build/external-link/index.js.map +1 -1
- package/build/flex/flex/component.js +9 -9
- package/build/flex/flex/component.js.map +1 -1
- package/build/flex/flex/hook.js +6 -16
- package/build/flex/flex/hook.js.map +1 -1
- package/build/flex/flex/index.js.map +1 -1
- package/build/flex/flex-block/component.js +9 -9
- package/build/flex/flex-block/component.js.map +1 -1
- package/build/flex/flex-block/hook.js +0 -4
- package/build/flex/flex-block/hook.js.map +1 -1
- package/build/flex/flex-block/index.js.map +1 -1
- package/build/flex/flex-item/component.js +9 -9
- package/build/flex/flex-item/component.js.map +1 -1
- package/build/flex/flex-item/hook.js +1 -5
- package/build/flex/flex-item/hook.js.map +1 -1
- package/build/flex/flex-item/index.js.map +1 -1
- package/build/flex/index.js.map +1 -1
- package/build/flex/styles.js +5 -5
- package/build/flex/styles.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-picker-style.js +22 -22
- package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-style.js +5 -5
- package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build/font-size-picker/index.js +15 -6
- package/build/font-size-picker/index.js.map +1 -1
- package/build/form-token-field/index.js +6 -2
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/suggestions-list.js +19 -6
- package/build/form-token-field/suggestions-list.js.map +1 -1
- package/build/index.js +7 -1
- package/build/index.js.map +1 -1
- package/build/input-control/input-base.js +1 -2
- package/build/input-control/input-base.js.map +1 -1
- package/build/input-control/reducer/actions.js +3 -1
- package/build/input-control/reducer/actions.js.map +1 -1
- package/build/input-control/reducer/reducer.js +28 -11
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/input-control/reducer/state.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +26 -26
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +23 -3
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/mobile/image/index.native.js +23 -2
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/link-picker/link-picker-screen.native.js +10 -4
- package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
- package/build/mobile/picker/index.ios.js +16 -3
- package/build/mobile/picker/index.ios.js.map +1 -1
- package/build/placeholder/index.js +11 -14
- package/build/placeholder/index.js.map +1 -1
- package/build/placeholder/types.js +6 -0
- package/build/placeholder/types.js.map +1 -0
- package/build/popover/index.js +113 -62
- package/build/popover/index.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +40 -40
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +6 -6
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/style-provider/index.js +10 -7
- package/build/style-provider/index.js.map +1 -1
- package/build/style-provider/types.js +6 -0
- package/build/style-provider/types.js.map +1 -0
- package/build/swatch/index.js +2 -0
- package/build/swatch/index.js.map +1 -1
- package/build/swatch/types.js +6 -0
- package/build/swatch/types.js.map +1 -0
- package/build/text/hook.js +5 -8
- package/build/text/hook.js.map +1 -1
- package/build/tools-panel/styles.js +13 -10
- package/build/tools-panel/styles.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js +1 -1
- package/build/tools-panel/tools-panel/hook.js.map +1 -1
- package/build/ui/tooltip/styles.js +4 -4
- package/build/ui/tooltip/styles.js.map +1 -1
- package/build/unit-control/styles/unit-control-styles.js +34 -9
- package/build/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build/utils/base-label.js +24 -0
- package/build/utils/base-label.js.map +1 -0
- package/build/utils/box-sizing.js +22 -0
- package/build/utils/box-sizing.js.map +1 -0
- package/build/utils/style-mixins.js +16 -0
- package/build/utils/style-mixins.js.map +1 -1
- package/build-module/base-control/index.js +7 -5
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/base-control/styles/base-control-styles.js +9 -9
- package/build-module/base-control/styles/base-control-styles.js.map +1 -1
- package/build-module/border-control/styles.js +18 -26
- package/build-module/border-control/styles.js.map +1 -1
- package/build-module/box-control/all-input-control.js +3 -28
- package/build-module/box-control/all-input-control.js.map +1 -1
- package/build-module/box-control/index.js +4 -4
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/styles/box-control-styles.js +18 -10
- package/build-module/box-control/styles/box-control-styles.js.map +1 -1
- package/build-module/box-control/utils.js +33 -0
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/color-picker/styles.js +9 -8
- package/build-module/color-picker/styles.js.map +1 -1
- package/build-module/combobox-control/index.js +13 -6
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/custom-select-control/index.js +2 -1
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/date-time/time/index.js +6 -3
- package/build-module/date-time/time/index.js.map +1 -1
- package/build-module/date-time/time/styles.js +15 -21
- package/build-module/date-time/time/styles.js.map +1 -1
- package/build-module/external-link/index.js +6 -0
- package/build-module/external-link/index.js.map +1 -1
- package/build-module/flex/flex/component.js +9 -9
- package/build-module/flex/flex/component.js.map +1 -1
- package/build-module/flex/flex/hook.js +6 -15
- package/build-module/flex/flex/hook.js.map +1 -1
- package/build-module/flex/flex/index.js.map +1 -1
- package/build-module/flex/flex-block/component.js +9 -9
- package/build-module/flex/flex-block/component.js.map +1 -1
- package/build-module/flex/flex-block/hook.js +0 -4
- package/build-module/flex/flex-block/hook.js.map +1 -1
- package/build-module/flex/flex-block/index.js.map +1 -1
- package/build-module/flex/flex-item/component.js +9 -9
- package/build-module/flex/flex-item/component.js.map +1 -1
- package/build-module/flex/flex-item/hook.js +1 -5
- package/build-module/flex/flex-item/hook.js.map +1 -1
- package/build-module/flex/flex-item/index.js.map +1 -1
- package/build-module/flex/index.js.map +1 -1
- package/build-module/flex/styles.js +5 -5
- package/build-module/flex/styles.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js +22 -22
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-style.js +5 -5
- package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build-module/font-size-picker/index.js +14 -6
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/form-token-field/index.js +5 -2
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/suggestions-list.js +19 -6
- package/build-module/form-token-field/suggestions-list.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/input-control/input-base.js +1 -2
- package/build-module/input-control/input-base.js.map +1 -1
- package/build-module/input-control/reducer/actions.js +1 -0
- package/build-module/input-control/reducer/actions.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js +28 -11
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/input-control/reducer/state.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +27 -27
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +23 -4
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +25 -4
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/link-picker/link-picker-screen.native.js +11 -4
- package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
- package/build-module/mobile/picker/index.ios.js +14 -3
- package/build-module/mobile/picker/index.ios.js.map +1 -1
- package/build-module/placeholder/index.js +10 -15
- package/build-module/placeholder/index.js.map +1 -1
- package/build-module/placeholder/types.js +2 -0
- package/build-module/placeholder/types.js.map +1 -0
- package/build-module/popover/index.js +112 -62
- package/build-module/popover/index.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +40 -40
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +6 -6
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/style-provider/index.js +10 -5
- package/build-module/style-provider/index.js.map +1 -1
- package/build-module/style-provider/types.js +2 -0
- package/build-module/style-provider/types.js.map +1 -0
- package/build-module/swatch/index.js +2 -0
- package/build-module/swatch/index.js.map +1 -1
- package/build-module/swatch/types.js +2 -0
- package/build-module/swatch/types.js.map +1 -0
- package/build-module/text/hook.js +5 -7
- package/build-module/text/hook.js.map +1 -1
- package/build-module/tools-panel/styles.js +12 -11
- package/build-module/tools-panel/styles.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js +1 -1
- package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
- package/build-module/ui/tooltip/styles.js +4 -4
- package/build-module/ui/tooltip/styles.js.map +1 -1
- package/build-module/unit-control/styles/unit-control-styles.js +35 -9
- package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build-module/utils/base-label.js +18 -0
- package/build-module/utils/base-label.js.map +1 -0
- package/build-module/utils/box-sizing.js +16 -0
- package/build-module/utils/box-sizing.js.map +1 -0
- package/build-module/utils/style-mixins.js +2 -0
- package/build-module/utils/style-mixins.js.map +1 -1
- package/build-style/style-rtl.css +50 -30
- package/build-style/style.css +52 -30
- package/build-types/base-control/index.d.ts +4 -3
- package/build-types/base-control/index.d.ts.map +1 -1
- package/build-types/base-control/stories/index.d.ts +1 -1
- package/build-types/base-control/stories/index.d.ts.map +1 -1
- package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
- package/build-types/base-control/types.d.ts +0 -1
- package/build-types/base-control/types.d.ts.map +1 -1
- package/build-types/border-control/styles.d.ts.map +1 -1
- package/build-types/color-picker/color-display.d.ts +13 -0
- package/build-types/color-picker/color-display.d.ts.map +1 -0
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/date-time/time/index.d.ts.map +1 -1
- package/build-types/date-time/time/styles.d.ts +0 -4
- package/build-types/date-time/time/styles.d.ts.map +1 -1
- package/build-types/external-link/index.d.ts.map +1 -1
- package/build-types/flex/flex/component.d.ts +5 -4
- package/build-types/flex/flex/component.d.ts.map +1 -1
- package/build-types/flex/flex/hook.d.ts +5 -2
- package/build-types/flex/flex/hook.d.ts.map +1 -1
- package/build-types/flex/flex/index.d.ts +2 -2
- package/build-types/flex/flex/index.d.ts.map +1 -1
- package/build-types/flex/flex-block/component.d.ts +5 -4
- package/build-types/flex/flex-block/component.d.ts.map +1 -1
- package/build-types/flex/flex-block/hook.d.ts +6 -3
- package/build-types/flex/flex-block/hook.d.ts.map +1 -1
- package/build-types/flex/flex-block/index.d.ts +2 -2
- package/build-types/flex/flex-block/index.d.ts.map +1 -1
- package/build-types/flex/flex-item/component.d.ts +5 -4
- package/build-types/flex/flex-item/component.d.ts.map +1 -1
- package/build-types/flex/flex-item/hook.d.ts +6 -3
- package/build-types/flex/flex-item/hook.d.ts.map +1 -1
- package/build-types/flex/flex-item/index.d.ts +2 -2
- package/build-types/flex/flex-item/index.d.ts.map +1 -1
- package/build-types/flex/index.d.ts +3 -3
- package/build-types/flex/index.d.ts.map +1 -1
- package/build-types/flex/stories/index.d.ts +13 -0
- package/build-types/flex/stories/index.d.ts.map +1 -0
- package/build-types/flex/styles.d.ts +5 -5
- package/build-types/flex/styles.d.ts.map +1 -1
- package/build-types/flex/test/index.d.ts +2 -0
- package/build-types/flex/test/index.d.ts.map +1 -0
- package/build-types/flex/types.d.ts +15 -11
- package/build-types/flex/types.d.ts.map +1 -1
- package/build-types/flyout/context.d.ts +6 -0
- package/build-types/flyout/context.d.ts.map +1 -0
- package/build-types/flyout/flyout/component.d.ts +21 -0
- package/build-types/flyout/flyout/component.d.ts.map +1 -0
- package/build-types/flyout/flyout/hook.d.ts +270 -0
- package/build-types/flyout/flyout/hook.d.ts.map +1 -0
- package/build-types/flyout/flyout/index.d.ts +3 -0
- package/build-types/flyout/flyout/index.d.ts.map +1 -0
- package/build-types/flyout/flyout-content/component.d.ts +3 -0
- package/build-types/flyout/flyout-content/component.d.ts.map +1 -0
- package/build-types/flyout/flyout-content/index.d.ts +2 -0
- package/build-types/flyout/flyout-content/index.d.ts.map +1 -0
- package/build-types/flyout/index.d.ts +2 -0
- package/build-types/flyout/index.d.ts.map +1 -0
- package/build-types/flyout/styles.d.ts +22 -0
- package/build-types/flyout/styles.d.ts.map +1 -0
- package/build-types/flyout/types.d.ts +80 -0
- package/build-types/flyout/types.d.ts.map +1 -0
- package/build-types/flyout/utils.d.ts +8 -0
- package/build-types/flyout/utils.d.ts.map +1 -0
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/stories/index.d.ts +6 -0
- package/build-types/form-token-field/stories/index.d.ts.map +1 -1
- package/build-types/form-token-field/suggestions-list.d.ts +1 -1
- package/build-types/form-token-field/suggestions-list.d.ts.map +1 -1
- package/build-types/form-token-field/types.d.ts +15 -3
- package/build-types/form-token-field/types.d.ts.map +1 -1
- package/build-types/input-control/input-base.d.ts.map +1 -1
- package/build-types/input-control/reducer/actions.d.ts +3 -1
- package/build-types/input-control/reducer/actions.d.ts.map +1 -1
- package/build-types/input-control/reducer/reducer.d.ts +2 -2
- package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
- package/build-types/input-control/reducer/state.d.ts +2 -2
- package/build-types/input-control/reducer/state.d.ts.map +1 -1
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/placeholder/index.d.ts +16 -0
- package/build-types/placeholder/index.d.ts.map +1 -0
- package/build-types/placeholder/stories/index.d.ts +12 -0
- package/build-types/placeholder/stories/index.d.ts.map +1 -0
- package/build-types/placeholder/types.d.ts +47 -0
- package/build-types/placeholder/types.d.ts.map +1 -0
- package/build-types/popover/index.d.ts +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/utils.d.ts +70 -0
- package/build-types/popover/utils.d.ts.map +1 -0
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/style-provider/index.d.ts +7 -4
- package/build-types/style-provider/index.d.ts.map +1 -1
- package/build-types/style-provider/types.d.ts +15 -0
- package/build-types/style-provider/types.d.ts.map +1 -0
- package/build-types/swatch/index.d.ts +5 -0
- package/build-types/swatch/index.d.ts.map +1 -0
- package/build-types/swatch/types.d.ts +11 -0
- package/build-types/swatch/types.d.ts.map +1 -0
- package/build-types/text/hook.d.ts.map +1 -1
- package/build-types/tools-panel/styles.d.ts +1 -1
- package/build-types/tools-panel/styles.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/ui/tooltip/styles.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +1 -1
- package/build-types/unit-control/stories/index.d.ts.map +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
- package/build-types/unit-control/types.d.ts +1 -7
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/utils/base-label.d.ts +2 -0
- package/build-types/utils/base-label.d.ts.map +1 -0
- package/build-types/utils/box-sizing.d.ts +2 -0
- package/build-types/utils/box-sizing.d.ts.map +1 -0
- package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
- package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
- package/build-types/utils/style-mixins.d.ts +2 -0
- package/package.json +17 -17
- package/src/base-control/index.tsx +5 -3
- package/src/base-control/stories/index.tsx +1 -0
- package/src/base-control/styles/base-control-styles.ts +9 -5
- package/src/base-control/types.ts +0 -1
- package/src/border-control/styles.ts +2 -1
- package/src/box-control/all-input-control.js +3 -27
- package/src/box-control/index.js +5 -6
- package/src/box-control/styles/box-control-styles.js +1 -2
- package/src/box-control/utils.js +32 -0
- package/src/color-picker/styles.ts +3 -0
- package/src/combobox-control/README.md +7 -0
- package/src/combobox-control/index.js +14 -4
- package/src/combobox-control/stories/index.js +49 -5
- package/src/custom-gradient-picker/style.scss +0 -12
- package/src/custom-select-control/index.js +3 -2
- package/src/custom-select-control/style.scss +1 -5
- package/src/date-time/time/index.tsx +7 -5
- package/src/date-time/time/styles.ts +3 -6
- package/src/external-link/index.tsx +10 -0
- package/src/flex/flex/README.md +19 -13
- package/src/flex/flex/{component.js → component.tsx} +15 -10
- package/src/flex/flex/{hook.js → hook.ts} +14 -13
- package/src/flex/flex/{index.js → index.ts} +0 -0
- package/src/flex/flex-block/README.md +3 -3
- package/src/flex/flex-block/{component.js → component.tsx} +15 -10
- package/src/flex/flex-block/{hook.js → hook.ts} +5 -5
- package/src/flex/flex-block/{index.js → index.ts} +0 -0
- package/src/flex/flex-item/README.md +6 -5
- package/src/flex/flex-item/{component.js → component.tsx} +15 -10
- package/src/flex/flex-item/{hook.js → hook.ts} +10 -7
- package/src/flex/flex-item/{index.js → index.ts} +0 -0
- package/src/flex/{index.js → index.ts} +0 -0
- package/src/flex/stories/index.tsx +81 -0
- package/src/flex/{styles.js → styles.ts} +0 -0
- package/src/flex/test/__snapshots__/{index.js.snap → index.tsx.snap} +49 -9
- package/src/flex/test/index.tsx +84 -0
- package/src/flex/types.ts +15 -11
- package/src/focal-point-picker/styles/focal-point-picker-style.js +0 -5
- package/src/focal-point-picker/styles/focal-point-style.js +0 -1
- package/src/font-size-picker/index.js +18 -7
- package/src/font-size-picker/stories/index.js +6 -0
- package/src/form-token-field/README.md +2 -1
- package/src/form-token-field/index.tsx +5 -2
- package/src/form-token-field/stories/index.tsx +14 -0
- package/src/form-token-field/style.scss +0 -5
- package/src/form-token-field/suggestions-list.tsx +21 -12
- package/src/form-token-field/types.ts +16 -2
- package/src/index.js +4 -1
- package/src/input-control/input-base.tsx +0 -1
- package/src/input-control/reducer/actions.ts +3 -1
- package/src/input-control/reducer/reducer.ts +27 -10
- package/src/input-control/reducer/state.ts +7 -2
- package/src/input-control/styles/input-control-styles.tsx +3 -1
- package/src/input-control/test/index.js +20 -4
- package/src/mobile/global-styles-context/utils.native.js +21 -4
- package/src/mobile/image/index.native.js +27 -2
- package/src/mobile/link-picker/link-picker-screen.native.js +12 -4
- package/src/mobile/picker/index.ios.js +16 -0
- package/src/mobile/picker/styles.native.scss +8 -0
- package/src/panel/style.scss +4 -1
- package/src/placeholder/README.md +49 -9
- package/src/placeholder/{index.js → index.tsx} +27 -23
- package/src/placeholder/stories/index.tsx +64 -0
- package/src/placeholder/style.scss +0 -4
- package/src/placeholder/types.ts +48 -0
- package/src/popover/README.md +7 -0
- package/src/popover/index.js +144 -70
- package/src/popover/stories/index.js +199 -98
- package/src/popover/style.scss +60 -6
- package/src/popover/test/index.js +23 -1
- package/src/range-control/styles/range-control-styles.ts +0 -12
- package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
- package/src/select-control/styles/select-control-styles.ts +0 -1
- package/src/style-provider/index.tsx +41 -0
- package/src/style-provider/types.ts +15 -0
- package/src/swatch/{index.js → index.tsx} +4 -1
- package/src/swatch/types.ts +11 -0
- package/src/text/hook.js +5 -3
- package/src/toggle-group-control/test/__snapshots__/index.js.snap +24 -0
- package/src/tools-panel/styles.ts +7 -16
- package/src/tools-panel/test/__snapshots__/index.js.snap +2 -11
- package/src/tools-panel/tools-panel/hook.ts +6 -1
- package/src/ui/tooltip/styles.js +1 -0
- package/src/ui/tooltip/test/__snapshots__/index.js.snap +1 -0
- package/src/unit-control/stories/index.tsx +16 -23
- package/src/unit-control/styles/unit-control-styles.ts +93 -41
- package/src/unit-control/types.ts +1 -7
- package/src/utils/base-label.ts +13 -0
- package/src/utils/box-sizing.ts +14 -0
- package/src/utils/style-mixins.js +2 -0
- package/tsconfig.json +2 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/src/flex/stories/index.js +0 -29
- package/src/flex/test/index.js +0 -77
- package/src/placeholder/stories/index.js +0 -44
- package/src/popover/stories/_utils.js +0 -64
- package/src/style-provider/index.js +0 -31
|
@@ -1,123 +1,176 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { boolean, select, text } from '@storybook/addon-knobs';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
9
|
-
import { useState } from '@wordpress/element';
|
|
4
|
+
import { useState, useRef } from '@wordpress/element';
|
|
5
|
+
import { __unstableIframe as Iframe } from '@wordpress/block-editor';
|
|
10
6
|
|
|
11
7
|
/**
|
|
12
8
|
* Internal dependencies
|
|
13
9
|
*/
|
|
14
|
-
import { DraggableWrapper } from './_utils';
|
|
15
|
-
import Popover from '../';
|
|
16
10
|
import Button from '../../button';
|
|
11
|
+
import { Provider as SlotFillProvider } from '../../slot-fill';
|
|
12
|
+
import Popover from '../';
|
|
13
|
+
|
|
14
|
+
// Format: "[yAxis] [xAxis]"
|
|
15
|
+
// Valid yAxis values: 'top', 'middle', 'bottom'
|
|
16
|
+
// Valid xAxis values: 'left', 'center', 'right'
|
|
17
|
+
const AVAILABLE_POSITIONS = [
|
|
18
|
+
'top left',
|
|
19
|
+
'top center',
|
|
20
|
+
'top right',
|
|
21
|
+
'middle left',
|
|
22
|
+
'middle center',
|
|
23
|
+
'middle right',
|
|
24
|
+
'bottom left',
|
|
25
|
+
'bottom center',
|
|
26
|
+
'bottom right',
|
|
27
|
+
];
|
|
28
|
+
|
|
29
|
+
// Follows floating UI's conventions
|
|
30
|
+
// See https://floating-ui.com/docs/computePosition#placement
|
|
31
|
+
const AVAILABLE_PLACEMENTS = [
|
|
32
|
+
'top',
|
|
33
|
+
'top-start',
|
|
34
|
+
'top-end',
|
|
35
|
+
'right',
|
|
36
|
+
'right-start',
|
|
37
|
+
'right-end',
|
|
38
|
+
'bottom',
|
|
39
|
+
'bottom-start',
|
|
40
|
+
'bottom-end',
|
|
41
|
+
'left',
|
|
42
|
+
'left-start',
|
|
43
|
+
'left-end',
|
|
44
|
+
];
|
|
17
45
|
|
|
18
46
|
export default {
|
|
19
47
|
title: 'Components/Popover',
|
|
20
48
|
component: Popover,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const focusOnMount = select(
|
|
32
|
-
'focusOnMount',
|
|
33
|
-
{
|
|
34
|
-
firstElement: 'firstElement',
|
|
35
|
-
container: 'container',
|
|
49
|
+
argTypes: {
|
|
50
|
+
anchorRef: { control: { type: null } },
|
|
51
|
+
anchorRect: { control: { type: null } },
|
|
52
|
+
animate: { control: { type: 'boolean' } },
|
|
53
|
+
children: { control: { type: null } },
|
|
54
|
+
className: { control: { type: 'text' } },
|
|
55
|
+
expandOnMobile: { control: { type: 'boolean' } },
|
|
56
|
+
focusOnMount: {
|
|
57
|
+
control: { type: 'select' },
|
|
58
|
+
options: [ 'firstElement', 'container', false ],
|
|
36
59
|
},
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
60
|
+
getAnchorRect: { control: { type: null } },
|
|
61
|
+
headerTitle: { control: { type: 'text' } },
|
|
62
|
+
isAlternate: { control: { type: 'boolean' } },
|
|
63
|
+
noArrow: { control: { type: 'boolean' } },
|
|
64
|
+
onClose: { control: { type: null } },
|
|
65
|
+
offset: { control: { type: 'number' } },
|
|
66
|
+
onFocusOutside: { control: { type: null } },
|
|
67
|
+
placement: {
|
|
68
|
+
control: { type: 'select' },
|
|
69
|
+
options: AVAILABLE_PLACEMENTS,
|
|
70
|
+
},
|
|
71
|
+
position: {
|
|
72
|
+
control: { type: 'select' },
|
|
73
|
+
options: AVAILABLE_POSITIONS,
|
|
74
|
+
},
|
|
75
|
+
__unstableSlotName: { control: { type: null } },
|
|
76
|
+
__unstableObserveElement: { control: { type: null } },
|
|
77
|
+
__unstableForcePosition: { control: { type: 'boolean' } },
|
|
78
|
+
__unstableShift: { control: { type: 'boolean' } },
|
|
79
|
+
},
|
|
56
80
|
};
|
|
57
81
|
|
|
58
|
-
const
|
|
59
|
-
const
|
|
82
|
+
const PopoverWithAnchor = ( args ) => {
|
|
83
|
+
const anchorRef = useRef( null );
|
|
60
84
|
|
|
61
85
|
return (
|
|
62
|
-
<div
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
The{ ' ' }
|
|
74
|
-
<strong style={ { background: 'cyan' } }>
|
|
75
|
-
cyan bordered
|
|
76
|
-
</strong>{ ' ' }
|
|
77
|
-
element is a sibling to <strong>Popover</strong>.
|
|
78
|
-
</p>
|
|
79
|
-
<p>
|
|
80
|
-
<strong>Popover</strong> aligns to the content within
|
|
81
|
-
parent.
|
|
82
|
-
</p>
|
|
83
|
-
</div>
|
|
84
|
-
<div
|
|
85
|
-
style={ {
|
|
86
|
-
height: '100vh',
|
|
87
|
-
width: '100%',
|
|
88
|
-
display: 'flex',
|
|
89
|
-
alignItems: 'center',
|
|
90
|
-
justifyContent: 'center',
|
|
91
|
-
} }
|
|
86
|
+
<div
|
|
87
|
+
style={ {
|
|
88
|
+
height: '200px',
|
|
89
|
+
display: 'flex',
|
|
90
|
+
justifyContent: 'center',
|
|
91
|
+
alignItems: 'center',
|
|
92
|
+
} }
|
|
93
|
+
>
|
|
94
|
+
<p
|
|
95
|
+
style={ { padding: '8px', background: 'salmon' } }
|
|
96
|
+
ref={ anchorRef }
|
|
92
97
|
>
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
border: '2px solid pink',
|
|
97
|
-
borderRadius: 4,
|
|
98
|
-
padding: 10,
|
|
99
|
-
userSelect: 'none',
|
|
100
|
-
} }
|
|
101
|
-
>
|
|
102
|
-
<div style={ { border: '2px solid cyan' } }>{ label }</div>
|
|
103
|
-
<Popover { ...restProps }>{ content }</Popover>
|
|
104
|
-
</DraggableWrapper>
|
|
105
|
-
</div>
|
|
98
|
+
Popover's anchor
|
|
99
|
+
</p>
|
|
100
|
+
<Popover { ...args } anchorRef={ anchorRef } />
|
|
106
101
|
</div>
|
|
107
102
|
);
|
|
108
103
|
};
|
|
109
104
|
|
|
110
|
-
export const
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
|
|
105
|
+
export const Default = ( args ) => {
|
|
106
|
+
const [ isVisible, setIsVisible ] = useState( false );
|
|
107
|
+
const toggleVisible = () => {
|
|
108
|
+
setIsVisible( ( state ) => ! state );
|
|
109
|
+
};
|
|
114
110
|
|
|
115
111
|
return (
|
|
116
|
-
<
|
|
112
|
+
<div
|
|
113
|
+
style={ {
|
|
114
|
+
minWidth: '600px',
|
|
115
|
+
minHeight: '600px',
|
|
116
|
+
display: 'flex',
|
|
117
|
+
alignItems: 'center',
|
|
118
|
+
justifyContent: 'center',
|
|
119
|
+
} }
|
|
120
|
+
>
|
|
121
|
+
<Button variant="secondary" onClick={ toggleVisible }>
|
|
122
|
+
Toggle Popover
|
|
123
|
+
{ isVisible && <Popover { ...args } /> }
|
|
124
|
+
</Button>
|
|
125
|
+
</div>
|
|
117
126
|
);
|
|
118
127
|
};
|
|
128
|
+
Default.args = {
|
|
129
|
+
children: <>Popover's content</>,
|
|
130
|
+
};
|
|
119
131
|
|
|
120
|
-
|
|
132
|
+
/**
|
|
133
|
+
* Resize / scroll the viewport to test the behavior of the popovers when they
|
|
134
|
+
* reach the viewport boundaries.
|
|
135
|
+
*/
|
|
136
|
+
export const AllPlacements = ( { children, ...args } ) => (
|
|
137
|
+
<div
|
|
138
|
+
style={ {
|
|
139
|
+
minWidth: '600px',
|
|
140
|
+
marginLeft: 'auto',
|
|
141
|
+
marginRight: 'auto',
|
|
142
|
+
} }
|
|
143
|
+
>
|
|
144
|
+
<h2>
|
|
145
|
+
Resize / scroll the viewport to test the behavior of the popovers
|
|
146
|
+
when they reach the viewport boundaries.
|
|
147
|
+
</h2>
|
|
148
|
+
<div>
|
|
149
|
+
{ AVAILABLE_PLACEMENTS.map( ( p ) => (
|
|
150
|
+
<PopoverWithAnchor key={ p } placement={ p } { ...args }>
|
|
151
|
+
{ children }
|
|
152
|
+
<div>
|
|
153
|
+
<small>(placement: { p })</small>
|
|
154
|
+
</div>
|
|
155
|
+
</PopoverWithAnchor>
|
|
156
|
+
) ) }
|
|
157
|
+
</div>
|
|
158
|
+
</div>
|
|
159
|
+
);
|
|
160
|
+
// Excluding placement and position since they all possible values
|
|
161
|
+
// are passed directly in code.
|
|
162
|
+
AllPlacements.parameters = {
|
|
163
|
+
controls: {
|
|
164
|
+
exclude: [ 'placement', 'position' ],
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
AllPlacements.args = {
|
|
168
|
+
...Default.args,
|
|
169
|
+
noArrow: false,
|
|
170
|
+
offset: 10,
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
export const DynamicHeight = ( { children, ...args } ) => {
|
|
121
174
|
const [ height, setHeight ] = useState( 200 );
|
|
122
175
|
const increase = () => setHeight( height + 100 );
|
|
123
176
|
const decrease = () => setHeight( height - 100 );
|
|
@@ -146,7 +199,7 @@ function DynamicHeightPopover() {
|
|
|
146
199
|
</p>
|
|
147
200
|
|
|
148
201
|
<div>
|
|
149
|
-
<Popover>
|
|
202
|
+
<Popover { ...args }>
|
|
150
203
|
<div
|
|
151
204
|
style={ {
|
|
152
205
|
height,
|
|
@@ -154,14 +207,62 @@ function DynamicHeightPopover() {
|
|
|
154
207
|
padding: '20px',
|
|
155
208
|
} }
|
|
156
209
|
>
|
|
157
|
-
|
|
210
|
+
{ children }
|
|
158
211
|
</div>
|
|
159
212
|
</Popover>
|
|
160
213
|
</div>
|
|
161
214
|
</div>
|
|
162
215
|
);
|
|
163
|
-
}
|
|
216
|
+
};
|
|
217
|
+
DynamicHeight.args = {
|
|
218
|
+
...Default.args,
|
|
219
|
+
children: 'Content with dynamic height',
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
export const WithSlotOutsideIframe = ( args ) => {
|
|
223
|
+
const anchorRef = useRef( null );
|
|
224
|
+
const slotName = 'popover-with-slot-outside-iframe';
|
|
164
225
|
|
|
165
|
-
|
|
166
|
-
|
|
226
|
+
return (
|
|
227
|
+
<SlotFillProvider>
|
|
228
|
+
<div>
|
|
229
|
+
<Popover.Slot name={ slotName } />
|
|
230
|
+
<Iframe
|
|
231
|
+
style={ {
|
|
232
|
+
width: '100%',
|
|
233
|
+
height: '100%',
|
|
234
|
+
} }
|
|
235
|
+
>
|
|
236
|
+
<div
|
|
237
|
+
style={ {
|
|
238
|
+
height: '200vh',
|
|
239
|
+
paddingTop: '10vh',
|
|
240
|
+
} }
|
|
241
|
+
>
|
|
242
|
+
<p
|
|
243
|
+
style={ {
|
|
244
|
+
padding: '8px',
|
|
245
|
+
background: 'salmon',
|
|
246
|
+
maxWidth: '200px',
|
|
247
|
+
marginTop: '30px',
|
|
248
|
+
marginLeft: 'auto',
|
|
249
|
+
marginRight: 'auto',
|
|
250
|
+
} }
|
|
251
|
+
ref={ anchorRef }
|
|
252
|
+
>
|
|
253
|
+
Popover's anchor
|
|
254
|
+
</p>
|
|
255
|
+
<Popover
|
|
256
|
+
{ ...args }
|
|
257
|
+
__unstableSlotName={ slotName }
|
|
258
|
+
anchorRef={ anchorRef }
|
|
259
|
+
/>
|
|
260
|
+
</div>
|
|
261
|
+
</Iframe>
|
|
262
|
+
</div>
|
|
263
|
+
</SlotFillProvider>
|
|
264
|
+
);
|
|
265
|
+
};
|
|
266
|
+
WithSlotOutsideIframe.args = {
|
|
267
|
+
...Default.args,
|
|
167
268
|
};
|
package/src/popover/style.scss
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
$arrow-triangle-base-size: 14px;
|
|
2
|
+
|
|
1
3
|
.components-popover {
|
|
2
4
|
z-index: z-index(".components-popover");
|
|
3
5
|
|
|
@@ -60,12 +62,64 @@
|
|
|
60
62
|
|
|
61
63
|
.components-popover__arrow {
|
|
62
64
|
position: absolute;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
65
|
+
width: $arrow-triangle-base-size;
|
|
66
|
+
height: $arrow-triangle-base-size;
|
|
67
|
+
pointer-events: none;
|
|
68
|
+
display: flex;
|
|
69
|
+
|
|
70
|
+
// Thin line that helps to make sure that the underlying
|
|
71
|
+
// popover__content's outline is fully overlapped by the
|
|
72
|
+
// arrow
|
|
73
|
+
&::before {
|
|
74
|
+
content: "";
|
|
75
|
+
position: absolute;
|
|
76
|
+
top: -1px;
|
|
77
|
+
left: 1px;
|
|
78
|
+
height: 2px;
|
|
79
|
+
right: 1px;
|
|
80
|
+
background-color: $white;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Position and rotate the arrow depending on the popover's placement.
|
|
84
|
+
// The `!important' is necessary to override the inline styles.
|
|
85
|
+
&.is-top {
|
|
86
|
+
bottom: -1 * $arrow-triangle-base-size !important;
|
|
87
|
+
transform: rotate(0);
|
|
88
|
+
}
|
|
89
|
+
&.is-right {
|
|
90
|
+
/*rtl:begin:ignore*/
|
|
91
|
+
left: -1 * $arrow-triangle-base-size !important;
|
|
92
|
+
transform: rotate(90deg);
|
|
93
|
+
}
|
|
94
|
+
&.is-bottom {
|
|
95
|
+
top: -1 * $arrow-triangle-base-size !important;
|
|
96
|
+
transform: rotate(180deg);
|
|
97
|
+
}
|
|
98
|
+
&.is-left {
|
|
99
|
+
/*rtl:begin:ignore*/
|
|
100
|
+
right: -1 * $arrow-triangle-base-size !important;
|
|
101
|
+
transform: rotate(-90deg);
|
|
102
|
+
/*rtl:end:ignore*/
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.components-popover__triangle {
|
|
107
|
+
display: block;
|
|
108
|
+
flex: 1;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.components-popover__triangle-bg {
|
|
112
|
+
// Fill color is the same as the .components-popover__content's background
|
|
113
|
+
fill: $white;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.components-popover__triangle-border {
|
|
117
|
+
// Stroke colors are the same as the .components-popover__content's outline
|
|
118
|
+
fill: transparent;
|
|
119
|
+
stroke-width: $border-width;
|
|
120
|
+
stroke: $gray-400;
|
|
121
|
+
|
|
68
122
|
.is-alternate & {
|
|
69
|
-
|
|
123
|
+
stroke: $gray-900;
|
|
70
124
|
}
|
|
71
125
|
}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { act, render } from '@testing-library/react';
|
|
4
|
+
import { act, render, screen } from '@testing-library/react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { useRef } from '@wordpress/element';
|
|
5
10
|
|
|
6
11
|
/**
|
|
7
12
|
* Internal dependencies
|
|
@@ -44,4 +49,21 @@ describe( 'Popover', () => {
|
|
|
44
49
|
|
|
45
50
|
expect( result.container.querySelector( 'span' ) ).toMatchSnapshot();
|
|
46
51
|
} );
|
|
52
|
+
|
|
53
|
+
it( 'should render correctly when anchorRef is provided', () => {
|
|
54
|
+
const PopoverWithAnchor = ( args ) => {
|
|
55
|
+
const anchorRef = useRef( null );
|
|
56
|
+
|
|
57
|
+
return (
|
|
58
|
+
<div>
|
|
59
|
+
<p ref={ anchorRef }>Anchor</p>
|
|
60
|
+
<Popover { ...args } anchorRef={ anchorRef } />
|
|
61
|
+
</div>
|
|
62
|
+
);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
render( <PopoverWithAnchor>Popover content</PopoverWithAnchor> );
|
|
66
|
+
|
|
67
|
+
expect( screen.getByText( 'Popover content' ) ).toBeInTheDocument();
|
|
68
|
+
} );
|
|
47
69
|
} );
|
|
@@ -28,7 +28,6 @@ const thumbSize = 12;
|
|
|
28
28
|
|
|
29
29
|
export const Root = styled.div`
|
|
30
30
|
-webkit-tap-highlight-color: transparent;
|
|
31
|
-
box-sizing: border-box;
|
|
32
31
|
align-items: flex-start;
|
|
33
32
|
display: inline-flex;
|
|
34
33
|
justify-content: flex-start;
|
|
@@ -45,7 +44,6 @@ const wrapperMargin = ( { marks }: WrapperProps ) =>
|
|
|
45
44
|
css( { marginBottom: marks ? 16 : undefined } );
|
|
46
45
|
|
|
47
46
|
export const Wrapper = styled.div< WrapperProps >`
|
|
48
|
-
box-sizing: border-box;
|
|
49
47
|
color: ${ COLORS.blue.medium.focus };
|
|
50
48
|
display: block;
|
|
51
49
|
flex: 1;
|
|
@@ -81,7 +79,6 @@ const railBackgroundColor = ( { disabled, railColor }: RailProps ) => {
|
|
|
81
79
|
|
|
82
80
|
export const Rail = styled.span`
|
|
83
81
|
background-color: ${ COLORS.lightGray[ 600 ] };
|
|
84
|
-
box-sizing: border-box;
|
|
85
82
|
left: 0;
|
|
86
83
|
pointer-events: none;
|
|
87
84
|
right: 0;
|
|
@@ -108,7 +105,6 @@ const trackBackgroundColor = ( { disabled, trackColor }: TrackProps ) => {
|
|
|
108
105
|
export const Track = styled.span`
|
|
109
106
|
background-color: currentColor;
|
|
110
107
|
border-radius: ${ railHeight }px;
|
|
111
|
-
box-sizing: border-box;
|
|
112
108
|
height: ${ railHeight }px;
|
|
113
109
|
pointer-events: none;
|
|
114
110
|
display: block;
|
|
@@ -120,7 +116,6 @@ export const Track = styled.span`
|
|
|
120
116
|
`;
|
|
121
117
|
|
|
122
118
|
export const MarksWrapper = styled.span`
|
|
123
|
-
box-sizing: border-box;
|
|
124
119
|
display: block;
|
|
125
120
|
pointer-events: none;
|
|
126
121
|
position: relative;
|
|
@@ -141,7 +136,6 @@ const markFill = ( { disabled, isFilled }: RangeMarkProps ) => {
|
|
|
141
136
|
};
|
|
142
137
|
|
|
143
138
|
export const Mark = styled.span`
|
|
144
|
-
box-sizing: border-box;
|
|
145
139
|
height: ${ thumbSize }px;
|
|
146
140
|
left: 0;
|
|
147
141
|
position: absolute;
|
|
@@ -158,7 +152,6 @@ const markLabelFill = ( { isFilled }: RangeMarkProps ) => {
|
|
|
158
152
|
};
|
|
159
153
|
|
|
160
154
|
export const MarkLabel = styled.span`
|
|
161
|
-
box-sizing: border-box;
|
|
162
155
|
color: ${ COLORS.lightGray[ 600 ] };
|
|
163
156
|
left: 0;
|
|
164
157
|
font-size: 11px;
|
|
@@ -181,7 +174,6 @@ const thumbColor = ( { disabled }: ThumbProps ) =>
|
|
|
181
174
|
|
|
182
175
|
export const ThumbWrapper = styled.span`
|
|
183
176
|
align-items: center;
|
|
184
|
-
box-sizing: border-box;
|
|
185
177
|
display: flex;
|
|
186
178
|
height: ${ thumbSize }px;
|
|
187
179
|
justify-content: center;
|
|
@@ -223,7 +215,6 @@ const thumbFocus = ( { isFocused }: ThumbProps ) => {
|
|
|
223
215
|
export const Thumb = styled.span< ThumbProps >`
|
|
224
216
|
align-items: center;
|
|
225
217
|
border-radius: 50%;
|
|
226
|
-
box-sizing: border-box;
|
|
227
218
|
height: 100%;
|
|
228
219
|
outline: 0;
|
|
229
220
|
position: absolute;
|
|
@@ -272,7 +263,6 @@ const tooltipPosition = ( { position }: TooltipProps ) => {
|
|
|
272
263
|
export const Tooltip = styled.span< TooltipProps >`
|
|
273
264
|
background: rgba( 0, 0, 0, 0.8 );
|
|
274
265
|
border-radius: 2px;
|
|
275
|
-
box-sizing: border-box;
|
|
276
266
|
color: white;
|
|
277
267
|
display: inline-block;
|
|
278
268
|
font-size: 12px;
|
|
@@ -298,7 +288,6 @@ export const Tooltip = styled.span< TooltipProps >`
|
|
|
298
288
|
// @todo: Refactor RangeControl with latest HStack configuration
|
|
299
289
|
// @wordpress/components/ui/hstack.
|
|
300
290
|
export const InputNumber = styled( NumberControl )`
|
|
301
|
-
box-sizing: border-box;
|
|
302
291
|
display: inline-block;
|
|
303
292
|
font-size: 13px;
|
|
304
293
|
margin-top: 0;
|
|
@@ -312,7 +301,6 @@ export const InputNumber = styled( NumberControl )`
|
|
|
312
301
|
`;
|
|
313
302
|
|
|
314
303
|
export const ActionRightWrapper = styled.span`
|
|
315
|
-
box-sizing: border-box;
|
|
316
304
|
display: block;
|
|
317
305
|
margin-top: 0;
|
|
318
306
|
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { CacheProvider } from '@emotion/react';
|
|
5
|
+
import createCache from '@emotion/cache';
|
|
6
|
+
import memoize from 'memize';
|
|
7
|
+
import * as uuid from 'uuid';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import type { StyleProviderProps } from './types';
|
|
13
|
+
|
|
14
|
+
const uuidCache = new Set();
|
|
15
|
+
|
|
16
|
+
const memoizedCreateCacheWithContainer = memoize(
|
|
17
|
+
( container: HTMLElement ) => {
|
|
18
|
+
// Emotion only accepts alphabetical and hyphenated keys so we just
|
|
19
|
+
// strip the numbers from the UUID. It _should_ be fine.
|
|
20
|
+
let key = uuid.v4().replace( /[0-9]/g, '' );
|
|
21
|
+
while ( uuidCache.has( key ) ) {
|
|
22
|
+
key = uuid.v4().replace( /[0-9]/g, '' );
|
|
23
|
+
}
|
|
24
|
+
uuidCache.add( key );
|
|
25
|
+
return createCache( { container, key } );
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
export function StyleProvider( props: StyleProviderProps ) {
|
|
30
|
+
const { children, document } = props;
|
|
31
|
+
|
|
32
|
+
if ( ! document ) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const cache = memoizedCreateCacheWithContainer( document.head );
|
|
37
|
+
|
|
38
|
+
return <CacheProvider value={ cache }>{ children }</CacheProvider>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export default StyleProvider;
|
|
@@ -7,8 +7,11 @@ import { swatch } from '@wordpress/icons';
|
|
|
7
7
|
* Internal dependencies
|
|
8
8
|
*/
|
|
9
9
|
import Icon from '../icon';
|
|
10
|
+
import type { SwatchProps } from './types';
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
// This component will be deprecated. Use `ColorIndicator` instead.
|
|
13
|
+
// TODO: Consolidate this component with `ColorIndicator`.
|
|
14
|
+
function Swatch( { fill }: SwatchProps ) {
|
|
12
15
|
return fill ? (
|
|
13
16
|
<span className="components-swatch" style={ { background: fill } } />
|
|
14
17
|
) : (
|
package/src/text/hook.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { css } from '@emotion/react';
|
|
5
|
-
import { isPlainObject } from 'lodash';
|
|
6
5
|
|
|
7
6
|
/**
|
|
8
7
|
* WordPress dependencies
|
|
@@ -167,8 +166,11 @@ export default function useText( props ) {
|
|
|
167
166
|
*/
|
|
168
167
|
if ( ! truncate && Array.isArray( children ) ) {
|
|
169
168
|
content = Children.map( children, ( child ) => {
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
if (
|
|
170
|
+
typeof child !== 'object' ||
|
|
171
|
+
child === null ||
|
|
172
|
+
! ( 'props' in child )
|
|
173
|
+
) {
|
|
172
174
|
return child;
|
|
173
175
|
}
|
|
174
176
|
|