@wordpress/components 25.6.0 → 25.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -1
- package/CONTRIBUTING.md +2 -2
- package/README.md +3 -8
- package/build/color-palette/utils.js +2 -9
- package/build/color-palette/utils.js.map +1 -1
- package/build/color-picker/hsv-color-picker.native.js +92 -0
- package/build/color-picker/hsv-color-picker.native.js.map +1 -0
- package/build/color-picker/hue-picker.native.js +195 -0
- package/build/color-picker/hue-picker.native.js.map +1 -0
- package/build/color-picker/index.native.js +3 -2
- package/build/color-picker/index.native.js.map +1 -1
- package/build/color-picker/saturation-picker.native.js +178 -0
- package/build/color-picker/saturation-picker.native.js.map +1 -0
- package/build/item-group/item/component.js +0 -1
- package/build/item-group/item/component.js.map +1 -1
- package/build/item-group/item-group/component.js +0 -1
- package/build/item-group/item-group/component.js.map +1 -1
- package/build/menu-item/index.js +6 -4
- package/build/menu-item/index.js.map +1 -1
- package/build/menu-item/types.js.map +1 -1
- package/build/mobile/link-settings/link-settings-navigation.native.js +1 -1
- package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build/navigation/index.js +0 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigator/navigator-provider/component.js +1 -2
- package/build/navigator/navigator-provider/component.js.map +1 -1
- package/build/palette-edit/styles.js +10 -10
- package/build/palette-edit/styles.js.map +1 -1
- package/build/popover/index.js +38 -75
- package/build/popover/index.js.map +1 -1
- package/build/popover/overlay-middlewares.js.map +1 -1
- package/build/popover/types.js.map +1 -1
- package/build/popover/utils.js +5 -50
- package/build/popover/utils.js.map +1 -1
- package/build/progress-bar/styles.js +6 -5
- package/build/progress-bar/styles.js.map +1 -1
- package/build/sandbox/index.js +1 -1
- package/build/sandbox/index.js.map +1 -1
- package/build/search-control/index.native.js +27 -24
- package/build/search-control/index.native.js.map +1 -1
- package/build/shortcut/index.js +13 -0
- package/build/shortcut/index.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/slot-fill-context.js +4 -2
- package/build/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/slot.js +14 -8
- package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
- package/build/slot-fill/index.js +5 -0
- package/build/slot-fill/index.js.map +1 -1
- package/build/snackbar/index.js +1 -1
- package/build/snackbar/index.js.map +1 -1
- package/build/spinner/index.js +0 -1
- package/build/spinner/index.js.map +1 -1
- package/build/theme/color-algorithms.js +2 -2
- package/build/theme/color-algorithms.js.map +1 -1
- package/build/theme/index.js +0 -1
- package/build/theme/index.js.map +1 -1
- package/build/toolbar/toolbar-item/index.js +1 -1
- package/build/toolbar/toolbar-item/index.js.map +1 -1
- package/build/toolbar/toolbar-item/index.native.js +1 -1
- package/build/toolbar/toolbar-item/index.native.js.map +1 -1
- package/build/tools-panel/tools-panel/component.js +0 -1
- package/build/tools-panel/tools-panel/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +5 -1
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/tree-select/index.js +0 -1
- package/build/tree-select/index.js.map +1 -1
- package/build/ui/context/constants.js +2 -6
- package/build/ui/context/constants.js.map +1 -1
- package/build/ui/context/context-connect.js +1 -1
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/ui/context/context-system-provider.js +1 -1
- package/build/ui/context/context-system-provider.js.map +1 -1
- package/build/ui/context/use-context-system.js +1 -1
- package/build/ui/context/use-context-system.js.map +1 -1
- package/build/unit-control/index.js +0 -1
- package/build/unit-control/index.js.map +1 -1
- package/build/utils/hooks/use-cx.js +2 -1
- package/build/utils/hooks/use-cx.js.map +1 -1
- package/build/utils/math.js +0 -12
- package/build/utils/math.js.map +1 -1
- package/build/utils/values.js +3 -66
- package/build/utils/values.js.map +1 -1
- package/build/view/component.js +1 -2
- package/build/view/component.js.map +1 -1
- package/build-module/color-palette/utils.js +0 -6
- package/build-module/color-palette/utils.js.map +1 -1
- package/build-module/color-picker/hsv-color-picker.native.js +84 -0
- package/build-module/color-picker/hsv-color-picker.native.js.map +1 -0
- package/build-module/color-picker/hue-picker.native.js +185 -0
- package/build-module/color-picker/hue-picker.native.js.map +1 -0
- package/build-module/color-picker/index.native.js +2 -1
- package/build-module/color-picker/index.native.js.map +1 -1
- package/build-module/color-picker/saturation-picker.native.js +168 -0
- package/build-module/color-picker/saturation-picker.native.js.map +1 -0
- package/build-module/item-group/item/component.js +0 -1
- package/build-module/item-group/item/component.js.map +1 -1
- package/build-module/item-group/item-group/component.js +0 -1
- package/build-module/item-group/item-group/component.js.map +1 -1
- package/build-module/menu-item/index.js +4 -2
- package/build-module/menu-item/index.js.map +1 -1
- package/build-module/menu-item/types.js.map +1 -1
- package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -1
- package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build-module/navigation/index.js +0 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigator/navigator-provider/component.js +1 -2
- package/build-module/navigator/navigator-provider/component.js.map +1 -1
- package/build-module/palette-edit/styles.js +10 -10
- package/build-module/palette-edit/styles.js.map +1 -1
- package/build-module/popover/index.js +42 -79
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/overlay-middlewares.js.map +1 -1
- package/build-module/popover/types.js.map +1 -1
- package/build-module/popover/utils.js +4 -47
- package/build-module/popover/utils.js.map +1 -1
- package/build-module/progress-bar/styles.js +6 -5
- package/build-module/progress-bar/styles.js.map +1 -1
- package/build-module/sandbox/index.js +1 -1
- package/build-module/sandbox/index.js.map +1 -1
- package/build-module/search-control/index.native.js +28 -25
- package/build-module/search-control/index.native.js.map +1 -1
- package/build-module/shortcut/index.js +13 -0
- package/build-module/shortcut/index.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot-fill-context.js +4 -2
- package/build-module/slot-fill/bubbles-virtually/slot-fill-context.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot.js +14 -8
- package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
- package/build-module/slot-fill/index.js +6 -1
- package/build-module/slot-fill/index.js.map +1 -1
- package/build-module/snackbar/index.js +1 -1
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/spinner/index.js +0 -1
- package/build-module/spinner/index.js.map +1 -1
- package/build-module/theme/color-algorithms.js +2 -2
- package/build-module/theme/color-algorithms.js.map +1 -1
- package/build-module/theme/index.js +0 -1
- package/build-module/theme/index.js.map +1 -1
- package/build-module/toolbar/toolbar-item/index.js +1 -1
- package/build-module/toolbar/toolbar-item/index.js.map +1 -1
- package/build-module/toolbar/toolbar-item/index.native.js +1 -1
- package/build-module/toolbar/toolbar-item/index.native.js.map +1 -1
- package/build-module/tools-panel/tools-panel/component.js +0 -1
- package/build-module/tools-panel/tools-panel/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +5 -1
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/tree-select/index.js +0 -1
- package/build-module/tree-select/index.js.map +1 -1
- package/build-module/ui/context/constants.js +0 -2
- package/build-module/ui/context/constants.js.map +1 -1
- package/build-module/ui/context/context-connect.js +1 -1
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/ui/context/context-system-provider.js +1 -1
- package/build-module/ui/context/context-system-provider.js.map +1 -1
- package/build-module/ui/context/use-context-system.js +1 -1
- package/build-module/ui/context/use-context-system.js.map +1 -1
- package/build-module/unit-control/index.js +0 -1
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/utils/hooks/use-cx.js +2 -1
- package/build-module/utils/hooks/use-cx.js.map +1 -1
- package/build-module/utils/math.js +0 -11
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/values.js +0 -60
- package/build-module/utils/values.js.map +1 -1
- package/build-module/view/component.js +1 -2
- package/build-module/view/component.js.map +1 -1
- package/build-types/alignment-matrix-control/stories/index.story.d.ts +2 -2
- package/build-types/alignment-matrix-control/stories/index.story.d.ts.map +1 -1
- package/build-types/angle-picker-control/stories/index.story.d.ts +2 -2
- package/build-types/angle-picker-control/stories/index.story.d.ts.map +1 -1
- package/build-types/animate/stories/index.story.d.ts +9 -9
- package/build-types/animate/stories/index.story.d.ts.map +1 -1
- package/build-types/base-control/stories/index.story.d.ts +4 -4
- package/build-types/base-control/stories/index.story.d.ts.map +1 -1
- package/build-types/border-box-control/stories/index.story.d.ts +2 -2
- package/build-types/border-box-control/stories/index.story.d.ts.map +1 -1
- package/build-types/border-control/stories/index.story.d.ts +2 -2
- package/build-types/border-control/stories/index.story.d.ts.map +1 -1
- package/build-types/button/stories/e2e/index.story.d.ts +3 -3
- package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
- package/build-types/button/stories/index.story.d.ts +10 -9
- package/build-types/button/stories/index.story.d.ts.map +1 -1
- package/build-types/button-group/stories/index.story.d.ts +3 -3
- package/build-types/button-group/stories/index.story.d.ts.map +1 -1
- package/build-types/card/stories/index.story.d.ts +2 -2
- package/build-types/card/stories/index.story.d.ts.map +1 -1
- package/build-types/checkbox-control/stories/index.story.d.ts +4 -4
- package/build-types/checkbox-control/stories/index.story.d.ts.map +1 -1
- package/build-types/circular-option-picker/stories/index.story.d.ts +2 -2
- package/build-types/circular-option-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/color-indicator/stories/index.story.d.ts +3 -3
- package/build-types/color-indicator/stories/index.story.d.ts.map +1 -1
- package/build-types/color-palette/stories/index.story.d.ts +3 -3
- package/build-types/color-palette/stories/index.story.d.ts.map +1 -1
- package/build-types/color-palette/styles.d.ts +1 -1
- package/build-types/color-palette/utils.d.ts +0 -1
- package/build-types/color-palette/utils.d.ts.map +1 -1
- package/build-types/color-picker/stories/index.story.d.ts +2 -2
- package/build-types/color-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/combobox-control/stories/index.story.d.ts +2 -2
- package/build-types/combobox-control/stories/index.story.d.ts.map +1 -1
- package/build-types/custom-gradient-picker/stories/index.story.d.ts +2 -2
- package/build-types/custom-gradient-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +1 -1
- package/build-types/date-time/stories/date-time.story.d.ts +5 -5
- package/build-types/date-time/stories/date-time.story.d.ts.map +1 -1
- package/build-types/date-time/stories/date.story.d.ts +5 -5
- package/build-types/date-time/stories/date.story.d.ts.map +1 -1
- package/build-types/date-time/stories/time.story.d.ts +3 -3
- package/build-types/date-time/stories/time.story.d.ts.map +1 -1
- package/build-types/dimension-control/stories/index.story.d.ts.map +1 -1
- package/build-types/disabled/stories/index.story.d.ts +4 -4
- package/build-types/disabled/stories/index.story.d.ts.map +1 -1
- package/build-types/divider/stories/index.story.d.ts +5 -5
- package/build-types/divider/stories/index.story.d.ts.map +1 -1
- package/build-types/draggable/stories/index.story.d.ts +4 -4
- package/build-types/draggable/stories/index.story.d.ts.map +1 -1
- package/build-types/drop-zone/stories/index.story.d.ts +2 -2
- package/build-types/drop-zone/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown/stories/index.story.d.ts +6 -5
- package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu/stories/index.story.d.ts +2 -2
- package/build-types/dropdown-menu/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2/stories/index.story.d.ts +2 -2
- package/build-types/dropdown-menu-v2/stories/index.story.d.ts.map +1 -1
- package/build-types/duotone-picker/stories/duotone-picker.story.d.ts +2 -2
- package/build-types/duotone-picker/stories/duotone-picker.story.d.ts.map +1 -1
- package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts +2 -2
- package/build-types/duotone-picker/stories/duotone-swatch.story.d.ts.map +1 -1
- package/build-types/elevation/stories/index.story.d.ts +5 -5
- package/build-types/elevation/stories/index.story.d.ts.map +1 -1
- package/build-types/external-link/stories/index.story.d.ts +3 -3
- package/build-types/external-link/stories/index.story.d.ts.map +1 -1
- package/build-types/flex/stories/index.story.d.ts +4 -4
- package/build-types/flex/stories/index.story.d.ts.map +1 -1
- package/build-types/focal-point-picker/stories/index.story.d.ts +2 -2
- package/build-types/focal-point-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/font-size-picker/stories/e2e/index.story.d.ts +2 -2
- package/build-types/font-size-picker/stories/e2e/index.story.d.ts.map +1 -1
- package/build-types/font-size-picker/stories/index.story.d.ts +8 -8
- package/build-types/font-size-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/form-file-upload/stories/index.story.d.ts +2 -2
- package/build-types/form-file-upload/stories/index.story.d.ts.map +1 -1
- package/build-types/form-toggle/stories/index.story.d.ts +3 -3
- package/build-types/form-toggle/stories/index.story.d.ts.map +1 -1
- package/build-types/form-token-field/stories/index.story.d.ts +7 -7
- package/build-types/form-token-field/stories/index.story.d.ts.map +1 -1
- package/build-types/gradient-picker/stories/index.story.d.ts +2 -2
- package/build-types/gradient-picker/stories/index.story.d.ts.map +1 -1
- package/build-types/grid/stories/index.story.d.ts +3 -3
- package/build-types/grid/stories/index.story.d.ts.map +1 -1
- package/build-types/guide/stories/index.story.d.ts +2 -2
- package/build-types/guide/stories/index.story.d.ts.map +1 -1
- package/build-types/h-stack/stories/e2e/index.story.d.ts +3 -3
- package/build-types/h-stack/stories/e2e/index.story.d.ts.map +1 -1
- package/build-types/h-stack/stories/index.story.d.ts +3 -3
- package/build-types/h-stack/stories/index.story.d.ts.map +1 -1
- package/build-types/heading/stories/index.story.d.ts +3 -3
- package/build-types/heading/stories/index.story.d.ts.map +1 -1
- package/build-types/icon/stories/index.story.d.ts +4 -4
- package/build-types/icon/stories/index.story.d.ts.map +1 -1
- package/build-types/input-control/stories/index.story.d.ts +2 -2
- package/build-types/input-control/stories/index.story.d.ts.map +1 -1
- package/build-types/item-group/item/component.d.ts +0 -1
- package/build-types/item-group/item/component.d.ts.map +1 -1
- package/build-types/item-group/item/hook.d.ts +1 -1
- package/build-types/item-group/item-group/component.d.ts +0 -1
- package/build-types/item-group/item-group/component.d.ts.map +1 -1
- package/build-types/item-group/stories/index.story.d.ts +6 -6
- package/build-types/item-group/stories/index.story.d.ts.map +1 -1
- package/build-types/keyboard-shortcuts/stories/index.story.d.ts +2 -2
- package/build-types/keyboard-shortcuts/stories/index.story.d.ts.map +1 -1
- package/build-types/menu-group/stories/index.story.d.ts +3 -3
- package/build-types/menu-group/stories/index.story.d.ts.map +1 -1
- package/build-types/menu-item/index.d.ts +5 -58
- package/build-types/menu-item/index.d.ts.map +1 -1
- package/build-types/menu-item/stories/index.story.d.ts +74 -0
- package/build-types/menu-item/stories/index.story.d.ts.map +1 -0
- package/build-types/menu-item/types.d.ts +3 -2
- package/build-types/menu-item/types.d.ts.map +1 -1
- package/build-types/menu-items-choice/stories/index.story.d.ts +3 -3
- package/build-types/menu-items-choice/stories/index.story.d.ts.map +1 -1
- package/build-types/modal/stories/index.story.d.ts +4 -4
- package/build-types/modal/stories/index.story.d.ts.map +1 -1
- package/build-types/navigable-container/stories/navigable-menu.story.d.ts +3 -3
- package/build-types/navigable-container/stories/navigable-menu.story.d.ts.map +1 -1
- package/build-types/navigable-container/stories/tabbable-container.story.d.ts +3 -3
- package/build-types/navigable-container/stories/tabbable-container.story.d.ts.map +1 -1
- package/build-types/navigation/index.d.ts +0 -1
- package/build-types/navigation/index.d.ts.map +1 -1
- package/build-types/navigation/stories/index.story.d.ts +2 -2
- package/build-types/navigation/stories/index.story.d.ts.map +1 -1
- package/build-types/navigation/stories/utils/controlled-state.d.ts +2 -2
- package/build-types/navigation/stories/utils/controlled-state.d.ts.map +1 -1
- package/build-types/navigation/stories/utils/default.d.ts +2 -2
- package/build-types/navigation/stories/utils/default.d.ts.map +1 -1
- package/build-types/navigation/stories/utils/group.d.ts +2 -2
- package/build-types/navigation/stories/utils/group.d.ts.map +1 -1
- package/build-types/navigation/stories/utils/hide-if-empty.d.ts +2 -2
- package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -1
- package/build-types/navigation/stories/utils/more-examples.d.ts +2 -2
- package/build-types/navigation/stories/utils/more-examples.d.ts.map +1 -1
- package/build-types/navigation/stories/utils/search.d.ts +2 -2
- package/build-types/navigation/stories/utils/search.d.ts.map +1 -1
- package/build-types/navigation/styles/navigation-styles.d.ts +1 -1
- package/build-types/navigator/navigator-provider/component.d.ts +0 -1
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
- package/build-types/navigator/stories/index.story.d.ts +5 -5
- package/build-types/navigator/stories/index.story.d.ts.map +1 -1
- package/build-types/notice/stories/index.story.d.ts +3 -3
- package/build-types/notice/stories/index.story.d.ts.map +1 -1
- package/build-types/number-control/stories/index.story.d.ts +2 -2
- package/build-types/number-control/stories/index.story.d.ts.map +1 -1
- package/build-types/palette-edit/stories/index.story.d.ts +2 -2
- package/build-types/palette-edit/stories/index.story.d.ts.map +1 -1
- package/build-types/palette-edit/styles.d.ts +1 -1
- package/build-types/palette-edit/styles.d.ts.map +1 -1
- package/build-types/panel/stories/index.story.d.ts +6 -6
- package/build-types/panel/stories/index.story.d.ts.map +1 -1
- package/build-types/placeholder/stories/index.story.d.ts +3 -3
- package/build-types/placeholder/stories/index.story.d.ts.map +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/overlay-middlewares.d.ts +2 -2
- package/build-types/popover/overlay-middlewares.d.ts.map +1 -1
- package/build-types/popover/stories/index.story.d.ts +7 -7
- package/build-types/popover/stories/index.story.d.ts.map +1 -1
- package/build-types/popover/types.d.ts +6 -0
- package/build-types/popover/types.d.ts.map +1 -1
- package/build-types/popover/utils.d.ts +1 -21
- package/build-types/popover/utils.d.ts.map +1 -1
- package/build-types/progress-bar/stories/index.story.d.ts +3 -3
- package/build-types/progress-bar/stories/index.story.d.ts.map +1 -1
- package/build-types/progress-bar/styles.d.ts.map +1 -1
- package/build-types/query-controls/stories/index.story.d.ts +4 -4
- package/build-types/query-controls/stories/index.story.d.ts.map +1 -1
- package/build-types/radio-control/stories/index.story.d.ts +3 -3
- package/build-types/radio-control/stories/index.story.d.ts.map +1 -1
- package/build-types/range-control/stories/index.story.d.ts +9 -9
- package/build-types/range-control/stories/index.story.d.ts.map +1 -1
- package/build-types/resizable-box/stories/index.story.d.ts +2 -2
- package/build-types/resizable-box/stories/index.story.d.ts.map +1 -1
- package/build-types/responsive-wrapper/stories/index.story.d.ts +3 -3
- package/build-types/responsive-wrapper/stories/index.story.d.ts.map +1 -1
- package/build-types/sandbox/index.d.ts.map +1 -1
- package/build-types/sandbox/stories/index.story.d.ts +2 -2
- package/build-types/sandbox/stories/index.story.d.ts.map +1 -1
- package/build-types/scroll-lock/stories/index.story.d.ts +3 -3
- package/build-types/scroll-lock/stories/index.story.d.ts.map +1 -1
- package/build-types/scrollable/stories/index.story.d.ts +3 -3
- package/build-types/scrollable/stories/index.story.d.ts.map +1 -1
- package/build-types/search-control/stories/index.story.d.ts +2 -16
- package/build-types/search-control/stories/index.story.d.ts.map +1 -1
- package/build-types/select-control/stories/index.story.d.ts +2 -2
- package/build-types/select-control/stories/index.story.d.ts.map +1 -1
- package/build-types/shortcut/index.d.ts +13 -0
- package/build-types/shortcut/index.d.ts.map +1 -1
- package/build-types/shortcut/stories/index.story.d.ts +13 -0
- package/build-types/shortcut/stories/index.story.d.ts.map +1 -0
- package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts +1 -0
- package/build-types/slot-fill/bubbles-virtually/slot-fill-context.d.ts.map +1 -1
- package/build-types/slot-fill/bubbles-virtually/slot.d.ts +1 -6
- package/build-types/slot-fill/index.d.ts +1 -1
- package/build-types/slot-fill/index.d.ts.map +1 -1
- package/build-types/snackbar/stories/index.story.d.ts +7 -7
- package/build-types/snackbar/stories/index.story.d.ts.map +1 -1
- package/build-types/snackbar/stories/list.story.d.ts +3 -3
- package/build-types/snackbar/stories/list.story.d.ts.map +1 -1
- package/build-types/spacer/stories/index.story.d.ts +3 -3
- package/build-types/spacer/stories/index.story.d.ts.map +1 -1
- package/build-types/spinner/index.d.ts +0 -1
- package/build-types/spinner/index.d.ts.map +1 -1
- package/build-types/spinner/stories/index.story.d.ts +4 -4
- package/build-types/spinner/stories/index.story.d.ts.map +1 -1
- package/build-types/surface/stories/index.story.d.ts +3 -3
- package/build-types/surface/stories/index.story.d.ts.map +1 -1
- package/build-types/tab-panel/stories/index.story.d.ts +2 -2
- package/build-types/tab-panel/stories/index.story.d.ts.map +1 -1
- package/build-types/text-control/stories/index.story.d.ts +4 -4
- package/build-types/text-control/stories/index.story.d.ts.map +1 -1
- package/build-types/text-highlight/stories/index.story.d.ts +3 -3
- package/build-types/text-highlight/stories/index.story.d.ts.map +1 -1
- package/build-types/textarea-control/stories/index.story.d.ts +3 -3
- package/build-types/textarea-control/stories/index.story.d.ts.map +1 -1
- package/build-types/theme/index.d.ts +0 -1
- package/build-types/theme/index.d.ts.map +1 -1
- package/build-types/theme/stories/index.story.d.ts +4 -4
- package/build-types/theme/stories/index.story.d.ts.map +1 -1
- package/build-types/tip/stories/index.story.d.ts +3 -3
- package/build-types/tip/stories/index.story.d.ts.map +1 -1
- package/build-types/toggle-control/stories/index.story.d.ts +2 -2
- package/build-types/toggle-control/stories/index.story.d.ts.map +1 -1
- package/build-types/toggle-group-control/stories/index.story.d.ts +6 -6
- package/build-types/toggle-group-control/stories/index.story.d.ts.map +1 -1
- package/build-types/toolbar/stories/index.story.d.ts +2 -2
- package/build-types/toolbar/stories/index.story.d.ts.map +1 -1
- package/build-types/tools-panel/stories/index.story.d.ts +8 -8
- package/build-types/tools-panel/stories/index.story.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/component.d.ts +0 -1
- package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
- package/build-types/tree-grid/stories/index.story.d.ts +2 -2
- package/build-types/tree-grid/stories/index.story.d.ts.map +1 -1
- package/build-types/tree-select/index.d.ts +0 -1
- package/build-types/tree-select/index.d.ts.map +1 -1
- package/build-types/tree-select/stories/index.story.d.ts +2 -2
- package/build-types/tree-select/stories/index.story.d.ts.map +1 -1
- package/build-types/truncate/stories/index.story.d.ts +4 -4
- package/build-types/truncate/stories/index.story.d.ts.map +1 -1
- package/build-types/ui/context/constants.d.ts +0 -2
- package/build-types/ui/context/constants.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +0 -1
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/stories/index.story.d.ts +7 -7
- package/build-types/unit-control/stories/index.story.d.ts.map +1 -1
- package/build-types/utils/hooks/use-cx.d.ts +2 -1
- package/build-types/utils/hooks/use-cx.d.ts.map +1 -1
- package/build-types/utils/math.d.ts +0 -8
- package/build-types/utils/math.d.ts.map +1 -1
- package/build-types/utils/values.d.ts +0 -13
- package/build-types/utils/values.d.ts.map +1 -1
- package/build-types/v-stack/stories/e2e/index.story.d.ts +3 -3
- package/build-types/v-stack/stories/e2e/index.story.d.ts.map +1 -1
- package/build-types/v-stack/stories/index.story.d.ts +2 -2
- package/build-types/v-stack/stories/index.story.d.ts.map +1 -1
- package/build-types/view/component.d.ts +0 -1
- package/build-types/view/component.d.ts.map +1 -1
- package/build-types/view/stories/index.story.d.ts +3 -3
- package/build-types/view/stories/index.story.d.ts.map +1 -1
- package/build-types/visually-hidden/stories/index.story.d.ts +5 -5
- package/build-types/visually-hidden/stories/index.story.d.ts.map +1 -1
- package/build-types/z-stack/stories/index.story.d.ts +3 -3
- package/build-types/z-stack/stories/index.story.d.ts.map +1 -1
- package/package.json +20 -20
- package/src/alignment-matrix-control/stories/index.story.tsx +8 -4
- package/src/alignment-matrix-control/test/index.tsx +6 -2
- package/src/angle-picker-control/stories/index.story.tsx +4 -4
- package/src/animate/stories/index.story.tsx +13 -11
- package/src/base-control/stories/index.story.tsx +6 -10
- package/src/border-box-control/stories/index.story.tsx +6 -10
- package/src/border-control/stories/index.story.tsx +9 -15
- package/src/button/stories/e2e/index.story.tsx +3 -3
- package/src/button/stories/index.story.tsx +11 -11
- package/src/button-group/stories/index.story.tsx +5 -7
- package/src/card/stories/index.story.tsx +6 -6
- package/src/checkbox-control/stories/index.story.tsx +8 -7
- package/src/circular-option-picker/stories/index.story.tsx +20 -5
- package/src/color-indicator/stories/index.story.tsx +5 -7
- package/src/color-palette/stories/index.story.tsx +13 -22
- package/src/color-palette/test/index.tsx +15 -9
- package/src/color-palette/test/utils.ts +0 -15
- package/src/color-palette/utils.ts +0 -7
- package/src/color-picker/hsv-color-picker.native.js +88 -0
- package/src/color-picker/hue-picker.native.js +194 -0
- package/src/color-picker/index.native.js +2 -1
- package/src/color-picker/saturation-picker.native.js +163 -0
- package/src/color-picker/stories/index.story.tsx +4 -4
- package/src/color-picker/style.native.scss +23 -0
- package/src/combobox-control/stories/index.story.tsx +4 -4
- package/src/confirm-dialog/stories/index.story.js +1 -1
- package/src/custom-gradient-picker/stories/index.story.tsx +4 -4
- package/src/date-time/stories/date-time.story.tsx +9 -11
- package/src/date-time/stories/date.story.tsx +9 -10
- package/src/date-time/stories/time.story.tsx +5 -5
- package/src/dimension-control/stories/index.story.tsx +4 -4
- package/src/disabled/stories/index.story.tsx +5 -5
- package/src/divider/stories/index.story.tsx +7 -7
- package/src/draggable/stories/index.story.tsx +5 -7
- package/src/drop-zone/stories/index.story.tsx +4 -4
- package/src/dropdown/stories/index.story.tsx +8 -6
- package/src/dropdown-menu/stories/index.story.tsx +4 -4
- package/src/dropdown-menu-v2/stories/index.story.tsx +28 -11
- package/src/duotone-picker/stories/duotone-picker.story.tsx +4 -7
- package/src/duotone-picker/stories/duotone-swatch.story.tsx +4 -4
- package/src/elevation/stories/index.story.tsx +8 -8
- package/src/external-link/stories/index.story.tsx +5 -7
- package/src/flex/stories/index.story.tsx +7 -7
- package/src/focal-point-picker/stories/index.story.tsx +4 -4
- package/src/font-size-picker/stories/e2e/index.story.tsx +3 -3
- package/src/font-size-picker/stories/index.story.tsx +11 -11
- package/src/form-file-upload/stories/index.story.tsx +4 -4
- package/src/form-toggle/stories/index.story.tsx +5 -8
- package/src/form-token-field/stories/index.story.tsx +11 -12
- package/src/gradient-picker/stories/index.story.tsx +4 -4
- package/src/grid/stories/index.story.tsx +5 -5
- package/src/guide/stories/index.story.tsx +3 -3
- package/src/h-stack/stories/e2e/index.story.tsx +4 -4
- package/src/h-stack/stories/index.story.tsx +5 -5
- package/src/heading/stories/index.story.tsx +4 -4
- package/src/icon/stories/index.story.tsx +6 -6
- package/src/input-control/stories/index.story.tsx +6 -4
- package/src/item-group/item/component.tsx +0 -1
- package/src/item-group/item-group/component.tsx +0 -1
- package/src/item-group/stories/index.story.tsx +12 -13
- package/src/keyboard-shortcuts/stories/index.story.tsx +4 -4
- package/src/menu-group/stories/index.story.tsx +6 -6
- package/src/menu-item/README.md +1 -1
- package/src/menu-item/index.tsx +5 -2
- package/src/menu-item/stories/index.story.tsx +80 -0
- package/src/menu-item/types.ts +3 -2
- package/src/menu-items-choice/stories/index.story.tsx +5 -7
- package/src/mobile/link-settings/link-settings-navigation.native.js +1 -1
- package/src/modal/stories/index.story.tsx +5 -10
- package/src/navigable-container/stories/navigable-menu.story.tsx +4 -4
- package/src/navigable-container/stories/tabbable-container.story.tsx +4 -4
- package/src/navigation/index.tsx +0 -1
- package/src/navigation/stories/index.story.tsx +17 -3
- package/src/navigation/stories/utils/controlled-state.tsx +2 -2
- package/src/navigation/stories/utils/default.tsx +2 -2
- package/src/navigation/stories/utils/group.tsx +2 -2
- package/src/navigation/stories/utils/hide-if-empty.tsx +2 -2
- package/src/navigation/stories/utils/more-examples.tsx +2 -2
- package/src/navigation/stories/utils/search.tsx +2 -2
- package/src/navigator/navigator-provider/component.tsx +0 -1
- package/src/navigator/stories/index.story.tsx +10 -11
- package/src/notice/stories/index.story.tsx +7 -7
- package/src/number-control/stories/index.story.tsx +4 -4
- package/src/palette-edit/stories/index.story.tsx +4 -4
- package/src/palette-edit/styles.js +0 -1
- package/src/panel/stories/index.story.tsx +10 -12
- package/src/placeholder/stories/index.story.tsx +5 -7
- package/src/popover/README.md +2 -2
- package/src/popover/index.tsx +69 -103
- package/src/popover/overlay-middlewares.tsx +2 -2
- package/src/popover/stories/index.story.tsx +8 -10
- package/src/popover/test/index.tsx +15 -1
- package/src/popover/types.ts +6 -0
- package/src/popover/utils.ts +5 -56
- package/src/progress-bar/stories/index.story.tsx +5 -7
- package/src/progress-bar/styles.ts +4 -1
- package/src/query-controls/stories/index.story.tsx +6 -7
- package/src/radio-control/stories/index.story.tsx +5 -7
- package/src/radio-group/stories/index.story.js +1 -0
- package/src/range-control/stories/index.story.tsx +13 -19
- package/src/resizable-box/stories/index.story.tsx +4 -4
- package/src/responsive-wrapper/stories/index.story.tsx +5 -6
- package/src/sandbox/index.tsx +4 -1
- package/src/sandbox/stories/index.story.tsx +4 -6
- package/src/scroll-lock/stories/index.story.tsx +4 -4
- package/src/scrollable/stories/index.story.tsx +5 -5
- package/src/search-control/index.native.js +39 -27
- package/src/search-control/stories/index.story.tsx +4 -4
- package/src/select-control/stories/index.story.tsx +4 -4
- package/src/shortcut/index.tsx +13 -0
- package/src/shortcut/stories/index.story.tsx +33 -0
- package/src/slot-fill/README.md +5 -5
- package/src/slot-fill/bubbles-virtually/slot-fill-context.js +3 -0
- package/src/slot-fill/bubbles-virtually/slot.js +17 -5
- package/src/slot-fill/index.js +6 -1
- package/src/slot-fill/stories/index.story.js +3 -1
- package/src/slot-fill/test/__snapshots__/slot.js.snap +12 -4
- package/src/snackbar/stories/index.story.tsx +11 -14
- package/src/snackbar/stories/list.story.tsx +4 -4
- package/src/spacer/stories/index.story.tsx +5 -5
- package/src/spinner/index.tsx +0 -1
- package/src/spinner/stories/index.story.tsx +6 -6
- package/src/surface/stories/index.story.tsx +5 -5
- package/src/tab-panel/stories/index.story.tsx +6 -14
- package/src/tab-panel/test/index.tsx +9 -25
- package/src/text/test/index.tsx +1 -1
- package/src/text-control/stories/index.story.tsx +8 -7
- package/src/text-highlight/stories/index.story.tsx +5 -7
- package/src/textarea-control/stories/index.story.tsx +5 -7
- package/src/theme/index.tsx +0 -1
- package/src/theme/stories/index.story.tsx +7 -7
- package/src/tip/stories/index.story.tsx +5 -5
- package/src/toggle-control/stories/index.story.tsx +4 -4
- package/src/toggle-group-control/stories/index.story.tsx +18 -12
- package/src/toolbar/stories/index.story.tsx +14 -4
- package/src/tools-panel/stories/index.story.tsx +18 -13
- package/src/tools-panel/tools-panel/component.tsx +0 -1
- package/src/tools-panel/tools-panel-header/component.tsx +3 -0
- package/src/tooltip/stories/index.story.js +1 -1
- package/src/tree-grid/stories/index.story.tsx +5 -3
- package/src/tree-select/index.tsx +0 -1
- package/src/tree-select/stories/index.story.tsx +4 -4
- package/src/truncate/stories/index.story.tsx +6 -8
- package/src/ui/context/constants.js +0 -2
- package/src/unit-control/index.tsx +0 -1
- package/src/unit-control/stories/index.story.tsx +11 -10
- package/src/utils/hooks/use-cx.ts +2 -1
- package/src/utils/math.js +0 -11
- package/src/utils/values.js +0 -81
- package/src/v-stack/stories/e2e/index.story.tsx +4 -4
- package/src/v-stack/stories/index.story.tsx +4 -4
- package/src/view/component.tsx +0 -1
- package/src/view/stories/index.story.tsx +5 -5
- package/src/visually-hidden/stories/index.story.tsx +8 -8
- package/src/z-stack/stories/index.story.tsx +5 -5
- package/tsconfig.tsbuildinfo +1 -1
- package/build/popover/limit-shift.js +0 -129
- package/build/popover/limit-shift.js.map +0 -1
- package/build/ui/utils/get-high-dpi.js +0 -16
- package/build/ui/utils/get-high-dpi.js.map +0 -1
- package/build/utils/browsers.js +0 -32
- package/build/utils/browsers.js.map +0 -1
- package/build/utils/events.js +0 -43
- package/build/utils/events.js.map +0 -1
- package/build-module/popover/limit-shift.js +0 -122
- package/build-module/popover/limit-shift.js.map +0 -1
- package/build-module/ui/utils/get-high-dpi.js +0 -11
- package/build-module/ui/utils/get-high-dpi.js.map +0 -1
- package/build-module/utils/browsers.js +0 -25
- package/build-module/utils/browsers.js.map +0 -1
- package/build-module/utils/events.js +0 -37
- package/build-module/utils/events.js.map +0 -1
- package/build-types/alignment-matrix-control/stories/index.d.ts +0 -14
- package/build-types/alignment-matrix-control/stories/index.d.ts.map +0 -1
- package/build-types/angle-picker-control/stories/index.d.ts +0 -15
- package/build-types/angle-picker-control/stories/index.d.ts.map +0 -1
- package/build-types/animate/stories/index.d.ts +0 -18
- package/build-types/animate/stories/index.d.ts.map +0 -1
- package/build-types/base-control/stories/index.d.ts +0 -25
- package/build-types/base-control/stories/index.d.ts.map +0 -1
- package/build-types/border-box-control/stories/index.d.ts +0 -17
- package/build-types/border-box-control/stories/index.d.ts.map +0 -1
- package/build-types/border-control/stories/index.d.ts +0 -119
- package/build-types/border-control/stories/index.d.ts.map +0 -1
- package/build-types/button/stories/e2e/index.d.ts +0 -15
- package/build-types/button/stories/e2e/index.d.ts.map +0 -1
- package/build-types/button/stories/index.d.ts +0 -20
- package/build-types/button/stories/index.d.ts.map +0 -1
- package/build-types/button-group/stories/index.d.ts +0 -12
- package/build-types/button-group/stories/index.d.ts.map +0 -1
- package/build-types/card/stories/index.d.ts +0 -32
- package/build-types/card/stories/index.d.ts.map +0 -1
- package/build-types/checkbox-control/stories/index.d.ts +0 -13
- package/build-types/checkbox-control/stories/index.d.ts.map +0 -1
- package/build-types/circular-option-picker/stories/index.d.ts +0 -14
- package/build-types/circular-option-picker/stories/index.d.ts.map +0 -1
- package/build-types/color-indicator/stories/index.d.ts +0 -12
- package/build-types/color-indicator/stories/index.d.ts.map +0 -1
- package/build-types/color-palette/stories/index.d.ts +0 -46
- package/build-types/color-palette/stories/index.d.ts.map +0 -1
- package/build-types/color-picker/stories/index.d.ts +0 -19
- package/build-types/color-picker/stories/index.d.ts.map +0 -1
- package/build-types/combobox-control/stories/index.d.ts +0 -18
- package/build-types/combobox-control/stories/index.d.ts.map +0 -1
- package/build-types/custom-gradient-picker/stories/index.d.ts +0 -12
- package/build-types/custom-gradient-picker/stories/index.d.ts.map +0 -1
- package/build-types/date-time/stories/date-time.d.ts +0 -14
- package/build-types/date-time/stories/date-time.d.ts.map +0 -1
- package/build-types/date-time/stories/date.d.ts +0 -14
- package/build-types/date-time/stories/date.d.ts.map +0 -1
- package/build-types/date-time/stories/time.d.ts +0 -12
- package/build-types/date-time/stories/time.d.ts.map +0 -1
- package/build-types/dimension-control/stories/index.d.ts +0 -12
- package/build-types/dimension-control/stories/index.d.ts.map +0 -1
- package/build-types/disabled/stories/index.d.ts +0 -13
- package/build-types/disabled/stories/index.d.ts.map +0 -1
- package/build-types/divider/stories/index.d.ts +0 -11
- package/build-types/divider/stories/index.d.ts.map +0 -1
- package/build-types/draggable/stories/index.d.ts +0 -20
- package/build-types/draggable/stories/index.d.ts.map +0 -1
- package/build-types/drop-zone/stories/index.d.ts +0 -12
- package/build-types/drop-zone/stories/index.d.ts.map +0 -1
- package/build-types/dropdown/stories/index.d.ts +0 -23
- package/build-types/dropdown/stories/index.d.ts.map +0 -1
- package/build-types/dropdown-menu/stories/index.d.ts +0 -14
- package/build-types/dropdown-menu/stories/index.d.ts.map +0 -1
- package/build-types/dropdown-menu-v2/stories/index.d.ts +0 -11
- package/build-types/dropdown-menu-v2/stories/index.d.ts.map +0 -1
- package/build-types/duotone-picker/stories/duotone-picker.d.ts +0 -12
- package/build-types/duotone-picker/stories/duotone-picker.d.ts.map +0 -1
- package/build-types/duotone-picker/stories/duotone-swatch.d.ts +0 -14
- package/build-types/duotone-picker/stories/duotone-swatch.d.ts.map +0 -1
- package/build-types/elevation/stories/index.d.ts +0 -22
- package/build-types/elevation/stories/index.d.ts.map +0 -1
- package/build-types/external-link/stories/index.d.ts +0 -12
- package/build-types/external-link/stories/index.d.ts.map +0 -1
- package/build-types/flex/stories/index.d.ts +0 -13
- package/build-types/flex/stories/index.d.ts.map +0 -1
- package/build-types/focal-point-picker/stories/index.d.ts +0 -15
- package/build-types/focal-point-picker/stories/index.d.ts.map +0 -1
- package/build-types/font-size-picker/stories/e2e/index.d.ts +0 -16
- package/build-types/font-size-picker/stories/e2e/index.d.ts.map +0 -1
- package/build-types/font-size-picker/stories/index.d.ts +0 -31
- package/build-types/font-size-picker/stories/index.d.ts.map +0 -1
- package/build-types/form-file-upload/stories/index.d.ts +0 -23
- package/build-types/form-file-upload/stories/index.d.ts.map +0 -1
- package/build-types/form-toggle/stories/index.d.ts +0 -12
- package/build-types/form-toggle/stories/index.d.ts.map +0 -1
- package/build-types/form-token-field/stories/index.d.ts +0 -26
- package/build-types/form-token-field/stories/index.d.ts.map +0 -1
- package/build-types/gradient-picker/stories/index.d.ts +0 -14
- package/build-types/gradient-picker/stories/index.d.ts.map +0 -1
- package/build-types/grid/stories/index.d.ts +0 -9
- package/build-types/grid/stories/index.d.ts.map +0 -1
- package/build-types/guide/stories/index.d.ts +0 -9
- package/build-types/guide/stories/index.d.ts.map +0 -1
- package/build-types/h-stack/stories/e2e/index.d.ts +0 -9
- package/build-types/h-stack/stories/e2e/index.d.ts.map +0 -1
- package/build-types/h-stack/stories/index.d.ts +0 -9
- package/build-types/h-stack/stories/index.d.ts.map +0 -1
- package/build-types/heading/stories/index.d.ts +0 -12
- package/build-types/heading/stories/index.d.ts.map +0 -1
- package/build-types/icon/stories/index.d.ts +0 -22
- package/build-types/icon/stories/index.d.ts.map +0 -1
- package/build-types/input-control/stories/index.d.ts +0 -28
- package/build-types/input-control/stories/index.d.ts.map +0 -1
- package/build-types/item-group/stories/index.d.ts +0 -15
- package/build-types/item-group/stories/index.d.ts.map +0 -1
- package/build-types/keyboard-shortcuts/stories/index.d.ts +0 -12
- package/build-types/keyboard-shortcuts/stories/index.d.ts.map +0 -1
- package/build-types/menu-group/stories/index.d.ts +0 -17
- package/build-types/menu-group/stories/index.d.ts.map +0 -1
- package/build-types/menu-items-choice/stories/index.d.ts +0 -12
- package/build-types/menu-items-choice/stories/index.d.ts.map +0 -1
- package/build-types/modal/stories/index.d.ts +0 -10
- package/build-types/modal/stories/index.d.ts.map +0 -1
- package/build-types/navigable-container/stories/navigable-menu.d.ts +0 -12
- package/build-types/navigable-container/stories/navigable-menu.d.ts.map +0 -1
- package/build-types/navigable-container/stories/tabbable-container.d.ts +0 -12
- package/build-types/navigable-container/stories/tabbable-container.d.ts.map +0 -1
- package/build-types/navigation/stories/index.d.ts +0 -18
- package/build-types/navigation/stories/index.d.ts.map +0 -1
- package/build-types/navigator/stories/index.d.ts +0 -11
- package/build-types/navigator/stories/index.d.ts.map +0 -1
- package/build-types/notice/stories/index.d.ts +0 -17
- package/build-types/notice/stories/index.d.ts.map +0 -1
- package/build-types/number-control/stories/index.d.ts +0 -25
- package/build-types/number-control/stories/index.d.ts.map +0 -1
- package/build-types/palette-edit/stories/index.d.ts +0 -13
- package/build-types/palette-edit/stories/index.d.ts.map +0 -1
- package/build-types/panel/stories/index.d.ts +0 -19
- package/build-types/panel/stories/index.d.ts.map +0 -1
- package/build-types/placeholder/stories/index.d.ts +0 -12
- package/build-types/placeholder/stories/index.d.ts.map +0 -1
- package/build-types/popover/limit-shift.d.ts +0 -87
- package/build-types/popover/limit-shift.d.ts.map +0 -1
- package/build-types/popover/stories/e2e/index.d.ts +0 -8
- package/build-types/popover/stories/e2e/index.d.ts.map +0 -1
- package/build-types/popover/stories/index.d.ts +0 -13
- package/build-types/popover/stories/index.d.ts.map +0 -1
- package/build-types/progress-bar/stories/index.d.ts +0 -12
- package/build-types/progress-bar/stories/index.d.ts.map +0 -1
- package/build-types/query-controls/stories/index.d.ts +0 -13
- package/build-types/query-controls/stories/index.d.ts.map +0 -1
- package/build-types/radio-control/stories/index.d.ts +0 -12
- package/build-types/radio-control/stories/index.d.ts.map +0 -1
- package/build-types/range-control/stories/index.d.ts +0 -48
- package/build-types/range-control/stories/index.d.ts.map +0 -1
- package/build-types/resizable-box/stories/index.d.ts +0 -61
- package/build-types/resizable-box/stories/index.d.ts.map +0 -1
- package/build-types/responsive-wrapper/stories/index.d.ts +0 -22
- package/build-types/responsive-wrapper/stories/index.d.ts.map +0 -1
- package/build-types/sandbox/stories/index.d.ts +0 -12
- package/build-types/sandbox/stories/index.d.ts.map +0 -1
- package/build-types/scroll-lock/stories/index.d.ts +0 -9
- package/build-types/scroll-lock/stories/index.d.ts.map +0 -1
- package/build-types/scrollable/stories/index.d.ts +0 -9
- package/build-types/scrollable/stories/index.d.ts.map +0 -1
- package/build-types/search-control/stories/index.d.ts +0 -47
- package/build-types/search-control/stories/index.d.ts.map +0 -1
- package/build-types/select-control/stories/index.d.ts +0 -19
- package/build-types/select-control/stories/index.d.ts.map +0 -1
- package/build-types/snackbar/stories/index.d.ts +0 -16
- package/build-types/snackbar/stories/index.d.ts.map +0 -1
- package/build-types/snackbar/stories/list.d.ts +0 -12
- package/build-types/snackbar/stories/list.d.ts.map +0 -1
- package/build-types/spacer/stories/index.d.ts +0 -12
- package/build-types/spacer/stories/index.d.ts.map +0 -1
- package/build-types/spinner/stories/index.d.ts +0 -13
- package/build-types/spinner/stories/index.d.ts.map +0 -1
- package/build-types/surface/stories/index.d.ts +0 -12
- package/build-types/surface/stories/index.d.ts.map +0 -1
- package/build-types/tab-panel/stories/index.d.ts +0 -16
- package/build-types/tab-panel/stories/index.d.ts.map +0 -1
- package/build-types/text-control/stories/index.d.ts +0 -13
- package/build-types/text-control/stories/index.d.ts.map +0 -1
- package/build-types/text-highlight/stories/index.d.ts +0 -12
- package/build-types/text-highlight/stories/index.d.ts.map +0 -1
- package/build-types/textarea-control/stories/index.d.ts +0 -12
- package/build-types/textarea-control/stories/index.d.ts.map +0 -1
- package/build-types/theme/stories/index.d.ts +0 -17
- package/build-types/theme/stories/index.d.ts.map +0 -1
- package/build-types/tip/stories/index.d.ts +0 -12
- package/build-types/tip/stories/index.d.ts.map +0 -1
- package/build-types/toggle-control/stories/index.d.ts +0 -13
- package/build-types/toggle-control/stories/index.d.ts.map +0 -1
- package/build-types/toggle-group-control/stories/index.d.ts +0 -27
- package/build-types/toggle-group-control/stories/index.d.ts.map +0 -1
- package/build-types/toolbar/stories/index.d.ts +0 -14
- package/build-types/toolbar/stories/index.d.ts.map +0 -1
- package/build-types/tools-panel/stories/index.d.ts +0 -17
- package/build-types/tools-panel/stories/index.d.ts.map +0 -1
- package/build-types/tree-grid/stories/index.d.ts +0 -13
- package/build-types/tree-grid/stories/index.d.ts.map +0 -1
- package/build-types/tree-select/stories/index.d.ts +0 -12
- package/build-types/tree-select/stories/index.d.ts.map +0 -1
- package/build-types/truncate/stories/index.d.ts +0 -13
- package/build-types/truncate/stories/index.d.ts.map +0 -1
- package/build-types/ui/control-group/component.d.ts +0 -27
- package/build-types/ui/control-group/component.d.ts.map +0 -1
- package/build-types/ui/control-group/context.d.ts +0 -4
- package/build-types/ui/control-group/context.d.ts.map +0 -1
- package/build-types/ui/control-group/hook.d.ts +0 -266
- package/build-types/ui/control-group/hook.d.ts.map +0 -1
- package/build-types/ui/control-group/index.d.ts +0 -4
- package/build-types/ui/control-group/index.d.ts.map +0 -1
- package/build-types/ui/control-group/styles.d.ts +0 -8
- package/build-types/ui/control-group/styles.d.ts.map +0 -1
- package/build-types/ui/control-group/types.d.ts +0 -27
- package/build-types/ui/control-group/types.d.ts.map +0 -1
- package/build-types/ui/control-label/component.d.ts +0 -23
- package/build-types/ui/control-label/component.d.ts.map +0 -1
- package/build-types/ui/control-label/hook.d.ts +0 -265
- package/build-types/ui/control-label/hook.d.ts.map +0 -1
- package/build-types/ui/control-label/index.d.ts +0 -3
- package/build-types/ui/control-label/index.d.ts.map +0 -1
- package/build-types/ui/control-label/styles.d.ts +0 -7
- package/build-types/ui/control-label/styles.d.ts.map +0 -1
- package/build-types/ui/control-label/types.d.ts +0 -9
- package/build-types/ui/control-label/types.d.ts.map +0 -1
- package/build-types/ui/form-group/form-group-content.d.ts +0 -7
- package/build-types/ui/form-group/form-group-content.d.ts.map +0 -1
- package/build-types/ui/form-group/form-group-context.d.ts +0 -11
- package/build-types/ui/form-group/form-group-context.d.ts.map +0 -1
- package/build-types/ui/form-group/form-group-help.d.ts +0 -18
- package/build-types/ui/form-group/form-group-help.d.ts.map +0 -1
- package/build-types/ui/form-group/form-group-label.d.ts +0 -8
- package/build-types/ui/form-group/form-group-label.d.ts.map +0 -1
- package/build-types/ui/form-group/form-group-styles.d.ts +0 -2
- package/build-types/ui/form-group/form-group-styles.d.ts.map +0 -1
- package/build-types/ui/form-group/form-group.d.ts +0 -53
- package/build-types/ui/form-group/form-group.d.ts.map +0 -1
- package/build-types/ui/form-group/index.d.ts +0 -4
- package/build-types/ui/form-group/index.d.ts.map +0 -1
- package/build-types/ui/form-group/types.d.ts +0 -30
- package/build-types/ui/form-group/types.d.ts.map +0 -1
- package/build-types/ui/form-group/use-form-group.d.ts +0 -593
- package/build-types/ui/form-group/use-form-group.d.ts.map +0 -1
- package/build-types/ui/index.d.ts +0 -6
- package/build-types/ui/index.d.ts.map +0 -1
- package/build-types/ui/spinner/component.d.ts +0 -13
- package/build-types/ui/spinner/component.d.ts.map +0 -1
- package/build-types/ui/spinner/index.d.ts +0 -2
- package/build-types/ui/spinner/index.d.ts.map +0 -1
- package/build-types/ui/spinner/styles.d.ts +0 -13
- package/build-types/ui/spinner/styles.d.ts.map +0 -1
- package/build-types/ui/spinner/utils.d.ts +0 -3
- package/build-types/ui/spinner/utils.d.ts.map +0 -1
- package/build-types/ui/utils/get-high-dpi.d.ts +0 -3
- package/build-types/ui/utils/get-high-dpi.d.ts.map +0 -1
- package/build-types/unit-control/stories/index.d.ts +0 -33
- package/build-types/unit-control/stories/index.d.ts.map +0 -1
- package/build-types/utils/browsers.d.ts +0 -11
- package/build-types/utils/browsers.d.ts.map +0 -1
- package/build-types/utils/events.d.ts +0 -11
- package/build-types/utils/events.d.ts.map +0 -1
- package/build-types/v-stack/stories/e2e/index.d.ts +0 -9
- package/build-types/v-stack/stories/e2e/index.d.ts.map +0 -1
- package/build-types/v-stack/stories/index.d.ts +0 -13
- package/build-types/v-stack/stories/index.d.ts.map +0 -1
- package/build-types/view/stories/index.d.ts +0 -12
- package/build-types/view/stories/index.d.ts.map +0 -1
- package/build-types/visually-hidden/stories/index.d.ts +0 -14
- package/build-types/visually-hidden/stories/index.d.ts.map +0 -1
- package/build-types/z-stack/stories/index.d.ts +0 -6
- package/build-types/z-stack/stories/index.d.ts.map +0 -1
- package/src/popover/limit-shift.ts +0 -205
- package/src/ui/utils/get-high-dpi.ts +0 -20
- package/src/utils/browsers.js +0 -36
- package/src/utils/events.ts +0 -50
- package/src/utils/test/events.js +0 -63
- package/src/utils/test/values.js +0 -101
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_compose","observeAndResizeJS","MutationObserver","window","document","body","parent","sendResize","clientBoundingRect","getBoundingClientRect","postMessage","action","width","height","observer","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","addEventListener","removeViewportStyles","ruleOrNode","style","forEach","test","Array","prototype","call","querySelectorAll","styleSheets","stylesheet","cssRules","rules","position","setAttribute","SandBox","html","title","type","styles","scripts","onFocus","ref","useRef","setWidth","useState","setHeight","isFrameAccessible","current","contentDocument","e","trySandBox","forceRerender","ownerDocument","getAttribute","htmlDoc","createElement","lang","documentElement","className","dangerouslySetInnerHTML","__html","map","i","key","toString","src","open","write","renderToString","close","useEffect","tryNoForceSandBox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","defaultView","removeEventListener","useMergeRefs","useFocusableIframe","sandbox","Math","ceil","_default","exports","default"],"sources":["@wordpress/components/src/sandbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useFocusableIframe, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { SandBoxProps } from './types';\n\nconst observeAndResizeJS = function () {\n\tconst { MutationObserver } = window;\n\n\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\treturn;\n\t}\n\n\tfunction sendResize() {\n\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\twindow.parent.postMessage(\n\t\t\t{\n\t\t\t\taction: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n\t\t\t},\n\t\t\t'*'\n\t\t);\n\t}\n\n\tconst observer = new MutationObserver( sendResize );\n\tobserver.observe( document.body, {\n\t\tattributes: true,\n\t\tattributeOldValue: false,\n\t\tcharacterData: true,\n\t\tcharacterDataOldValue: false,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t} );\n\n\twindow.addEventListener( 'load', sendResize, true );\n\n\t// Hack: Remove viewport unit styles, as these are relative\n\t// the iframe root and interfere with our mechanism for\n\t// determining the unconstrained page bounds.\n\tfunction removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {\n\t\tif ( ruleOrNode.style ) {\n\t\t\t(\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ] as const\n\t\t\t ).forEach( function ( style ) {\n\t\t\t\tif (\n\t\t\t\t\t/^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] )\n\t\t\t\t) {\n\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tArray.prototype.forEach.call(\n\t\tdocument.querySelectorAll( '[style]' ),\n\t\tremoveViewportStyles\n\t);\n\tArray.prototype.forEach.call(\n\t\tdocument.styleSheets,\n\t\tfunction ( stylesheet ) {\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\tremoveViewportStyles\n\t\t\t);\n\t\t}\n\t);\n\n\tdocument.body.style.position = 'absolute';\n\tdocument.body.style.width = '100%';\n\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\tsendResize();\n\n\t// Resize events can change the width of elements with 100% width, but we don't\n\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\twindow.addEventListener( 'resize', sendResize, true );\n};\n\n// TODO: These styles shouldn't be coupled with WordPress.\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div {\n\t\twidth: 100%;\n\t}\n\thtml.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio > div,\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n`;\n\n/**\n * This component provides an isolated environment for arbitrary HTML via iframes.\n *\n * ```jsx\n * import { SandBox } from '@wordpress/components';\n *\n * const MySandBox = () => (\n * \t<SandBox html=\"<p>Content</p>\" title=\"SandBox\" type=\"embed\" />\n * );\n * ```\n */\nfunction SandBox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n}: SandBoxProps ) {\n\tconst ref = useRef< HTMLIFrameElement >();\n\tconst [ width, setWidth ] = useState( 0 );\n\tconst [ height, setHeight ] = useState( 0 );\n\n\tfunction isFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! ref.current?.contentDocument?.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction trySandBox( forceRerender = false ) {\n\t\tif ( ! isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { contentDocument, ownerDocument } =\n\t\t\tref.current as HTMLIFrameElement & {\n\t\t\t\tcontentDocument: Document;\n\t\t\t};\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !==\n\t\t\t\tcontentDocument?.body.getAttribute(\n\t\t\t\t\t'data-resizable-iframe-connected'\n\t\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html\n\t\t\t\tlang={ ownerDocument.documentElement.lang }\n\t\t\t\tclassName={ type }\n\t\t\t>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t<script\n\t\t\t\t\t\ttype=\"text/javascript\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: `(${ observeAndResizeJS.toString() })();`,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// Writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected.\n\t\tcontentDocument.open();\n\t\tcontentDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tcontentDocument.close();\n\t}\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\n\t\tfunction tryNoForceSandBox() {\n\t\t\ttrySandBox( false );\n\t\t}\n\n\t\tfunction checkMessageForResize( event: MessageEvent ) {\n\t\t\tconst iframe = ref.current;\n\n\t\t\t// Verify that the mounted element is the source of the message.\n\t\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\t\tlet data = event.data || {};\n\n\t\t\tif ( 'string' === typeof data ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\t// Update the state only if the message is formatted as we expect,\n\t\t\t// i.e. as an object with a 'resize' action.\n\t\t\tif ( 'resize' !== data.action ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetWidth( data.width );\n\t\t\tsetHeight( data.height );\n\t\t}\n\n\t\tconst iframe = ref.current;\n\t\tconst defaultView = iframe?.ownerDocument?.defaultView;\n\n\t\t// This used to be registered using <iframe onLoad={} />, but it made the iframe blank\n\t\t// after reordering the containing block. See these two issues for more details:\n\t\t// https://github.com/WordPress/gutenberg/issues/6146\n\t\t// https://github.com/facebook/react/issues/18752\n\t\tiframe?.addEventListener( 'load', tryNoForceSandBox, false );\n\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tiframe?.removeEventListener( 'load', tryNoForceSandBox, false );\n\t\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\t\t};\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ title, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandBox( true );\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ html, type ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\n\t\t\tclassName=\"components-sandbox\"\n\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\tonFocus={ onFocus }\n\t\t\twidth={ Math.ceil( width ) }\n\t\t\theight={ Math.ceil( height ) }\n\t\t/>\n\t);\n}\n\nexport default SandBox;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_compose","observeAndResizeJS","MutationObserver","window","document","body","parent","sendResize","clientBoundingRect","getBoundingClientRect","postMessage","action","width","height","observer","observe","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","addEventListener","removeViewportStyles","ruleOrNode","style","forEach","test","Array","prototype","call","querySelectorAll","styleSheets","stylesheet","cssRules","rules","position","setAttribute","SandBox","html","title","type","styles","scripts","onFocus","ref","useRef","setWidth","useState","setHeight","isFrameAccessible","current","contentDocument","e","trySandBox","forceRerender","ownerDocument","getAttribute","htmlDoc","createElement","lang","documentElement","className","dangerouslySetInnerHTML","__html","map","i","key","toString","src","open","write","renderToString","close","useEffect","tryNoForceSandBox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","defaultView","removeEventListener","useMergeRefs","useFocusableIframe","sandbox","Math","ceil","_default","exports","default"],"sources":["@wordpress/components/src/sandbox/index.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { useFocusableIframe, useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport type { SandBoxProps } from './types';\n\nconst observeAndResizeJS = function () {\n\tconst { MutationObserver } = window;\n\n\tif ( ! MutationObserver || ! document.body || ! window.parent ) {\n\t\treturn;\n\t}\n\n\tfunction sendResize() {\n\t\tconst clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\twindow.parent.postMessage(\n\t\t\t{\n\t\t\t\taction: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n\t\t\t},\n\t\t\t'*'\n\t\t);\n\t}\n\n\tconst observer = new MutationObserver( sendResize );\n\tobserver.observe( document.body, {\n\t\tattributes: true,\n\t\tattributeOldValue: false,\n\t\tcharacterData: true,\n\t\tcharacterDataOldValue: false,\n\t\tchildList: true,\n\t\tsubtree: true,\n\t} );\n\n\twindow.addEventListener( 'load', sendResize, true );\n\n\t// Hack: Remove viewport unit styles, as these are relative\n\t// the iframe root and interfere with our mechanism for\n\t// determining the unconstrained page bounds.\n\tfunction removeViewportStyles( ruleOrNode: ElementCSSInlineStyle ) {\n\t\tif ( ruleOrNode.style ) {\n\t\t\t(\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ] as const\n\t\t\t ).forEach( function ( style ) {\n\t\t\t\tif (\n\t\t\t\t\t/^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] )\n\t\t\t\t) {\n\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t}\n\n\tArray.prototype.forEach.call(\n\t\tdocument.querySelectorAll( '[style]' ),\n\t\tremoveViewportStyles\n\t);\n\tArray.prototype.forEach.call(\n\t\tdocument.styleSheets,\n\t\tfunction ( stylesheet ) {\n\t\t\tArray.prototype.forEach.call(\n\t\t\t\tstylesheet.cssRules || stylesheet.rules,\n\t\t\t\tremoveViewportStyles\n\t\t\t);\n\t\t}\n\t);\n\n\tdocument.body.style.position = 'absolute';\n\tdocument.body.style.width = '100%';\n\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\tsendResize();\n\n\t// Resize events can change the width of elements with 100% width, but we don't\n\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\twindow.addEventListener( 'resize', sendResize, true );\n};\n\n// TODO: These styles shouldn't be coupled with WordPress.\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div {\n\t\twidth: 100%;\n\t}\n\thtml.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio,\n\tbody.wp-has-aspect-ratio > div,\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\tbody > div > * {\n\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\tmargin-bottom: 0 !important;\n\t}\n`;\n\n/**\n * This component provides an isolated environment for arbitrary HTML via iframes.\n *\n * ```jsx\n * import { SandBox } from '@wordpress/components';\n *\n * const MySandBox = () => (\n * \t<SandBox html=\"<p>Content</p>\" title=\"SandBox\" type=\"embed\" />\n * );\n * ```\n */\nfunction SandBox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n}: SandBoxProps ) {\n\tconst ref = useRef< HTMLIFrameElement >();\n\tconst [ width, setWidth ] = useState( 0 );\n\tconst [ height, setHeight ] = useState( 0 );\n\n\tfunction isFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! ref.current?.contentDocument?.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tfunction trySandBox( forceRerender = false ) {\n\t\tif ( ! isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { contentDocument, ownerDocument } =\n\t\t\tref.current as HTMLIFrameElement & {\n\t\t\t\tcontentDocument: Document;\n\t\t\t};\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !==\n\t\t\t\tcontentDocument?.body.getAttribute(\n\t\t\t\t\t'data-resizable-iframe-connected'\n\t\t\t\t)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html\n\t\t\t\tlang={ ownerDocument.documentElement.lang }\n\t\t\t\tclassName={ type }\n\t\t\t>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t\t{ styles.map( ( rules, i ) => (\n\t\t\t\t\t\t<style\n\t\t\t\t\t\t\tkey={ i }\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: rules } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</head>\n\t\t\t\t<body\n\t\t\t\t\tdata-resizable-iframe-connected=\"data-resizable-iframe-connected\"\n\t\t\t\t\tclassName={ type }\n\t\t\t\t>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: html } } />\n\t\t\t\t\t<script\n\t\t\t\t\t\ttype=\"text/javascript\"\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: `(${ observeAndResizeJS.toString() })();`,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ scripts.map( ( src ) => (\n\t\t\t\t\t\t<script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// Writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected.\n\t\tcontentDocument.open();\n\t\tcontentDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tcontentDocument.close();\n\t}\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\n\t\tfunction tryNoForceSandBox() {\n\t\t\ttrySandBox( false );\n\t\t}\n\n\t\tfunction checkMessageForResize( event: MessageEvent ) {\n\t\t\tconst iframe = ref.current;\n\n\t\t\t// Verify that the mounted element is the source of the message.\n\t\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Attempt to parse the message data as JSON if passed as string.\n\t\t\tlet data = event.data || {};\n\n\t\t\tif ( 'string' === typeof data ) {\n\t\t\t\ttry {\n\t\t\t\t\tdata = JSON.parse( data );\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\t// Update the state only if the message is formatted as we expect,\n\t\t\t// i.e. as an object with a 'resize' action.\n\t\t\tif ( 'resize' !== data.action ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetWidth( data.width );\n\t\t\tsetHeight( data.height );\n\t\t}\n\n\t\tconst iframe = ref.current;\n\t\tconst defaultView = iframe?.ownerDocument?.defaultView;\n\n\t\t// This used to be registered using <iframe onLoad={} />, but it made the iframe blank\n\t\t// after reordering the containing block. See these two issues for more details:\n\t\t// https://github.com/WordPress/gutenberg/issues/6146\n\t\t// https://github.com/facebook/react/issues/18752\n\t\tiframe?.addEventListener( 'load', tryNoForceSandBox, false );\n\t\tdefaultView?.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tiframe?.removeEventListener( 'load', tryNoForceSandBox, false );\n\t\t\tdefaultView?.removeEventListener(\n\t\t\t\t'message',\n\t\t\t\tcheckMessageForResize\n\t\t\t);\n\t\t};\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandBox();\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ title, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandBox( true );\n\t\t// Ignore reason: passing `exhaustive-deps` will likely involve a more detailed refactor.\n\t\t// See https://github.com/WordPress/gutenberg/pull/44378\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ html, type ] );\n\n\treturn (\n\t\t<iframe\n\t\t\tref={ useMergeRefs( [ ref, useFocusableIframe() ] ) }\n\t\t\ttitle={ title }\n\t\t\tclassName=\"components-sandbox\"\n\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\tonFocus={ onFocus }\n\t\t\twidth={ Math.ceil( width ) }\n\t\t\theight={ Math.ceil( height ) }\n\t\t/>\n\t);\n}\n\nexport default SandBox;\n"],"mappings":"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"}
|
|
@@ -90,20 +90,36 @@ function SearchControl({
|
|
|
90
90
|
// see https://github.com/WordPress/gutenberg/pull/41166
|
|
91
91
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
92
92
|
}, [isActive, isDark]);
|
|
93
|
+
const clearInput = (0, _element.useCallback)(() => {
|
|
94
|
+
onChange('');
|
|
95
|
+
}, [onChange]);
|
|
96
|
+
const onPress = (0, _element.useCallback)(() => {
|
|
97
|
+
setIsActive(true);
|
|
98
|
+
inputRef.current?.focus();
|
|
99
|
+
}, []);
|
|
100
|
+
const onFocus = (0, _element.useCallback)(() => {
|
|
101
|
+
setIsActive(true);
|
|
102
|
+
}, []);
|
|
103
|
+
const onCancel = (0, _element.useCallback)(() => {
|
|
104
|
+
clearTimeout(onCancelTimer.current);
|
|
105
|
+
onCancelTimer.current = setTimeout(() => {
|
|
106
|
+
inputRef.current?.blur();
|
|
107
|
+
clearInput();
|
|
108
|
+
setIsActive(false);
|
|
109
|
+
}, 0);
|
|
110
|
+
}, [clearInput]);
|
|
111
|
+
const onKeyboardDidHide = (0, _element.useCallback)(() => {
|
|
112
|
+
if (!isIOS) {
|
|
113
|
+
onCancel();
|
|
114
|
+
}
|
|
115
|
+
}, [isIOS, onCancel]);
|
|
93
116
|
(0, _element.useEffect)(() => {
|
|
94
|
-
const keyboardHideSubscription = _reactNative.Keyboard.addListener('keyboardDidHide',
|
|
95
|
-
if (!isIOS) {
|
|
96
|
-
onCancel();
|
|
97
|
-
}
|
|
98
|
-
});
|
|
117
|
+
const keyboardHideSubscription = _reactNative.Keyboard.addListener('keyboardDidHide', onKeyboardDidHide);
|
|
99
118
|
return () => {
|
|
100
119
|
clearTimeout(onCancelTimer.current);
|
|
101
120
|
keyboardHideSubscription.remove();
|
|
102
121
|
};
|
|
103
|
-
|
|
104
|
-
// see https://github.com/WordPress/gutenberg/pull/41166
|
|
105
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
106
|
-
}, []);
|
|
122
|
+
}, [onKeyboardDidHide]);
|
|
107
123
|
const {
|
|
108
124
|
'search-control__container': containerStyle,
|
|
109
125
|
'search-control__inner-container': innerContainerStyle,
|
|
@@ -118,16 +134,6 @@ function SearchControl({
|
|
|
118
134
|
'search-control__icon': iconStyle,
|
|
119
135
|
'search-control__right-icon': rightIconStyle
|
|
120
136
|
} = currentStyles;
|
|
121
|
-
function clearInput() {
|
|
122
|
-
onChange('');
|
|
123
|
-
}
|
|
124
|
-
function onCancel() {
|
|
125
|
-
onCancelTimer.current = setTimeout(() => {
|
|
126
|
-
inputRef.current.blur();
|
|
127
|
-
clearInput();
|
|
128
|
-
setIsActive(false);
|
|
129
|
-
}, 0);
|
|
130
|
-
}
|
|
131
137
|
function renderLeftButton() {
|
|
132
138
|
const button = !isIOS && isActive ? (0, _element.createElement)(_components.Button, {
|
|
133
139
|
label: (0, _i18n.__)('Cancel search'),
|
|
@@ -178,10 +184,7 @@ function SearchControl({
|
|
|
178
184
|
}
|
|
179
185
|
return (0, _element.createElement)(_reactNative.TouchableOpacity, {
|
|
180
186
|
style: containerStyle,
|
|
181
|
-
onPress:
|
|
182
|
-
setIsActive(true);
|
|
183
|
-
inputRef.current.focus();
|
|
184
|
-
},
|
|
187
|
+
onPress: onPress,
|
|
185
188
|
activeOpacity: 1
|
|
186
189
|
}, (0, _element.createElement)(_reactNative.View, {
|
|
187
190
|
style: innerContainerStyle
|
|
@@ -192,7 +195,7 @@ function SearchControl({
|
|
|
192
195
|
style: formInputStyle,
|
|
193
196
|
placeholderTextColor: placeholderStyle?.color,
|
|
194
197
|
onChangeText: onChange,
|
|
195
|
-
onFocus:
|
|
198
|
+
onFocus: onFocus,
|
|
196
199
|
value: value,
|
|
197
200
|
placeholder: placeholder
|
|
198
201
|
}), renderRightButton()), isActive && renderCancel()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_reactNative","_i18n","_components","_icons","_style","_interopRequireDefault","_platformStyle","baseStyles","allStyles","selector","platformStyles","selectModifiedStyles","styles","modifier","modifierMatcher","RegExp","modifierSelectors","Object","keys","filter","match","reduce","modifiedStyles","modifierSelector","blockElementSelector","split","mergeStyles","updateStyles","selectors","forEach","SearchControl","value","onChange","placeholder","__","isActive","setIsActive","useState","currentStyles","setCurrentStyles","isDark","useColorScheme","inputRef","useRef","onCancelTimer","isIOS","Platform","OS","darkStyles","useMemo","activeStyles","activeDarkStyles","useEffect","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","keyboardHideSubscription","Keyboard","addListener","onCancel","clearTimeout","current","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","clearInput","setTimeout","blur","renderLeftButton","button","createElement","Button","label","icon","arrowLeftIcon","onClick","style","Icon","Gridicons","search","fill","color","View","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","Text","onPress","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","TouchableOpacity","focus","activeOpacity","TextInput","ref","placeholderTextColor","onChangeText","onFocus","_default","exports","default"],"sources":["@wordpress/components/src/search-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tTextInput,\n\tText,\n\tView,\n\tTouchableOpacity,\n\tPlatform,\n\tuseColorScheme,\n\tKeyboard,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useRef, useMemo, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, Gridicons } from '@wordpress/components';\nimport {\n\tIcon,\n\tcancelCircleFilled as cancelCircleFilledIcon,\n\tarrowLeft as arrowLeftIcon,\n\tclose as closeIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport allStyles from './style.scss';\nimport platformStyles from './platform-style.scss';\n\n// Merge platform specific styles with the default styles.\nconst baseStyles = { ...allStyles };\nfor ( const selector in platformStyles ) {\n\tbaseStyles[ selector ] = {\n\t\t...baseStyles[ selector ],\n\t\t...platformStyles[ selector ],\n\t};\n}\n\nfunction selectModifiedStyles( styles, modifier ) {\n\tconst modifierMatcher = new RegExp( `--${ modifier }$` );\n\tconst modifierSelectors = Object.keys( styles ).filter( ( selector ) =>\n\t\tselector.match( modifierMatcher )\n\t);\n\n\treturn modifierSelectors.reduce( ( modifiedStyles, modifierSelector ) => {\n\t\tconst blockElementSelector = modifierSelector.split( '--' )[ 0 ];\n\t\tmodifiedStyles[ blockElementSelector ] = styles[ modifierSelector ];\n\t\treturn modifiedStyles;\n\t}, {} );\n}\n\nfunction mergeStyles( styles, updateStyles, selectors ) {\n\tselectors.forEach( ( selector ) => {\n\t\tstyles[ selector ] = {\n\t\t\t...styles[ selector ],\n\t\t\t...updateStyles[ selector ],\n\t\t};\n\t} );\n\n\treturn styles;\n}\n\nfunction SearchControl( {\n\tvalue,\n\tonChange,\n\tplaceholder = __( 'Search blocks' ),\n} ) {\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ currentStyles, setCurrentStyles ] = useState( baseStyles );\n\n\tconst isDark = useColorScheme() === 'dark';\n\tconst inputRef = useRef();\n\tconst onCancelTimer = useRef();\n\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst darkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'dark' );\n\t}, [] );\n\n\tconst activeStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active' );\n\t}, [] );\n\n\tconst activeDarkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active-dark' );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tlet futureStyles = { ...baseStyles };\n\n\t\tfunction mergeFutureStyles( modifiedStyles, shouldUseConditions ) {\n\t\t\tconst shouldUseModified = shouldUseConditions.every(\n\t\t\t\t( should ) => should\n\t\t\t);\n\n\t\t\tconst updatedStyles = shouldUseModified\n\t\t\t\t? modifiedStyles\n\t\t\t\t: futureStyles;\n\n\t\t\tconst selectors = Object.keys( modifiedStyles );\n\n\t\t\tfutureStyles = mergeStyles(\n\t\t\t\tfutureStyles,\n\t\t\t\tupdatedStyles,\n\t\t\t\tselectors\n\t\t\t);\n\t\t}\n\n\t\tmergeFutureStyles( activeStyles, [ isActive ] );\n\t\tmergeFutureStyles( darkStyles, [ isDark ] );\n\t\tmergeFutureStyles( activeDarkStyles, [ isActive, isDark ] );\n\n\t\tsetCurrentStyles( futureStyles );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ isActive, isDark ] );\n\n\tuseEffect( () => {\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardDidHide',\n\t\t\t() => {\n\t\t\t\tif ( ! isIOS ) {\n\t\t\t\t\tonCancel();\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\treturn () => {\n\t\t\tclearTimeout( onCancelTimer.current );\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tconst {\n\t\t'search-control__container': containerStyle,\n\t\t'search-control__inner-container': innerContainerStyle,\n\t\t'search-control__input-container': inputContainerStyle,\n\t\t'search-control__form-input': formInputStyle,\n\t\t'search-control__form-input-placeholder': placeholderStyle,\n\t\t'search-control__input-button': inputButtonStyle,\n\t\t'search-control__input-button-left': inputButtonLeftStyle,\n\t\t'search-control__input-button-right': inputButtonRightStyle,\n\t\t'search-control__cancel-button': cancelButtonStyle,\n\t\t'search-control__cancel-button-text': cancelButtonTextStyle,\n\t\t'search-control__icon': iconStyle,\n\t\t'search-control__right-icon': rightIconStyle,\n\t} = currentStyles;\n\n\tfunction clearInput() {\n\t\tonChange( '' );\n\t}\n\n\tfunction onCancel() {\n\t\tonCancelTimer.current = setTimeout( () => {\n\t\t\tinputRef.current.blur();\n\t\t\tclearInput();\n\t\t\tsetIsActive( false );\n\t\t}, 0 );\n\t}\n\n\tfunction renderLeftButton() {\n\t\tconst button =\n\t\t\t! isIOS && isActive ? (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Cancel search' ) }\n\t\t\t\t\ticon={ arrowLeftIcon }\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t\tstyle={ iconStyle }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon icon={ Gridicons.search } fill={ iconStyle?.color } />\n\t\t\t);\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonLeftStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderRightButton() {\n\t\tlet button;\n\n\t\t// Add a View element to properly center the input placeholder via flexbox.\n\t\tif ( isIOS && ! isActive ) {\n\t\t\tbutton = <View />;\n\t\t}\n\n\t\tif ( !! value ) {\n\t\t\tbutton = (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Clear search' ) }\n\t\t\t\t\ticon={ isIOS ? cancelCircleFilledIcon : closeIcon }\n\t\t\t\t\tonClick={ clearInput }\n\t\t\t\t\tstyle={ [ iconStyle, rightIconStyle ] }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonRightStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderCancel() {\n\t\tif ( ! isIOS ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={ cancelButtonStyle }>\n\t\t\t\t<Text\n\t\t\t\t\tonPress={ onCancel }\n\t\t\t\t\tstyle={ cancelButtonTextStyle }\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ __( 'Cancel search' ) }\n\t\t\t\t\taccessibilityHint={ __( 'Cancel search' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableOpacity\n\t\t\tstyle={ containerStyle }\n\t\t\tonPress={ () => {\n\t\t\t\tsetIsActive( true );\n\t\t\t\tinputRef.current.focus();\n\t\t\t} }\n\t\t\tactiveOpacity={ 1 }\n\t\t>\n\t\t\t<View style={ innerContainerStyle }>\n\t\t\t\t<View style={ inputContainerStyle }>\n\t\t\t\t\t{ renderLeftButton() }\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tref={ inputRef }\n\t\t\t\t\t\tstyle={ formInputStyle }\n\t\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t\t\tonChangeText={ onChange }\n\t\t\t\t\t\tonFocus={ () => setIsActive( true ) }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ renderRightButton() }\n\t\t\t\t</View>\n\t\t\t\t{ isActive && renderCancel() }\n\t\t\t</View>\n\t\t</TouchableOpacity>\n\t);\n}\n\nexport default SearchControl;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_reactNative","_i18n","_components","_icons","_style","_interopRequireDefault","_platformStyle","baseStyles","allStyles","selector","platformStyles","selectModifiedStyles","styles","modifier","modifierMatcher","RegExp","modifierSelectors","Object","keys","filter","match","reduce","modifiedStyles","modifierSelector","blockElementSelector","split","mergeStyles","updateStyles","selectors","forEach","SearchControl","value","onChange","placeholder","__","isActive","setIsActive","useState","currentStyles","setCurrentStyles","isDark","useColorScheme","inputRef","useRef","onCancelTimer","isIOS","Platform","OS","darkStyles","useMemo","activeStyles","activeDarkStyles","useEffect","futureStyles","mergeFutureStyles","shouldUseConditions","shouldUseModified","every","should","updatedStyles","clearInput","useCallback","onPress","current","focus","onFocus","onCancel","clearTimeout","setTimeout","blur","onKeyboardDidHide","keyboardHideSubscription","Keyboard","addListener","remove","containerStyle","innerContainerStyle","inputContainerStyle","formInputStyle","placeholderStyle","inputButtonStyle","inputButtonLeftStyle","inputButtonRightStyle","cancelButtonStyle","cancelButtonTextStyle","iconStyle","rightIconStyle","renderLeftButton","button","createElement","Button","label","icon","arrowLeftIcon","onClick","style","Icon","Gridicons","search","fill","color","View","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","Text","accessible","accessibilityRole","accessibilityLabel","accessibilityHint","TouchableOpacity","activeOpacity","TextInput","ref","placeholderTextColor","onChangeText","_default","exports","default"],"sources":["@wordpress/components/src/search-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tTextInput,\n\tText,\n\tView,\n\tTouchableOpacity,\n\tPlatform,\n\tuseColorScheme,\n\tKeyboard,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseRef,\n\tuseMemo,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button, Gridicons } from '@wordpress/components';\nimport {\n\tIcon,\n\tcancelCircleFilled as cancelCircleFilledIcon,\n\tarrowLeft as arrowLeftIcon,\n\tclose as closeIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport allStyles from './style.scss';\nimport platformStyles from './platform-style.scss';\n\n// Merge platform specific styles with the default styles.\nconst baseStyles = { ...allStyles };\nfor ( const selector in platformStyles ) {\n\tbaseStyles[ selector ] = {\n\t\t...baseStyles[ selector ],\n\t\t...platformStyles[ selector ],\n\t};\n}\n\nfunction selectModifiedStyles( styles, modifier ) {\n\tconst modifierMatcher = new RegExp( `--${ modifier }$` );\n\tconst modifierSelectors = Object.keys( styles ).filter( ( selector ) =>\n\t\tselector.match( modifierMatcher )\n\t);\n\n\treturn modifierSelectors.reduce( ( modifiedStyles, modifierSelector ) => {\n\t\tconst blockElementSelector = modifierSelector.split( '--' )[ 0 ];\n\t\tmodifiedStyles[ blockElementSelector ] = styles[ modifierSelector ];\n\t\treturn modifiedStyles;\n\t}, {} );\n}\n\nfunction mergeStyles( styles, updateStyles, selectors ) {\n\tselectors.forEach( ( selector ) => {\n\t\tstyles[ selector ] = {\n\t\t\t...styles[ selector ],\n\t\t\t...updateStyles[ selector ],\n\t\t};\n\t} );\n\n\treturn styles;\n}\n\nfunction SearchControl( {\n\tvalue,\n\tonChange,\n\tplaceholder = __( 'Search blocks' ),\n} ) {\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ currentStyles, setCurrentStyles ] = useState( baseStyles );\n\n\tconst isDark = useColorScheme() === 'dark';\n\tconst inputRef = useRef();\n\tconst onCancelTimer = useRef();\n\n\tconst isIOS = Platform.OS === 'ios';\n\n\tconst darkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'dark' );\n\t}, [] );\n\n\tconst activeStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active' );\n\t}, [] );\n\n\tconst activeDarkStyles = useMemo( () => {\n\t\treturn selectModifiedStyles( baseStyles, 'active-dark' );\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tlet futureStyles = { ...baseStyles };\n\n\t\tfunction mergeFutureStyles( modifiedStyles, shouldUseConditions ) {\n\t\t\tconst shouldUseModified = shouldUseConditions.every(\n\t\t\t\t( should ) => should\n\t\t\t);\n\n\t\t\tconst updatedStyles = shouldUseModified\n\t\t\t\t? modifiedStyles\n\t\t\t\t: futureStyles;\n\n\t\t\tconst selectors = Object.keys( modifiedStyles );\n\n\t\t\tfutureStyles = mergeStyles(\n\t\t\t\tfutureStyles,\n\t\t\t\tupdatedStyles,\n\t\t\t\tselectors\n\t\t\t);\n\t\t}\n\n\t\tmergeFutureStyles( activeStyles, [ isActive ] );\n\t\tmergeFutureStyles( darkStyles, [ isDark ] );\n\t\tmergeFutureStyles( activeDarkStyles, [ isActive, isDark ] );\n\n\t\tsetCurrentStyles( futureStyles );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ isActive, isDark ] );\n\n\tconst clearInput = useCallback( () => {\n\t\tonChange( '' );\n\t}, [ onChange ] );\n\n\tconst onPress = useCallback( () => {\n\t\tsetIsActive( true );\n\t\tinputRef.current?.focus();\n\t}, [] );\n\n\tconst onFocus = useCallback( () => {\n\t\tsetIsActive( true );\n\t}, [] );\n\n\tconst onCancel = useCallback( () => {\n\t\tclearTimeout( onCancelTimer.current );\n\t\tonCancelTimer.current = setTimeout( () => {\n\t\t\tinputRef.current?.blur();\n\t\t\tclearInput();\n\t\t\tsetIsActive( false );\n\t\t}, 0 );\n\t}, [ clearInput ] );\n\n\tconst onKeyboardDidHide = useCallback( () => {\n\t\tif ( ! isIOS ) {\n\t\t\tonCancel();\n\t\t}\n\t}, [ isIOS, onCancel ] );\n\n\tuseEffect( () => {\n\t\tconst keyboardHideSubscription = Keyboard.addListener(\n\t\t\t'keyboardDidHide',\n\t\t\tonKeyboardDidHide\n\t\t);\n\t\treturn () => {\n\t\t\tclearTimeout( onCancelTimer.current );\n\t\t\tkeyboardHideSubscription.remove();\n\t\t};\n\t}, [ onKeyboardDidHide ] );\n\n\tconst {\n\t\t'search-control__container': containerStyle,\n\t\t'search-control__inner-container': innerContainerStyle,\n\t\t'search-control__input-container': inputContainerStyle,\n\t\t'search-control__form-input': formInputStyle,\n\t\t'search-control__form-input-placeholder': placeholderStyle,\n\t\t'search-control__input-button': inputButtonStyle,\n\t\t'search-control__input-button-left': inputButtonLeftStyle,\n\t\t'search-control__input-button-right': inputButtonRightStyle,\n\t\t'search-control__cancel-button': cancelButtonStyle,\n\t\t'search-control__cancel-button-text': cancelButtonTextStyle,\n\t\t'search-control__icon': iconStyle,\n\t\t'search-control__right-icon': rightIconStyle,\n\t} = currentStyles;\n\n\tfunction renderLeftButton() {\n\t\tconst button =\n\t\t\t! isIOS && isActive ? (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Cancel search' ) }\n\t\t\t\t\ticon={ arrowLeftIcon }\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t\tstyle={ iconStyle }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Icon icon={ Gridicons.search } fill={ iconStyle?.color } />\n\t\t\t);\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonLeftStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderRightButton() {\n\t\tlet button;\n\n\t\t// Add a View element to properly center the input placeholder via flexbox.\n\t\tif ( isIOS && ! isActive ) {\n\t\t\tbutton = <View />;\n\t\t}\n\n\t\tif ( !! value ) {\n\t\t\tbutton = (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Clear search' ) }\n\t\t\t\t\ticon={ isIOS ? cancelCircleFilledIcon : closeIcon }\n\t\t\t\t\tonClick={ clearInput }\n\t\t\t\t\tstyle={ [ iconStyle, rightIconStyle ] }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ [ inputButtonStyle, inputButtonRightStyle ] }>\n\t\t\t\t{ button }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction renderCancel() {\n\t\tif ( ! isIOS ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<View style={ cancelButtonStyle }>\n\t\t\t\t<Text\n\t\t\t\t\tonPress={ onCancel }\n\t\t\t\t\tstyle={ cancelButtonTextStyle }\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\t\taccessibilityLabel={ __( 'Cancel search' ) }\n\t\t\t\t\taccessibilityHint={ __( 'Cancel search' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Text>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableOpacity\n\t\t\tstyle={ containerStyle }\n\t\t\tonPress={ onPress }\n\t\t\tactiveOpacity={ 1 }\n\t\t>\n\t\t\t<View style={ innerContainerStyle }>\n\t\t\t\t<View style={ inputContainerStyle }>\n\t\t\t\t\t{ renderLeftButton() }\n\t\t\t\t\t<TextInput\n\t\t\t\t\t\tref={ inputRef }\n\t\t\t\t\t\tstyle={ formInputStyle }\n\t\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t\t\tonChangeText={ onChange }\n\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ renderRightButton() }\n\t\t\t\t</View>\n\t\t\t\t{ isActive && renderCancel() }\n\t\t\t</View>\n\t\t</TouchableOpacity>\n\t);\n}\n\nexport default SearchControl;\n"],"mappings":"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"}
|
package/build/shortcut/index.js
CHANGED
|
@@ -9,6 +9,19 @@ var _element = require("@wordpress/element");
|
|
|
9
9
|
* Internal dependencies
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* Shortcut component is used to display keyboard shortcuts, and it can be customized with a custom display and aria label if needed.
|
|
14
|
+
*
|
|
15
|
+
* ```jsx
|
|
16
|
+
* import { Shortcut } from '@wordpress/components';
|
|
17
|
+
*
|
|
18
|
+
* const MyShortcut = () => {
|
|
19
|
+
* return (
|
|
20
|
+
* <Shortcut shortcut={{ display: 'Ctrl + S', ariaLabel: 'Save' }} />
|
|
21
|
+
* );
|
|
22
|
+
* };
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
12
25
|
function Shortcut(props) {
|
|
13
26
|
const {
|
|
14
27
|
shortcut,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Shortcut","props","shortcut","className","displayText","ariaLabel","display","_element","createElement","_default","exports","default"],"sources":["@wordpress/components/src/shortcut/index.tsx"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { ShortcutProps } from './types';\n\nfunction Shortcut( props: ShortcutProps ) {\n\tconst { shortcut, className } = props;\n\n\tif ( ! shortcut ) {\n\t\treturn null;\n\t}\n\n\tlet displayText;\n\tlet ariaLabel;\n\n\tif ( typeof shortcut === 'string' ) {\n\t\tdisplayText = shortcut;\n\t}\n\n\tif ( shortcut !== null && typeof shortcut === 'object' ) {\n\t\tdisplayText = shortcut.display;\n\t\tariaLabel = shortcut.ariaLabel;\n\t}\n\n\treturn (\n\t\t<span className={ className } aria-label={ ariaLabel }>\n\t\t\t{ displayText }\n\t\t</span>\n\t);\n}\n\nexport default Shortcut;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAGA,SAASA,QAAQA,CAAEC,KAAoB,EAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAAGF,KAAK;EAErC,IAAK,CAAEC,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,IAAIE,WAAW;EACf,IAAIC,SAAS;EAEb,IAAK,OAAOH,QAAQ,KAAK,QAAQ,EAAG;IACnCE,WAAW,GAAGF,QAAQ;EACvB;EAEA,IAAKA,QAAQ,KAAK,IAAI,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAG;IACxDE,WAAW,GAAGF,QAAQ,CAACI,OAAO;IAC9BD,SAAS,GAAGH,QAAQ,CAACG,SAAS;EAC/B;EAEA,OACC,IAAAE,QAAA,CAAAC,aAAA;IAAML,SAAS,EAAGA,SAAW;IAAC,cAAaE;EAAW,GACnDD,WACG,CAAC;AAET;AAAC,IAAAK,QAAA,GAEcT,QAAQ;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
1
|
+
{"version":3,"names":["Shortcut","props","shortcut","className","displayText","ariaLabel","display","_element","createElement","_default","exports","default"],"sources":["@wordpress/components/src/shortcut/index.tsx"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { ShortcutProps } from './types';\n\n/**\n * Shortcut component is used to display keyboard shortcuts, and it can be customized with a custom display and aria label if needed.\n *\n * ```jsx\n * import { Shortcut } from '@wordpress/components';\n *\n * const MyShortcut = () => {\n * \treturn (\n * \t\t<Shortcut shortcut={{ display: 'Ctrl + S', ariaLabel: 'Save' }} />\n * \t);\n * };\n * ```\n */\nfunction Shortcut( props: ShortcutProps ) {\n\tconst { shortcut, className } = props;\n\n\tif ( ! shortcut ) {\n\t\treturn null;\n\t}\n\n\tlet displayText;\n\tlet ariaLabel;\n\n\tif ( typeof shortcut === 'string' ) {\n\t\tdisplayText = shortcut;\n\t}\n\n\tif ( shortcut !== null && typeof shortcut === 'object' ) {\n\t\tdisplayText = shortcut.display;\n\t\tariaLabel = shortcut.ariaLabel;\n\t}\n\n\treturn (\n\t\t<span className={ className } aria-label={ ariaLabel }>\n\t\t\t{ displayText }\n\t\t</span>\n\t);\n}\n\nexport default Shortcut;\n"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,QAAQA,CAAEC,KAAoB,EAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAAGF,KAAK;EAErC,IAAK,CAAEC,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,IAAIE,WAAW;EACf,IAAIC,SAAS;EAEb,IAAK,OAAOH,QAAQ,KAAK,QAAQ,EAAG;IACnCE,WAAW,GAAGF,QAAQ;EACvB;EAEA,IAAKA,QAAQ,KAAK,IAAI,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAG;IACxDE,WAAW,GAAGF,QAAQ,CAACI,OAAO;IAC9BD,SAAS,GAAGH,QAAQ,CAACG,SAAS;EAC/B;EAEA,OACC,IAAAE,QAAA,CAAAC,aAAA;IAAML,SAAS,EAAGA,SAAW;IAAC,cAAaE;EAAW,GACnDD,WACG,CAAC;AAET;AAAC,IAAAK,QAAA,GAEcT,QAAQ;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -21,12 +21,14 @@ const SlotFillContext = (0, _element.createContext)({
|
|
|
21
21
|
slots: (0, _utils.proxyMap)(),
|
|
22
22
|
fills: (0, _utils.proxyMap)(),
|
|
23
23
|
registerSlot: () => {
|
|
24
|
-
typeof
|
|
24
|
+
typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('Components must be wrapped within `SlotFillProvider`. ' + 'See https://developer.wordpress.org/block-editor/components/slot-fill/') : void 0;
|
|
25
25
|
},
|
|
26
26
|
updateSlot: () => {},
|
|
27
27
|
unregisterSlot: () => {},
|
|
28
28
|
registerFill: () => {},
|
|
29
|
-
unregisterFill: () => {}
|
|
29
|
+
unregisterFill: () => {},
|
|
30
|
+
// This helps the provider know if it's using the default context value or not.
|
|
31
|
+
isDefault: true
|
|
30
32
|
});
|
|
31
33
|
var _default = SlotFillContext;
|
|
32
34
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_utils","require","_element","_warning","_interopRequireDefault","SlotFillContext","createContext","slots","proxyMap","fills","registerSlot","
|
|
1
|
+
{"version":3,"names":["_utils","require","_element","_warning","_interopRequireDefault","SlotFillContext","createContext","slots","proxyMap","fills","registerSlot","SCRIPT_DEBUG","warning","updateSlot","unregisterSlot","registerFill","unregisterFill","isDefault","_default","exports","default"],"sources":["@wordpress/components/src/slot-fill/bubbles-virtually/slot-fill-context.js"],"sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport { proxyMap } from 'valtio/utils';\n/**\n * WordPress dependencies\n */\nimport { createContext } from '@wordpress/element';\nimport warning from '@wordpress/warning';\n\nconst SlotFillContext = createContext( {\n\tslots: proxyMap(),\n\tfills: proxyMap(),\n\tregisterSlot: () => {\n\t\twarning(\n\t\t\t'Components must be wrapped within `SlotFillProvider`. ' +\n\t\t\t\t'See https://developer.wordpress.org/block-editor/components/slot-fill/'\n\t\t);\n\t},\n\tupdateSlot: () => {},\n\tunregisterSlot: () => {},\n\tregisterFill: () => {},\n\tunregisterFill: () => {},\n\n\t// This helps the provider know if it's using the default context value or not.\n\tisDefault: true,\n} );\n\nexport default SlotFillContext;\n"],"mappings":";;;;;;;AAIA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AATA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAIA,MAAMI,eAAe,GAAG,IAAAC,sBAAa,EAAE;EACtCC,KAAK,EAAE,IAAAC,eAAQ,EAAC,CAAC;EACjBC,KAAK,EAAE,IAAAD,eAAQ,EAAC,CAAC;EACjBE,YAAY,EAAEA,CAAA,KAAM;IACnB,OAAAC,YAAA,oBAAAA,YAAA,gBAAAC,gBAAO,EACN,wDAAwD,GACvD,wEACF,CAAC;EACF,CAAC;EACDC,UAAU,EAAEA,CAAA,KAAM,CAAC,CAAC;EACpBC,cAAc,EAAEA,CAAA,KAAM,CAAC,CAAC;EACxBC,YAAY,EAAEA,CAAA,KAAM,CAAC,CAAC;EACtBC,cAAc,EAAEA,CAAA,KAAM,CAAC,CAAC;EAExB;EACAC,SAAS,EAAE;AACZ,CAAE,CAAC;AAAC,IAAAC,QAAA,GAEWb,eAAe;AAAAc,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _element = require("@wordpress/element");
|
|
9
9
|
var _compose = require("@wordpress/compose");
|
|
10
|
+
var _view = require("../../view");
|
|
10
11
|
var _slotFillContext = _interopRequireDefault(require("./slot-fill-context"));
|
|
11
12
|
// @ts-nocheck
|
|
12
13
|
/**
|
|
@@ -17,12 +18,16 @@ var _slotFillContext = _interopRequireDefault(require("./slot-fill-context"));
|
|
|
17
18
|
* Internal dependencies
|
|
18
19
|
*/
|
|
19
20
|
|
|
20
|
-
function Slot({
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
function Slot(props, forwardedRef) {
|
|
22
|
+
const {
|
|
23
|
+
name,
|
|
24
|
+
fillProps = {},
|
|
25
|
+
as,
|
|
26
|
+
// `children` is not allowed. However, if it is passed,
|
|
27
|
+
// it will be displayed as is, so remove `children`.
|
|
28
|
+
children,
|
|
29
|
+
...restProps
|
|
30
|
+
} = props;
|
|
26
31
|
const {
|
|
27
32
|
registerSlot,
|
|
28
33
|
unregisterSlot,
|
|
@@ -45,9 +50,10 @@ function Slot({
|
|
|
45
50
|
(0, _element.useLayoutEffect)(() => {
|
|
46
51
|
registry.updateSlot(name, fillProps);
|
|
47
52
|
});
|
|
48
|
-
return (0, _element.createElement)(
|
|
53
|
+
return (0, _element.createElement)(_view.View, {
|
|
54
|
+
as: as,
|
|
49
55
|
ref: (0, _compose.useMergeRefs)([forwardedRef, ref]),
|
|
50
|
-
...
|
|
56
|
+
...restProps
|
|
51
57
|
});
|
|
52
58
|
}
|
|
53
59
|
var _default = (0, _element.forwardRef)(Slot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_compose","_slotFillContext","_interopRequireDefault","Slot","name","fillProps","as","
|
|
1
|
+
{"version":3,"names":["_element","require","_compose","_view","_slotFillContext","_interopRequireDefault","Slot","props","forwardedRef","name","fillProps","as","children","restProps","registerSlot","unregisterSlot","registry","useContext","SlotFillContext","ref","useRef","useLayoutEffect","updateSlot","createElement","View","useMergeRefs","_default","forwardRef","exports","default"],"sources":["@wordpress/components/src/slot-fill/bubbles-virtually/slot.js"],"sourcesContent":["// @ts-nocheck\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tuseContext,\n\tforwardRef,\n} from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { View } from '../../view';\nimport SlotFillContext from './slot-fill-context';\n\nfunction Slot( props, forwardedRef ) {\n\tconst {\n\t\tname,\n\t\tfillProps = {},\n\t\tas,\n\t\t// `children` is not allowed. However, if it is passed,\n\t\t// it will be displayed as is, so remove `children`.\n\t\tchildren,\n\t\t...restProps\n\t} = props;\n\n\tconst { registerSlot, unregisterSlot, ...registry } =\n\t\tuseContext( SlotFillContext );\n\tconst ref = useRef();\n\n\tuseLayoutEffect( () => {\n\t\tregisterSlot( name, ref, fillProps );\n\t\treturn () => {\n\t\t\tunregisterSlot( name, ref );\n\t\t};\n\t\t// Ignore reason: We don't want to unregister and register the slot whenever\n\t\t// `fillProps` change, which would cause the fill to be re-mounted. Instead,\n\t\t// we can just update the slot (see hook below).\n\t\t// For more context, see https://github.com/WordPress/gutenberg/pull/44403#discussion_r994415973\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ registerSlot, unregisterSlot, name ] );\n\t// fillProps may be an update that interacts with the layout, so we\n\t// useLayoutEffect.\n\tuseLayoutEffect( () => {\n\t\tregistry.updateSlot( name, fillProps );\n\t} );\n\n\treturn (\n\t\t<View\n\t\t\tas={ as }\n\t\t\tref={ useMergeRefs( [ forwardedRef, ref ] ) }\n\t\t\t{ ...restProps }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( Slot );\n"],"mappings":";;;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAhBA;AACA;AACA;AACA;;AASA;AACA;AACA;;AAIA,SAASK,IAAIA,CAAEC,KAAK,EAAEC,YAAY,EAAG;EACpC,MAAM;IACLC,IAAI;IACJC,SAAS,GAAG,CAAC,CAAC;IACdC,EAAE;IACF;IACA;IACAC,QAAQ;IACR,GAAGC;EACJ,CAAC,GAAGN,KAAK;EAET,MAAM;IAAEO,YAAY;IAAEC,cAAc;IAAE,GAAGC;EAAS,CAAC,GAClD,IAAAC,mBAAU,EAAEC,wBAAgB,CAAC;EAC9B,MAAMC,GAAG,GAAG,IAAAC,eAAM,EAAC,CAAC;EAEpB,IAAAC,wBAAe,EAAE,MAAM;IACtBP,YAAY,CAAEL,IAAI,EAAEU,GAAG,EAAET,SAAU,CAAC;IACpC,OAAO,MAAM;MACZK,cAAc,CAAEN,IAAI,EAAEU,GAAI,CAAC;IAC5B,CAAC;IACD;IACA;IACA;IACA;IACA;EACD,CAAC,EAAE,CAAEL,YAAY,EAAEC,cAAc,EAAEN,IAAI,CAAG,CAAC;EAC3C;EACA;EACA,IAAAY,wBAAe,EAAE,MAAM;IACtBL,QAAQ,CAACM,UAAU,CAAEb,IAAI,EAAEC,SAAU,CAAC;EACvC,CAAE,CAAC;EAEH,OACC,IAAAV,QAAA,CAAAuB,aAAA,EAACpB,KAAA,CAAAqB,IAAI;IACJb,EAAE,EAAGA,EAAI;IACTQ,GAAG,EAAG,IAAAM,qBAAY,EAAE,CAAEjB,YAAY,EAAEW,GAAG,CAAG,CAAG;IAAA,GACxCN;EAAS,CACd,CAAC;AAEJ;AAAC,IAAAa,QAAA,GAEc,IAAAC,mBAAU,EAAErB,IAAK,CAAC;AAAAsB,OAAA,CAAAC,OAAA,GAAAH,QAAA"}
|
package/build/slot-fill/index.js
CHANGED
|
@@ -27,6 +27,7 @@ var _fill2 = _interopRequireDefault(require("./bubbles-virtually/fill"));
|
|
|
27
27
|
var _slot2 = _interopRequireDefault(require("./bubbles-virtually/slot"));
|
|
28
28
|
var _slotFillProvider = _interopRequireDefault(require("./bubbles-virtually/slot-fill-provider"));
|
|
29
29
|
var _provider = _interopRequireDefault(require("./provider"));
|
|
30
|
+
var _slotFillContext = _interopRequireDefault(require("./bubbles-virtually/slot-fill-context"));
|
|
30
31
|
var _useSlot = _interopRequireDefault(require("./bubbles-virtually/use-slot"));
|
|
31
32
|
var _useSlotFills = _interopRequireDefault(require("./bubbles-virtually/use-slot-fills"));
|
|
32
33
|
// @ts-nocheck
|
|
@@ -67,6 +68,10 @@ function Provider({
|
|
|
67
68
|
children,
|
|
68
69
|
...props
|
|
69
70
|
}) {
|
|
71
|
+
const parent = (0, _element.useContext)(_slotFillContext.default);
|
|
72
|
+
if (!parent.isDefault) {
|
|
73
|
+
return children;
|
|
74
|
+
}
|
|
70
75
|
return (0, _element.createElement)(_provider.default, {
|
|
71
76
|
...props
|
|
72
77
|
}, (0, _element.createElement)(_slotFillProvider.default, null, children));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_fill","_interopRequireDefault","_slot","_fill2","_slot2","_slotFillProvider","_provider","_useSlot","_useSlotFills","Fill","props","createElement","Fragment","default","Slot","forwardRef","bubblesVirtually","ref","exports","Provider","children","createSlotFill","key","baseName","description","FillComponent","name","displayName","SlotComponent","__unstableName","createPrivateSlotFill","privateKey","Symbol","privateSlotFill"],"sources":["@wordpress/components/src/slot-fill/index.js"],"sourcesContent":["// @ts-nocheck\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BaseFill from './fill';\nimport BaseSlot from './slot';\nimport BubblesVirtuallyFill from './bubbles-virtually/fill';\nimport BubblesVirtuallySlot from './bubbles-virtually/slot';\nimport BubblesVirtuallySlotFillProvider from './bubbles-virtually/slot-fill-provider';\nimport SlotFillProvider from './provider';\nexport { default as useSlot } from './bubbles-virtually/use-slot';\nexport { default as useSlotFills } from './bubbles-virtually/use-slot-fills';\n\nexport function Fill( props ) {\n\t// We're adding both Fills here so they can register themselves before\n\t// their respective slot has been registered. Only the Fill that has a slot\n\t// will render. The other one will return null.\n\treturn (\n\t\t<>\n\t\t\t<BaseFill { ...props } />\n\t\t\t<BubblesVirtuallyFill { ...props } />\n\t\t</>\n\t);\n}\nexport const Slot = forwardRef( ( { bubblesVirtually, ...props }, ref ) => {\n\tif ( bubblesVirtually ) {\n\t\treturn <BubblesVirtuallySlot { ...props } ref={ ref } />;\n\t}\n\treturn <BaseSlot { ...props } />;\n} );\n\nexport function Provider( { children, ...props } ) {\n\treturn (\n\t\t<SlotFillProvider { ...props }>\n\t\t\t<BubblesVirtuallySlotFillProvider>\n\t\t\t\t{ children }\n\t\t\t</BubblesVirtuallySlotFillProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport function createSlotFill( key ) {\n\tconst baseName = typeof key === 'symbol' ? key.description : key;\n\tconst FillComponent = ( props ) => <Fill name={ key } { ...props } />;\n\tFillComponent.displayName = `${ baseName }Fill`;\n\n\tconst SlotComponent = ( props ) => <Slot name={ key } { ...props } />;\n\tSlotComponent.displayName = `${ baseName }Slot`;\n\tSlotComponent.__unstableName = key;\n\n\treturn {\n\t\tFill: FillComponent,\n\t\tSlot: SlotComponent,\n\t};\n}\n\nexport const createPrivateSlotFill = ( name ) => {\n\tconst privateKey = Symbol( name );\n\tconst privateSlotFill = createSlotFill( privateKey );\n\n\treturn { privateKey, ...privateSlotFill };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,MAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,MAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,iBAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,SAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,
|
|
1
|
+
{"version":3,"names":["_element","require","_fill","_interopRequireDefault","_slot","_fill2","_slot2","_slotFillProvider","_provider","_slotFillContext","_useSlot","_useSlotFills","Fill","props","createElement","Fragment","default","Slot","forwardRef","bubblesVirtually","ref","exports","Provider","children","parent","useContext","SlotFillContext","isDefault","createSlotFill","key","baseName","description","FillComponent","name","displayName","SlotComponent","__unstableName","createPrivateSlotFill","privateKey","Symbol","privateSlotFill"],"sources":["@wordpress/components/src/slot-fill/index.js"],"sourcesContent":["// @ts-nocheck\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BaseFill from './fill';\nimport BaseSlot from './slot';\nimport BubblesVirtuallyFill from './bubbles-virtually/fill';\nimport BubblesVirtuallySlot from './bubbles-virtually/slot';\nimport BubblesVirtuallySlotFillProvider from './bubbles-virtually/slot-fill-provider';\nimport SlotFillProvider from './provider';\nimport SlotFillContext from './bubbles-virtually/slot-fill-context';\nexport { default as useSlot } from './bubbles-virtually/use-slot';\nexport { default as useSlotFills } from './bubbles-virtually/use-slot-fills';\n\nexport function Fill( props ) {\n\t// We're adding both Fills here so they can register themselves before\n\t// their respective slot has been registered. Only the Fill that has a slot\n\t// will render. The other one will return null.\n\treturn (\n\t\t<>\n\t\t\t<BaseFill { ...props } />\n\t\t\t<BubblesVirtuallyFill { ...props } />\n\t\t</>\n\t);\n}\nexport const Slot = forwardRef( ( { bubblesVirtually, ...props }, ref ) => {\n\tif ( bubblesVirtually ) {\n\t\treturn <BubblesVirtuallySlot { ...props } ref={ ref } />;\n\t}\n\treturn <BaseSlot { ...props } />;\n} );\n\nexport function Provider( { children, ...props } ) {\n\tconst parent = useContext( SlotFillContext );\n\tif ( ! parent.isDefault ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<SlotFillProvider { ...props }>\n\t\t\t<BubblesVirtuallySlotFillProvider>\n\t\t\t\t{ children }\n\t\t\t</BubblesVirtuallySlotFillProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n\nexport function createSlotFill( key ) {\n\tconst baseName = typeof key === 'symbol' ? key.description : key;\n\tconst FillComponent = ( props ) => <Fill name={ key } { ...props } />;\n\tFillComponent.displayName = `${ baseName }Fill`;\n\n\tconst SlotComponent = ( props ) => <Slot name={ key } { ...props } />;\n\tSlotComponent.displayName = `${ baseName }Slot`;\n\tSlotComponent.__unstableName = key;\n\n\treturn {\n\t\tFill: FillComponent,\n\t\tSlot: SlotComponent,\n\t};\n}\n\nexport const createPrivateSlotFill = ( name ) => {\n\tconst privateKey = Symbol( name );\n\tconst privateSlotFill = createSlotFill( privateKey );\n\n\treturn { privateKey, ...privateSlotFill };\n};\n"],"mappings":"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"}
|
package/build/snackbar/index.js
CHANGED
|
@@ -89,7 +89,7 @@ function UnforwardedSnackbar({
|
|
|
89
89
|
});
|
|
90
90
|
if (actions && actions.length > 1) {
|
|
91
91
|
// We need to inform developers that snackbar only accepts 1 action.
|
|
92
|
-
typeof
|
|
92
|
+
typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('Snackbar can only have 1 action, use Notice if your message require many messages') : void 0;
|
|
93
93
|
// return first element only while keeping it inside an array
|
|
94
94
|
actions = [actions[0]];
|
|
95
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_a11y","_i18n","_warning","_button","NOTICE_TIMEOUT","useSpokenMessage","message","politeness","spokenMessage","renderToString","useEffect","speak","UnforwardedSnackbar","className","children","actions","onRemove","icon","explicitDismiss","onDismiss","listRef","ref","dismissMe","event","preventDefault","current","focus","onActionClick","onClick","stopPropagation","timeoutHandle","setTimeout","clearTimeout","classes","classnames","length","
|
|
1
|
+
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_a11y","_i18n","_warning","_button","NOTICE_TIMEOUT","useSpokenMessage","message","politeness","spokenMessage","renderToString","useEffect","speak","UnforwardedSnackbar","className","children","actions","onRemove","icon","explicitDismiss","onDismiss","listRef","ref","dismissMe","event","preventDefault","current","focus","onActionClick","onClick","stopPropagation","timeoutHandle","setTimeout","clearTimeout","classes","classnames","length","SCRIPT_DEBUG","warning","snackbarContentClassnames","createElement","undefined","tabIndex","role","onKeyPress","__","map","label","url","index","default","key","href","variant","Snackbar","forwardRef","exports","_default"],"sources":["@wordpress/components/src/snackbar/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef, KeyboardEvent, MouseEvent } from 'react';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { useEffect, forwardRef, renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport type { SnackbarProps } from './types';\nimport type { NoticeAction } from '../notice/types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nconst NOTICE_TIMEOUT = 10000;\n\n/**\n * Custom hook which announces the message with the given politeness, if a\n * valid message is provided.\n *\n * @param message Message to announce.\n * @param politeness Politeness to announce.\n */\nfunction useSpokenMessage(\n\tmessage: SnackbarProps[ 'spokenMessage' ],\n\tpoliteness: NonNullable< SnackbarProps[ 'politeness' ] >\n) {\n\tconst spokenMessage =\n\t\ttypeof message === 'string' ? message : renderToString( message );\n\n\tuseEffect( () => {\n\t\tif ( spokenMessage ) {\n\t\t\tspeak( spokenMessage, politeness );\n\t\t}\n\t}, [ spokenMessage, politeness ] );\n}\n\nfunction UnforwardedSnackbar(\n\t{\n\t\tclassName,\n\t\tchildren,\n\t\tspokenMessage = children,\n\t\tpoliteness = 'polite',\n\t\tactions = [],\n\t\tonRemove,\n\t\ticon = null,\n\t\texplicitDismiss = false,\n\t\t// onDismiss is a callback executed when the snackbar is dismissed.\n\t\t// It is distinct from onRemove, which _looks_ like a callback but is\n\t\t// actually the function to call to remove the snackbar from the UI.\n\t\tonDismiss,\n\t\tlistRef,\n\t}: WordPressComponentProps< SnackbarProps, 'div' >,\n\tref: ForwardedRef< any >\n) {\n\tfunction dismissMe( event: KeyboardEvent | MouseEvent ) {\n\t\tif ( event && event.preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\t// Prevent focus loss by moving it to the list element.\n\t\tlistRef?.current?.focus();\n\n\t\tonDismiss?.();\n\t\tonRemove?.();\n\t}\n\n\tfunction onActionClick(\n\t\tevent: MouseEvent< HTMLButtonElement >,\n\t\tonClick: NoticeAction[ 'onClick' ]\n\t) {\n\t\tevent.stopPropagation();\n\n\t\tonRemove?.();\n\n\t\tif ( onClick ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\tuseSpokenMessage( spokenMessage, politeness );\n\n\t// Only set up the timeout dismiss if we're not explicitly dismissing.\n\tuseEffect( () => {\n\t\tconst timeoutHandle = setTimeout( () => {\n\t\t\tif ( ! explicitDismiss ) {\n\t\t\t\tonDismiss?.();\n\t\t\t\tonRemove?.();\n\t\t\t}\n\t\t}, NOTICE_TIMEOUT );\n\n\t\treturn () => clearTimeout( timeoutHandle );\n\t}, [ onDismiss, onRemove, explicitDismiss ] );\n\n\tconst classes = classnames( className, 'components-snackbar', {\n\t\t'components-snackbar-explicit-dismiss': !! explicitDismiss,\n\t} );\n\tif ( actions && actions.length > 1 ) {\n\t\t// We need to inform developers that snackbar only accepts 1 action.\n\t\twarning(\n\t\t\t'Snackbar can only have 1 action, use Notice if your message require many messages'\n\t\t);\n\t\t// return first element only while keeping it inside an array\n\t\tactions = [ actions[ 0 ] ];\n\t}\n\n\tconst snackbarContentClassnames = classnames(\n\t\t'components-snackbar__content',\n\t\t{\n\t\t\t'components-snackbar__content-with-icon': !! icon,\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tref={ ref }\n\t\t\tclassName={ classes }\n\t\t\tonClick={ ! explicitDismiss ? dismissMe : undefined }\n\t\t\ttabIndex={ 0 }\n\t\t\trole={ ! explicitDismiss ? 'button' : '' }\n\t\t\tonKeyPress={ ! explicitDismiss ? dismissMe : undefined }\n\t\t\taria-label={ ! explicitDismiss ? __( 'Dismiss this notice' ) : '' }\n\t\t>\n\t\t\t<div className={ snackbarContentClassnames }>\n\t\t\t\t{ icon && (\n\t\t\t\t\t<div className=\"components-snackbar__icon\">{ icon }</div>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t\t{ actions.map( ( { label, onClick, url }, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ (\n\t\t\t\t\t\t\t\tevent: MouseEvent< HTMLButtonElement >\n\t\t\t\t\t\t\t) => onActionClick( event, onClick ) }\n\t\t\t\t\t\t\tclassName=\"components-snackbar__action\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t\t{ explicitDismiss && (\n\t\t\t\t\t<span\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\taria-label=\"Dismiss this notice\"\n\t\t\t\t\t\ttabIndex={ 0 }\n\t\t\t\t\t\tclassName=\"components-snackbar__dismiss-button\"\n\t\t\t\t\t\tonClick={ dismissMe }\n\t\t\t\t\t\tonKeyPress={ dismissMe }\n\t\t\t\t\t>\n\t\t\t\t\t\t✕\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\n/**\n * A Snackbar displays a succinct message that is cleared out after a small delay.\n *\n * It can also offer the user options, like viewing a published post.\n * But these options should also be available elsewhere in the UI.\n *\n * ```jsx\n * const MySnackbarNotice = () => (\n * <Snackbar>Post published successfully.</Snackbar>\n * );\n * ```\n */\nexport const Snackbar = forwardRef( UnforwardedSnackbar );\n\nexport default Snackbar;\n"],"mappings":"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"}
|
package/build/spinner/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_styles","UnforwardedSpinner","className","props","forwardedRef","createElement","StyledSpinner","classNames","viewBox","width","height","xmlns","role","focusable","ref","SpinnerTrack","cx","cy","r","vectorEffect","SpinnerIndicator","d","Spinner","forwardRef","exports","_default","default"],"sources":["@wordpress/components/src/spinner/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport { StyledSpinner, SpinnerTrack, SpinnerIndicator } from './styles';\nimport type { WordPressComponentProps } from '../ui/context';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\nexport function UnforwardedSpinner(\n\t{ className, ...props }: WordPressComponentProps< {}, 'svg', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\treturn (\n\t\t<StyledSpinner\n\t\t\tclassName={ classNames( 'components-spinner', className ) }\n\t\t\tviewBox=\"0 0 100 100\"\n\t\t\twidth=\"16\"\n\t\t\theight=\"16\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\trole=\"presentation\"\n\t\t\tfocusable=\"false\"\n\t\t\t{ ...props }\n\t\t\tref={ forwardedRef }\n\t\t>\n\t\t\t{ /* Gray circular background */ }\n\t\t\t<SpinnerTrack\n\t\t\t\tcx=\"50\"\n\t\t\t\tcy=\"50\"\n\t\t\t\tr=\"50\"\n\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t/>\n\n\t\t\t{ /* Theme-colored arc */ }\n\t\t\t<SpinnerIndicator\n\t\t\t\td=\"m 50 0 a 50 50 0 0 1 50 50\"\n\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t/>\n\t\t</StyledSpinner>\n\t);\n}\n/**\n * `Spinner` is a component used to notify users that their action is being processed.\n *\n *
|
|
1
|
+
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_styles","UnforwardedSpinner","className","props","forwardedRef","createElement","StyledSpinner","classNames","viewBox","width","height","xmlns","role","focusable","ref","SpinnerTrack","cx","cy","r","vectorEffect","SpinnerIndicator","d","Spinner","forwardRef","exports","_default","default"],"sources":["@wordpress/components/src/spinner/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport { StyledSpinner, SpinnerTrack, SpinnerIndicator } from './styles';\nimport type { WordPressComponentProps } from '../ui/context';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\n\nexport function UnforwardedSpinner(\n\t{ className, ...props }: WordPressComponentProps< {}, 'svg', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\treturn (\n\t\t<StyledSpinner\n\t\t\tclassName={ classNames( 'components-spinner', className ) }\n\t\t\tviewBox=\"0 0 100 100\"\n\t\t\twidth=\"16\"\n\t\t\theight=\"16\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\trole=\"presentation\"\n\t\t\tfocusable=\"false\"\n\t\t\t{ ...props }\n\t\t\tref={ forwardedRef }\n\t\t>\n\t\t\t{ /* Gray circular background */ }\n\t\t\t<SpinnerTrack\n\t\t\t\tcx=\"50\"\n\t\t\t\tcy=\"50\"\n\t\t\t\tr=\"50\"\n\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t/>\n\n\t\t\t{ /* Theme-colored arc */ }\n\t\t\t<SpinnerIndicator\n\t\t\t\td=\"m 50 0 a 50 50 0 0 1 50 50\"\n\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t/>\n\t\t</StyledSpinner>\n\t);\n}\n/**\n * `Spinner` is a component used to notify users that their action is being processed.\n *\n * ```js\n * import { Spinner } from '@wordpress/components';\n *\n * function Example() {\n * return <Spinner />;\n * }\n * ```\n */\nexport const Spinner = forwardRef( UnforwardedSpinner );\nexport default Spinner;\n"],"mappings":";;;;;;;;;AAeA,IAAAA,QAAA,GAAAC,OAAA;AAZA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAMA,IAAAG,OAAA,GAAAH,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;;AAGO,SAASI,kBAAkBA,CACjC;EAAEC,SAAS;EAAE,GAAGC;AAAmD,CAAC,EACpEC,YAAiC,EAChC;EACD,OACC,IAAAR,QAAA,CAAAS,aAAA,EAACL,OAAA,CAAAM,aAAa;IACbJ,SAAS,EAAG,IAAAK,mBAAU,EAAE,oBAAoB,EAAEL,SAAU,CAAG;IAC3DM,OAAO,EAAC,aAAa;IACrBC,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,KAAK,EAAC,4BAA4B;IAClCC,IAAI,EAAC,cAAc;IACnBC,SAAS,EAAC,OAAO;IAAA,GACZV,KAAK;IACVW,GAAG,EAAGV;EAAc,GAGpB,IAAAR,QAAA,CAAAS,aAAA,EAACL,OAAA,CAAAe,YAAY;IACZC,EAAE,EAAC,IAAI;IACPC,EAAE,EAAC,IAAI;IACPC,CAAC,EAAC,IAAI;IACNC,YAAY,EAAC;EAAoB,CACjC,CAAC,EAGF,IAAAvB,QAAA,CAAAS,aAAA,EAACL,OAAA,CAAAoB,gBAAgB;IAChBC,CAAC,EAAC,4BAA4B;IAC9BF,YAAY,EAAC;EAAoB,CACjC,CACa,CAAC;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,OAAO,GAAG,IAAAC,mBAAU,EAAEtB,kBAAmB,CAAC;AAACuB,OAAA,CAAAF,OAAA,GAAAA,OAAA;AAAA,IAAAG,QAAA,GACzCH,OAAO;AAAAE,OAAA,CAAAE,OAAA,GAAAD,QAAA"}
|
|
@@ -35,7 +35,7 @@ function generateThemeVariables(inputs) {
|
|
|
35
35
|
function validateInputs(inputs) {
|
|
36
36
|
for (const [key, value] of Object.entries(inputs)) {
|
|
37
37
|
if (typeof value !== 'undefined' && !(0, _colord.colord)(value).isValid()) {
|
|
38
|
-
typeof
|
|
38
|
+
typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)(`wp.components.Theme: "${value}" is not a valid color value for the '${key}' prop.`) : void 0;
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
}
|
|
@@ -53,7 +53,7 @@ function checkContrasts(inputs, outputs) {
|
|
|
53
53
|
function warnContrastIssues(issues) {
|
|
54
54
|
for (const error of Object.values(issues)) {
|
|
55
55
|
if (error) {
|
|
56
|
-
typeof
|
|
56
|
+
typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('wp.components.Theme: ' + error) : void 0;
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_colord","require","_a11y","_interopRequireDefault","_names","_warning","_utils","extend","namesPlugin","a11yPlugin","generateThemeVariables","inputs","validateInputs","generatedColors","generateAccentDependentColors","accent","generateBackgroundDependentColors","background","warnContrastIssues","checkContrasts","colors","key","value","Object","entries","colord","isValid","
|
|
1
|
+
{"version":3,"names":["_colord","require","_a11y","_interopRequireDefault","_names","_warning","_utils","extend","namesPlugin","a11yPlugin","generateThemeVariables","inputs","validateInputs","generatedColors","generateAccentDependentColors","accent","generateBackgroundDependentColors","background","warnContrastIssues","checkContrasts","colors","key","value","Object","entries","colord","isValid","SCRIPT_DEBUG","warning","outputs","COLORS","white","foreground","gray","isReadable","undefined","grays","contrast","issues","error","values","accentDarker10","darken","toHex","accentDarker20","accentInverted","getForegroundForColor","foregroundInverted","generateShades","color","isDark","SHADES","limit","direction","range","Math","abs","toHsl","l","result","forEach","parseInt"],"sources":["@wordpress/components/src/theme/color-algorithms.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport { colord, extend } from 'colord';\nimport a11yPlugin from 'colord/plugins/a11y';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport type { ThemeInputValues, ThemeOutputValues } from './types';\nimport { COLORS } from '../utils';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nexport function generateThemeVariables(\n\tinputs: ThemeInputValues\n): ThemeOutputValues {\n\tvalidateInputs( inputs );\n\n\tconst generatedColors = {\n\t\t...generateAccentDependentColors( inputs.accent ),\n\t\t...generateBackgroundDependentColors( inputs.background ),\n\t};\n\n\twarnContrastIssues( checkContrasts( inputs, generatedColors ) );\n\n\treturn { colors: generatedColors };\n}\n\nfunction validateInputs( inputs: ThemeInputValues ) {\n\tfor ( const [ key, value ] of Object.entries( inputs ) ) {\n\t\tif ( typeof value !== 'undefined' && ! colord( value ).isValid() ) {\n\t\t\twarning(\n\t\t\t\t`wp.components.Theme: \"${ value }\" is not a valid color value for the '${ key }' prop.`\n\t\t\t);\n\t\t}\n\t}\n}\n\nexport function checkContrasts(\n\tinputs: ThemeInputValues,\n\toutputs: ThemeOutputValues[ 'colors' ]\n) {\n\tconst background = inputs.background || COLORS.white;\n\tconst accent = inputs.accent || '#3858e9';\n\tconst foreground = outputs.foreground || COLORS.gray[ 900 ];\n\tconst gray = outputs.gray || COLORS.gray;\n\n\treturn {\n\t\taccent: colord( background ).isReadable( accent )\n\t\t\t? undefined\n\t\t\t: `The background color (\"${ background }\") does not have sufficient contrast against the accent color (\"${ accent }\").`,\n\t\tforeground: colord( background ).isReadable( foreground )\n\t\t\t? undefined\n\t\t\t: `The background color provided (\"${ background }\") does not have sufficient contrast against the standard foreground colors.`,\n\t\tgrays:\n\t\t\tcolord( background ).contrast( gray[ 600 ] ) >= 3 &&\n\t\t\tcolord( background ).contrast( gray[ 700 ] ) >= 4.5\n\t\t\t\t? undefined\n\t\t\t\t: `The background color provided (\"${ background }\") cannot generate a set of grayscale foreground colors with sufficient contrast. Try adjusting the color to be lighter or darker.`,\n\t};\n}\n\nfunction warnContrastIssues( issues: ReturnType< typeof checkContrasts > ) {\n\tfor ( const error of Object.values( issues ) ) {\n\t\tif ( error ) {\n\t\t\twarning( 'wp.components.Theme: ' + error );\n\t\t}\n\t}\n}\n\nfunction generateAccentDependentColors( accent?: string ) {\n\tif ( ! accent ) return {};\n\n\treturn {\n\t\taccent,\n\t\taccentDarker10: colord( accent ).darken( 0.1 ).toHex(),\n\t\taccentDarker20: colord( accent ).darken( 0.2 ).toHex(),\n\t\taccentInverted: getForegroundForColor( accent ),\n\t};\n}\n\nfunction generateBackgroundDependentColors( background?: string ) {\n\tif ( ! background ) return {};\n\n\tconst foreground = getForegroundForColor( background );\n\n\treturn {\n\t\tbackground,\n\t\tforeground,\n\t\tforegroundInverted: getForegroundForColor( foreground ),\n\t\tgray: generateShades( background, foreground ),\n\t};\n}\n\nfunction getForegroundForColor( color: string ) {\n\treturn colord( color ).isDark() ? COLORS.white : COLORS.gray[ 900 ];\n}\n\nexport function generateShades( background: string, foreground: string ) {\n\t// How much darkness you need to add to #fff to get the COLORS.gray[n] color\n\tconst SHADES = {\n\t\t100: 0.06,\n\t\t200: 0.121,\n\t\t300: 0.132,\n\t\t400: 0.2,\n\t\t600: 0.42,\n\t\t700: 0.543,\n\t\t800: 0.821,\n\t};\n\n\t// Darkness of COLORS.gray[ 900 ], relative to #fff\n\tconst limit = 0.884;\n\n\tconst direction = colord( background ).isDark() ? 'lighten' : 'darken';\n\n\t// Lightness delta between the background and foreground colors\n\tconst range =\n\t\tMath.abs(\n\t\t\tcolord( background ).toHsl().l - colord( foreground ).toHsl().l\n\t\t) / 100;\n\n\tconst result: Record< number, string > = {};\n\n\tObject.entries( SHADES ).forEach( ( [ key, value ] ) => {\n\t\tresult[ parseInt( key ) ] = colord( background )\n\t\t\t[ direction ]( ( value / limit ) * range )\n\t\t\t.toHex();\n\t} );\n\n\treturn result as NonNullable< ThemeOutputValues[ 'colors' ][ 'gray' ] >;\n}\n"],"mappings":"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"}
|