@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
|
@@ -26,8 +26,6 @@ import type { NumberControlProps } from './types';
|
|
|
26
26
|
import { HStack } from '../h-stack';
|
|
27
27
|
import { Spacer } from '../spacer';
|
|
28
28
|
import { useCx } from '../utils';
|
|
29
|
-
import { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';
|
|
30
|
-
import { maybeWarnDeprecated36pxSize } from '../utils/deprecated-36px-size';
|
|
31
29
|
|
|
32
30
|
const noop = () => {};
|
|
33
31
|
|
|
@@ -55,16 +53,8 @@ function UnforwardedNumberControl(
|
|
|
55
53
|
size = 'default',
|
|
56
54
|
suffix,
|
|
57
55
|
onChange = noop,
|
|
58
|
-
__shouldNotWarnDeprecated36pxSize,
|
|
59
56
|
...restProps
|
|
60
|
-
} =
|
|
61
|
-
|
|
62
|
-
maybeWarnDeprecated36pxSize( {
|
|
63
|
-
componentName: 'NumberControl',
|
|
64
|
-
size,
|
|
65
|
-
__next40pxDefaultSize: restProps.__next40pxDefaultSize,
|
|
66
|
-
__shouldNotWarnDeprecated36pxSize,
|
|
67
|
-
} );
|
|
57
|
+
} = props;
|
|
68
58
|
|
|
69
59
|
if ( hideHTMLArrows ) {
|
|
70
60
|
deprecated( 'wp.components.NumberControl hideHTMLArrows prop ', {
|
|
@@ -239,7 +229,6 @@ function UnforwardedNumberControl(
|
|
|
239
229
|
value={ valueProp }
|
|
240
230
|
__unstableStateReducer={ numberControlStateReducer }
|
|
241
231
|
size={ size }
|
|
242
|
-
__shouldNotWarnDeprecated36pxSize
|
|
243
232
|
suffix={
|
|
244
233
|
spinControls === 'custom' ? (
|
|
245
234
|
<>
|
|
@@ -32,7 +32,7 @@ const meta: Meta< typeof NumberControl > = {
|
|
|
32
32
|
componentStatus: {
|
|
33
33
|
status: 'recommended',
|
|
34
34
|
whereUsed: 'global',
|
|
35
|
-
notes: 'Will be superseded by `InputControl` with `type="number"` in `@wordpress/ui`, but continue using for now.',
|
|
35
|
+
notes: 'Will be superseded by [`InputControl`](?path=/docs/design-system-components-form-inputcontrol--docs) with `type="number"` in `@wordpress/ui`, but continue using for now.',
|
|
36
36
|
},
|
|
37
37
|
},
|
|
38
38
|
};
|
|
@@ -49,7 +49,6 @@ const Template: StoryFn< typeof NumberControl > = ( {
|
|
|
49
49
|
return (
|
|
50
50
|
<>
|
|
51
51
|
<NumberControl
|
|
52
|
-
__next40pxDefaultSize
|
|
53
52
|
{ ...props }
|
|
54
53
|
value={ value }
|
|
55
54
|
onChange={ ( v, extra ) => {
|
|
@@ -69,5 +68,4 @@ const Template: StoryFn< typeof NumberControl > = ( {
|
|
|
69
68
|
export const Default = Template.bind( {} );
|
|
70
69
|
Default.args = {
|
|
71
70
|
label: 'Value',
|
|
72
|
-
__next40pxDefaultSize: true,
|
|
73
71
|
};
|
|
@@ -17,7 +17,7 @@ import type { NumberControlProps } from '../types';
|
|
|
17
17
|
|
|
18
18
|
const NumberControl = (
|
|
19
19
|
props: React.ComponentProps< typeof _NumberControl >
|
|
20
|
-
) => <_NumberControl
|
|
20
|
+
) => <_NumberControl { ...props } />;
|
|
21
21
|
|
|
22
22
|
function StatefulNumberControl( props: NumberControlProps ) {
|
|
23
23
|
const [ value, setValue ] = useState( props.value );
|
|
@@ -91,11 +91,4 @@ export type NumberControlProps = Omit<
|
|
|
91
91
|
* The value of the input.
|
|
92
92
|
*/
|
|
93
93
|
value?: number | string;
|
|
94
|
-
/**
|
|
95
|
-
* Do not throw a warning for the deprecated 36px default size.
|
|
96
|
-
* For internal components of other components that already throw the warning.
|
|
97
|
-
*
|
|
98
|
-
* @ignore
|
|
99
|
-
*/
|
|
100
|
-
__shouldNotWarnDeprecated36pxSize?: boolean;
|
|
101
94
|
};
|
|
@@ -52,7 +52,7 @@ export const NameContainer = styled.div`
|
|
|
52
52
|
export const PaletteHeading = styled( Heading )`
|
|
53
53
|
text-transform: uppercase;
|
|
54
54
|
line-height: ${ space( 6 ) };
|
|
55
|
-
font-weight: ${ CONFIG.
|
|
55
|
+
font-weight: ${ CONFIG.fontWeightEmphasis };
|
|
56
56
|
&&& {
|
|
57
57
|
font-size: 11px;
|
|
58
58
|
margin-bottom: 0;
|
|
@@ -30,7 +30,7 @@ const meta: Meta< typeof Panel > = {
|
|
|
30
30
|
componentStatus: {
|
|
31
31
|
status: 'recommended',
|
|
32
32
|
whereUsed: 'editor',
|
|
33
|
-
notes: 'Intended for the block inspector sidebar. For collapsible sections elsewhere, use `CollapsibleCard` from `@wordpress/ui` instead.',
|
|
33
|
+
notes: 'Intended for the block inspector sidebar. For collapsible sections elsewhere, use [`CollapsibleCard`](?path=/docs/design-system-components-collapsiblecard--docs) from `@wordpress/ui` instead.',
|
|
34
34
|
},
|
|
35
35
|
},
|
|
36
36
|
};
|
|
@@ -78,12 +78,12 @@ _PanelRow.args = {
|
|
|
78
78
|
children: (
|
|
79
79
|
<PanelBody title="My Profile">
|
|
80
80
|
<PanelRow>
|
|
81
|
-
<InputControl label="First name"
|
|
82
|
-
<InputControl label="Last name"
|
|
81
|
+
<InputControl label="First name" />
|
|
82
|
+
<InputControl label="Last name" />
|
|
83
83
|
</PanelRow>
|
|
84
84
|
<PanelRow>
|
|
85
85
|
<div style={ { flex: 1 } }>
|
|
86
|
-
<InputControl label="Email"
|
|
86
|
+
<InputControl label="Email" />
|
|
87
87
|
</div>
|
|
88
88
|
</PanelRow>
|
|
89
89
|
</PanelBody>
|
package/src/panel/style.scss
CHANGED
|
@@ -87,13 +87,10 @@
|
|
|
87
87
|
.components-panel__body-toggle.components-button {
|
|
88
88
|
position: relative;
|
|
89
89
|
padding: $grid-unit-20 $grid-unit-60 $grid-unit-20 $grid-unit-20;
|
|
90
|
-
outline: none;
|
|
91
90
|
width: 100%;
|
|
92
|
-
font-weight:
|
|
91
|
+
font-weight: var(--wpds-typography-font-weight-emphasis);
|
|
93
92
|
text-align: left;
|
|
94
93
|
color: $gray-900;
|
|
95
|
-
border: none;
|
|
96
|
-
box-shadow: none;
|
|
97
94
|
|
|
98
95
|
@media not (prefers-reduced-motion) {
|
|
99
96
|
transition: 0.1s background ease-in-out;
|
|
@@ -102,7 +99,7 @@
|
|
|
102
99
|
height: auto;
|
|
103
100
|
|
|
104
101
|
&:focus {
|
|
105
|
-
|
|
102
|
+
outline-offset: calc(var(--wpds-border-width-focus) * -1);
|
|
106
103
|
border-radius: 0;
|
|
107
104
|
}
|
|
108
105
|
|
package/src/private-apis.ts
CHANGED
|
@@ -9,7 +9,6 @@ import { useDrag } from '@use-gesture/react';
|
|
|
9
9
|
import { positionToPlacement as __experimentalPopoverLegacyPositionToPlacement } from './popover/utils';
|
|
10
10
|
import { Menu } from './menu';
|
|
11
11
|
import { ComponentsContext } from './context/context-system-provider';
|
|
12
|
-
import Theme from './theme';
|
|
13
12
|
import { Tabs } from './tabs';
|
|
14
13
|
import { kebabCase, normalizeTextString } from './utils/strings';
|
|
15
14
|
import { withIgnoreIMEEvents } from './utils/with-ignore-ime-events';
|
|
@@ -24,19 +23,21 @@ import {
|
|
|
24
23
|
ValidatedNumberControl,
|
|
25
24
|
ValidatedSelectControl,
|
|
26
25
|
ValidatedRadioControl,
|
|
26
|
+
ValidatedContentEditableControl,
|
|
27
27
|
ValidatedTextControl,
|
|
28
28
|
ValidatedTextareaControl,
|
|
29
29
|
ValidatedToggleControl,
|
|
30
30
|
ValidatedToggleGroupControl,
|
|
31
31
|
} from './validated-form-controls';
|
|
32
32
|
import { ValidatedFormTokenField } from './validated-form-controls/components/form-token-field';
|
|
33
|
+
import ContentEditableControl from './content-editable-control';
|
|
33
34
|
|
|
34
35
|
export const privateApis = {};
|
|
35
36
|
lock( privateApis, {
|
|
37
|
+
ContentEditableControl,
|
|
36
38
|
__experimentalPopoverLegacyPositionToPlacement,
|
|
37
39
|
ComponentsContext,
|
|
38
40
|
Tabs,
|
|
39
|
-
Theme,
|
|
40
41
|
Menu,
|
|
41
42
|
kebabCase,
|
|
42
43
|
withIgnoreIMEEvents,
|
|
@@ -52,6 +53,7 @@ lock( privateApis, {
|
|
|
52
53
|
ValidatedNumberControl,
|
|
53
54
|
ValidatedSelectControl,
|
|
54
55
|
ValidatedRadioControl,
|
|
56
|
+
ValidatedContentEditableControl,
|
|
55
57
|
ValidatedTextControl,
|
|
56
58
|
ValidatedTextareaControl,
|
|
57
59
|
ValidatedToggleControl,
|
|
@@ -68,7 +68,6 @@ function UnforwardedRangeControl(
|
|
|
68
68
|
// Prevent passing legacy props to internal component.
|
|
69
69
|
__nextHasNoMarginBottom: _,
|
|
70
70
|
__next40pxDefaultSize: _next40pxDefaultSize,
|
|
71
|
-
__shouldNotWarnDeprecated36pxSize: _shouldNotWarnDeprecated36pxSize,
|
|
72
71
|
afterIcon,
|
|
73
72
|
allowReset = false,
|
|
74
73
|
beforeIcon,
|
|
@@ -326,7 +325,6 @@ function UnforwardedRangeControl(
|
|
|
326
325
|
onChange={ handleOnChange }
|
|
327
326
|
shiftStep={ shiftStep }
|
|
328
327
|
__unstableInputWidth={ space( 20 ) }
|
|
329
|
-
__next40pxDefaultSize
|
|
330
328
|
step={ step }
|
|
331
329
|
// @ts-expect-error TODO: Investigate if the `null` value is necessary
|
|
332
330
|
value={ inputSliderValue }
|
|
@@ -13,6 +13,7 @@ import type {
|
|
|
13
13
|
*/
|
|
14
14
|
import type { BaseControlProps } from '../base-control/types';
|
|
15
15
|
import type { IconType } from '../icon';
|
|
16
|
+
import type { NumberControlProps } from '../number-control/types';
|
|
16
17
|
|
|
17
18
|
export type NumericProps = {
|
|
18
19
|
/**
|
|
@@ -78,6 +79,7 @@ export type RangeControlProps = Pick<
|
|
|
78
79
|
BaseControlProps,
|
|
79
80
|
'__nextHasNoMarginBottom' | 'hideLabelFromVision' | 'help'
|
|
80
81
|
> &
|
|
82
|
+
Pick< NumberControlProps, '__next40pxDefaultSize' > &
|
|
81
83
|
MarksProps & {
|
|
82
84
|
/**
|
|
83
85
|
* If this property is added, an Icon component will be rendered
|
|
@@ -199,13 +201,6 @@ export type RangeControlProps = Pick<
|
|
|
199
201
|
* @default 10
|
|
200
202
|
*/
|
|
201
203
|
shiftStep?: number;
|
|
202
|
-
/**
|
|
203
|
-
* Start opting into the larger default height that will become the default size in a future version.
|
|
204
|
-
*
|
|
205
|
-
* @deprecated Default behavior since WordPress 7.1. Prop can be safely removed.
|
|
206
|
-
* @ignore
|
|
207
|
-
*/
|
|
208
|
-
__next40pxDefaultSize?: boolean;
|
|
209
204
|
/**
|
|
210
205
|
* Forcing the Tooltip UI to show or hide. This is overridden to `false`
|
|
211
206
|
* when `step` is set to the special string value `any`.
|
|
@@ -230,14 +225,6 @@ export type RangeControlProps = Pick<
|
|
|
230
225
|
* @default true
|
|
231
226
|
*/
|
|
232
227
|
withInputField?: boolean;
|
|
233
|
-
/**
|
|
234
|
-
* Do not throw a warning for the deprecated 36px default size.
|
|
235
|
-
* For internal components of other components that already throw the warning.
|
|
236
|
-
*
|
|
237
|
-
* @deprecated Default behavior since WordPress 7.1. Prop can be safely removed.
|
|
238
|
-
* @ignore
|
|
239
|
-
*/
|
|
240
|
-
__shouldNotWarnDeprecated36pxSize?: boolean;
|
|
241
228
|
};
|
|
242
229
|
|
|
243
230
|
export type RailProps = MarksProps & {
|
package/src/sandbox/index.tsx
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* WordPress dependencies
|
|
3
8
|
*/
|
|
@@ -37,11 +42,17 @@ export const VIEWPORT_UNIT_VALUE_REGEX =
|
|
|
37
42
|
const observeAndResizeJS = function () {
|
|
38
43
|
const { MutationObserver } = window;
|
|
39
44
|
|
|
40
|
-
if ( ! MutationObserver || !
|
|
45
|
+
if ( ! MutationObserver || ! window.parent ) {
|
|
41
46
|
return;
|
|
42
47
|
}
|
|
43
48
|
|
|
44
49
|
function sendResize() {
|
|
50
|
+
// This runs in the document <head>, and as a `load`/`resize` listener,
|
|
51
|
+
// so the body may not exist yet. Bail rather than throw on a null body.
|
|
52
|
+
if ( ! document.body ) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
45
56
|
const clientBoundingRect = document.body.getBoundingClientRect();
|
|
46
57
|
|
|
47
58
|
window.parent.postMessage(
|
|
@@ -54,60 +65,88 @@ const observeAndResizeJS = function () {
|
|
|
54
65
|
);
|
|
55
66
|
}
|
|
56
67
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
68
|
+
// Runs the body-dependent setup once the document body is available. Reads
|
|
69
|
+
// `document.body` into a local so the null check narrows it for the rest of
|
|
70
|
+
// the function: this runs in <head> and via DOMContentLoaded, so the body
|
|
71
|
+
// isn't guaranteed to exist yet.
|
|
72
|
+
function connect() {
|
|
73
|
+
const { body } = document;
|
|
74
|
+
if ( ! body ) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
66
77
|
|
|
67
|
-
|
|
78
|
+
const observer = new MutationObserver( sendResize );
|
|
79
|
+
observer.observe( body, {
|
|
80
|
+
attributes: true,
|
|
81
|
+
attributeOldValue: false,
|
|
82
|
+
characterData: true,
|
|
83
|
+
characterDataOldValue: false,
|
|
84
|
+
childList: true,
|
|
85
|
+
subtree: true,
|
|
86
|
+
} );
|
|
87
|
+
|
|
88
|
+
// Hack: Remove viewport unit styles, as these are relative
|
|
89
|
+
// the iframe root and interfere with our mechanism for
|
|
90
|
+
// determining the unconstrained page bounds.
|
|
91
|
+
function removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {
|
|
92
|
+
if ( ruleOrNode.style ) {
|
|
93
|
+
(
|
|
94
|
+
[ 'width', 'height', 'minHeight', 'maxHeight' ] as const
|
|
95
|
+
).forEach( function ( style ) {
|
|
96
|
+
if (
|
|
97
|
+
/^\d*\.?\d+(?:vw|vh|svw|lvw|dvw|svh|lvh|dvh|vi|svi|lvi|dvi|vb|svb|lvb|dvb|vmin|svmin|lvmin|dvmin|vmax|svmax|lvmax|dvmax)$/.test(
|
|
98
|
+
ruleOrNode.style[ style ]
|
|
99
|
+
)
|
|
100
|
+
) {
|
|
101
|
+
ruleOrNode.style[ style ] = '';
|
|
102
|
+
}
|
|
103
|
+
} );
|
|
104
|
+
}
|
|
105
|
+
}
|
|
68
106
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
107
|
+
Array.prototype.forEach.call(
|
|
108
|
+
document.querySelectorAll( '[style]' ),
|
|
109
|
+
removeViewportStyles
|
|
110
|
+
);
|
|
111
|
+
Array.prototype.forEach.call(
|
|
112
|
+
document.styleSheets,
|
|
113
|
+
function ( stylesheet ) {
|
|
114
|
+
let rules;
|
|
115
|
+
try {
|
|
116
|
+
rules = stylesheet.cssRules || stylesheet.rules;
|
|
117
|
+
} catch {
|
|
118
|
+
// Reading `cssRules` throws a SecurityError for a
|
|
119
|
+
// cross-origin stylesheet (e.g. a remote <link> in the
|
|
120
|
+
// user's HTML). Skip those rather than aborting the setup.
|
|
121
|
+
return;
|
|
83
122
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
123
|
+
Array.prototype.forEach.call( rules, removeViewportStyles );
|
|
124
|
+
}
|
|
125
|
+
);
|
|
87
126
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
);
|
|
92
|
-
Array.prototype.forEach.call(
|
|
93
|
-
document.styleSheets,
|
|
94
|
-
function ( stylesheet ) {
|
|
95
|
-
Array.prototype.forEach.call(
|
|
96
|
-
stylesheet.cssRules || stylesheet.rules,
|
|
97
|
-
removeViewportStyles
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
);
|
|
127
|
+
body.style.position = 'absolute';
|
|
128
|
+
body.style.width = '100%';
|
|
129
|
+
body.setAttribute( 'data-resizable-iframe-connected', '' );
|
|
101
130
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
document.body.setAttribute( 'data-resizable-iframe-connected', '' );
|
|
131
|
+
sendResize();
|
|
132
|
+
}
|
|
105
133
|
|
|
106
|
-
sendResize
|
|
134
|
+
window.addEventListener( 'load', sendResize, true );
|
|
107
135
|
|
|
108
136
|
// Resize events can change the width of elements with 100% width, but we don't
|
|
109
137
|
// get an DOM mutations for that, so do the resize when the window is resized, too.
|
|
110
138
|
window.addEventListener( 'resize', sendResize, true );
|
|
139
|
+
|
|
140
|
+
// This script is injected into the document <head> so it parses before the
|
|
141
|
+
// (possibly malformed) user content in <body>: an unclosed attribute quote
|
|
142
|
+
// in that content can't then swallow this <script> tag and dump its source
|
|
143
|
+
// into the preview as visible text. Because <head> runs before <body>
|
|
144
|
+
// exists, defer the body-dependent setup until the DOM is ready.
|
|
145
|
+
if ( document.body ) {
|
|
146
|
+
connect();
|
|
147
|
+
} else {
|
|
148
|
+
document.addEventListener( 'DOMContentLoaded', connect );
|
|
149
|
+
}
|
|
111
150
|
};
|
|
112
151
|
|
|
113
152
|
// TODO: These styles shouldn't be coupled with WordPress.
|
|
@@ -135,23 +174,48 @@ const style = `
|
|
|
135
174
|
`;
|
|
136
175
|
|
|
137
176
|
/**
|
|
138
|
-
* Builds the full HTML document string for the sandbox iframe content.
|
|
177
|
+
* Builds the full HTML document string for the sandbox iframe content. Shared
|
|
178
|
+
* by both the isolated (`srcdoc`) and same-origin (`contentDocument.write`)
|
|
179
|
+
* sandboxes so the two paths always emit the same markup — notably keeping the
|
|
180
|
+
* resize script in `<head>`, ahead of the user content, on both. A single
|
|
181
|
+
* builder means the write path cannot drift back to putting the script in
|
|
182
|
+
* `<body>` while the `srcdoc` path keeps it in `<head>`.
|
|
183
|
+
*
|
|
184
|
+
* `lang` is passed in rather than read here because the two callers source it
|
|
185
|
+
* from different documents: the isolated sandbox uses the module's `document`,
|
|
186
|
+
* while the same-origin sandbox uses the iframe's `ownerDocument`. They are
|
|
187
|
+
* normally the same document, but keeping the argument preserves each path's
|
|
188
|
+
* exact prior behavior.
|
|
189
|
+
*
|
|
190
|
+
* Exported for tests.
|
|
191
|
+
*
|
|
192
|
+
* @param props
|
|
193
|
+
* @param props.html User-supplied HTML for the iframe body.
|
|
194
|
+
* @param props.title Document title.
|
|
195
|
+
* @param props.type Optional class name for the `<html>`/`<body>` elements.
|
|
196
|
+
* @param props.styles CSS rule strings, injected as `<style>` tags in the head.
|
|
197
|
+
* @param props.scripts External script URLs, injected as `<script src>` in the
|
|
198
|
+
* body (embeds expect their scripts there).
|
|
199
|
+
* @param props.lang Language for the `<html lang>` attribute.
|
|
200
|
+
* @return The full `<!DOCTYPE html>…` document string.
|
|
139
201
|
*/
|
|
140
|
-
function buildSandBoxDocument( {
|
|
202
|
+
export function buildSandBoxDocument( {
|
|
141
203
|
html,
|
|
142
204
|
title,
|
|
143
205
|
type,
|
|
144
206
|
styles,
|
|
145
207
|
scripts,
|
|
208
|
+
lang,
|
|
146
209
|
}: {
|
|
147
210
|
html: string;
|
|
148
211
|
title: string;
|
|
149
212
|
type?: string;
|
|
150
213
|
styles: string[];
|
|
151
214
|
scripts: string[];
|
|
215
|
+
lang: string;
|
|
152
216
|
} ): string {
|
|
153
217
|
const htmlDoc = (
|
|
154
|
-
<html lang={
|
|
218
|
+
<html lang={ lang } className={ type }>
|
|
155
219
|
<head>
|
|
156
220
|
<title>{ title }</title>
|
|
157
221
|
<style dangerouslySetInnerHTML={ { __html: style } } />
|
|
@@ -161,18 +225,18 @@ function buildSandBoxDocument( {
|
|
|
161
225
|
dangerouslySetInnerHTML={ { __html: rules } }
|
|
162
226
|
/>
|
|
163
227
|
) ) }
|
|
164
|
-
</head>
|
|
165
|
-
<body
|
|
166
|
-
data-resizable-iframe-connected="data-resizable-iframe-connected"
|
|
167
|
-
className={ type }
|
|
168
|
-
>
|
|
169
|
-
<div dangerouslySetInnerHTML={ { __html: html } } />
|
|
170
228
|
<script
|
|
171
229
|
type="text/javascript"
|
|
172
230
|
dangerouslySetInnerHTML={ {
|
|
173
231
|
__html: `(${ observeAndResizeJS.toString() })();`,
|
|
174
232
|
} }
|
|
175
233
|
/>
|
|
234
|
+
</head>
|
|
235
|
+
<body
|
|
236
|
+
data-resizable-iframe-connected="data-resizable-iframe-connected"
|
|
237
|
+
className={ type }
|
|
238
|
+
>
|
|
239
|
+
<div dangerouslySetInnerHTML={ { __html: html } } />
|
|
176
240
|
{ scripts.map( ( src ) => (
|
|
177
241
|
<script key={ src } src={ src } />
|
|
178
242
|
) ) }
|
|
@@ -203,13 +267,29 @@ function IsolatedSandBox( {
|
|
|
203
267
|
scripts = [],
|
|
204
268
|
onFocus,
|
|
205
269
|
tabIndex,
|
|
270
|
+
allowPopups = false,
|
|
206
271
|
}: SandBoxContentProps ) {
|
|
207
272
|
const ref = useRef< HTMLIFrameElement >( null );
|
|
208
273
|
const [ width, setWidth ] = useState( 0 );
|
|
209
274
|
const [ height, setHeight ] = useState( 0 );
|
|
210
275
|
|
|
276
|
+
const sandbox = clsx( 'allow-scripts', 'allow-presentation', {
|
|
277
|
+
'allow-popups': allowPopups,
|
|
278
|
+
} );
|
|
279
|
+
|
|
211
280
|
const srcDoc = useMemo(
|
|
212
|
-
() =>
|
|
281
|
+
() =>
|
|
282
|
+
buildSandBoxDocument( {
|
|
283
|
+
html,
|
|
284
|
+
title,
|
|
285
|
+
type,
|
|
286
|
+
styles,
|
|
287
|
+
scripts,
|
|
288
|
+
// Read inside the memo: the `no-dom-globals-in-react-fc` lint
|
|
289
|
+
// rule forbids DOM globals in the render body. `lang` rarely
|
|
290
|
+
// changes after load, so leaving it out of the deps is fine.
|
|
291
|
+
lang: document.documentElement.lang,
|
|
292
|
+
} ),
|
|
213
293
|
[ html, title, type, styles, scripts ]
|
|
214
294
|
);
|
|
215
295
|
|
|
@@ -281,7 +361,7 @@ function IsolatedSandBox( {
|
|
|
281
361
|
title={ title }
|
|
282
362
|
tabIndex={ tabIndex }
|
|
283
363
|
className="components-sandbox"
|
|
284
|
-
sandbox=
|
|
364
|
+
sandbox={ sandbox }
|
|
285
365
|
srcDoc={ srcDoc }
|
|
286
366
|
onFocus={ onFocus }
|
|
287
367
|
width={ Math.ceil( width ) }
|
|
@@ -312,11 +392,21 @@ function SameOriginSandBox( {
|
|
|
312
392
|
scripts = [],
|
|
313
393
|
onFocus,
|
|
314
394
|
tabIndex,
|
|
395
|
+
allowPopups = false,
|
|
315
396
|
}: SandBoxContentProps ) {
|
|
316
397
|
const ref = useRef< HTMLIFrameElement >( null );
|
|
317
398
|
const [ width, setWidth ] = useState( 0 );
|
|
318
399
|
const [ height, setHeight ] = useState( 0 );
|
|
319
400
|
|
|
401
|
+
const sandbox = clsx(
|
|
402
|
+
'allow-scripts',
|
|
403
|
+
'allow-same-origin',
|
|
404
|
+
'allow-presentation',
|
|
405
|
+
{
|
|
406
|
+
'allow-popups': allowPopups,
|
|
407
|
+
}
|
|
408
|
+
);
|
|
409
|
+
|
|
320
410
|
function isFrameAccessible() {
|
|
321
411
|
try {
|
|
322
412
|
return !! ref.current?.contentDocument?.body;
|
|
@@ -345,48 +435,25 @@ function SameOriginSandBox( {
|
|
|
345
435
|
return;
|
|
346
436
|
}
|
|
347
437
|
|
|
348
|
-
// Put the html snippet into a html document, and then write it to the
|
|
349
|
-
//
|
|
350
|
-
//
|
|
351
|
-
//
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
>
|
|
357
|
-
<head>
|
|
358
|
-
<title>{ title }</title>
|
|
359
|
-
<style dangerouslySetInnerHTML={ { __html: style } } />
|
|
360
|
-
{ styles.map( ( rules, i ) => (
|
|
361
|
-
<style
|
|
362
|
-
key={ i }
|
|
363
|
-
dangerouslySetInnerHTML={ { __html: rules } }
|
|
364
|
-
/>
|
|
365
|
-
) ) }
|
|
366
|
-
</head>
|
|
367
|
-
<body
|
|
368
|
-
data-resizable-iframe-connected="data-resizable-iframe-connected"
|
|
369
|
-
className={ type }
|
|
370
|
-
>
|
|
371
|
-
<div dangerouslySetInnerHTML={ { __html: html } } />
|
|
372
|
-
<script
|
|
373
|
-
type="text/javascript"
|
|
374
|
-
dangerouslySetInnerHTML={ {
|
|
375
|
-
__html: `(${ observeAndResizeJS.toString() })();`,
|
|
376
|
-
} }
|
|
377
|
-
/>
|
|
378
|
-
{ scripts.map( ( src ) => (
|
|
379
|
-
<script key={ src } src={ src } />
|
|
380
|
-
) ) }
|
|
381
|
-
</body>
|
|
382
|
-
</html>
|
|
383
|
-
);
|
|
384
|
-
|
|
385
|
-
// Writing the document like this makes it act in the same way as if it was
|
|
386
|
-
// loaded over the network, so DOM creation and mutation, script execution, etc.
|
|
387
|
-
// all work as expected.
|
|
438
|
+
// Put the html snippet into a html document, and then write it to the
|
|
439
|
+
// iframe's document. The external `scripts` still go into the body to
|
|
440
|
+
// support embedded content such as Instagram that expects them there;
|
|
441
|
+
// only the resize helper lives in the head.
|
|
442
|
+
//
|
|
443
|
+
// Writing the document like this makes it act in the same way as if it
|
|
444
|
+
// was loaded over the network, so DOM creation and mutation, script
|
|
445
|
+
// execution, etc. all work as expected.
|
|
388
446
|
contentDocument.open();
|
|
389
|
-
contentDocument.write(
|
|
447
|
+
contentDocument.write(
|
|
448
|
+
buildSandBoxDocument( {
|
|
449
|
+
html,
|
|
450
|
+
title,
|
|
451
|
+
type,
|
|
452
|
+
styles,
|
|
453
|
+
scripts,
|
|
454
|
+
lang: ownerDocument.documentElement.lang,
|
|
455
|
+
} )
|
|
456
|
+
);
|
|
390
457
|
contentDocument.close();
|
|
391
458
|
}
|
|
392
459
|
|
|
@@ -463,7 +530,7 @@ function SameOriginSandBox( {
|
|
|
463
530
|
title={ title }
|
|
464
531
|
tabIndex={ tabIndex }
|
|
465
532
|
className="components-sandbox"
|
|
466
|
-
sandbox=
|
|
533
|
+
sandbox={ sandbox }
|
|
467
534
|
onFocus={ onFocus }
|
|
468
535
|
width={ Math.ceil( width ) }
|
|
469
536
|
height={ Math.ceil( height ) }
|