@wordpress/components 37.0.1-next.v.202607070741.0 → 38.0.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/AGENTS.md +2 -2
- package/CHANGELOG.md +65 -1
- package/build/angle-picker-control/index.cjs +0 -1
- package/build/angle-picker-control/index.cjs.map +2 -2
- package/build/autocomplete/index.cjs +6 -4
- package/build/autocomplete/index.cjs.map +3 -3
- package/build/border-box-control/styles.cjs +9 -9
- package/build/border-box-control/styles.cjs.map +2 -2
- package/build/color-palette/styles.cjs +1 -1
- package/build/color-palette/styles.cjs.map +2 -2
- package/build/color-picker/component.cjs +14 -5
- package/build/color-picker/component.cjs.map +2 -2
- package/build/color-picker/hex-input.cjs +0 -1
- package/build/color-picker/hex-input.cjs.map +2 -2
- package/build/color-picker/input-with-slider.cjs +0 -1
- package/build/color-picker/input-with-slider.cjs.map +2 -2
- package/build/color-picker/picker.cjs +95 -23
- package/build/color-picker/picker.cjs.map +2 -2
- package/build/confirm-dialog/component.cjs +86 -4
- package/build/confirm-dialog/component.cjs.map +3 -3
- package/build/content-editable-control/docs-manifest.json +5 -0
- package/build/content-editable-control/index.cjs +181 -0
- package/build/content-editable-control/index.cjs.map +7 -0
- package/build/{theme → content-editable-control}/types.cjs +1 -1
- package/build/{theme → content-editable-control}/types.cjs.map +1 -1
- package/build/custom-select-control/index.cjs +1 -2
- package/build/custom-select-control/index.cjs.map +2 -2
- package/build/custom-select-control-v2/custom-select.cjs +0 -1
- package/build/custom-select-control-v2/custom-select.cjs.map +2 -2
- package/build/date-time/date-picker/styles.cjs +8 -8
- package/build/date-time/date-picker/styles.cjs.map +2 -2
- package/build/date-time/time-picker/index.cjs +0 -2
- package/build/date-time/time-picker/index.cjs.map +2 -2
- package/build/date-time/time-picker/time-input/index.cjs +0 -2
- package/build/date-time/time-picker/time-input/index.cjs.map +2 -2
- package/build/disabled/index.cjs +87 -4
- package/build/disabled/index.cjs.map +4 -4
- package/build/form-token-field/index.cjs +87 -2
- package/build/form-token-field/index.cjs.map +3 -3
- package/build/gradient-picker/index.cjs +26 -20
- package/build/gradient-picker/index.cjs.map +2 -2
- package/build/heading/hook.cjs +1 -1
- package/build/heading/hook.cjs.map +1 -1
- package/build/input-control/index.cjs +4 -14
- package/build/input-control/index.cjs.map +2 -2
- package/build/input-control/input-base.cjs +2 -6
- package/build/input-control/input-base.cjs.map +2 -2
- package/build/input-control/styles/input-control-styles.cjs +25 -39
- package/build/input-control/styles/input-control-styles.cjs.map +2 -2
- package/build/menu/group-label.cjs +2 -1
- package/build/menu/group-label.cjs.map +2 -2
- package/build/number-control/index.cjs +1 -11
- package/build/number-control/index.cjs.map +2 -2
- package/build/palette-edit/styles.cjs +9 -9
- package/build/palette-edit/styles.cjs.map +2 -2
- package/build/private-apis.cjs +3 -2
- package/build/private-apis.cjs.map +3 -3
- package/build/range-control/index.cjs +0 -2
- package/build/range-control/index.cjs.map +2 -2
- package/build/sandbox/index.cjs +96 -73
- package/build/sandbox/index.cjs.map +3 -3
- package/build/search-control/index.cjs +93 -11
- package/build/search-control/index.cjs.map +4 -4
- package/build/select-control/index.cjs +0 -2
- package/build/select-control/index.cjs.map +2 -2
- package/build/select-control/styles/select-control-styles.cjs +9 -16
- package/build/select-control/styles/select-control-styles.cjs.map +2 -2
- package/build/slot-fill/fill.cjs.map +2 -2
- package/build/spacer/hook.cjs +150 -14
- package/build/spacer/hook.cjs.map +4 -4
- package/build/toggle-group-control/toggle-group-control/component.cjs +91 -8
- package/build/toggle-group-control/toggle-group-control/component.cjs.map +4 -4
- package/build/toggle-group-control/toggle-group-control-option-base/component.cjs +98 -17
- package/build/toggle-group-control/toggle-group-control-option-base/component.cjs.map +4 -4
- package/build/tools-panel/tools-panel/component.cjs +6 -0
- package/build/tools-panel/tools-panel/component.cjs.map +2 -2
- package/build/tools-panel/tools-panel/hook.cjs +87 -11
- package/build/tools-panel/tools-panel/hook.cjs.map +4 -4
- package/build/tools-panel/tools-panel-header/component.cjs +87 -2
- package/build/tools-panel/tools-panel-header/component.cjs.map +3 -3
- package/build/tools-panel/tools-panel-header/hook.cjs +90 -20
- package/build/tools-panel/tools-panel-header/hook.cjs.map +4 -4
- package/build/tools-panel/tools-panel-item/hook.cjs +88 -9
- package/build/tools-panel/tools-panel-item/hook.cjs.map +4 -4
- package/build/unit-control/index.cjs +0 -1
- package/build/unit-control/index.cjs.map +2 -2
- package/build/utils/base-label.cjs +1 -1
- package/build/utils/base-label.cjs.map +2 -2
- package/build/utils/config-values.cjs +1 -3
- package/build/utils/config-values.cjs.map +2 -2
- package/build/utils/font-values.cjs +1 -1
- package/build/utils/font-values.cjs.map +1 -1
- package/build/validated-form-controls/components/content-editable-control.cjs +84 -0
- package/build/validated-form-controls/components/content-editable-control.cjs.map +7 -0
- package/build/validated-form-controls/components/index.cjs +2 -0
- package/build/validated-form-controls/components/index.cjs.map +2 -2
- package/build/validated-form-controls/components/input-control.cjs +0 -1
- package/build/validated-form-controls/components/input-control.cjs.map +2 -2
- package/build/validated-form-controls/components/number-control.cjs +0 -1
- package/build/validated-form-controls/components/number-control.cjs.map +2 -2
- package/build/validated-form-controls/control-with-error.cjs +4 -4
- package/build/validated-form-controls/control-with-error.cjs.map +2 -2
- package/build-module/angle-picker-control/index.mjs +0 -1
- package/build-module/angle-picker-control/index.mjs.map +2 -2
- package/build-module/autocomplete/index.mjs +8 -6
- package/build-module/autocomplete/index.mjs.map +2 -2
- package/build-module/border-box-control/styles.mjs +9 -9
- package/build-module/border-box-control/styles.mjs.map +2 -2
- package/build-module/color-palette/styles.mjs +1 -1
- package/build-module/color-palette/styles.mjs.map +2 -2
- package/build-module/color-picker/component.mjs +14 -5
- package/build-module/color-picker/component.mjs.map +2 -2
- package/build-module/color-picker/hex-input.mjs +0 -1
- package/build-module/color-picker/hex-input.mjs.map +2 -2
- package/build-module/color-picker/input-with-slider.mjs +0 -1
- package/build-module/color-picker/input-with-slider.mjs.map +2 -2
- package/build-module/color-picker/picker.mjs +96 -24
- package/build-module/color-picker/picker.mjs.map +2 -2
- package/build-module/confirm-dialog/component.mjs +86 -4
- package/build-module/confirm-dialog/component.mjs.map +3 -3
- package/build-module/content-editable-control/docs-manifest.json +5 -0
- package/build-module/content-editable-control/index.mjs +146 -0
- package/build-module/content-editable-control/index.mjs.map +7 -0
- package/build-module/custom-select-control/index.mjs +1 -2
- package/build-module/custom-select-control/index.mjs.map +2 -2
- package/build-module/custom-select-control-v2/custom-select.mjs +0 -1
- package/build-module/custom-select-control-v2/custom-select.mjs.map +2 -2
- package/build-module/date-time/date-picker/styles.mjs +8 -8
- package/build-module/date-time/date-picker/styles.mjs.map +2 -2
- package/build-module/date-time/time-picker/index.mjs +0 -2
- package/build-module/date-time/time-picker/index.mjs.map +2 -2
- package/build-module/date-time/time-picker/time-input/index.mjs +0 -2
- package/build-module/date-time/time-picker/time-input/index.mjs.map +2 -2
- package/build-module/disabled/index.mjs +87 -4
- package/build-module/disabled/index.mjs.map +3 -3
- package/build-module/form-token-field/index.mjs +88 -3
- package/build-module/form-token-field/index.mjs.map +3 -3
- package/build-module/gradient-picker/index.mjs +26 -20
- package/build-module/gradient-picker/index.mjs.map +2 -2
- package/build-module/heading/hook.mjs +1 -1
- package/build-module/heading/hook.mjs.map +1 -1
- package/build-module/input-control/index.mjs +4 -14
- package/build-module/input-control/index.mjs.map +2 -2
- package/build-module/input-control/input-base.mjs +2 -6
- package/build-module/input-control/input-base.mjs.map +2 -2
- package/build-module/input-control/styles/input-control-styles.mjs +25 -39
- package/build-module/input-control/styles/input-control-styles.mjs.map +2 -2
- package/build-module/menu/group-label.mjs +2 -1
- package/build-module/menu/group-label.mjs.map +2 -2
- package/build-module/number-control/index.mjs +1 -11
- package/build-module/number-control/index.mjs.map +2 -2
- package/build-module/palette-edit/styles.mjs +9 -9
- package/build-module/palette-edit/styles.mjs.map +2 -2
- package/build-module/private-apis.mjs +4 -3
- package/build-module/private-apis.mjs.map +2 -2
- package/build-module/range-control/index.mjs +0 -2
- package/build-module/range-control/index.mjs.map +2 -2
- package/build-module/sandbox/index.mjs +84 -72
- package/build-module/sandbox/index.mjs.map +2 -2
- package/build-module/search-control/index.mjs +93 -11
- package/build-module/search-control/index.mjs.map +3 -3
- package/build-module/select-control/index.mjs +0 -2
- package/build-module/select-control/index.mjs.map +2 -2
- package/build-module/select-control/styles/select-control-styles.mjs +9 -16
- package/build-module/select-control/styles/select-control-styles.mjs.map +2 -2
- package/build-module/slot-fill/fill.mjs.map +2 -2
- package/build-module/spacer/hook.mjs +140 -14
- package/build-module/spacer/hook.mjs.map +3 -3
- package/build-module/toggle-group-control/toggle-group-control/component.mjs +92 -9
- package/build-module/toggle-group-control/toggle-group-control/component.mjs.map +3 -3
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.mjs +99 -18
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.mjs.map +3 -3
- package/build-module/tools-panel/tools-panel/component.mjs +6 -0
- package/build-module/tools-panel/tools-panel/component.mjs.map +2 -2
- package/build-module/tools-panel/tools-panel/hook.mjs +87 -11
- package/build-module/tools-panel/tools-panel/hook.mjs.map +3 -3
- package/build-module/tools-panel/tools-panel-header/component.mjs +87 -2
- package/build-module/tools-panel/tools-panel-header/component.mjs.map +3 -3
- package/build-module/tools-panel/tools-panel-header/hook.mjs +90 -20
- package/build-module/tools-panel/tools-panel-header/hook.mjs.map +3 -3
- package/build-module/tools-panel/tools-panel-item/hook.mjs +89 -10
- package/build-module/tools-panel/tools-panel-item/hook.mjs.map +3 -3
- package/build-module/unit-control/index.mjs +0 -1
- package/build-module/unit-control/index.mjs.map +2 -2
- package/build-module/utils/base-label.mjs +1 -1
- package/build-module/utils/base-label.mjs.map +2 -2
- package/build-module/utils/config-values.mjs +1 -3
- package/build-module/utils/config-values.mjs.map +2 -2
- package/build-module/utils/font-values.mjs +1 -1
- package/build-module/utils/font-values.mjs.map +1 -1
- package/build-module/validated-form-controls/components/content-editable-control.mjs +49 -0
- package/build-module/validated-form-controls/components/content-editable-control.mjs.map +7 -0
- package/build-module/validated-form-controls/components/index.mjs +1 -0
- package/build-module/validated-form-controls/components/index.mjs.map +2 -2
- package/build-module/validated-form-controls/components/input-control.mjs +0 -1
- package/build-module/validated-form-controls/components/input-control.mjs.map +2 -2
- package/build-module/validated-form-controls/components/number-control.mjs +0 -1
- package/build-module/validated-form-controls/components/number-control.mjs.map +2 -2
- package/build-module/validated-form-controls/control-with-error.mjs +4 -4
- package/build-module/validated-form-controls/control-with-error.mjs.map +2 -2
- package/build-style/style-rtl.css +70 -81
- package/build-style/style.css +70 -81
- package/build-types/angle-picker-control/index.d.ts.map +1 -1
- package/build-types/autocomplete/autocompleter-ui.d.ts +1 -1
- package/build-types/autocomplete/autocompleter-ui.d.ts.map +1 -1
- package/build-types/autocomplete/index.d.ts +8 -4
- package/build-types/autocomplete/index.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control/component.d.ts +1 -3
- package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
- package/build-types/border-box-control/stories/index.story.d.ts +1 -3
- package/build-types/border-box-control/stories/index.story.d.ts.map +1 -1
- package/build-types/border-box-control/styles.d.ts.map +1 -1
- package/build-types/border-box-control/types.d.ts +1 -15
- package/build-types/border-box-control/types.d.ts.map +1 -1
- package/build-types/box-control/index.d.ts +1 -1
- package/build-types/box-control/index.d.ts.map +1 -1
- package/build-types/box-control/input-control.d.ts +3 -0
- package/build-types/box-control/input-control.d.ts.map +1 -0
- package/build-types/box-control/styles/box-control-styles.d.ts +4 -8
- package/build-types/box-control/styles/box-control-styles.d.ts.map +1 -1
- package/build-types/box-control/types.d.ts +1 -8
- package/build-types/box-control/types.d.ts.map +1 -1
- package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
- package/build-types/calendar/date-range-calendar/index.d.ts +1 -1
- package/build-types/calendar/date-range-calendar/index.d.ts.map +1 -1
- package/build-types/calendar/utils/use-localization-props.d.ts +6 -2
- package/build-types/calendar/utils/use-localization-props.d.ts.map +1 -1
- package/build-types/card/context.d.ts +3 -0
- package/build-types/card/context.d.ts.map +1 -0
- package/build-types/card/styles.d.ts +3 -3
- package/build-types/card/styles.d.ts.map +1 -1
- package/build-types/circular-option-picker/circular-option-picker-actions.d.ts +1 -1
- package/build-types/circular-option-picker/circular-option-picker-actions.d.ts.map +1 -1
- package/build-types/circular-option-picker/circular-option-picker.d.ts +8 -13
- package/build-types/circular-option-picker/circular-option-picker.d.ts.map +1 -1
- package/build-types/color-picker/component.d.ts.map +1 -1
- package/build-types/color-picker/hex-input.d.ts.map +1 -1
- package/build-types/color-picker/input-with-slider.d.ts.map +1 -1
- package/build-types/color-picker/picker.d.ts +17 -1
- package/build-types/color-picker/picker.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +3 -6
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/color-picker/types.d.ts +2 -0
- package/build-types/color-picker/types.d.ts.map +1 -1
- package/build-types/composite/legacy/stories/utils.d.ts.map +1 -1
- package/build-types/confirm-dialog/component.d.ts.map +1 -1
- package/build-types/content-editable-control/index.d.ts +31 -0
- package/build-types/content-editable-control/index.d.ts.map +1 -0
- package/build-types/content-editable-control/stories/index.story.d.ts +13 -0
- package/build-types/content-editable-control/stories/index.story.d.ts.map +1 -0
- package/build-types/content-editable-control/test/index.d.ts +2 -0
- package/build-types/content-editable-control/test/index.d.ts.map +1 -0
- package/build-types/content-editable-control/types.d.ts +32 -0
- package/build-types/content-editable-control/types.d.ts.map +1 -0
- package/build-types/context/context-system-provider.d.ts +21 -2
- package/build-types/context/context-system-provider.d.ts.map +1 -1
- package/build-types/context/wordpress-component.d.ts +2 -1
- package/build-types/context/wordpress-component.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts +3 -2
- package/build-types/custom-gradient-picker/gradient-bar/control-points.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/gradient-bar/index.d.ts +1 -1
- package/build-types/custom-gradient-picker/gradient-bar/index.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/index.d.ts +1 -1
- package/build-types/custom-gradient-picker/index.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/serializer.d.ts +3 -3
- package/build-types/custom-gradient-picker/serializer.d.ts.map +1 -1
- package/build-types/custom-select-control/index.d.ts.map +1 -1
- package/build-types/custom-select-control/types.d.ts +1 -8
- package/build-types/custom-select-control/types.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/custom-select.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/index.d.ts +2 -1
- package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/item.d.ts.map +1 -1
- package/build-types/date-time/date/index.d.ts +23 -0
- package/build-types/date-time/date/index.d.ts.map +1 -0
- package/build-types/date-time/date/styles.d.ts +45 -0
- package/build-types/date-time/date/styles.d.ts.map +1 -0
- package/build-types/date-time/date/test/index.d.ts +2 -0
- package/build-types/date-time/date/test/index.d.ts.map +1 -0
- package/build-types/date-time/date/test/use-lilius.d.ts +2 -0
- package/build-types/date-time/date/test/use-lilius.d.ts.map +1 -0
- package/build-types/date-time/date/use-lilius/index.d.ts +169 -0
- package/build-types/date-time/date/use-lilius/index.d.ts.map +1 -0
- package/build-types/date-time/date-picker/index.d.ts +1 -1
- package/build-types/date-time/date-picker/index.d.ts.map +1 -1
- package/build-types/date-time/time/index.d.ts +27 -0
- package/build-types/date-time/time/index.d.ts.map +1 -0
- package/build-types/date-time/time/styles.d.ts +93 -0
- package/build-types/date-time/time/styles.d.ts.map +1 -0
- package/build-types/date-time/time/test/index.d.ts +2 -0
- package/build-types/date-time/time/test/index.d.ts.map +1 -0
- package/build-types/date-time/time/time-input/index.d.ts +4 -0
- package/build-types/date-time/time/time-input/index.d.ts.map +1 -0
- package/build-types/date-time/time/time-input/test/index.d.ts +2 -0
- package/build-types/date-time/time/time-input/test/index.d.ts.map +1 -0
- package/build-types/date-time/time/timezone.d.ts +7 -0
- package/build-types/date-time/time/timezone.d.ts.map +1 -0
- package/build-types/date-time/time-picker/index.d.ts +3 -2
- package/build-types/date-time/time-picker/index.d.ts.map +1 -1
- package/build-types/date-time/time-picker/styles.d.ts +4 -8
- package/build-types/date-time/time-picker/styles.d.ts.map +1 -1
- package/build-types/date-time/time-picker/time-input/index.d.ts +1 -1
- package/build-types/date-time/time-picker/time-input/index.d.ts.map +1 -1
- package/build-types/disabled/index.d.ts +4 -4
- package/build-types/disabled/index.d.ts.map +1 -1
- package/build-types/divider/styles.d.ts +10 -0
- package/build-types/divider/styles.d.ts.map +1 -0
- package/build-types/draggable/index.d.ts +1 -1
- package/build-types/draggable/index.d.ts.map +1 -1
- package/build-types/drop-zone/provider.d.ts +1 -1
- package/build-types/drop-zone/provider.d.ts.map +1 -1
- package/build-types/duotone-picker/color-list-picker/index.d.ts +1 -1
- package/build-types/duotone-picker/color-list-picker/index.d.ts.map +1 -1
- package/build-types/duotone-picker/custom-duotone-bar.d.ts +1 -1
- package/build-types/duotone-picker/custom-duotone-bar.d.ts.map +1 -1
- package/build-types/flex/styles.d.ts +17 -0
- package/build-types/flex/styles.d.ts.map +1 -0
- package/build-types/focal-point-picker/controls.d.ts +1 -1
- package/build-types/focal-point-picker/controls.d.ts.map +1 -1
- package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts +2 -4
- package/build-types/focal-point-picker/styles/focal-point-picker-style.d.ts.map +1 -1
- package/build-types/font-size-picker/index.d.ts +12 -2
- package/build-types/font-size-picker/index.d.ts.map +1 -1
- package/build-types/font-size-picker/stories/e2e/index.story.d.ts +12 -1
- package/build-types/font-size-picker/stories/e2e/index.story.d.ts.map +1 -1
- package/build-types/font-size-picker/types.d.ts +2 -15
- package/build-types/font-size-picker/types.d.ts.map +1 -1
- package/build-types/form-token-field/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/token.d.ts +1 -1
- package/build-types/form-token-field/token.d.ts.map +1 -1
- package/build-types/gradient-picker/index.d.ts.map +1 -1
- package/build-types/gradient-picker/stories/index.story.d.ts +1 -0
- package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/gradient-picker/test/index.d.ts +2 -0
- package/build-types/gradient-picker/test/index.d.ts.map +1 -0
- package/build-types/gradient-picker/types.d.ts +19 -4
- package/build-types/gradient-picker/types.d.ts.map +1 -1
- package/build-types/guide/index.d.ts +1 -1
- package/build-types/guide/index.d.ts.map +1 -1
- package/build-types/guide/page-control.d.ts +1 -1
- package/build-types/guide/page-control.d.ts.map +1 -1
- package/build-types/higher-order/with-fallback-styles/index.d.ts +3 -3
- package/build-types/higher-order/with-fallback-styles/index.d.ts.map +1 -1
- package/build-types/input-control/index.d.ts +0 -1
- package/build-types/input-control/index.d.ts.map +1 -1
- package/build-types/input-control/input-base.d.ts.map +1 -1
- package/build-types/input-control/stories/index.story.d.ts.map +1 -1
- package/build-types/input-control/styles/input-control-styles.d.ts +1 -8
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +15 -29
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/keyboard-shortcuts/index.d.ts +1 -1
- package/build-types/keyboard-shortcuts/index.d.ts.map +1 -1
- package/build-types/menu/group-label.d.ts.map +1 -1
- package/build-types/menu-items-choice/index.d.ts +1 -1
- package/build-types/menu-items-choice/index.d.ts.map +1 -1
- 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/stories/index.story.d.ts.map +1 -1
- package/build-types/navigation/back-button/index.d.ts +7 -0
- package/build-types/navigation/back-button/index.d.ts.map +1 -0
- package/build-types/navigation/constants.d.ts +3 -0
- package/build-types/navigation/constants.d.ts.map +1 -0
- package/build-types/navigation/context.d.ts +4 -0
- package/build-types/navigation/context.d.ts.map +1 -0
- package/build-types/navigation/group/context.d.ts +7 -0
- package/build-types/navigation/group/context.d.ts.map +1 -0
- package/build-types/navigation/group/index.d.ts +7 -0
- package/build-types/navigation/group/index.d.ts.map +1 -0
- package/build-types/navigation/index.d.ts +46 -0
- package/build-types/navigation/index.d.ts.map +1 -0
- package/build-types/navigation/item/base-content.d.ts +3 -0
- package/build-types/navigation/item/base-content.d.ts.map +1 -0
- package/build-types/navigation/item/base.d.ts +3 -0
- package/build-types/navigation/item/base.d.ts.map +1 -0
- package/build-types/navigation/item/index.d.ts +7 -0
- package/build-types/navigation/item/index.d.ts.map +1 -0
- package/build-types/navigation/item/use-navigation-tree-item.d.ts +3 -0
- package/build-types/navigation/item/use-navigation-tree-item.d.ts.map +1 -0
- package/build-types/navigation/menu/context.d.ts +7 -0
- package/build-types/navigation/menu/context.d.ts.map +1 -0
- package/build-types/navigation/menu/index.d.ts +7 -0
- package/build-types/navigation/menu/index.d.ts.map +1 -0
- package/build-types/navigation/menu/menu-title-search.d.ts +3 -0
- package/build-types/navigation/menu/menu-title-search.d.ts.map +1 -0
- package/build-types/navigation/menu/menu-title.d.ts +3 -0
- package/build-types/navigation/menu/menu-title.d.ts.map +1 -0
- package/build-types/navigation/menu/search-no-results-found.d.ts +3 -0
- package/build-types/navigation/menu/search-no-results-found.d.ts.map +1 -0
- package/build-types/navigation/menu/use-navigation-tree-menu.d.ts +3 -0
- package/build-types/navigation/menu/use-navigation-tree-menu.d.ts.map +1 -0
- package/build-types/navigation/stories/index.story.d.ts +23 -0
- package/build-types/navigation/stories/index.story.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/controlled-state.d.ts +7 -0
- package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/default.d.ts +10 -0
- package/build-types/navigation/stories/utils/default.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/group.d.ts +10 -0
- package/build-types/navigation/stories/utils/group.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/hide-if-empty.d.ts +10 -0
- package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/more-examples.d.ts +10 -0
- package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -0
- package/build-types/navigation/stories/utils/search.d.ts +10 -0
- package/build-types/navigation/stories/utils/search.d.ts.map +1 -0
- package/build-types/navigation/styles/navigation-styles.d.ts +55 -0
- package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -0
- package/build-types/navigation/test/index.d.ts +2 -0
- package/build-types/navigation/test/index.d.ts.map +1 -0
- package/build-types/navigation/types.d.ts +266 -0
- package/build-types/navigation/types.d.ts.map +1 -0
- package/build-types/navigation/use-create-navigation-tree.d.ts +15 -0
- package/build-types/navigation/use-create-navigation-tree.d.ts.map +1 -0
- package/build-types/navigation/use-navigation-tree-nodes.d.ts +10 -0
- package/build-types/navigation/use-navigation-tree-nodes.d.ts.map +1 -0
- package/build-types/navigation/utils.d.ts +3 -0
- package/build-types/navigation/utils.d.ts.map +1 -0
- package/build-types/navigator/navigator-screen/use-screen-animate-presence.d.ts +1 -1
- package/build-types/navigator/navigator-screen/use-screen-animate-presence.d.ts.map +1 -1
- package/build-types/notice/index.d.ts +1 -1
- package/build-types/notice/index.d.ts.map +1 -1
- package/build-types/notice/list.d.ts +1 -1
- package/build-types/notice/list.d.ts.map +1 -1
- package/build-types/number-control/index.d.ts +1 -2
- package/build-types/number-control/index.d.ts.map +1 -1
- package/build-types/number-control/stories/index.story.d.ts +1 -2
- package/build-types/number-control/stories/index.story.d.ts.map +1 -1
- package/build-types/number-control/types.d.ts +0 -7
- package/build-types/number-control/types.d.ts.map +1 -1
- package/build-types/palette-edit/index.d.ts +1 -1
- package/build-types/palette-edit/index.d.ts.map +1 -1
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/query-controls/author-select.d.ts +1 -1
- package/build-types/query-controls/author-select.d.ts.map +1 -1
- package/build-types/range-control/index.d.ts +2 -4
- package/build-types/range-control/index.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +1 -2
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/range-control/types.d.ts +2 -16
- package/build-types/range-control/types.d.ts.map +1 -1
- package/build-types/resizable-box/resize-tooltip/utils.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/utils.d.ts.map +1 -1
- package/build-types/responsive-wrapper/index.d.ts +1 -1
- package/build-types/responsive-wrapper/index.d.ts.map +1 -1
- package/build-types/sandbox/index.d.ts +34 -0
- package/build-types/sandbox/index.d.ts.map +1 -1
- package/build-types/sandbox/types.d.ts +11 -0
- package/build-types/sandbox/types.d.ts.map +1 -1
- package/build-types/search-control/index.d.ts.map +1 -1
- package/build-types/search-control/types.d.ts +1 -1
- package/build-types/search-control/types.d.ts.map +1 -1
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/select-control/types.d.ts +9 -1
- package/build-types/select-control/types.d.ts.map +1 -1
- package/build-types/slot-fill/fill.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/stories/index.story.d.ts +1 -6
- package/build-types/slot-fill/stories/index.story.d.ts.map +1 -1
- package/build-types/snackbar/list.d.ts +1 -1
- package/build-types/snackbar/list.d.ts.map +1 -1
- package/build-types/spacer/hook.d.ts +2 -4
- package/build-types/spacer/hook.d.ts.map +1 -1
- package/build-types/spacer/stories/index.story.d.ts +1 -6
- package/build-types/spacer/stories/index.story.d.ts.map +1 -1
- package/build-types/surface/styles.d.ts +11 -0
- package/build-types/surface/styles.d.ts.map +1 -0
- package/build-types/text/types.d.ts +4 -4
- package/build-types/text/types.d.ts.map +1 -1
- package/build-types/text/utils.d.ts +1 -1
- package/build-types/text/utils.d.ts.map +1 -1
- package/build-types/theme/styles.d.ts +10 -0
- package/build-types/theme/styles.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts +0 -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-option-base/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/types.d.ts +0 -7
- package/build-types/toggle-group-control/types.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/component.d.ts.map +1 -1
- 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.map +1 -1
- package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
- package/build-types/tree-grid/roving-tab-index.d.ts +1 -1
- package/build-types/tree-grid/roving-tab-index.d.ts.map +1 -1
- package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
- package/build-types/tree-select/types.d.ts +1 -8
- package/build-types/tree-select/types.d.ts.map +1 -1
- package/build-types/truncate/styles.d.ts +2 -0
- package/build-types/truncate/styles.d.ts.map +1 -0
- package/build-types/unit-control/index.d.ts +2 -4
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -2
- package/build-types/unit-control/styles/unit-control-styles.d.ts.map +1 -1
- package/build-types/unit-control/types.d.ts +1 -15
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/utils/config-values.d.ts +1 -2
- package/build-types/utils/hooks/use-animated-offset-rect.d.ts +1 -1
- package/build-types/utils/hooks/use-animated-offset-rect.d.ts.map +1 -1
- package/build-types/utils/hooks/use-controlled-state.d.ts +6 -0
- package/build-types/utils/hooks/use-controlled-state.d.ts.map +1 -1
- package/build-types/utils/hooks/use-controlled-value.d.ts +1 -1
- package/build-types/utils/hooks/use-controlled-value.d.ts.map +1 -1
- package/build-types/utils/rtl.d.ts.map +1 -1
- package/build-types/validated-form-controls/components/content-editable-control.d.ts +16 -0
- package/build-types/validated-form-controls/components/content-editable-control.d.ts.map +1 -0
- package/build-types/validated-form-controls/components/index.d.ts +1 -0
- package/build-types/validated-form-controls/components/index.d.ts.map +1 -1
- package/build-types/validated-form-controls/components/input-control.d.ts +1 -1
- package/build-types/validated-form-controls/components/input-control.d.ts.map +1 -1
- package/build-types/validated-form-controls/components/number-control.d.ts +2 -3
- package/build-types/validated-form-controls/components/number-control.d.ts.map +1 -1
- package/build-types/validated-form-controls/components/range-control.d.ts +2 -4
- package/build-types/validated-form-controls/components/range-control.d.ts.map +1 -1
- package/build-types/validated-form-controls/components/stories/content-editable-control.story.d.ts +9 -0
- package/build-types/validated-form-controls/components/stories/content-editable-control.story.d.ts.map +1 -0
- package/build-types/validated-form-controls/components/stories/overview.story.d.ts +5 -0
- package/build-types/validated-form-controls/components/stories/overview.story.d.ts.map +1 -1
- package/build-types/validated-form-controls/components/toggle-group-control.d.ts +1 -2
- package/build-types/validated-form-controls/components/toggle-group-control.d.ts.map +1 -1
- package/build-types/validated-form-controls/control-with-error.d.ts.map +1 -1
- package/build-types/validated-form-controls/test/content-editable-control.d.ts +2 -0
- package/build-types/validated-form-controls/test/content-editable-control.d.ts.map +1 -0
- package/build-types/validated-form-controls/validity-indicator.d.ts +1 -1
- package/build-types/validated-form-controls/validity-indicator.d.ts.map +1 -1
- package/build-types/visually-hidden/test/index.d.ts +2 -0
- package/build-types/visually-hidden/test/index.d.ts.map +1 -0
- package/package.json +30 -30
- package/src/angle-picker-control/index.tsx +0 -1
- package/src/autocomplete/index.tsx +20 -11
- package/src/autocomplete/style.scss +1 -0
- package/src/badge/stories/index.story.tsx +1 -1
- package/src/base-control/README.md +2 -2
- package/src/base-control/stories/index.story.tsx +1 -1
- package/src/border-box-control/styles.ts +6 -2
- package/src/border-box-control/types.ts +4 -15
- package/src/box-control/types.ts +4 -8
- package/src/button/stories/e2e/index.story.tsx +10 -2
- package/src/button/stories/index.story.tsx +1 -1
- package/src/button/style.scss +32 -27
- package/src/button-group/style.scss +1 -6
- package/src/calendar/style.scss +1 -1
- package/src/card/stories/index.story.tsx +1 -1
- package/src/card/test/__snapshots__/index.tsx.snap +1 -1
- package/src/checkbox-control/stories/index.story.tsx +1 -1
- package/src/checkbox-control/test/__snapshots__/index.tsx.snap +1 -1
- package/src/color-indicator/test/__snapshots__/index.tsx.snap +1 -1
- package/src/color-palette/styles.ts +1 -1
- package/src/color-picker/component.tsx +23 -19
- package/src/color-picker/hex-input.tsx +0 -1
- package/src/color-picker/input-with-slider.tsx +0 -1
- package/src/color-picker/picker.tsx +144 -21
- package/src/color-picker/test/index.tsx +502 -0
- package/src/color-picker/types.ts +2 -0
- package/src/combobox-control/style.scss +2 -2
- package/src/confirm-dialog/component.tsx +2 -4
- package/src/confirm-dialog/stories/index.story.tsx +1 -1
- package/src/confirm-dialog/style.module.scss +7 -0
- package/src/confirm-dialog/test/index.tsx +5 -0
- package/src/content-editable-control/README.md +88 -0
- package/src/content-editable-control/docs-manifest.json +5 -0
- package/src/content-editable-control/index.tsx +110 -0
- package/src/content-editable-control/stories/index.story.tsx +32 -0
- package/src/content-editable-control/style.module.scss +34 -0
- package/src/content-editable-control/test/index.tsx +176 -0
- package/src/content-editable-control/types.ts +35 -0
- package/src/context/test/__snapshots__/context-system-provider.js.snap +1 -1
- package/src/context/wordpress-component.ts +7 -2
- package/src/custom-gradient-picker/test/index.tsx +111 -1
- package/src/custom-select-control/index.tsx +1 -2
- package/src/custom-select-control/stories/index.story.tsx +1 -1
- package/src/custom-select-control/test/__snapshots__/index.tsx.snap +6 -0
- package/src/custom-select-control/test/index.tsx +23 -0
- package/src/custom-select-control/types.ts +1 -8
- package/src/custom-select-control-v2/custom-select.tsx +1 -5
- package/src/custom-select-control-v2/stories/index.story.tsx +1 -1
- package/src/date-time/date-picker/styles.ts +1 -1
- package/src/date-time/time-picker/index.tsx +0 -2
- package/src/date-time/time-picker/time-input/index.tsx +0 -2
- package/src/disabled/index.tsx +7 -5
- package/src/disabled/style.module.scss +15 -0
- package/src/disabled/test/index.tsx +6 -4
- package/src/dropdown-menu/style.scss +1 -1
- package/src/elevation/stories/index.story.tsx +1 -1
- package/src/elevation/test/__snapshots__/index.tsx.snap +1 -1
- package/src/external-link/stories/index.story.tsx +1 -1
- package/src/external-link/style.scss +7 -13
- package/src/flex/stories/index.story.tsx +1 -1
- package/src/flex/test/__snapshots__/index.tsx.snap +1 -1
- package/src/font-size-picker/types.ts +6 -15
- package/src/form-toggle/test/__snapshots__/index.tsx.snap +1 -1
- package/src/form-token-field/index.tsx +5 -4
- package/src/form-token-field/style.module.scss +6 -0
- package/src/form-token-field/style.scss +2 -2
- package/src/gradient-picker/README.md +21 -3
- package/src/gradient-picker/index.tsx +43 -28
- package/src/gradient-picker/stories/index.story.tsx +41 -5
- package/src/gradient-picker/test/index.tsx +148 -0
- package/src/gradient-picker/types.ts +24 -4
- package/src/h-stack/stories/index.story.tsx +1 -1
- package/src/h-stack/test/__snapshots__/index.tsx.snap +1 -1
- package/src/heading/hook.ts +1 -1
- package/src/heading/stories/index.story.tsx +1 -1
- package/src/heading/test/__snapshots__/index.tsx.snap +1 -1
- package/src/higher-order/with-filters/test/__snapshots__/index.tsx.snap +1 -1
- package/src/icon/stories/index.story.tsx +1 -1
- package/src/input-control/README.md +0 -8
- package/src/input-control/index.tsx +4 -16
- package/src/input-control/input-base.tsx +4 -8
- package/src/input-control/stories/index.story.tsx +2 -4
- package/src/input-control/styles/input-control-styles.tsx +1 -19
- package/src/input-control/test/__snapshots__/index.js.snap +11 -0
- package/src/input-control/test/index.js +29 -7
- package/src/input-control/types.ts +15 -30
- package/src/item-group/test/__snapshots__/index.js.snap +1 -1
- package/src/menu/README.md +2 -2
- package/src/menu/group-label.tsx +2 -1
- package/src/menu-group/style.scss +1 -1
- package/src/menu-item/style.scss +1 -1
- package/src/menu-item/test/__snapshots__/index.js.snap +1 -1
- package/src/modal/stories/index.story.tsx +2 -5
- package/src/modal/style.scss +1 -1
- package/src/modal/test/index.tsx +42 -0
- package/src/notice/stories/index.story.tsx +1 -1
- package/src/notice/test/__snapshots__/index.tsx.snap +1 -1
- package/src/number-control/README.md +0 -8
- package/src/number-control/index.tsx +1 -12
- package/src/number-control/stories/index.story.tsx +1 -3
- package/src/number-control/test/index.tsx +1 -1
- package/src/number-control/types.ts +0 -7
- package/src/palette-edit/styles.ts +1 -1
- package/src/panel/stories/index.story.tsx +4 -4
- package/src/panel/style.scss +2 -5
- package/src/panel/test/__snapshots__/body.tsx.snap +1 -1
- package/src/panel/test/__snapshots__/header.tsx.snap +1 -1
- package/src/panel/test/__snapshots__/index.tsx.snap +1 -1
- package/src/panel/test/__snapshots__/row.tsx.snap +1 -1
- package/src/placeholder/style.scss +1 -1
- package/src/private-apis.ts +4 -2
- package/src/range-control/index.tsx +0 -2
- package/src/range-control/types.ts +2 -15
- package/src/sandbox/index.tsx +165 -98
- package/src/sandbox/test/index.tsx +63 -1
- package/src/sandbox/types.ts +11 -0
- package/src/scrollable/test/__snapshots__/index.tsx.snap +1 -1
- package/src/search-control/index.tsx +23 -21
- package/src/search-control/style.module.scss +16 -0
- package/src/search-control/test/index.tsx +8 -0
- package/src/search-control/types.ts +1 -1
- package/src/select-control/index.tsx +0 -2
- package/src/select-control/stories/index.story.tsx +1 -1
- package/src/select-control/styles/select-control-styles.ts +0 -7
- package/src/select-control/test/__snapshots__/select-control.tsx.snap +11 -0
- package/src/select-control/test/select-control.tsx +37 -0
- package/src/select-control/types.ts +8 -2
- package/src/shortcut/test/__snapshots__/index.tsx.snap +1 -1
- package/src/slot-fill/fill.tsx +3 -9
- package/src/slot-fill/stories/index.story.tsx +52 -10
- package/src/slot-fill/test/__snapshots__/slot.js.snap +1 -1
- package/src/slot-fill/test/slot.js +53 -11
- package/src/spacer/hook.ts +93 -77
- package/src/spacer/stories/index.story.tsx +8 -6
- package/src/spacer/style.module.scss +25 -0
- package/src/spacer/test/__snapshots__/index.tsx.snap +3 -223
- package/src/spacer/test/index.tsx +106 -110
- package/src/tab-panel/stories/index.story.tsx +1 -1
- package/src/tab-panel/style.scss +1 -1
- package/src/tabs/stories/index.story.tsx +1 -1
- package/src/text/stories/index.story.tsx +1 -1
- package/src/text/test/__snapshots__/index.tsx.snap +1 -1
- package/src/text/types.ts +5 -5
- package/src/text-control/style.scss +1 -1
- package/src/textarea-control/stories/index.story.tsx +1 -1
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +37 -715
- package/src/toggle-group-control/test/index.tsx +33 -3
- package/src/toggle-group-control/toggle-group-control/component.tsx +11 -16
- package/src/toggle-group-control/toggle-group-control/style.module.scss +63 -0
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +22 -24
- package/src/toggle-group-control/toggle-group-control-option-base/style.module.scss +88 -0
- package/src/toggle-group-control/types.ts +0 -7
- package/src/toolbar/toolbar-button/style.scss +1 -1
- package/src/tools-panel/style.module.scss +117 -0
- package/src/tools-panel/test/index.tsx +105 -39
- package/src/tools-panel/tools-panel/component.tsx +12 -1
- package/src/tools-panel/tools-panel/hook.ts +13 -15
- package/src/tools-panel/tools-panel-header/component.tsx +6 -2
- package/src/tools-panel/tools-panel-header/hook.ts +7 -25
- package/src/tools-panel/tools-panel-item/hook.ts +16 -34
- package/src/tooltip/stories/index.story.tsx +1 -1
- package/src/tooltip/test/index.tsx +1 -1
- package/src/tree-grid/stories/index.story.tsx +0 -2
- package/src/tree-grid/test/__snapshots__/cell.tsx.snap +1 -1
- package/src/tree-grid/test/__snapshots__/index.tsx.snap +1 -1
- package/src/tree-grid/test/__snapshots__/roving-tab-index-item.tsx.snap +1 -1
- package/src/tree-grid/test/__snapshots__/roving-tab-index.tsx.snap +1 -1
- package/src/tree-grid/test/__snapshots__/row.tsx.snap +1 -1
- package/src/tree-select/README.md +1 -1
- package/src/tree-select/types.ts +1 -8
- package/src/unit-control/index.tsx +0 -1
- package/src/unit-control/types.ts +1 -18
- package/src/utils/base-label.ts +1 -1
- package/src/utils/config-values.js +1 -2
- package/src/utils/font-values.js +1 -1
- package/src/utils/theme-variables.scss +1 -0
- package/src/v-stack/stories/index.story.tsx +1 -1
- package/src/v-stack/test/__snapshots__/index.tsx.snap +1 -1
- package/src/validated-form-controls/components/content-editable-control.tsx +88 -0
- package/src/validated-form-controls/components/index.ts +1 -0
- package/src/validated-form-controls/components/input-control.tsx +2 -10
- package/src/validated-form-controls/components/number-control.tsx +2 -10
- package/src/validated-form-controls/components/stories/content-editable-control.story.tsx +56 -0
- package/src/validated-form-controls/components/stories/overview.story.tsx +51 -0
- package/src/validated-form-controls/control-with-error.tsx +10 -1
- package/src/validated-form-controls/style.scss +9 -2
- package/src/validated-form-controls/test/content-editable-control.tsx +71 -0
- package/src/validated-form-controls/test/control-with-error.tsx +42 -0
- package/src/view/test/__snapshots__/index.js.snap +1 -1
- package/src/visually-hidden/stories/index.story.tsx +1 -1
- package/build/confirm-dialog/styles.cjs +0 -42
- package/build/confirm-dialog/styles.cjs.map +0 -7
- package/build/disabled/styles/disabled-styles.cjs +0 -42
- package/build/disabled/styles/disabled-styles.cjs.map +0 -7
- package/build/form-token-field/styles.cjs +0 -49
- package/build/form-token-field/styles.cjs.map +0 -7
- package/build/search-control/styles.cjs +0 -74
- package/build/search-control/styles.cjs.map +0 -7
- package/build/theme/color-algorithms.cjs +0 -131
- package/build/theme/color-algorithms.cjs.map +0 -7
- package/build/theme/index.cjs +0 -160
- package/build/theme/index.cjs.map +0 -7
- package/build/toggle-group-control/toggle-group-control/styles.cjs +0 -53
- package/build/toggle-group-control/toggle-group-control/styles.cjs.map +0 -7
- package/build/toggle-group-control/toggle-group-control-option-base/styles.cjs +0 -94
- package/build/toggle-group-control/toggle-group-control-option-base/styles.cjs.map +0 -7
- package/build/tools-panel/styles.cjs +0 -129
- package/build/tools-panel/styles.cjs.map +0 -7
- package/build/utils/deprecated-36px-size.cjs +0 -56
- package/build/utils/deprecated-36px-size.cjs.map +0 -7
- package/build/utils/use-deprecated-props.cjs +0 -41
- package/build/utils/use-deprecated-props.cjs.map +0 -7
- package/build-module/confirm-dialog/styles.mjs +0 -17
- package/build-module/confirm-dialog/styles.mjs.map +0 -7
- package/build-module/disabled/styles/disabled-styles.mjs +0 -17
- package/build-module/disabled/styles/disabled-styles.mjs.map +0 -7
- package/build-module/form-token-field/styles.mjs +0 -14
- package/build-module/form-token-field/styles.mjs.map +0 -7
- package/build-module/search-control/styles.mjs +0 -38
- package/build-module/search-control/styles.mjs.map +0 -7
- package/build-module/theme/color-algorithms.mjs +0 -94
- package/build-module/theme/color-algorithms.mjs.map +0 -7
- package/build-module/theme/index.mjs +0 -129
- package/build-module/theme/index.mjs.map +0 -7
- package/build-module/toggle-group-control/toggle-group-control/styles.mjs +0 -27
- package/build-module/toggle-group-control/toggle-group-control/styles.mjs.map +0 -7
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.mjs +0 -56
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.mjs.map +0 -7
- package/build-module/tools-panel/styles.mjs +0 -84
- package/build-module/tools-panel/styles.mjs.map +0 -7
- package/build-module/utils/deprecated-36px-size.mjs +0 -21
- package/build-module/utils/deprecated-36px-size.mjs.map +0 -7
- package/build-module/utils/use-deprecated-props.mjs +0 -16
- package/build-module/utils/use-deprecated-props.mjs.map +0 -7
- package/src/confirm-dialog/styles.ts +0 -18
- package/src/disabled/styles/disabled-styles.tsx +0 -23
- package/src/form-token-field/styles.ts +0 -15
- package/src/search-control/styles.ts +0 -27
- package/src/theme/README.md +0 -47
- package/src/theme/color-algorithms.ts +0 -142
- package/src/theme/index.tsx +0 -80
- package/src/theme/stories/index.story.tsx +0 -127
- package/src/theme/style.module.scss +0 -4
- package/src/theme/test/color-algorithms.ts +0 -100
- package/src/theme/test/index.tsx +0 -151
- package/src/theme/types.ts +0 -61
- package/src/toggle-group-control/toggle-group-control/styles.ts +0 -84
- package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +0 -109
- package/src/tools-panel/styles.ts +0 -176
- package/src/utils/deprecated-36px-size.ts +0 -30
- package/src/utils/use-deprecated-props.ts +0 -14
- /package/build-module/{theme → content-editable-control}/types.mjs +0 -0
- /package/build-module/{theme → content-editable-control}/types.mjs.map +0 -0
|
@@ -11,7 +11,7 @@ import { useState } from '@wordpress/element';
|
|
|
11
11
|
/**
|
|
12
12
|
* Internal dependencies
|
|
13
13
|
*/
|
|
14
|
-
import SandBox, { VIEWPORT_UNIT_VALUE_REGEX } from '..';
|
|
14
|
+
import SandBox, { VIEWPORT_UNIT_VALUE_REGEX, buildSandBoxDocument } from '..';
|
|
15
15
|
|
|
16
16
|
describe( 'SandBox', () => {
|
|
17
17
|
const TestWrapper = () => {
|
|
@@ -49,6 +49,27 @@ describe( 'SandBox', () => {
|
|
|
49
49
|
);
|
|
50
50
|
} );
|
|
51
51
|
|
|
52
|
+
it( 'should not include allow-popups by default', () => {
|
|
53
|
+
render( <SandBox html="<p>Hello</p>" title="No Popups" /> );
|
|
54
|
+
|
|
55
|
+
const iframe = screen.getByTitle< HTMLIFrameElement >( 'No Popups' );
|
|
56
|
+
|
|
57
|
+
expect( iframe.getAttribute( 'sandbox' ) ).not.toContain(
|
|
58
|
+
'allow-popups'
|
|
59
|
+
);
|
|
60
|
+
} );
|
|
61
|
+
|
|
62
|
+
it( 'should include allow-popups when allowPopups is set', () => {
|
|
63
|
+
render( <SandBox html="<p>Hello</p>" title="Popups" allowPopups /> );
|
|
64
|
+
|
|
65
|
+
const iframe = screen.getByTitle< HTMLIFrameElement >( 'Popups' );
|
|
66
|
+
|
|
67
|
+
expect( iframe ).toHaveAttribute(
|
|
68
|
+
'sandbox',
|
|
69
|
+
'allow-scripts allow-presentation allow-popups'
|
|
70
|
+
);
|
|
71
|
+
} );
|
|
72
|
+
|
|
52
73
|
it( 'should set srcdoc with the provided html content', () => {
|
|
53
74
|
render( <SandBox html="<p>Hello</p>" title="Test Title" /> );
|
|
54
75
|
|
|
@@ -91,6 +112,47 @@ describe( 'SandBox', () => {
|
|
|
91
112
|
);
|
|
92
113
|
} );
|
|
93
114
|
|
|
115
|
+
it( 'places the resize script in the head, before the user content', () => {
|
|
116
|
+
// The resize script must parse before the (possibly malformed) user
|
|
117
|
+
// content in the body. Otherwise an unclosed attribute quote in that
|
|
118
|
+
// content swallows the <script> tag and its source leaks into the
|
|
119
|
+
// preview as visible text.
|
|
120
|
+
render( <SandBox html="<p>User content</p>" title="Head Script" /> );
|
|
121
|
+
|
|
122
|
+
const iframe = screen.getByTitle< HTMLIFrameElement >( 'Head Script' );
|
|
123
|
+
const srcDoc = iframe.getAttribute( 'srcdoc' ) ?? '';
|
|
124
|
+
|
|
125
|
+
const resizeScriptIndex = srcDoc.indexOf( 'MutationObserver' );
|
|
126
|
+
const bodyIndex = srcDoc.indexOf( '<body' );
|
|
127
|
+
const userContentIndex = srcDoc.indexOf( '<p>User content</p>' );
|
|
128
|
+
|
|
129
|
+
expect( resizeScriptIndex ).toBeGreaterThan( -1 );
|
|
130
|
+
expect( resizeScriptIndex ).toBeLessThan( bodyIndex );
|
|
131
|
+
expect( resizeScriptIndex ).toBeLessThan( userContentIndex );
|
|
132
|
+
} );
|
|
133
|
+
|
|
134
|
+
it( 'builds a document with the resize script in the head, before the body', () => {
|
|
135
|
+
// Both sandboxes render this document: the isolated one as `srcdoc`,
|
|
136
|
+
// the same-origin one via `contentDocument.write()`. Testing the shared
|
|
137
|
+
// builder covers the write path too, so a future change cannot move the
|
|
138
|
+
// resize helper back into the body on either path.
|
|
139
|
+
const doc = buildSandBoxDocument( {
|
|
140
|
+
html: '<p>User content</p>',
|
|
141
|
+
title: 'Doc',
|
|
142
|
+
styles: [],
|
|
143
|
+
scripts: [],
|
|
144
|
+
lang: 'en',
|
|
145
|
+
} );
|
|
146
|
+
|
|
147
|
+
const resizeScriptIndex = doc.indexOf( 'MutationObserver' );
|
|
148
|
+
const bodyIndex = doc.indexOf( '<body' );
|
|
149
|
+
const userContentIndex = doc.indexOf( '<p>User content</p>' );
|
|
150
|
+
|
|
151
|
+
expect( resizeScriptIndex ).toBeGreaterThan( -1 );
|
|
152
|
+
expect( resizeScriptIndex ).toBeLessThan( bodyIndex );
|
|
153
|
+
expect( resizeScriptIndex ).toBeLessThan( userContentIndex );
|
|
154
|
+
} );
|
|
155
|
+
|
|
94
156
|
it( 'should update srcdoc when html prop changes', () => {
|
|
95
157
|
render( <TestWrapper /> );
|
|
96
158
|
|
package/src/sandbox/types.ts
CHANGED
|
@@ -10,6 +10,17 @@ export type SandBoxProps = {
|
|
|
10
10
|
* @default false
|
|
11
11
|
*/
|
|
12
12
|
allowSameOrigin?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Whether to include `allow-popups` in the iframe's sandbox attribute.
|
|
15
|
+
* When true, content inside the iframe is allowed to open new browsing
|
|
16
|
+
* contexts (e.g. links that open in a new tab, or `window.open`).
|
|
17
|
+
*
|
|
18
|
+
* Enable this for previews whose content includes links that should be
|
|
19
|
+
* followable, such as embeds.
|
|
20
|
+
*
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
allowPopups?: boolean;
|
|
13
24
|
/**
|
|
14
25
|
* The HTML to render in the body of the iframe document.
|
|
15
26
|
*
|
|
@@ -17,22 +17,15 @@ import deprecated from '@wordpress/deprecated';
|
|
|
17
17
|
* Internal dependencies
|
|
18
18
|
*/
|
|
19
19
|
import Button from '../button';
|
|
20
|
+
import InputControl from '../input-control';
|
|
21
|
+
import Icon from '../icon';
|
|
20
22
|
import { InputControlPrefixWrapper } from '../input-control/input-prefix-wrapper';
|
|
21
23
|
import { InputControlSuffixWrapper } from '../input-control/input-suffix-wrapper';
|
|
22
24
|
import type { WordPressComponentProps } from '../context/wordpress-component';
|
|
23
25
|
import type { SearchControlProps, SuffixItemProps } from './types';
|
|
24
|
-
import
|
|
25
|
-
|
|
26
|
-
function SuffixItem( {
|
|
27
|
-
searchRef,
|
|
28
|
-
value,
|
|
29
|
-
onChange,
|
|
30
|
-
onClose,
|
|
31
|
-
}: SuffixItemProps ) {
|
|
32
|
-
if ( ! onClose && ! value ) {
|
|
33
|
-
return null;
|
|
34
|
-
}
|
|
26
|
+
import styles from './style.module.scss';
|
|
35
27
|
|
|
28
|
+
function SuffixItem( { searchRef, onChange, onClose }: SuffixItemProps ) {
|
|
36
29
|
if ( onClose ) {
|
|
37
30
|
deprecated( '`onClose` prop in wp.components.SearchControl', {
|
|
38
31
|
since: '6.8',
|
|
@@ -86,33 +79,42 @@ function UnforwardedSearchControl(
|
|
|
86
79
|
SearchControl,
|
|
87
80
|
'components-search-control'
|
|
88
81
|
);
|
|
82
|
+
const hasSuffix = !! onClose || !! value;
|
|
89
83
|
|
|
90
84
|
return (
|
|
91
|
-
<
|
|
92
|
-
__next40pxDefaultSize
|
|
85
|
+
<InputControl
|
|
93
86
|
id={ instanceId }
|
|
94
87
|
hideLabelFromVision={ hideLabelFromVision }
|
|
95
88
|
label={ label }
|
|
96
89
|
ref={ useMergeRefs( [ searchRef, forwardedRef ] ) }
|
|
97
90
|
type="search"
|
|
98
91
|
size={ size }
|
|
99
|
-
className={ clsx(
|
|
92
|
+
className={ clsx(
|
|
93
|
+
styles.input,
|
|
94
|
+
'components-search-control',
|
|
95
|
+
className
|
|
96
|
+
) }
|
|
100
97
|
onChange={ ( nextValue?: string ) => onChange( nextValue ?? '' ) }
|
|
101
98
|
autoComplete="off"
|
|
102
99
|
placeholder={ placeholder }
|
|
103
100
|
value={ value ?? '' }
|
|
104
101
|
prefix={
|
|
105
102
|
<InputControlPrefixWrapper variant="icon">
|
|
106
|
-
<
|
|
103
|
+
<Icon
|
|
104
|
+
className={ styles.icon }
|
|
105
|
+
icon={ search }
|
|
106
|
+
fill="currentColor"
|
|
107
|
+
/>
|
|
107
108
|
</InputControlPrefixWrapper>
|
|
108
109
|
}
|
|
109
110
|
suffix={
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
hasSuffix && (
|
|
112
|
+
<SuffixItem
|
|
113
|
+
searchRef={ searchRef }
|
|
114
|
+
onChange={ onChange }
|
|
115
|
+
onClose={ onClose }
|
|
116
|
+
/>
|
|
117
|
+
)
|
|
116
118
|
}
|
|
117
119
|
{ ...filteredRestProps }
|
|
118
120
|
/>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.input {
|
|
2
|
+
input[type="search"] {
|
|
3
|
+
&::-webkit-search-decoration,
|
|
4
|
+
&::-webkit-search-cancel-button,
|
|
5
|
+
&::-webkit-search-results-button,
|
|
6
|
+
&::-webkit-search-results-decoration {
|
|
7
|
+
-webkit-appearance: none;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.icon {
|
|
13
|
+
&:dir(ltr) {
|
|
14
|
+
transform: scaleX(-1);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -59,16 +59,24 @@ describe( 'SearchControl', () => {
|
|
|
59
59
|
expect(
|
|
60
60
|
screen.queryByRole( 'button', { name: 'Reset search' } )
|
|
61
61
|
).not.toBeInTheDocument();
|
|
62
|
+
const paddingInlineEndWithoutSuffix =
|
|
63
|
+
getComputedStyle( searchInput ).paddingInlineEnd;
|
|
62
64
|
|
|
63
65
|
await type( 'test', searchInput );
|
|
64
66
|
const resetButton = screen.getByRole( 'button', {
|
|
65
67
|
name: 'Reset search',
|
|
66
68
|
} );
|
|
67
69
|
expect( resetButton ).toBeVisible();
|
|
70
|
+
expect( getComputedStyle( searchInput ).paddingInlineEnd ).not.toBe(
|
|
71
|
+
paddingInlineEndWithoutSuffix
|
|
72
|
+
);
|
|
68
73
|
|
|
69
74
|
await click( resetButton );
|
|
70
75
|
expect( searchInput ).toHaveValue( '' );
|
|
71
76
|
expect( onChangeSpy ).toHaveBeenLastCalledWith( '' );
|
|
77
|
+
expect( getComputedStyle( searchInput ).paddingInlineEnd ).toBe(
|
|
78
|
+
paddingInlineEndWithoutSuffix
|
|
79
|
+
);
|
|
72
80
|
} );
|
|
73
81
|
|
|
74
82
|
it( 'should render a Close button (instead of Reset) when onClose function is provided', async () => {
|
|
@@ -70,7 +70,7 @@ export type SearchControlProps = Pick< InputControlProps, 'help' | 'value' > & {
|
|
|
70
70
|
|
|
71
71
|
export type SuffixItemProps = Pick<
|
|
72
72
|
SearchControlProps,
|
|
73
|
-
'
|
|
73
|
+
'onChange' | 'onClose'
|
|
74
74
|
> & {
|
|
75
75
|
searchRef: React.RefObject< HTMLInputElement | null >;
|
|
76
76
|
};
|
|
@@ -50,7 +50,6 @@ function UnforwardedSelectControl< V extends string >(
|
|
|
50
50
|
__nextHasNoMarginBottom: _,
|
|
51
51
|
__next40pxDefaultSize: _next40pxDefaultSize,
|
|
52
52
|
__next36pxDefaultSize: _next36pxDefaultSize,
|
|
53
|
-
__shouldNotWarnDeprecated36pxSize: _shouldNotWarnDeprecated36pxSize,
|
|
54
53
|
className,
|
|
55
54
|
disabled = false,
|
|
56
55
|
help,
|
|
@@ -113,7 +112,6 @@ function UnforwardedSelectControl< V extends string >(
|
|
|
113
112
|
variant === 'minimal' ? 'auto' : undefined
|
|
114
113
|
}
|
|
115
114
|
variant={ variant }
|
|
116
|
-
__next40pxDefaultSize
|
|
117
115
|
>
|
|
118
116
|
<Select
|
|
119
117
|
{ ...restProps }
|
|
@@ -36,7 +36,7 @@ const meta: Meta< typeof SelectControl > = {
|
|
|
36
36
|
componentStatus: {
|
|
37
37
|
status: 'recommended',
|
|
38
38
|
whereUsed: 'global',
|
|
39
|
-
notes: 'Will be superseded by `SelectControl` in `@wordpress/ui`, but continue using for now.',
|
|
39
|
+
notes: 'Will be superseded by [`SelectControl`](?path=/docs/design-system-components-form-selectcontrol--docs) in `@wordpress/ui`, but continue using for now.',
|
|
40
40
|
},
|
|
41
41
|
},
|
|
42
42
|
};
|
|
@@ -76,12 +76,6 @@ const sizeStyles = ( { multiple, selectSize = 'default' }: SelectProps ) => {
|
|
|
76
76
|
paddingTop: 0,
|
|
77
77
|
paddingBottom: 0,
|
|
78
78
|
},
|
|
79
|
-
'__unstable-large': {
|
|
80
|
-
height: 40,
|
|
81
|
-
minHeight: 40,
|
|
82
|
-
paddingTop: 0,
|
|
83
|
-
paddingBottom: 0,
|
|
84
|
-
},
|
|
85
79
|
};
|
|
86
80
|
|
|
87
81
|
const style = sizes[ selectSize ] || sizes.default;
|
|
@@ -96,7 +90,6 @@ const sizePaddings = ( { multiple, selectSize = 'default' }: SelectProps ) => {
|
|
|
96
90
|
default: CONFIG.controlPaddingX,
|
|
97
91
|
small: CONFIG.controlPaddingXSmall,
|
|
98
92
|
compact: CONFIG.controlPaddingXSmall,
|
|
99
|
-
'__unstable-large': CONFIG.controlPaddingX,
|
|
100
93
|
};
|
|
101
94
|
|
|
102
95
|
const selectedPadding = padding[ selectSize ] || padding.default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://jestjs.io/docs/snapshot-testing
|
|
2
|
+
|
|
3
|
+
exports[`SelectControl Legacy size support treats __unstable-large the same as default 1`] = `
|
|
4
|
+
Snapshot Diff:
|
|
5
|
+
Compared values have no visual difference.
|
|
6
|
+
`;
|
|
7
|
+
|
|
8
|
+
exports[`SelectControl Legacy size support treats __unstable-large the same as default 2`] = `
|
|
9
|
+
Snapshot Diff:
|
|
10
|
+
Compared values have no visual difference.
|
|
11
|
+
`;
|
|
@@ -8,6 +8,7 @@ import userEvent from '@testing-library/user-event';
|
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
10
|
import SelectControl from '..';
|
|
11
|
+
import { InputControlPrefixWrapper } from '../../input-control/input-prefix-wrapper';
|
|
11
12
|
|
|
12
13
|
describe( 'SelectControl', () => {
|
|
13
14
|
it( 'should not render when no options or children are provided', () => {
|
|
@@ -225,4 +226,40 @@ describe( 'SelectControl', () => {
|
|
|
225
226
|
} );
|
|
226
227
|
} );
|
|
227
228
|
/* eslint-enable jest/expect-expect */
|
|
229
|
+
|
|
230
|
+
describe( 'Legacy size support', () => {
|
|
231
|
+
it( 'treats __unstable-large the same as default', () => {
|
|
232
|
+
const prefix = (
|
|
233
|
+
<InputControlPrefixWrapper>$</InputControlPrefixWrapper>
|
|
234
|
+
);
|
|
235
|
+
const options = [ { value: 'one', label: 'One' } ];
|
|
236
|
+
|
|
237
|
+
render(
|
|
238
|
+
<SelectControl
|
|
239
|
+
label="Test"
|
|
240
|
+
options={ options }
|
|
241
|
+
prefix={ prefix }
|
|
242
|
+
/>
|
|
243
|
+
);
|
|
244
|
+
render(
|
|
245
|
+
<SelectControl
|
|
246
|
+
label="Test"
|
|
247
|
+
options={ options }
|
|
248
|
+
prefix={ prefix }
|
|
249
|
+
// @ts-expect-error testing legacy runtime support for removed size type
|
|
250
|
+
size="__unstable-large"
|
|
251
|
+
/>
|
|
252
|
+
);
|
|
253
|
+
|
|
254
|
+
const [ defaultPrefixWrapper, legacyPrefixWrapper ] =
|
|
255
|
+
screen.getAllByText( '$' );
|
|
256
|
+
const [ defaultSelect, legacySelect ] =
|
|
257
|
+
screen.getAllByRole( 'combobox' );
|
|
258
|
+
|
|
259
|
+
expect( legacyPrefixWrapper ).toMatchStyleDiffSnapshot(
|
|
260
|
+
defaultPrefixWrapper
|
|
261
|
+
);
|
|
262
|
+
expect( legacySelect ).toMatchStyleDiffSnapshot( defaultSelect );
|
|
263
|
+
} );
|
|
264
|
+
} );
|
|
228
265
|
} );
|
|
@@ -11,8 +11,6 @@ import type { BaseControlProps } from '../base-control/types';
|
|
|
11
11
|
|
|
12
12
|
type SelectControlBaseProps< V extends string > = Pick<
|
|
13
13
|
InputBaseProps,
|
|
14
|
-
| '__next36pxDefaultSize'
|
|
15
|
-
| '__shouldNotWarnDeprecated36pxSize'
|
|
16
14
|
| 'disabled'
|
|
17
15
|
| 'hideLabelFromVision'
|
|
18
16
|
| 'label'
|
|
@@ -22,6 +20,14 @@ type SelectControlBaseProps< V extends string > = Pick<
|
|
|
22
20
|
| 'suffix'
|
|
23
21
|
> &
|
|
24
22
|
Pick< BaseControlProps, '__nextHasNoMarginBottom' | 'help' > & {
|
|
23
|
+
/**
|
|
24
|
+
* Deprecated. Use `__next40pxDefaultSize` instead.
|
|
25
|
+
*
|
|
26
|
+
* @default false
|
|
27
|
+
* @deprecated
|
|
28
|
+
* @ignore
|
|
29
|
+
*/
|
|
30
|
+
__next36pxDefaultSize?: boolean;
|
|
25
31
|
/**
|
|
26
32
|
* Start opting into the larger default height that will become the default size in a future version.
|
|
27
33
|
*
|
package/src/slot-fill/fill.tsx
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
1
|
import { useObservableValue } from '@wordpress/compose';
|
|
5
2
|
import {
|
|
6
3
|
useContext,
|
|
@@ -9,9 +6,6 @@ import {
|
|
|
9
6
|
createPortal,
|
|
10
7
|
} from '@wordpress/element';
|
|
11
8
|
|
|
12
|
-
/**
|
|
13
|
-
* Internal dependencies
|
|
14
|
-
*/
|
|
15
9
|
import SlotFillContext from './context';
|
|
16
10
|
import type { FillComponentProps } from './types';
|
|
17
11
|
import StyleProvider from '../style-provider';
|
|
@@ -62,9 +56,9 @@ export default function Fill( { name, children }: FillComponentProps ) {
|
|
|
62
56
|
: children;
|
|
63
57
|
|
|
64
58
|
// When using a `Fill`, the `children` will be rendered in the document of the
|
|
65
|
-
// `Slot`.
|
|
66
|
-
//
|
|
67
|
-
//
|
|
59
|
+
// `Slot`. Wrap the children in a `StyleProvider` so CSS module styles and
|
|
60
|
+
// legacy Emotion styles target that document/iframe instead of the document
|
|
61
|
+
// containing the `Fill`.
|
|
68
62
|
return createPortal(
|
|
69
63
|
<StyleProvider document={ portalEl.ownerDocument }>
|
|
70
64
|
{ wrappedChildren }
|
|
@@ -1,17 +1,34 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
1
|
import type { Meta, StoryFn } from '@storybook/react-vite';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
5
3
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
import {
|
|
5
|
+
createContext,
|
|
6
|
+
createPortal,
|
|
7
|
+
useContext,
|
|
8
|
+
useState,
|
|
9
|
+
} from '@wordpress/element';
|
|
10
10
|
|
|
11
|
-
/**
|
|
12
|
-
* Internal dependencies
|
|
13
|
-
*/
|
|
14
11
|
import { Slot, Fill, Provider as SlotFillProvider } from '../';
|
|
12
|
+
import { Spacer } from '../../spacer';
|
|
13
|
+
|
|
14
|
+
function IframePortal( { children }: { children: ReactNode } ) {
|
|
15
|
+
const [ bodyNode, setBodyNode ] = useState< HTMLElement | null >( null );
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<iframe
|
|
19
|
+
title="Cross-document SlotFill styles"
|
|
20
|
+
srcDoc="<!doctype html><html><body></body></html>"
|
|
21
|
+
onLoad={ ( event ) => {
|
|
22
|
+
setBodyNode(
|
|
23
|
+
event.currentTarget.contentDocument?.body ?? null
|
|
24
|
+
);
|
|
25
|
+
} }
|
|
26
|
+
style={ { border: 0, height: 160, width: '100%' } }
|
|
27
|
+
>
|
|
28
|
+
{ bodyNode && createPortal( children, bodyNode ) }
|
|
29
|
+
</iframe>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
15
32
|
|
|
16
33
|
const meta: Meta< typeof Slot > = {
|
|
17
34
|
tags: [ 'manifest' ],
|
|
@@ -143,3 +160,28 @@ export const WithContext: StoryFn< typeof Slot > = ( props ) => {
|
|
|
143
160
|
WithContext.args = {
|
|
144
161
|
...Default.args,
|
|
145
162
|
};
|
|
163
|
+
|
|
164
|
+
export const CrossDocumentStyles: StoryFn< typeof Slot > = () => {
|
|
165
|
+
return (
|
|
166
|
+
<SlotFillProvider>
|
|
167
|
+
<p>
|
|
168
|
+
The content below should have 32px of padding inside its
|
|
169
|
+
outline.
|
|
170
|
+
</p>
|
|
171
|
+
<IframePortal>
|
|
172
|
+
<Slot name="cross-document-styles" bubblesVirtually />
|
|
173
|
+
</IframePortal>
|
|
174
|
+
<Fill name="cross-document-styles">
|
|
175
|
+
<Spacer
|
|
176
|
+
padding={ 8 }
|
|
177
|
+
style={ {
|
|
178
|
+
display: 'inline-block',
|
|
179
|
+
outline: '2px solid currentColor',
|
|
180
|
+
} }
|
|
181
|
+
>
|
|
182
|
+
SCSS module styles rendered in another document
|
|
183
|
+
</Spacer>
|
|
184
|
+
</Fill>
|
|
185
|
+
</SlotFillProvider>
|
|
186
|
+
);
|
|
187
|
+
};
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { render, screen } from '@testing-library/react';
|
|
1
|
+
import { render, screen, within } from '@testing-library/react';
|
|
5
2
|
import userEvent from '@testing-library/user-event';
|
|
6
3
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
import { Component, createPortal, useState } from '@wordpress/element';
|
|
5
|
+
import { registerStyle } from '@wordpress/style-runtime';
|
|
6
|
+
|
|
10
7
|
import { Slot, Fill, Provider, useSlotFills } from '../';
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
function IframePortal( { children } ) {
|
|
10
|
+
const [ iframe, setIframe ] = useState( null );
|
|
11
|
+
const body = iframe?.contentDocument?.body;
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<iframe title="Slot document" ref={ setIframe }>
|
|
15
|
+
{ body && createPortal( children, body ) }
|
|
16
|
+
</iframe>
|
|
17
|
+
);
|
|
18
|
+
}
|
|
16
19
|
|
|
17
20
|
class Filler extends Component {
|
|
18
21
|
constructor() {
|
|
@@ -287,6 +290,45 @@ describe( 'Slot', () => {
|
|
|
287
290
|
expect( console ).toHaveWarned();
|
|
288
291
|
} );
|
|
289
292
|
|
|
293
|
+
describe( 'cross-document styles', () => {
|
|
294
|
+
afterEach( () => {
|
|
295
|
+
delete globalThis.__wpStyleRuntime;
|
|
296
|
+
document.head.innerHTML = '';
|
|
297
|
+
} );
|
|
298
|
+
|
|
299
|
+
it( 'injects registered SCSS module styles into the Slot document', () => {
|
|
300
|
+
const styleHash = 'slot-fill-cross-document-style';
|
|
301
|
+
const css = '.slot-fill-cross-document{padding:32px;}';
|
|
302
|
+
|
|
303
|
+
// CSS module registration is skipped by the Jest transform, so mirror the
|
|
304
|
+
// generated production call explicitly.
|
|
305
|
+
registerStyle( styleHash, css );
|
|
306
|
+
|
|
307
|
+
render(
|
|
308
|
+
<Provider>
|
|
309
|
+
<IframePortal>
|
|
310
|
+
<Slot name="cross-document" bubblesVirtually />
|
|
311
|
+
</IframePortal>
|
|
312
|
+
<Fill name="cross-document">
|
|
313
|
+
<div className="slot-fill-cross-document">
|
|
314
|
+
Styled content
|
|
315
|
+
</div>
|
|
316
|
+
</Fill>
|
|
317
|
+
</Provider>
|
|
318
|
+
);
|
|
319
|
+
const iframeDocument =
|
|
320
|
+
screen.getByTitle( 'Slot document' ).contentDocument;
|
|
321
|
+
|
|
322
|
+
const styledElement = within( iframeDocument.body ).getByText(
|
|
323
|
+
'Styled content'
|
|
324
|
+
);
|
|
325
|
+
expect(
|
|
326
|
+
iframeDocument.defaultView.getComputedStyle( styledElement )
|
|
327
|
+
.padding
|
|
328
|
+
).toBe( '32px' );
|
|
329
|
+
} );
|
|
330
|
+
} );
|
|
331
|
+
|
|
290
332
|
describe.each( [ false, true ] )(
|
|
291
333
|
'bubblesVirtually %p',
|
|
292
334
|
( bubblesVirtually ) => {
|