@wordpress/components 19.0.0 → 19.0.4
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 +10 -0
- package/CONTRIBUTING.md +12 -12
- package/README.md +1 -0
- package/build/alignment-matrix-control/cell.js +6 -5
- package/build/alignment-matrix-control/cell.js.map +1 -1
- package/build/alignment-matrix-control/icon.js +9 -8
- package/build/alignment-matrix-control/icon.js.map +1 -1
- package/build/alignment-matrix-control/index.js +11 -10
- package/build/alignment-matrix-control/index.js.map +1 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +9 -7
- package/build/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -7
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build/alignment-matrix-control/utils.js +5 -4
- package/build/alignment-matrix-control/utils.js.map +1 -1
- package/build/angle-picker-control/angle-circle.js +6 -5
- package/build/angle-picker-control/angle-circle.js.map +1 -1
- package/build/angle-picker-control/index.js +11 -7
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +5 -5
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/animate/index.js +7 -6
- package/build/animate/index.js.map +1 -1
- package/build/animation/index.js +6 -6
- package/build/autocomplete/autocompleter-ui.js +13 -12
- package/build/autocomplete/autocompleter-ui.js.map +1 -1
- package/build/autocomplete/autocompleter-ui.native.js +15 -12
- package/build/autocomplete/autocompleter-ui.native.js.map +1 -1
- package/build/autocomplete/background-view.android.js +4 -3
- package/build/autocomplete/background-view.android.js.map +1 -1
- package/build/autocomplete/background-view.ios.js +4 -3
- package/build/autocomplete/background-view.ios.js.map +1 -1
- package/build/autocomplete/get-default-use-items.js +3 -1
- package/build/autocomplete/get-default-use-items.js.map +1 -1
- package/build/autocomplete/index.js +20 -17
- package/build/autocomplete/index.js.map +1 -1
- package/build/base-control/index.js +15 -13
- package/build/base-control/index.js.map +1 -1
- package/build/base-control/index.native.js +6 -5
- package/build/base-control/index.native.js.map +1 -1
- package/build/base-control/styles/base-control-styles.js +1 -1
- package/build/base-field/hook.js +4 -2
- package/build/base-field/hook.js.map +1 -1
- package/build/base-field/styles.js +1 -1
- package/build/box-control/all-input-control.js +12 -11
- package/build/box-control/all-input-control.js.map +1 -1
- package/build/box-control/axial-input-controls.js +13 -11
- package/build/box-control/axial-input-controls.js.map +1 -1
- package/build/box-control/icon.js +8 -6
- package/build/box-control/icon.js.map +1 -1
- package/build/box-control/index.js +22 -18
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/input-controls.js +17 -14
- package/build/box-control/input-controls.js.map +1 -1
- package/build/box-control/linked-button.js +5 -4
- package/build/box-control/linked-button.js.map +1 -1
- package/build/box-control/styles/box-control-icon-styles.js +5 -4
- package/build/box-control/styles/box-control-icon-styles.js.map +1 -1
- package/build/box-control/styles/box-control-styles.js +13 -10
- package/build/box-control/styles/box-control-styles.js.map +1 -1
- package/build/box-control/styles/box-control-visualizer-styles.js +12 -8
- package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build/box-control/unit-control.js +22 -18
- package/build/box-control/unit-control.js.map +1 -1
- package/build/box-control/utils.js +10 -6
- package/build/box-control/utils.js.map +1 -1
- package/build/box-control/visualizer.js +32 -26
- package/build/box-control/visualizer.js.map +1 -1
- package/build/button/deprecated.js +8 -7
- package/build/button/deprecated.js.map +1 -1
- package/build/button/index.js +10 -9
- package/build/button/index.js.map +1 -1
- package/build/button-group/index.js +5 -4
- package/build/button-group/index.js.map +1 -1
- package/build/card/card/component.js +4 -2
- package/build/card/card/component.js.map +1 -1
- package/build/card/card/hook.js +11 -7
- package/build/card/card/hook.js.map +1 -1
- package/build/card/card-body/hook.js +4 -2
- package/build/card/card-body/hook.js.map +1 -1
- package/build/card/card-divider/hook.js +4 -2
- package/build/card/card-divider/hook.js.map +1 -1
- package/build/card/card-footer/hook.js +4 -2
- package/build/card/card-footer/hook.js.map +1 -1
- package/build/card/card-header/hook.js +4 -2
- package/build/card/card-header/hook.js.map +1 -1
- package/build/card/card-media/hook.js +4 -2
- package/build/card/card-media/hook.js.map +1 -1
- package/build/card/index.js +24 -22
- package/build/card/index.js.map +1 -1
- package/build/card/styles.js +1 -1
- package/build/card/types.js +4 -0
- package/build/checkbox-control/index.js +11 -9
- package/build/checkbox-control/index.js.map +1 -1
- package/build/circular-option-picker/index.js +40 -33
- package/build/circular-option-picker/index.js.map +1 -1
- package/build/clipboard-button/index.js +9 -8
- package/build/clipboard-button/index.js.map +1 -1
- package/build/color-control/index.native.js +8 -7
- package/build/color-control/index.native.js.map +1 -1
- package/build/color-edit/index.js +203 -209
- package/build/color-edit/index.js.map +1 -1
- package/build/color-edit/styles.js +112 -0
- package/build/color-edit/styles.js.map +1 -0
- package/build/color-indicator/index.js +13 -10
- package/build/color-indicator/index.js.map +1 -1
- package/build/color-indicator/index.native.js +12 -10
- package/build/color-indicator/index.native.js.map +1 -1
- package/build/color-list-picker/index.js +22 -15
- package/build/color-list-picker/index.js.map +1 -1
- package/build/color-palette/index.js +102 -29
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/index.native.js +23 -20
- package/build/color-palette/index.native.js.map +1 -1
- package/build/color-palette/styles.js +31 -0
- package/build/color-palette/styles.js.map +1 -0
- package/build/color-picker/color-display.js +35 -27
- package/build/color-picker/color-display.js.map +1 -1
- package/build/color-picker/color-input.js +7 -6
- package/build/color-picker/color-input.js.map +1 -1
- package/build/color-picker/component.js +7 -18
- package/build/color-picker/component.js.map +1 -1
- package/build/color-picker/hex-input.js +7 -5
- package/build/color-picker/hex-input.js.map +1 -1
- package/build/color-picker/hsl-input.js +6 -5
- package/build/color-picker/hsl-input.js.map +1 -1
- package/build/color-picker/index.native.js +23 -20
- package/build/color-picker/index.native.js.map +1 -1
- package/build/color-picker/input-with-slider.js +9 -8
- package/build/color-picker/input-with-slider.js.map +1 -1
- package/build/color-picker/picker.js +9 -8
- package/build/color-picker/picker.js.map +1 -1
- package/build/color-picker/rgb-input.js +6 -5
- package/build/color-picker/rgb-input.js.map +1 -1
- package/build/color-picker/styles.js +1 -1
- package/build/color-picker/types.js +4 -0
- package/build/combobox-control/index.js +17 -15
- package/build/combobox-control/index.js.map +1 -1
- package/build/custom-gradient-bar/constants.js +1 -1
- package/build/custom-gradient-bar/control-points.js +120 -108
- package/build/custom-gradient-bar/control-points.js.map +1 -1
- package/build/custom-gradient-bar/index.js +13 -11
- package/build/custom-gradient-bar/index.js.map +1 -1
- package/build/custom-gradient-bar/utils.js +9 -7
- package/build/custom-gradient-bar/utils.js.map +1 -1
- package/build/custom-gradient-picker/constants.js +1 -1
- package/build/custom-gradient-picker/index.js +17 -14
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/custom-gradient-picker/index.native.js +6 -5
- package/build/custom-gradient-picker/index.native.js.map +1 -1
- package/build/custom-gradient-picker/serializer.js +20 -16
- package/build/custom-gradient-picker/serializer.js.map +1 -1
- package/build/custom-gradient-picker/styles/custom-gradient-picker-styles.js +1 -1
- package/build/custom-gradient-picker/utils.js +7 -6
- package/build/custom-gradient-picker/utils.js.map +1 -1
- package/build/custom-select-control/index.js +22 -18
- package/build/custom-select-control/index.js.map +1 -1
- package/build/dashicon/index.js +6 -5
- package/build/dashicon/index.js.map +1 -1
- package/build/dashicon/index.native.js +9 -6
- package/build/dashicon/index.native.js.map +1 -1
- package/build/dashicon/types.js +4 -0
- package/build/date-time/date.js +5 -4
- package/build/date-time/date.js.map +1 -1
- package/build/date-time/index.js +9 -8
- package/build/date-time/index.js.map +1 -1
- package/build/date-time/time.js +14 -11
- package/build/date-time/time.js.map +1 -1
- package/build/dimension-control/index.js +14 -9
- package/build/dimension-control/index.js.map +1 -1
- package/build/dimension-control/sizes.js +1 -1
- package/build/disabled/index.js +8 -6
- package/build/disabled/index.js.map +1 -1
- package/build/disabled/index.native.js +4 -3
- package/build/disabled/index.native.js.map +1 -1
- package/build/divider/styles.js +7 -5
- package/build/divider/styles.js.map +1 -1
- package/build/divider/types.js +4 -0
- package/build/draggable/index.js +13 -11
- package/build/draggable/index.js.map +1 -1
- package/build/drop-zone/index.js +8 -7
- package/build/drop-zone/index.js.map +1 -1
- package/build/drop-zone/provider.js +4 -3
- package/build/drop-zone/provider.js.map +1 -1
- package/build/dropdown/index.js +14 -13
- package/build/dropdown/index.js.map +1 -1
- package/build/dropdown-menu/index.js +9 -5
- package/build/dropdown-menu/index.js.map +1 -1
- package/build/dropdown-menu/index.native.js +26 -19
- package/build/dropdown-menu/index.native.js.map +1 -1
- package/build/duotone-picker/custom-duotone-bar.js +5 -5
- package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +16 -13
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/duotone-picker/duotone-swatch.js +4 -3
- package/build/duotone-picker/duotone-swatch.js.map +1 -1
- package/build/duotone-picker/utils.js +29 -16
- package/build/duotone-picker/utils.js.map +1 -1
- package/build/elevation/hook.js +4 -2
- package/build/elevation/hook.js.map +1 -1
- package/build/elevation/types.js +4 -0
- package/build/external-link/index.js +8 -7
- package/build/external-link/index.js.map +1 -1
- package/build/external-link/index.native.js +5 -4
- package/build/external-link/index.native.js.map +1 -1
- package/build/flex/flex/hook.js +10 -6
- package/build/flex/flex/hook.js.map +1 -1
- package/build/flex/flex-item/hook.js +4 -2
- package/build/flex/flex-item/hook.js.map +1 -1
- package/build/flex/index.js +12 -10
- package/build/flex/index.js.map +1 -1
- package/build/flex/styles.js +1 -1
- package/build/flex/types.js +4 -0
- package/build/flyout/styles.js +5 -3
- package/build/flyout/styles.js.map +1 -1
- package/build/flyout/types.js +4 -0
- package/build/flyout/utils.js +4 -3
- package/build/flyout/utils.js.map +1 -1
- package/build/focal-point-picker/controls.js +8 -7
- package/build/focal-point-picker/controls.js.map +1 -1
- package/build/focal-point-picker/focal-point.js +8 -7
- package/build/focal-point-picker/focal-point.js.map +1 -1
- package/build/focal-point-picker/focal-point.native.js +6 -5
- package/build/focal-point-picker/focal-point.native.js.map +1 -1
- package/build/focal-point-picker/grid.js +6 -5
- package/build/focal-point-picker/grid.js.map +1 -1
- package/build/focal-point-picker/index.js +2 -1
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/media.js +19 -16
- package/build/focal-point-picker/media.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-picker-style.js +8 -5
- package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-style.js +7 -4
- package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build/focal-point-picker/tooltip/index.native.js +18 -15
- package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
- package/build/focal-point-picker/utils.js +6 -4
- package/build/focal-point-picker/utils.js.map +1 -1
- package/build/focusable-iframe/index.js +5 -4
- package/build/focusable-iframe/index.js.map +1 -1
- package/build/font-size-picker/index.js +24 -17
- package/build/font-size-picker/index.js.map +1 -1
- package/build/font-size-picker/index.native.js +11 -8
- package/build/font-size-picker/index.native.js.map +1 -1
- package/build/font-size-picker/utils.js +22 -18
- package/build/font-size-picker/utils.js.map +1 -1
- package/build/footer-message-control/index.native.js +3 -2
- package/build/footer-message-control/index.native.js.map +1 -1
- package/build/form-file-upload/index.js +9 -8
- package/build/form-file-upload/index.js.map +1 -1
- package/build/form-toggle/index.js +9 -8
- package/build/form-toggle/index.js.map +1 -1
- package/build/form-token-field/index.js +8 -2
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/token.js +15 -14
- package/build/form-token-field/token.js.map +1 -1
- package/build/gradient-picker/index.js +99 -32
- package/build/gradient-picker/index.js.map +1 -1
- package/build/grid/types.js +4 -0
- package/build/guide/icons.js +16 -13
- package/build/guide/icons.js.map +1 -1
- package/build/guide/index.js +9 -8
- package/build/guide/index.js.map +1 -1
- package/build/guide/page-control.js +6 -5
- package/build/guide/page-control.js.map +1 -1
- package/build/h-stack/types.js +4 -0
- package/build/h-stack/utils.js +3 -1
- package/build/h-stack/utils.js.map +1 -1
- package/build/higher-order/navigate-regions/index.js +20 -14
- package/build/higher-order/navigate-regions/index.js.map +1 -1
- package/build/higher-order/with-focus-return/index.js +18 -14
- package/build/higher-order/with-focus-return/index.js.map +1 -1
- package/build/icon/index.js +7 -5
- package/build/icon/index.js.map +1 -1
- package/build/index.js +314 -312
- package/build/index.js.map +1 -1
- package/build/index.native.js +227 -216
- package/build/index.native.js.map +1 -1
- package/build/input-control/backdrop.js +5 -4
- package/build/input-control/backdrop.js.map +1 -1
- package/build/input-control/index.js +20 -19
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/input-base.js +16 -15
- package/build/input-control/input-base.js.map +1 -1
- package/build/input-control/input-field.js +24 -23
- package/build/input-control/input-field.js.map +1 -1
- package/build/input-control/label.js +7 -6
- package/build/input-control/label.js.map +1 -1
- package/build/input-control/reducer/actions.js +1 -1
- package/build/input-control/reducer/reducer.js +20 -7
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/input-control/reducer/state.js +1 -1
- package/build/input-control/styles/input-control-styles.js +49 -37
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/input-control/types.js +4 -0
- package/build/isolated-event-container/index.js +5 -4
- package/build/isolated-event-container/index.js.map +1 -1
- package/build/item-group/item/hook.js +4 -2
- package/build/item-group/item/hook.js.map +1 -1
- package/build/item-group/item-group/hook.js +4 -2
- package/build/item-group/item-group/hook.js.map +1 -1
- package/build/item-group/styles.js +1 -1
- package/build/item-group/types.js +4 -0
- package/build/keyboard-shortcuts/index.js +15 -13
- package/build/keyboard-shortcuts/index.js.map +1 -1
- package/build/menu-items-choice/index.js +7 -6
- package/build/menu-items-choice/index.js.map +1 -1
- package/build/mobile/audio-player/index.native.js +8 -7
- package/build/mobile/audio-player/index.native.js.map +1 -1
- package/build/mobile/badge/index.native.js +6 -5
- package/build/mobile/badge/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-context.native.js +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/bottom-sheet-navigation-context.native.js +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +12 -10
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +12 -9
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build/mobile/bottom-sheet/button.native.js +21 -18
- package/build/mobile/bottom-sheet/button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/cell.native.js +4 -2
- package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/footer-message-cell.native.js +5 -4
- package/build/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +5 -4
- package/build/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js +24 -17
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/link-cell.native.js +9 -7
- package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -4
- package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/action-button.native.js +7 -6
- package/build/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js +4 -3
- package/build/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +15 -12
- package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/heading.native.js +4 -3
- package/build/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/index.native.js +4 -3
- package/build/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/range-text-input.native.js +6 -5
- package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
- package/build/mobile/bottom-sheet/ripple.native.js +11 -10
- package/build/mobile/bottom-sheet/ripple.native.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/index.native.js +2 -1
- package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js +12 -11
- package/build/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js +12 -11
- package/build/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
- package/build/mobile/bottom-sheet/sub-sheet/index.native.js +7 -6
- package/build/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-select-control/index.native.js +8 -7
- package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-text-control/index.native.js +9 -8
- package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build/mobile/clipboard/index.native.js +1 -1
- package/build/mobile/color-settings/index.native.js +11 -10
- package/build/mobile/color-settings/index.native.js.map +1 -1
- package/build/mobile/cycle-select-control/index.native.js +12 -11
- package/build/mobile/cycle-select-control/index.native.js.map +1 -1
- package/build/mobile/dashicons/index.native.js +1 -1
- package/build/mobile/focal-point-settings-panel/index.native.js +7 -6
- package/build/mobile/focal-point-settings-panel/index.native.js.map +1 -1
- package/build/mobile/global-styles-context/index.native.js +1 -1
- package/build/mobile/global-styles-context/utils.native.js +9 -7
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/mobile/gradient/index.native.js +14 -13
- package/build/mobile/gradient/index.native.js.map +1 -1
- package/build/mobile/gridicons/index.native.js +1 -1
- package/build/mobile/html-text-input/container.android.js +12 -9
- package/build/mobile/html-text-input/container.android.js.map +1 -1
- package/build/mobile/image/image-editing-button.native.js +26 -22
- package/build/mobile/image/image-editing-button.native.js.map +1 -1
- package/build/mobile/image/index.native.js +23 -22
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/keyboard-avoiding-view/index.ios.js +29 -22
- package/build/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.ios.js +46 -43
- package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build/mobile/layout-animation/index.native.js +3 -1
- package/build/mobile/layout-animation/index.native.js.map +1 -1
- package/build/mobile/link-picker/index.native.js +13 -11
- package/build/mobile/link-picker/index.native.js.map +1 -1
- package/build/mobile/link-picker/link-picker-results.native.js +48 -34
- package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
- package/build/mobile/link-picker/link-picker-screen.native.js +9 -7
- package/build/mobile/link-picker/link-picker-screen.native.js.map +1 -1
- package/build/mobile/link-settings/image-link-destinations-screen.native.js +141 -0
- package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
- package/build/mobile/link-settings/index.native.js +59 -57
- package/build/mobile/link-settings/index.native.js.map +1 -1
- package/build/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/build/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build/mobile/link-settings/link-settings-screen.native.js +11 -5
- package/build/mobile/link-settings/link-settings-screen.native.js.map +1 -1
- package/build/mobile/media-edit/index.native.js +1 -1
- package/build/mobile/picker/index.android.js +4 -2
- package/build/mobile/picker/index.android.js.map +1 -1
- package/build/mobile/picker/index.ios.js +6 -3
- package/build/mobile/picker/index.ios.js.map +1 -1
- package/build/mobile/readable-content-view/index.native.js +12 -9
- package/build/mobile/readable-content-view/index.native.js.map +1 -1
- package/build/mobile/segmented-control/index.native.js +16 -14
- package/build/mobile/segmented-control/index.native.js.map +1 -1
- package/build/mobile/utils/alignments.native.js +1 -1
- package/build/mobile/utils/index.native.js +2 -1
- package/build/mobile/utils/index.native.js.map +1 -1
- package/build/mobile/utils/use-unit-converter-to-mobile.native.js +5 -4
- package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
- package/build/modal/aria-helper.js +1 -1
- package/build/modal/index.js +40 -30
- package/build/modal/index.js.map +1 -1
- package/build/navigable-container/menu.js +7 -5
- package/build/navigable-container/menu.js.map +1 -1
- package/build/navigable-container/tabbable.js +6 -4
- package/build/navigable-container/tabbable.js.map +1 -1
- package/build/navigation/back-button/index.js +8 -7
- package/build/navigation/back-button/index.js.map +1 -1
- package/build/navigation/group/index.js +7 -7
- package/build/navigation/group/index.js.map +1 -1
- package/build/navigation/index.js +11 -8
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/menu/menu-title-search.js +16 -34
- package/build/navigation/menu/menu-title-search.js.map +1 -1
- package/build/navigation/menu/menu-title.js +10 -9
- package/build/navigation/menu/menu-title.js.map +1 -1
- package/build/navigation/menu/search-no-results-found.js +4 -3
- package/build/navigation/menu/search-no-results-found.js.map +1 -1
- package/build/navigation/styles/navigation-styles.js +34 -29
- package/build/navigation/styles/navigation-styles.js.map +1 -1
- package/build/navigator/types.js +4 -0
- package/build/notice/index.js +26 -24
- package/build/notice/index.js.map +1 -1
- package/build/notice/index.native.js +7 -6
- package/build/notice/index.native.js.map +1 -1
- package/build/notice/list.js +8 -6
- package/build/notice/list.js.map +1 -1
- package/build/number-control/index.js +22 -19
- package/build/number-control/index.js.map +1 -1
- package/build/number-control/styles/number-control-styles.js +4 -3
- package/build/number-control/styles/number-control-styles.js.map +1 -1
- package/build/panel/actions.native.js +10 -8
- package/build/panel/actions.native.js.map +1 -1
- package/build/panel/body.js +19 -17
- package/build/panel/body.js.map +1 -1
- package/build/panel/body.native.js +7 -6
- package/build/panel/body.native.js.map +1 -1
- package/build/panel/bottom-separator-cover.native.js +4 -3
- package/build/panel/bottom-separator-cover.native.js.map +1 -1
- package/build/panel/header.js +5 -4
- package/build/panel/header.js.map +1 -1
- package/build/panel/index.js +6 -5
- package/build/panel/index.js.map +1 -1
- package/build/panel/row.js +10 -7
- package/build/panel/row.js.map +1 -1
- package/build/placeholder/index.js +12 -11
- package/build/placeholder/index.js.map +1 -1
- package/build/popover/index.js +49 -39
- package/build/popover/index.js.map +1 -1
- package/build/popover/utils.js +10 -2
- package/build/popover/utils.js.map +1 -1
- package/build/query-controls/author-select.js +8 -7
- package/build/query-controls/author-select.js.map +1 -1
- package/build/query-controls/category-select.js +9 -8
- package/build/query-controls/category-select.js.map +1 -1
- package/build/query-controls/index.js +19 -18
- package/build/query-controls/index.js.map +1 -1
- package/build/query-controls/index.native.js +14 -13
- package/build/query-controls/index.native.js.map +1 -1
- package/build/radio/index.js +6 -5
- package/build/radio/index.js.map +1 -1
- package/build/radio-control/index.js +11 -10
- package/build/radio-control/index.js.map +1 -1
- package/build/radio-control/index.native.js +7 -6
- package/build/radio-control/index.native.js.map +1 -1
- package/build/radio-group/index.js +9 -8
- package/build/radio-group/index.js.map +1 -1
- package/build/range-control/index.js +33 -32
- package/build/range-control/index.js.map +1 -1
- package/build/range-control/index.native.js +20 -18
- package/build/range-control/index.native.js.map +1 -1
- package/build/range-control/input-range.js +11 -10
- package/build/range-control/input-range.js.map +1 -1
- package/build/range-control/mark.js +8 -7
- package/build/range-control/mark.js.map +1 -1
- package/build/range-control/rail.js +29 -24
- package/build/range-control/rail.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +81 -63
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/range-control/tooltip.js +17 -15
- package/build/range-control/tooltip.js.map +1 -1
- package/build/range-control/utils.js +15 -13
- package/build/range-control/utils.js.map +1 -1
- package/build/resizable-box/index.js +9 -8
- package/build/resizable-box/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/index.js +13 -12
- package/build/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/label.js +7 -6
- package/build/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -1
- package/build/resizable-box/resize-tooltip/utils.js +20 -17
- package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build/responsive-wrapper/index.js +7 -6
- package/build/responsive-wrapper/index.js.map +1 -1
- package/build/sandbox/index.js +12 -9
- package/build/sandbox/index.js.map +1 -1
- package/build/sandbox/index.native.js +15 -13
- package/build/sandbox/index.native.js.map +1 -1
- package/build/scrollable/hook.js +4 -2
- package/build/scrollable/hook.js.map +1 -1
- package/build/scrollable/styles.js +1 -1
- package/build/scrollable/types.js +4 -0
- package/build/search-control/index.js +45 -21
- package/build/search-control/index.js.map +1 -1
- package/build/search-control/index.native.js +6 -5
- package/build/search-control/index.native.js.map +1 -1
- package/build/select-control/index.js +33 -26
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/index.native.js +12 -11
- package/build/select-control/index.native.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +13 -10
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/select-control/types.js +4 -0
- package/build/shortcut/index.js +6 -4
- package/build/shortcut/index.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/fill.js +5 -4
- package/build/slot-fill/bubbles-virtually/fill.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -3
- package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/slot.js +7 -6
- package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
- package/build/slot-fill/fill.js +17 -13
- package/build/slot-fill/fill.js.map +1 -1
- package/build/slot-fill/index.js +12 -9
- package/build/slot-fill/index.js.map +1 -1
- package/build/slot-fill/index.native.js +2 -2
- package/build/slot-fill/slot.js +12 -9
- package/build/slot-fill/slot.js.map +1 -1
- package/build/snackbar/index.js +22 -20
- package/build/snackbar/index.js.map +1 -1
- package/build/snackbar/list.js +7 -6
- package/build/snackbar/list.js.map +1 -1
- package/build/spacer/types.js +4 -0
- package/build/style-provider/index.js +10 -6
- package/build/style-provider/index.js.map +1 -1
- package/build/style-provider/index.native.js +4 -3
- package/build/style-provider/index.native.js.map +1 -1
- package/build/surface/hook.js +4 -2
- package/build/surface/hook.js.map +1 -1
- package/build/surface/styles.js +9 -7
- package/build/surface/styles.js.map +1 -1
- package/build/surface/types.js +4 -0
- package/build/swatch/index.js +4 -3
- package/build/swatch/index.js.map +1 -1
- package/build/tab-panel/index.js +27 -23
- package/build/tab-panel/index.js.map +1 -1
- package/build/text/hook.js +4 -2
- package/build/text/hook.js.map +1 -1
- package/build/text/styles/text-mixins.native.js +3 -1
- package/build/text/styles/text-mixins.native.js.map +1 -1
- package/build/text/styles.js +8 -8
- package/build/text/styles.js.map +1 -1
- package/build/text/types.js +4 -0
- package/build/text/utils.js +17 -16
- package/build/text/utils.js.map +1 -1
- package/build/text-control/index.js +13 -12
- package/build/text-control/index.js.map +1 -1
- package/build/text-control/index.native.js +13 -12
- package/build/text-control/index.native.js.map +1 -1
- package/build/text-highlight/index.js +5 -4
- package/build/text-highlight/index.js.map +1 -1
- package/build/textarea-control/index.js +11 -10
- package/build/textarea-control/index.js.map +1 -1
- package/build/textarea-control/index.native.js +8 -7
- package/build/textarea-control/index.native.js.map +1 -1
- package/build/toggle-control/index.js +10 -8
- package/build/toggle-control/index.js.map +1 -1
- package/build/toggle-control/index.native.js +10 -9
- package/build/toggle-control/index.native.js.map +1 -1
- package/build/toggle-group-control/context.js +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +4 -2
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +1 -1
- package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -6
- package/build/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/component.js +4 -2
- package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/styles.js +1 -1
- package/build/toggle-group-control/types.js +4 -0
- package/build/toolbar/index.js +7 -5
- package/build/toolbar/index.js.map +1 -1
- package/build/toolbar/toolbar-container.js +5 -4
- package/build/toolbar/toolbar-container.js.map +1 -1
- package/build/toolbar/toolbar-container.native.js +6 -3
- package/build/toolbar/toolbar-container.native.js.map +1 -1
- package/build/toolbar-button/index.js +11 -10
- package/build/toolbar-button/index.js.map +1 -1
- package/build/toolbar-group/index.js +9 -8
- package/build/toolbar-group/index.js.map +1 -1
- package/build/toolbar-group/toolbar-group-collapsed.js +6 -5
- package/build/toolbar-group/toolbar-group-collapsed.js.map +1 -1
- package/build/toolbar-group/toolbar-group-collapsed.native.js +7 -6
- package/build/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
- package/build/toolbar-group/toolbar-group-container.js +10 -7
- package/build/toolbar-group/toolbar-group-container.js.map +1 -1
- package/build/toolbar-group/toolbar-group-container.native.js +10 -7
- package/build/toolbar-group/toolbar-group-container.native.js.map +1 -1
- package/build/toolbar-item/index.js +6 -5
- package/build/toolbar-item/index.js.map +1 -1
- package/build/toolbar-item/index.native.js +6 -4
- package/build/toolbar-item/index.native.js.map +1 -1
- package/build/tools-panel/index.js +4 -4
- package/build/tools-panel/styles.js +19 -24
- package/build/tools-panel/styles.js.map +1 -1
- package/build/tools-panel/tools-panel/component.js +10 -7
- package/build/tools-panel/tools-panel/component.js.map +1 -1
- package/build/tools-panel/tools-panel/hook.js +24 -14
- package/build/tools-panel/tools-panel/hook.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +41 -29
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/hook.js +4 -2
- package/build/tools-panel/tools-panel-header/hook.js.map +1 -1
- package/build/tools-panel/tools-panel-item/hook.js +4 -2
- package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
- package/build/tools-panel/types.js +4 -0
- package/build/tooltip/index.js +52 -41
- package/build/tooltip/index.js.map +1 -1
- package/build/tooltip/index.native.js +16 -13
- package/build/tooltip/index.native.js.map +1 -1
- package/build/tree-grid/cell.js +6 -5
- package/build/tree-grid/cell.js.map +1 -1
- package/build/tree-grid/index.js +13 -12
- package/build/tree-grid/index.js.map +1 -1
- package/build/tree-grid/item.js +5 -4
- package/build/tree-grid/item.js.map +1 -1
- package/build/tree-grid/roving-tab-index-context.js +1 -1
- package/build/tree-grid/roving-tab-index-item.js +6 -5
- package/build/tree-grid/roving-tab-index-item.js.map +1 -1
- package/build/tree-grid/roving-tab-index.js +4 -3
- package/build/tree-grid/roving-tab-index.js.map +1 -1
- package/build/tree-grid/row.js +9 -8
- package/build/tree-grid/row.js.map +1 -1
- package/build/tree-select/index.js +11 -9
- package/build/tree-select/index.js.map +1 -1
- package/build/truncate/hook.js +4 -2
- package/build/truncate/hook.js.map +1 -1
- package/build/truncate/types.js +4 -0
- package/build/truncate/utils.js +5 -3
- package/build/truncate/utils.js.map +1 -1
- package/build/ui/__storybook-utils/example-grid.js +40 -30
- package/build/ui/__storybook-utils/example-grid.js.map +1 -1
- package/build/ui/__storybook-utils/page.js +5 -4
- package/build/ui/__storybook-utils/page.js.map +1 -1
- package/build/ui/context/constants.js +1 -1
- package/build/ui/context/context-connect.js +3 -1
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/ui/context/context-system-provider.js +10 -8
- package/build/ui/context/context-system-provider.js.map +1 -1
- package/build/ui/context/index.js +6 -6
- package/build/ui/context/utils.js +1 -1
- package/build/ui/context/wordpress-component.js +4 -0
- package/build/ui/control-group/hook.js +4 -2
- package/build/ui/control-group/hook.js.map +1 -1
- package/build/ui/control-group/styles.js +1 -1
- package/build/ui/control-group/types.js +4 -0
- package/build/ui/control-label/hook.js +4 -2
- package/build/ui/control-label/hook.js.map +1 -1
- package/build/ui/control-label/styles.js +1 -1
- package/build/ui/control-label/types.js +4 -0
- package/build/ui/form-group/form-group-content.js +13 -12
- package/build/ui/form-group/form-group-content.js.map +1 -1
- package/build/ui/form-group/form-group-help.js +4 -3
- package/build/ui/form-group/form-group-help.js.map +1 -1
- package/build/ui/form-group/form-group-label.js +7 -6
- package/build/ui/form-group/form-group-label.js.map +1 -1
- package/build/ui/form-group/types.js +4 -0
- package/build/ui/form-group/use-form-group.js +4 -2
- package/build/ui/form-group/use-form-group.js.map +1 -1
- package/build/ui/spinner/styles.js +1 -1
- package/build/ui/tooltip/content.js +4 -2
- package/build/ui/tooltip/content.js.map +1 -1
- package/build/ui/tooltip/styles.js +5 -3
- package/build/ui/tooltip/styles.js.map +1 -1
- package/build/ui/tooltip/types.js +4 -0
- package/build/ui/utils/font-size.js +7 -3
- package/build/ui/utils/font-size.js.map +1 -1
- package/build/ui/utils/get-high-dpi.js +5 -1
- package/build/ui/utils/get-high-dpi.js.map +1 -1
- package/build/ui/utils/types.js +4 -0
- package/build/ui/utils/use-responsive-value.js +5 -3
- package/build/ui/utils/use-responsive-value.js.map +1 -1
- package/build/unit-control/index.js +25 -22
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/index.native.js +17 -16
- package/build/unit-control/index.native.js.map +1 -1
- package/build/unit-control/styles/unit-control-styles.js +13 -10
- package/build/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build/unit-control/types.js +4 -0
- package/build/unit-control/unit-select-control.js +11 -9
- package/build/unit-control/unit-select-control.js.map +1 -1
- package/build/unit-control/utils.js +20 -13
- package/build/unit-control/utils.js.map +1 -1
- package/build/utils/browsers.js +10 -2
- package/build/utils/browsers.js.map +1 -1
- package/build/utils/colors-values.js +1 -1
- package/build/utils/colors.js +3 -1
- package/build/utils/colors.js.map +1 -1
- package/build/utils/hooks/emotion.d.js +4 -0
- package/build/utils/hooks/index.js +12 -4
- package/build/utils/hooks/index.js.map +1 -1
- package/build/utils/hooks/use-combined-ref.js +32 -0
- package/build/utils/hooks/use-combined-ref.js.map +1 -0
- package/build/utils/hooks/use-controlled-state.js +2 -1
- package/build/utils/hooks/use-controlled-state.js.map +1 -1
- package/build/utils/hooks/use-controlled-value.js +6 -5
- package/build/utils/hooks/use-controlled-value.js.map +1 -1
- package/build/utils/hooks/use-cx.js +5 -1
- package/build/utils/hooks/use-cx.js.map +1 -1
- package/build/utils/input/base.js +1 -1
- package/build/utils/math.js +19 -7
- package/build/utils/math.js.map +1 -1
- package/build/utils/reduce-motion.js +2 -1
- package/build/utils/reduce-motion.js.map +1 -1
- package/build/utils/rtl.js +6 -3
- package/build/utils/rtl.js.map +1 -1
- package/build/utils/style-mixins.js +12 -12
- package/build/utils/types.js +4 -0
- package/build/utils/unit-values.js +1 -1
- package/build/utils/values.js +10 -6
- package/build/utils/values.js.map +1 -1
- package/build/v-stack/types.js +4 -0
- package/build/z-stack/styles.js +24 -15
- package/build/z-stack/styles.js.map +1 -1
- package/build-module/alignment-matrix-control/cell.js +6 -5
- package/build-module/alignment-matrix-control/cell.js.map +1 -1
- package/build-module/alignment-matrix-control/icon.js +9 -8
- package/build-module/alignment-matrix-control/icon.js.map +1 -1
- package/build-module/alignment-matrix-control/index.js +11 -10
- package/build-module/alignment-matrix-control/index.js.map +1 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js +8 -6
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-icon-styles.js.map +1 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +8 -6
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build-module/alignment-matrix-control/utils.js +2 -1
- package/build-module/alignment-matrix-control/utils.js.map +1 -1
- package/build-module/angle-picker-control/angle-circle.js +6 -5
- package/build-module/angle-picker-control/angle-circle.js.map +1 -1
- package/build-module/angle-picker-control/index.js +11 -7
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +4 -4
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/animate/index.js +6 -5
- package/build-module/animate/index.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.js +13 -12
- package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.native.js +14 -11
- package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
- package/build-module/autocomplete/background-view.android.js +4 -3
- package/build-module/autocomplete/background-view.android.js.map +1 -1
- package/build-module/autocomplete/background-view.ios.js +4 -3
- package/build-module/autocomplete/background-view.ios.js.map +1 -1
- package/build-module/autocomplete/get-default-use-items.js +3 -1
- package/build-module/autocomplete/get-default-use-items.js.map +1 -1
- package/build-module/autocomplete/index.js +19 -16
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/base-control/index.js +15 -13
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/base-control/index.native.js +6 -5
- package/build-module/base-control/index.native.js.map +1 -1
- package/build-module/box-control/all-input-control.js +12 -11
- package/build-module/box-control/all-input-control.js.map +1 -1
- package/build-module/box-control/axial-input-controls.js +13 -11
- package/build-module/box-control/axial-input-controls.js.map +1 -1
- package/build-module/box-control/icon.js +8 -6
- package/build-module/box-control/icon.js.map +1 -1
- package/build-module/box-control/index.js +22 -18
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/input-controls.js +17 -14
- package/build-module/box-control/input-controls.js.map +1 -1
- package/build-module/box-control/linked-button.js +5 -4
- package/build-module/box-control/linked-button.js.map +1 -1
- package/build-module/box-control/styles/box-control-icon-styles.js +4 -3
- package/build-module/box-control/styles/box-control-icon-styles.js.map +1 -1
- package/build-module/box-control/styles/box-control-styles.js +12 -9
- package/build-module/box-control/styles/box-control-styles.js.map +1 -1
- package/build-module/box-control/styles/box-control-visualizer-styles.js +11 -7
- package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build-module/box-control/unit-control.js +22 -18
- package/build-module/box-control/unit-control.js.map +1 -1
- package/build-module/box-control/utils.js +6 -2
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/box-control/visualizer.js +32 -26
- package/build-module/box-control/visualizer.js.map +1 -1
- package/build-module/button/deprecated.js +8 -7
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/index.js +10 -9
- package/build-module/button/index.js.map +1 -1
- package/build-module/button-group/index.js +5 -4
- package/build-module/button-group/index.js.map +1 -1
- package/build-module/card/card/hook.js +7 -5
- package/build-module/card/card/hook.js.map +1 -1
- package/build-module/card/types.js +1 -1
- package/build-module/checkbox-control/index.js +11 -9
- package/build-module/checkbox-control/index.js.map +1 -1
- package/build-module/circular-option-picker/index.js +40 -33
- package/build-module/circular-option-picker/index.js.map +1 -1
- package/build-module/clipboard-button/index.js +9 -8
- package/build-module/clipboard-button/index.js.map +1 -1
- package/build-module/color-control/index.native.js +8 -7
- package/build-module/color-control/index.native.js.map +1 -1
- package/build-module/color-edit/index.js +197 -210
- package/build-module/color-edit/index.js.map +1 -1
- package/build-module/color-edit/styles.js +90 -0
- package/build-module/color-edit/styles.js.map +1 -0
- package/build-module/color-indicator/index.js +13 -10
- package/build-module/color-indicator/index.js.map +1 -1
- package/build-module/color-indicator/index.native.js +12 -10
- package/build-module/color-indicator/index.native.js.map +1 -1
- package/build-module/color-list-picker/index.js +22 -15
- package/build-module/color-list-picker/index.js.map +1 -1
- package/build-module/color-palette/index.js +101 -30
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/index.native.js +23 -20
- package/build-module/color-palette/index.native.js.map +1 -1
- package/build-module/color-palette/styles.js +27 -0
- package/build-module/color-palette/styles.js.map +1 -0
- package/build-module/color-picker/color-display.js +35 -27
- package/build-module/color-picker/color-display.js.map +1 -1
- package/build-module/color-picker/color-input.js +7 -6
- package/build-module/color-picker/color-input.js.map +1 -1
- package/build-module/color-picker/component.js +7 -16
- package/build-module/color-picker/component.js.map +1 -1
- package/build-module/color-picker/hex-input.js +7 -5
- package/build-module/color-picker/hex-input.js.map +1 -1
- package/build-module/color-picker/hsl-input.js +6 -5
- package/build-module/color-picker/hsl-input.js.map +1 -1
- package/build-module/color-picker/index.native.js +23 -20
- package/build-module/color-picker/index.native.js.map +1 -1
- package/build-module/color-picker/input-with-slider.js +9 -8
- package/build-module/color-picker/input-with-slider.js.map +1 -1
- package/build-module/color-picker/picker.js +10 -9
- package/build-module/color-picker/picker.js.map +1 -1
- package/build-module/color-picker/rgb-input.js +6 -5
- package/build-module/color-picker/rgb-input.js.map +1 -1
- package/build-module/color-picker/types.js +1 -1
- package/build-module/combobox-control/index.js +17 -15
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/custom-gradient-bar/control-points.js +118 -106
- package/build-module/custom-gradient-bar/control-points.js.map +1 -1
- package/build-module/custom-gradient-bar/index.js +13 -11
- package/build-module/custom-gradient-bar/index.js.map +1 -1
- package/build-module/custom-gradient-bar/utils.js +6 -4
- package/build-module/custom-gradient-bar/utils.js.map +1 -1
- package/build-module/custom-gradient-picker/index.js +17 -14
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/custom-gradient-picker/index.native.js +6 -5
- package/build-module/custom-gradient-picker/index.native.js.map +1 -1
- package/build-module/custom-gradient-picker/serializer.js +18 -14
- package/build-module/custom-gradient-picker/serializer.js.map +1 -1
- package/build-module/custom-gradient-picker/utils.js +5 -4
- package/build-module/custom-gradient-picker/utils.js.map +1 -1
- package/build-module/custom-select-control/index.js +22 -18
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/dashicon/index.js +6 -5
- package/build-module/dashicon/index.js.map +1 -1
- package/build-module/dashicon/index.native.js +5 -4
- package/build-module/dashicon/index.native.js.map +1 -1
- package/build-module/dashicon/types.js +1 -1
- package/build-module/date-time/date.js +5 -4
- package/build-module/date-time/date.js.map +1 -1
- package/build-module/date-time/index.js +9 -8
- package/build-module/date-time/index.js.map +1 -1
- package/build-module/date-time/time.js +14 -11
- package/build-module/date-time/time.js.map +1 -1
- package/build-module/dimension-control/index.js +10 -7
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/disabled/index.js +8 -6
- package/build-module/disabled/index.js.map +1 -1
- package/build-module/disabled/index.native.js +4 -3
- package/build-module/disabled/index.native.js.map +1 -1
- package/build-module/divider/styles.js +7 -5
- package/build-module/divider/styles.js.map +1 -1
- package/build-module/divider/types.js +1 -1
- package/build-module/draggable/index.js +13 -11
- package/build-module/draggable/index.js.map +1 -1
- package/build-module/drop-zone/index.js +8 -7
- package/build-module/drop-zone/index.js.map +1 -1
- package/build-module/drop-zone/provider.js +4 -3
- package/build-module/drop-zone/provider.js.map +1 -1
- package/build-module/dropdown/index.js +14 -13
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/dropdown-menu/index.js +9 -5
- package/build-module/dropdown-menu/index.js.map +1 -1
- package/build-module/dropdown-menu/index.native.js +26 -19
- package/build-module/dropdown-menu/index.native.js.map +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js +5 -5
- package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +16 -13
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/duotone-picker/duotone-swatch.js +4 -3
- package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
- package/build-module/duotone-picker/utils.js +27 -14
- package/build-module/duotone-picker/utils.js.map +1 -1
- package/build-module/elevation/types.js +1 -1
- package/build-module/external-link/index.js +8 -7
- package/build-module/external-link/index.js.map +1 -1
- package/build-module/external-link/index.native.js +5 -4
- package/build-module/external-link/index.native.js.map +1 -1
- package/build-module/flex/flex/hook.js +6 -4
- package/build-module/flex/flex/hook.js.map +1 -1
- package/build-module/flex/types.js +1 -1
- package/build-module/flyout/types.js +1 -1
- package/build-module/flyout/utils.js +4 -3
- package/build-module/flyout/utils.js.map +1 -1
- package/build-module/focal-point-picker/controls.js +8 -7
- package/build-module/focal-point-picker/controls.js.map +1 -1
- package/build-module/focal-point-picker/focal-point.js +8 -7
- package/build-module/focal-point-picker/focal-point.js.map +1 -1
- package/build-module/focal-point-picker/focal-point.native.js +6 -5
- package/build-module/focal-point-picker/focal-point.native.js.map +1 -1
- package/build-module/focal-point-picker/grid.js +6 -5
- package/build-module/focal-point-picker/grid.js.map +1 -1
- package/build-module/focal-point-picker/index.js +2 -1
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/media.js +19 -16
- package/build-module/focal-point-picker/media.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js +7 -4
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-style.js +6 -3
- package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build-module/focal-point-picker/tooltip/index.native.js +18 -15
- package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
- package/build-module/focal-point-picker/utils.js +4 -2
- package/build-module/focal-point-picker/utils.js.map +1 -1
- package/build-module/focusable-iframe/index.js +5 -4
- package/build-module/focusable-iframe/index.js.map +1 -1
- package/build-module/font-size-picker/index.js +20 -15
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/font-size-picker/index.native.js +7 -6
- package/build-module/font-size-picker/index.native.js.map +1 -1
- package/build-module/font-size-picker/utils.js +19 -15
- package/build-module/font-size-picker/utils.js.map +1 -1
- package/build-module/footer-message-control/index.native.js +3 -2
- package/build-module/footer-message-control/index.native.js.map +1 -1
- package/build-module/form-file-upload/index.js +9 -8
- package/build-module/form-file-upload/index.js.map +1 -1
- package/build-module/form-toggle/index.js +9 -8
- package/build-module/form-toggle/index.js.map +1 -1
- package/build-module/form-token-field/index.js +8 -2
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/token.js +15 -14
- package/build-module/form-token-field/token.js.map +1 -1
- package/build-module/gradient-picker/index.js +97 -32
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/grid/types.js +1 -1
- package/build-module/guide/icons.js +16 -13
- package/build-module/guide/icons.js.map +1 -1
- package/build-module/guide/index.js +9 -8
- package/build-module/guide/index.js.map +1 -1
- package/build-module/guide/page-control.js +6 -5
- package/build-module/guide/page-control.js.map +1 -1
- package/build-module/h-stack/types.js +1 -1
- package/build-module/h-stack/utils.js +3 -1
- package/build-module/h-stack/utils.js.map +1 -1
- package/build-module/higher-order/navigate-regions/index.js +19 -13
- package/build-module/higher-order/navigate-regions/index.js.map +1 -1
- package/build-module/higher-order/with-focus-return/index.js +17 -13
- package/build-module/higher-order/with-focus-return/index.js.map +1 -1
- package/build-module/icon/index.js +7 -5
- package/build-module/icon/index.js.map +1 -1
- package/build-module/index.native.js +1 -0
- package/build-module/index.native.js.map +1 -1
- package/build-module/input-control/backdrop.js +5 -4
- package/build-module/input-control/backdrop.js.map +1 -1
- package/build-module/input-control/index.js +20 -19
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/input-base.js +16 -15
- package/build-module/input-control/input-base.js.map +1 -1
- package/build-module/input-control/input-field.js +24 -23
- package/build-module/input-control/input-field.js.map +1 -1
- package/build-module/input-control/label.js +7 -6
- package/build-module/input-control/label.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js +15 -4
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +48 -36
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/input-control/types.js +1 -1
- package/build-module/isolated-event-container/index.js +5 -4
- package/build-module/isolated-event-container/index.js.map +1 -1
- package/build-module/item-group/types.js +1 -1
- package/build-module/keyboard-shortcuts/index.js +15 -13
- package/build-module/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/menu-items-choice/index.js +7 -6
- package/build-module/menu-items-choice/index.js.map +1 -1
- package/build-module/mobile/audio-player/index.native.js +8 -7
- package/build-module/mobile/audio-player/index.native.js.map +1 -1
- package/build-module/mobile/badge/index.native.js +6 -5
- package/build-module/mobile/badge/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +12 -10
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +12 -9
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/button.native.js +21 -18
- package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js +4 -2
- package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/footer-message-cell.native.js +5 -4
- package/build-module/mobile/bottom-sheet/footer-message-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js +5 -4
- package/build-module/mobile/bottom-sheet/footer-message-link/footer-message-link.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js +24 -17
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/link-cell.native.js +9 -7
- package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +5 -4
- package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js +7 -6
- package/build-module/mobile/bottom-sheet/nav-bar/action-button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js +4 -3
- package/build-module/mobile/bottom-sheet/nav-bar/apply-button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +15 -12
- package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js +4 -3
- package/build-module/mobile/bottom-sheet/nav-bar/heading.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/index.native.js +4 -3
- package/build-module/mobile/bottom-sheet/nav-bar/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/range-text-input.native.js +6 -5
- package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/ripple.native.js +11 -10
- package/build-module/mobile/bottom-sheet/ripple.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +2 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js +12 -11
- package/build-module/mobile/bottom-sheet/stepper-cell/stepper.android.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js +12 -11
- package/build-module/mobile/bottom-sheet/stepper-cell/stepper.ios.js.map +1 -1
- package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js +7 -6
- package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-select-control/index.native.js +8 -7
- package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-text-control/index.native.js +9 -8
- package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build-module/mobile/color-settings/index.native.js +11 -10
- package/build-module/mobile/color-settings/index.native.js.map +1 -1
- package/build-module/mobile/cycle-select-control/index.native.js +12 -11
- package/build-module/mobile/cycle-select-control/index.native.js.map +1 -1
- package/build-module/mobile/focal-point-settings-panel/index.native.js +7 -6
- package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +5 -3
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/mobile/gradient/index.native.js +11 -10
- package/build-module/mobile/gradient/index.native.js.map +1 -1
- package/build-module/mobile/html-text-input/container.android.js +12 -9
- package/build-module/mobile/html-text-input/container.android.js.map +1 -1
- package/build-module/mobile/image/image-editing-button.native.js +26 -22
- package/build-module/mobile/image/image-editing-button.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +23 -22
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/keyboard-avoiding-view/index.ios.js +29 -22
- package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +46 -43
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build-module/mobile/layout-animation/index.native.js +2 -1
- package/build-module/mobile/layout-animation/index.native.js.map +1 -1
- package/build-module/mobile/link-picker/index.native.js +12 -10
- package/build-module/mobile/link-picker/index.native.js.map +1 -1
- package/build-module/mobile/link-picker/link-picker-results.native.js +48 -34
- package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
- package/build-module/mobile/link-picker/link-picker-screen.native.js +9 -7
- package/build-module/mobile/link-picker/link-picker-screen.native.js.map +1 -1
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +122 -0
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -0
- package/build-module/mobile/link-settings/index.native.js +59 -57
- package/build-module/mobile/link-settings/index.native.js.map +1 -1
- package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build-module/mobile/link-settings/link-settings-screen.native.js +11 -5
- package/build-module/mobile/link-settings/link-settings-screen.native.js.map +1 -1
- package/build-module/mobile/picker/index.android.js +4 -2
- package/build-module/mobile/picker/index.android.js.map +1 -1
- package/build-module/mobile/picker/index.ios.js +6 -3
- package/build-module/mobile/picker/index.ios.js.map +1 -1
- package/build-module/mobile/readable-content-view/index.native.js +11 -9
- package/build-module/mobile/readable-content-view/index.native.js.map +1 -1
- package/build-module/mobile/segmented-control/index.native.js +16 -14
- package/build-module/mobile/segmented-control/index.native.js.map +1 -1
- package/build-module/mobile/utils/index.native.js +2 -1
- package/build-module/mobile/utils/index.native.js.map +1 -1
- package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js +4 -3
- package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
- package/build-module/modal/index.js +35 -28
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigable-container/menu.js +7 -5
- package/build-module/navigable-container/menu.js.map +1 -1
- package/build-module/navigable-container/tabbable.js +6 -4
- package/build-module/navigable-container/tabbable.js.map +1 -1
- package/build-module/navigation/back-button/index.js +8 -7
- package/build-module/navigation/back-button/index.js.map +1 -1
- package/build-module/navigation/group/index.js +7 -7
- package/build-module/navigation/group/index.js.map +1 -1
- package/build-module/navigation/index.js +11 -8
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/menu/menu-title-search.js +16 -31
- package/build-module/navigation/menu/menu-title-search.js.map +1 -1
- package/build-module/navigation/menu/menu-title.js +11 -10
- package/build-module/navigation/menu/menu-title.js.map +1 -1
- package/build-module/navigation/menu/search-no-results-found.js +4 -3
- package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
- package/build-module/navigation/styles/navigation-styles.js +31 -27
- package/build-module/navigation/styles/navigation-styles.js.map +1 -1
- package/build-module/navigator/types.js +1 -1
- package/build-module/notice/index.js +26 -24
- package/build-module/notice/index.js.map +1 -1
- package/build-module/notice/index.native.js +7 -6
- package/build-module/notice/index.native.js.map +1 -1
- package/build-module/notice/list.js +8 -6
- package/build-module/notice/list.js.map +1 -1
- package/build-module/number-control/index.js +18 -17
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/number-control/styles/number-control-styles.js +4 -3
- package/build-module/number-control/styles/number-control-styles.js.map +1 -1
- package/build-module/panel/actions.native.js +10 -8
- package/build-module/panel/actions.native.js.map +1 -1
- package/build-module/panel/body.js +19 -17
- package/build-module/panel/body.js.map +1 -1
- package/build-module/panel/body.native.js +7 -6
- package/build-module/panel/body.native.js.map +1 -1
- package/build-module/panel/bottom-separator-cover.native.js +4 -3
- package/build-module/panel/bottom-separator-cover.native.js.map +1 -1
- package/build-module/panel/header.js +5 -4
- package/build-module/panel/header.js.map +1 -1
- package/build-module/panel/index.js +6 -5
- package/build-module/panel/index.js.map +1 -1
- package/build-module/panel/row.js +10 -7
- package/build-module/panel/row.js.map +1 -1
- package/build-module/placeholder/index.js +12 -11
- package/build-module/placeholder/index.js.map +1 -1
- package/build-module/popover/index.js +49 -39
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/utils.js +9 -1
- package/build-module/popover/utils.js.map +1 -1
- package/build-module/query-controls/author-select.js +8 -7
- package/build-module/query-controls/author-select.js.map +1 -1
- package/build-module/query-controls/category-select.js +9 -8
- package/build-module/query-controls/category-select.js.map +1 -1
- package/build-module/query-controls/index.js +19 -18
- package/build-module/query-controls/index.js.map +1 -1
- package/build-module/query-controls/index.native.js +14 -13
- package/build-module/query-controls/index.native.js.map +1 -1
- package/build-module/radio/index.js +6 -5
- package/build-module/radio/index.js.map +1 -1
- package/build-module/radio-control/index.js +11 -10
- package/build-module/radio-control/index.js.map +1 -1
- package/build-module/radio-control/index.native.js +7 -6
- package/build-module/radio-control/index.native.js.map +1 -1
- package/build-module/radio-group/index.js +9 -8
- package/build-module/radio-group/index.js.map +1 -1
- package/build-module/range-control/index.js +33 -32
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/range-control/index.native.js +20 -18
- package/build-module/range-control/index.native.js.map +1 -1
- package/build-module/range-control/input-range.js +11 -10
- package/build-module/range-control/input-range.js.map +1 -1
- package/build-module/range-control/mark.js +8 -7
- package/build-module/range-control/mark.js.map +1 -1
- package/build-module/range-control/rail.js +29 -24
- package/build-module/range-control/rail.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +81 -63
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/range-control/tooltip.js +17 -15
- package/build-module/range-control/tooltip.js.map +1 -1
- package/build-module/range-control/utils.js +15 -13
- package/build-module/range-control/utils.js.map +1 -1
- package/build-module/resizable-box/index.js +9 -8
- package/build-module/resizable-box/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/index.js +13 -12
- package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/label.js +7 -6
- package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/utils.js +19 -16
- package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build-module/responsive-wrapper/index.js +7 -6
- package/build-module/responsive-wrapper/index.js.map +1 -1
- package/build-module/sandbox/index.js +12 -9
- package/build-module/sandbox/index.js.map +1 -1
- package/build-module/sandbox/index.native.js +15 -13
- package/build-module/sandbox/index.native.js.map +1 -1
- package/build-module/scrollable/types.js +1 -1
- package/build-module/search-control/index.js +44 -22
- package/build-module/search-control/index.js.map +1 -1
- package/build-module/search-control/index.native.js +6 -5
- package/build-module/search-control/index.native.js.map +1 -1
- package/build-module/select-control/index.js +33 -26
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/index.native.js +12 -11
- package/build-module/select-control/index.native.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +12 -9
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/select-control/types.js +1 -1
- package/build-module/shortcut/index.js +6 -4
- package/build-module/shortcut/index.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/fill.js +5 -4
- package/build-module/slot-fill/bubbles-virtually/fill.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +4 -3
- package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot.js +7 -6
- package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
- package/build-module/slot-fill/fill.js +17 -13
- package/build-module/slot-fill/fill.js.map +1 -1
- package/build-module/slot-fill/index.js +11 -8
- package/build-module/slot-fill/index.js.map +1 -1
- package/build-module/slot-fill/slot.js +12 -9
- package/build-module/slot-fill/slot.js.map +1 -1
- package/build-module/snackbar/index.js +22 -20
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/list.js +7 -6
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/spacer/types.js +1 -1
- package/build-module/style-provider/index.js +6 -4
- package/build-module/style-provider/index.js.map +1 -1
- package/build-module/style-provider/index.native.js +4 -3
- package/build-module/style-provider/index.native.js.map +1 -1
- package/build-module/surface/styles.js +7 -6
- package/build-module/surface/styles.js.map +1 -1
- package/build-module/surface/types.js +1 -1
- package/build-module/swatch/index.js +4 -3
- package/build-module/swatch/index.js.map +1 -1
- package/build-module/tab-panel/index.js +26 -22
- package/build-module/tab-panel/index.js.map +1 -1
- package/build-module/text/styles/text-mixins.native.js +3 -1
- package/build-module/text/styles/text-mixins.native.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/text/types.js +1 -1
- package/build-module/text/utils.js +17 -16
- package/build-module/text/utils.js.map +1 -1
- package/build-module/text-control/index.js +13 -12
- package/build-module/text-control/index.js.map +1 -1
- package/build-module/text-control/index.native.js +13 -12
- package/build-module/text-control/index.native.js.map +1 -1
- package/build-module/text-highlight/index.js +5 -4
- package/build-module/text-highlight/index.js.map +1 -1
- package/build-module/textarea-control/index.js +11 -10
- package/build-module/textarea-control/index.js.map +1 -1
- package/build-module/textarea-control/index.native.js +8 -7
- package/build-module/textarea-control/index.native.js.map +1 -1
- package/build-module/toggle-control/index.js +10 -8
- package/build-module/toggle-control/index.js.map +1 -1
- package/build-module/toggle-control/index.native.js +10 -9
- package/build-module/toggle-control/index.native.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js +7 -6
- package/build-module/toggle-group-control/toggle-group-control/toggle-group-control-backdrop.js.map +1 -1
- package/build-module/toggle-group-control/types.js +1 -1
- package/build-module/toolbar/index.js +7 -5
- package/build-module/toolbar/index.js.map +1 -1
- package/build-module/toolbar/toolbar-container.js +5 -4
- package/build-module/toolbar/toolbar-container.js.map +1 -1
- package/build-module/toolbar/toolbar-container.native.js +6 -3
- package/build-module/toolbar/toolbar-container.native.js.map +1 -1
- package/build-module/toolbar-button/index.js +11 -10
- package/build-module/toolbar-button/index.js.map +1 -1
- package/build-module/toolbar-group/index.js +9 -8
- package/build-module/toolbar-group/index.js.map +1 -1
- package/build-module/toolbar-group/toolbar-group-collapsed.js +6 -5
- package/build-module/toolbar-group/toolbar-group-collapsed.js.map +1 -1
- package/build-module/toolbar-group/toolbar-group-collapsed.native.js +7 -6
- package/build-module/toolbar-group/toolbar-group-collapsed.native.js.map +1 -1
- package/build-module/toolbar-group/toolbar-group-container.js +10 -7
- package/build-module/toolbar-group/toolbar-group-container.js.map +1 -1
- package/build-module/toolbar-group/toolbar-group-container.native.js +10 -7
- package/build-module/toolbar-group/toolbar-group-container.native.js.map +1 -1
- package/build-module/toolbar-item/index.js +6 -5
- package/build-module/toolbar-item/index.js.map +1 -1
- package/build-module/toolbar-item/index.native.js +6 -4
- package/build-module/toolbar-item/index.native.js.map +1 -1
- package/build-module/tools-panel/styles.js +16 -23
- package/build-module/tools-panel/styles.js.map +1 -1
- package/build-module/tools-panel/tools-panel/component.js +10 -6
- package/build-module/tools-panel/tools-panel/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel/hook.js +19 -12
- package/build-module/tools-panel/tools-panel/hook.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +41 -29
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/tools-panel/types.js +1 -1
- package/build-module/tooltip/index.js +52 -41
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tooltip/index.native.js +16 -13
- package/build-module/tooltip/index.native.js.map +1 -1
- package/build-module/tree-grid/cell.js +6 -5
- package/build-module/tree-grid/cell.js.map +1 -1
- package/build-module/tree-grid/index.js +7 -6
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/tree-grid/item.js +5 -4
- package/build-module/tree-grid/item.js.map +1 -1
- package/build-module/tree-grid/roving-tab-index-item.js +6 -5
- package/build-module/tree-grid/roving-tab-index-item.js.map +1 -1
- package/build-module/tree-grid/roving-tab-index.js +4 -3
- package/build-module/tree-grid/roving-tab-index.js.map +1 -1
- package/build-module/tree-grid/row.js +9 -8
- package/build-module/tree-grid/row.js.map +1 -1
- package/build-module/tree-select/index.js +11 -9
- package/build-module/tree-select/index.js.map +1 -1
- package/build-module/truncate/types.js +1 -1
- package/build-module/truncate/utils.js +3 -1
- package/build-module/truncate/utils.js.map +1 -1
- package/build-module/ui/__storybook-utils/example-grid.js +40 -30
- package/build-module/ui/__storybook-utils/example-grid.js.map +1 -1
- package/build-module/ui/__storybook-utils/page.js +5 -4
- package/build-module/ui/__storybook-utils/page.js.map +1 -1
- package/build-module/ui/context/context-connect.js +3 -1
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/ui/context/context-system-provider.js +9 -7
- package/build-module/ui/context/context-system-provider.js.map +1 -1
- package/build-module/ui/context/wordpress-component.js +1 -1
- package/build-module/ui/control-group/types.js +1 -1
- package/build-module/ui/control-label/types.js +1 -1
- package/build-module/ui/form-group/form-group-content.js +13 -12
- package/build-module/ui/form-group/form-group-content.js.map +1 -1
- package/build-module/ui/form-group/form-group-help.js +4 -3
- package/build-module/ui/form-group/form-group-help.js.map +1 -1
- package/build-module/ui/form-group/form-group-label.js +7 -6
- package/build-module/ui/form-group/form-group-label.js.map +1 -1
- package/build-module/ui/form-group/types.js +1 -1
- package/build-module/ui/tooltip/types.js +1 -1
- package/build-module/ui/utils/font-size.js +6 -2
- package/build-module/ui/utils/font-size.js.map +1 -1
- package/build-module/ui/utils/get-high-dpi.js +5 -1
- package/build-module/ui/utils/get-high-dpi.js.map +1 -1
- package/build-module/ui/utils/types.js +1 -1
- package/build-module/ui/utils/use-responsive-value.js +4 -2
- package/build-module/ui/utils/use-responsive-value.js.map +1 -1
- package/build-module/unit-control/index.js +20 -19
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/index.native.js +16 -15
- package/build-module/unit-control/index.native.js.map +1 -1
- package/build-module/unit-control/styles/unit-control-styles.js +12 -9
- package/build-module/unit-control/styles/unit-control-styles.js.map +1 -1
- package/build-module/unit-control/types.js +1 -1
- package/build-module/unit-control/unit-select-control.js +11 -9
- package/build-module/unit-control/unit-select-control.js.map +1 -1
- package/build-module/unit-control/utils.js +14 -8
- package/build-module/unit-control/utils.js.map +1 -1
- package/build-module/utils/browsers.js +10 -2
- package/build-module/utils/browsers.js.map +1 -1
- package/build-module/utils/colors.js +3 -1
- package/build-module/utils/colors.js.map +1 -1
- package/build-module/utils/hooks/emotion.d.js +1 -1
- package/build-module/utils/hooks/index.js +1 -0
- package/build-module/utils/hooks/index.js.map +1 -1
- package/build-module/utils/hooks/use-combined-ref.js +29 -0
- package/build-module/utils/hooks/use-combined-ref.js.map +1 -0
- package/build-module/utils/hooks/use-controlled-state.js +2 -1
- package/build-module/utils/hooks/use-controlled-state.js.map +1 -1
- package/build-module/utils/hooks/use-controlled-value.js +6 -5
- package/build-module/utils/hooks/use-controlled-value.js.map +1 -1
- package/build-module/utils/hooks/use-cx.js +5 -1
- package/build-module/utils/hooks/use-cx.js.map +1 -1
- package/build-module/utils/math.js +17 -5
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/reduce-motion.js +2 -1
- package/build-module/utils/reduce-motion.js.map +1 -1
- package/build-module/utils/rtl.js +5 -2
- package/build-module/utils/rtl.js.map +1 -1
- package/build-module/utils/types.js +1 -1
- package/build-module/utils/values.js +9 -5
- package/build-module/utils/values.js.map +1 -1
- package/build-module/v-stack/types.js +1 -1
- package/build-module/z-stack/styles.js +23 -14
- package/build-module/z-stack/styles.js.map +1 -1
- package/build-style/style-rtl.css +39 -51
- package/build-style/style.css +39 -51
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/tools-panel/styles.d.ts +1 -1
- package/build-types/tools-panel/styles.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/component.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/component.d.ts.map +1 -1
- package/build-types/utils/hooks/index.d.ts +1 -0
- package/build-types/utils/hooks/use-combined-ref.d.ts +8 -0
- package/build-types/utils/hooks/use-combined-ref.d.ts.map +1 -0
- package/package.json +16 -16
- package/src/angle-picker-control/index.js +3 -1
- package/src/angle-picker-control/styles/angle-picker-control-styles.js +2 -2
- package/src/base-control/index.js +1 -1
- package/src/circular-option-picker/style.scss +3 -5
- package/src/color-edit/index.js +248 -274
- package/src/color-edit/style.scss +4 -45
- package/src/color-edit/styles.js +97 -0
- package/src/color-list-picker/index.js +5 -0
- package/src/color-list-picker/style.scss +4 -0
- package/src/color-palette/index.js +90 -26
- package/src/color-palette/style.scss +18 -0
- package/src/color-palette/styles.js +19 -0
- package/src/color-palette/test/__snapshots__/index.js.snap +448 -414
- package/src/color-picker/component.tsx +6 -17
- package/src/color-picker/picker.tsx +6 -4
- package/src/color-picker/test/index.js +0 -15
- package/src/duotone-picker/custom-duotone-bar.js +0 -1
- package/src/duotone-picker/duotone-picker.js +1 -0
- package/src/gradient-picker/index.js +79 -11
- package/src/heading/test/__snapshots__/index.js.snap +1 -1
- package/src/index.native.js +1 -0
- package/src/mobile/bottom-sheet/cell.native.js +7 -2
- package/src/mobile/bottom-sheet/cellStyles.android.scss +5 -1
- package/src/mobile/bottom-sheet/cellStyles.ios.scss +5 -1
- package/src/mobile/bottom-sheet/link-cell.native.js +10 -3
- package/src/mobile/global-styles-context/test/fixtures/theme.native.js +4 -4
- package/src/mobile/global-styles-context/utils.native.js +1 -1
- package/src/mobile/link-settings/image-link-destinations-screen.native.js +148 -0
- package/src/mobile/link-settings/index.native.js +3 -2
- package/src/mobile/link-settings/link-settings-navigation.native.js +1 -0
- package/src/mobile/link-settings/link-settings-screen.native.js +6 -2
- package/src/mobile/link-settings/style.native.scss +17 -0
- package/src/mobile/picker/index.android.js +2 -1
- package/src/modal/README.md +8 -0
- package/src/modal/index.js +60 -45
- package/src/modal/style.scss +5 -0
- package/src/navigation/group/index.js +1 -2
- package/src/navigation/menu/menu-title-search.js +11 -26
- package/src/navigation/menu/menu-title.js +4 -4
- package/src/navigation/styles/navigation-styles.js +29 -52
- package/src/popover/index.js +2 -2
- package/src/range-control/styles/range-control-styles.js +4 -1
- package/src/resizable-box/style.scss +5 -0
- package/src/search-control/index.js +47 -23
- package/src/style.scss +1 -0
- package/src/text/styles.js +1 -1
- package/src/text/test/__snapshots__/index.js.snap +2 -2
- package/src/tools-panel/stories/index.js +21 -19
- package/src/tools-panel/styles.ts +18 -26
- package/src/tools-panel/tools-panel/component.tsx +7 -4
- package/src/tools-panel/tools-panel/hook.ts +4 -1
- package/src/tools-panel/tools-panel-header/component.tsx +1 -0
- package/src/ui/control-label/test/__snapshots__/index.js.snap +3 -3
- package/src/ui/form-group/test/__snapshots__/index.js.snap +2 -2
- package/src/utils/hooks/index.js +1 -0
- package/src/utils/hooks/use-combined-ref.ts +29 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/sandbox/index.js"],"names":["observeAndResizeJS","style","Sandbox","html","title","type","styles","scripts","onFocus","ref","width","setWidth","height","setHeight","isFrameAccessible","current","contentDocument","body","e","trySandbox","forceRerender","ownerDocument","getAttribute","htmlDoc","documentElement","lang","__html","map","rules","i","src","open","write","close","tryNoForceSandbox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","action","defaultView","addEventListener","removeEventListener","Math","ceil"],"mappings":"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","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\nconst observeAndResizeJS = `\n\t( function() {\n\t\tvar observer;\n\n\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\twindow.parent.postMessage( {\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}\n\n\t\tobserver = new MutationObserver( sendResize );\n\t\tobserver.observe( document.body, {\n\t\t\tattributes: true,\n\t\t\tattributeOldValue: false,\n\t\t\tcharacterData: true,\n\t\t\tcharacterDataOldValue: false,\n\t\t\tchildList: true,\n\t\t\tsubtree: true\n\t\t} );\n\n\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t// the iframe root and interfere with our mechanism for\n\t\t// determining the unconstrained page bounds.\n\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\tif( ruleOrNode.style ) {\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function( style ) {\n\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\n\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tArray.prototype.forEach.call( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\n\t\t} );\n\n\t\tdocument.body.style.position = 'absolute';\n\t\tdocument.body.style.width = '100%';\n\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\tsendResize();\n\n\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\twindow.addEventListener( 'resize', sendResize, true );\n} )();`;\n\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div,\n\tbody > div iframe {\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\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\nexport default function Sandbox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n} ) {\n\tconst ref = useRef();\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 } = ref.current;\n\t\tconst { body } = contentDocument;\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !== body.getAttribute( 'data-resizable-iframe-connected' )\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,\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 ) {\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 { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\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\tref.current.addEventListener( 'load', tryNoForceSandbox, false );\n\t\tdefaultView.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tref.current?.removeEventListener(\n\t\t\t\t'load',\n\t\t\t\ttryNoForceSandbox,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tdefaultView.addEventListener( 'message', checkMessageForResize );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandbox();\n\t}, [ title, type, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandbox( true );\n\t}, [ html ] );\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"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/sandbox/index.js"],"names":["observeAndResizeJS","style","Sandbox","html","title","type","styles","scripts","onFocus","ref","width","setWidth","height","setHeight","isFrameAccessible","current","contentDocument","body","e","trySandbox","forceRerender","ownerDocument","getAttribute","htmlDoc","documentElement","lang","__html","map","rules","i","src","open","write","close","tryNoForceSandbox","checkMessageForResize","event","iframe","contentWindow","source","data","JSON","parse","action","defaultView","addEventListener","removeEventListener","Math","ceil"],"mappings":"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","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\nconst observeAndResizeJS = `\n\t( function() {\n\t\tvar observer;\n\n\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\twindow.parent.postMessage( {\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}\n\n\t\tobserver = new MutationObserver( sendResize );\n\t\tobserver.observe( document.body, {\n\t\t\tattributes: true,\n\t\t\tattributeOldValue: false,\n\t\t\tcharacterData: true,\n\t\t\tcharacterDataOldValue: false,\n\t\t\tchildList: true,\n\t\t\tsubtree: true\n\t\t} );\n\n\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t// the iframe root and interfere with our mechanism for\n\t\t// determining the unconstrained page bounds.\n\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\tif( ruleOrNode.style ) {\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function( style ) {\n\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\n\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tArray.prototype.forEach.call( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\n\t\t} );\n\n\t\tdocument.body.style.position = 'absolute';\n\t\tdocument.body.style.width = '100%';\n\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\tsendResize();\n\n\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\twindow.addEventListener( 'resize', sendResize, true );\n} )();`;\n\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div,\n\tbody > div iframe {\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\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\nexport default function Sandbox( {\n\thtml = '',\n\ttitle = '',\n\ttype,\n\tstyles = [],\n\tscripts = [],\n\tonFocus,\n} ) {\n\tconst ref = useRef();\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 } = ref.current;\n\t\tconst { body } = contentDocument;\n\n\t\tif (\n\t\t\t! forceRerender &&\n\t\t\tnull !== body.getAttribute( 'data-resizable-iframe-connected' )\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,\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 ) {\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 { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\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\tref.current.addEventListener( 'load', tryNoForceSandbox, false );\n\t\tdefaultView.addEventListener( 'message', checkMessageForResize );\n\n\t\treturn () => {\n\t\t\tref.current?.removeEventListener(\n\t\t\t\t'load',\n\t\t\t\ttryNoForceSandbox,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tdefaultView.addEventListener( 'message', checkMessageForResize );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\ttrySandbox();\n\t}, [ title, type, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\ttrySandbox( true );\n\t}, [ html ] );\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"]}
|
|
@@ -157,18 +157,19 @@ const style = `
|
|
|
157
157
|
`;
|
|
158
158
|
const EMPTY_ARRAY = [];
|
|
159
159
|
|
|
160
|
-
function Sandbox({
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
160
|
+
function Sandbox(_ref) {
|
|
161
|
+
let {
|
|
162
|
+
containerStyle,
|
|
163
|
+
customJS,
|
|
164
|
+
html = '',
|
|
165
|
+
lang = 'en',
|
|
166
|
+
providerUrl = '',
|
|
167
|
+
scripts = EMPTY_ARRAY,
|
|
168
|
+
styles = EMPTY_ARRAY,
|
|
169
|
+
title = '',
|
|
170
|
+
type,
|
|
171
|
+
url
|
|
172
|
+
} = _ref;
|
|
172
173
|
const colorScheme = (0, _compose.usePreferredColorScheme)();
|
|
173
174
|
const ref = (0, _element.useRef)();
|
|
174
175
|
const [height, setHeight] = (0, _element.useState)(0);
|
|
@@ -225,7 +226,8 @@ function Sandbox({
|
|
|
225
226
|
return '<!DOCTYPE html>' + (0, _element.renderToString)(htmlDoc);
|
|
226
227
|
}
|
|
227
228
|
|
|
228
|
-
function updateContentHtml(
|
|
229
|
+
function updateContentHtml() {
|
|
230
|
+
let forceRerender = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
229
231
|
const newContentHtml = getHtmlDoc();
|
|
230
232
|
|
|
231
233
|
if (forceRerender && contentHtml === newContentHtml) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/sandbox/index.native.js"],"names":["observeAndResizeJS","style","EMPTY_ARRAY","Sandbox","containerStyle","customJS","html","lang","providerUrl","scripts","styles","title","type","url","colorScheme","ref","height","setHeight","contentHtml","setContentHtml","getHtmlDoc","windowSize","Dimensions","get","isLandscape","setIsLandscape","width","wasLandscape","key","Platform","select","android","ios","htmlDoc","__html","map","rules","i","src","updateContentHtml","forceRerender","newContentHtml","setImmediate","checkMessageForResize","event","data","nativeEvent","JSON","parse","e","action","getSizeStyle","contentHeight","Math","ceil","aspectRatio","onChangeDimensions","dimensions","window","addEventListener","removeEventListener","current","sandboxStyles","baseUrl"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAYA;;AAKA;;AArBA;AACA;AACA;;AAIA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,kBAAkB,GAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OA5DA;AA8DA,MAAMC,KAAK,GAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAjEA;AAmEA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,OAAT,CAAkB;AACjBC,EAAAA,cADiB;AAEjBC,EAAAA,QAFiB;AAGjBC,EAAAA,IAAI,GAAG,EAHU;AAIjBC,EAAAA,IAAI,GAAG,IAJU;AAKjBC,EAAAA,WAAW,GAAG,EALG;AAMjBC,EAAAA,OAAO,GAAGP,WANO;AAOjBQ,EAAAA,MAAM,GAAGR,WAPQ;AAQjBS,EAAAA,KAAK,GAAG,EARS;AASjBC,EAAAA,IATiB;AAUjBC,EAAAA;AAViB,CAAlB,EAWI;AACH,QAAMC,WAAW,GAAG,uCAApB;AACA,QAAMC,GAAG,GAAG,sBAAZ;AACA,QAAM,CAAEC,MAAF,EAAUC,SAAV,IAAwB,uBAAU,CAAV,CAA9B;AACA,QAAM,CA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","sourcesContent":["/**\n * External dependencies\n */\nimport { Dimensions, Platform } from 'react-native';\nimport { WebView } from 'react-native-webview';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tmemo,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { usePreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport sandboxStyles from './style.scss';\n\nconst observeAndResizeJS = `\n\t( function() {\n\t\tvar observer;\n\n\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\t// The function postMessage is exposed by the react-native-webview library \n\t\t\t// to communicate between React Native and the WebView, in this case, \n\t\t\t// we use it for notifying resize changes.\n window.ReactNativeWebView.postMessage(JSON.stringify( {\n action: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n }));\n\t\t}\n\n\t\tobserver = new MutationObserver( sendResize );\n\t\tobserver.observe( document.body, {\n\t\t\tattributes: true,\n\t\t\tattributeOldValue: false,\n\t\t\tcharacterData: true,\n\t\t\tcharacterDataOldValue: false,\n\t\t\tchildList: true,\n\t\t\tsubtree: true\n\t\t} );\n\n\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t// the iframe root and interfere with our mechanism for\n\t\t// determining the unconstrained page bounds.\n\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\tif( ruleOrNode.style ) {\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function( style ) {\n\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\n\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tArray.prototype.forEach.call( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\n\t\t} );\n\n\t\tdocument.body.style.position = 'absolute';\n\t\tdocument.body.style.width = '100%';\n\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\tsendResize();\n\n\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\twindow.addEventListener( 'resize', sendResize, true );\n} )();`;\n\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div,\n\tbody > div iframe {\n\t\twidth: 100%;\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\t.wp-block-embed__wrapper {\n\t\tposition: relative;\n\t}\n\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\n\t/**\n\t * Add responsiveness to embeds with aspect ratios.\n\t * \n\t * These styles have been copied from the web version (https://git.io/JEFcX) and\n\t * adapted for the native version.\n\t */\n\t.wp-has-aspect-ratio.wp-block-embed__wrapper::before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tpadding-top: 50%; // Default to 2:1 aspect ratio.\n\t}\n\t.wp-has-aspect-ratio iframe {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t.wp-embed-aspect-21-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 42.85%; // 9 / 21 * 100\n\t}\n\t.wp-embed-aspect-18-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 50%; // 9 / 18 * 100\n\t}\n\t.wp-embed-aspect-16-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 56.25%; // 9 / 16 * 100\n\t}\n\t.wp-embed-aspect-4-3.wp-block-embed__wrapper::before {\n\t\tpadding-top: 75%; // 3 / 4 * 100\n\t}\n\t.wp-embed-aspect-1-1.wp-block-embed__wrapper::before {\n\t\tpadding-top: 100%; // 1 / 1 * 100\n\t}\n\t.wp-embed-aspect-9-16.wp-block-embed__wrapper::before {\n\t\tpadding-top: 177.77%; // 16 / 9 * 100\n\t}\n\t.wp-embed-aspect-1-2.wp-block-embed__wrapper::before {\n\t\tpadding-top: 200%; // 2 / 1 * 100\n\t}\n`;\n\nconst EMPTY_ARRAY = [];\n\nfunction Sandbox( {\n\tcontainerStyle,\n\tcustomJS,\n\thtml = '',\n\tlang = 'en',\n\tproviderUrl = '',\n\tscripts = EMPTY_ARRAY,\n\tstyles = EMPTY_ARRAY,\n\ttitle = '',\n\ttype,\n\turl,\n} ) {\n\tconst colorScheme = usePreferredColorScheme();\n\tconst ref = useRef();\n\tconst [ height, setHeight ] = useState( 0 );\n\tconst [ contentHtml, setContentHtml ] = useState( getHtmlDoc() );\n\n\tconst windowSize = Dimensions.get( 'window' );\n\tconst [ isLandscape, setIsLandscape ] = useState(\n\t\twindowSize.width >= windowSize.height\n\t);\n\tconst wasLandscape = useRef( isLandscape );\n\t// On Android, we need to recreate the WebView on any of the following actions, otherwise it disappears:\n\t// - Device rotation\n\t// - Light/dark mode changes\n\t// For this purpose, the key prop used in the WebView will be updated with the value of the actions.\n\tconst key = Platform.select( {\n\t\tandroid: `${ url }-${\n\t\t\tisLandscape ? 'landscape' : 'portrait'\n\t\t}-${ colorScheme }`,\n\t\tios: url,\n\t} );\n\n\tfunction getHtmlDoc() {\n\t\t// Put the html snippet into a html document, and update the state to refresh the WebView,\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 lang={ lang }>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<meta\n\t\t\t\t\t\tname=\"viewport\"\n\t\t\t\t\t\tcontent=\"width=device-width, initial-scale=1\"\n\t\t\t\t\t></meta>\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: customJS || observeAndResizeJS,\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\t\treturn '<!DOCTYPE html>' + renderToString( htmlDoc );\n\t}\n\n\tfunction updateContentHtml( forceRerender = false ) {\n\t\tconst newContentHtml = getHtmlDoc();\n\n\t\tif ( forceRerender && contentHtml === newContentHtml ) {\n\t\t\t// The re-render is forced by updating the state with empty HTML,\n\t\t\t// waiting for the JS code to be executed with \"setImmediate\" and then\n\t\t\t// setting the content HTML again.\n\t\t\tsetContentHtml( '' );\n\t\t\tsetImmediate( () => setContentHtml( newContentHtml ) );\n\t\t} else {\n\t\t\tsetContentHtml( newContentHtml );\n\t\t}\n\t}\n\n\tfunction checkMessageForResize( event ) {\n\t\t// Attempt to parse the message data as JSON if passed as string\n\t\tlet data = event.nativeEvent.data || {};\n\n\t\tif ( 'string' === typeof data ) {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {}\n\t\t}\n\n\t\t// Update the state only if the message is formatted as we expect,\n\t\t// i.e. as an object with a 'resize' action.\n\t\tif ( 'resize' !== data.action ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetHeight( data.height );\n\t}\n\n\tfunction getSizeStyle() {\n\t\tconst contentHeight = Math.ceil( height );\n\n\t\treturn contentHeight ? { height: contentHeight } : { aspectRatio: 1 };\n\t}\n\n\tfunction onChangeDimensions( dimensions ) {\n\t\tsetIsLandscape( dimensions.window.width >= dimensions.window.height );\n\t}\n\n\tuseEffect( () => {\n\t\tDimensions.addEventListener( 'change', onChangeDimensions );\n\t\treturn () => {\n\t\t\tDimensions.removeEventListener( 'change', onChangeDimensions );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tupdateContentHtml();\n\t}, [ html, title, type, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\t// When device orientation changes we have to recalculate the size,\n\t\t// for this purpose we reset the current size value.\n\t\tif ( wasLandscape.current !== isLandscape ) {\n\t\t\tsetHeight( 0 );\n\t\t}\n\t\twasLandscape.current = isLandscape;\n\t}, [ isLandscape ] );\n\n\treturn (\n\t\t<WebView\n\t\t\tcontainerStyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__container' ],\n\t\t\t\tcontainerStyle,\n\t\t\t] }\n\t\t\tkey={ key }\n\t\t\tref={ ref }\n\t\t\tsource={ { baseUrl: providerUrl, html: contentHtml } }\n\t\t\t// Wildcard value is required for static HTML\n\t\t\t// Reference: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#source\n\t\t\toriginWhitelist={ [ '*' ] }\n\t\t\tstyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__content' ],\n\t\t\t\tgetSizeStyle(),\n\t\t\t] }\n\t\t\tonMessage={ checkMessageForResize }\n\t\t\tscrollEnabled={ false }\n\t\t\tsetBuiltInZoomControls={ false }\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tshowsVerticalScrollIndicator={ false }\n\t\t/>\n\t);\n}\n\nexport default memo( Sandbox );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/sandbox/index.native.js"],"names":["observeAndResizeJS","style","EMPTY_ARRAY","Sandbox","containerStyle","customJS","html","lang","providerUrl","scripts","styles","title","type","url","colorScheme","ref","height","setHeight","contentHtml","setContentHtml","getHtmlDoc","windowSize","Dimensions","get","isLandscape","setIsLandscape","width","wasLandscape","key","Platform","select","android","ios","htmlDoc","__html","map","rules","i","src","updateContentHtml","forceRerender","newContentHtml","setImmediate","checkMessageForResize","event","data","nativeEvent","JSON","parse","e","action","getSizeStyle","contentHeight","Math","ceil","aspectRatio","onChangeDimensions","dimensions","window","addEventListener","removeEventListener","current","sandboxStyles","baseUrl"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAYA;;AAKA;;AArBA;AACA;AACA;;AAIA;AACA;AACA;;AAUA;AACA;AACA;AAGA,MAAMA,kBAAkB,GAAI;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OA5DA;AA8DA,MAAMC,KAAK,GAAI;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAjEA;AAmEA,MAAMC,WAAW,GAAG,EAApB;;AAEA,SAASC,OAAT,OAWI;AAAA,MAXc;AACjBC,IAAAA,cADiB;AAEjBC,IAAAA,QAFiB;AAGjBC,IAAAA,IAAI,GAAG,EAHU;AAIjBC,IAAAA,IAAI,GAAG,IAJU;AAKjBC,IAAAA,WAAW,GAAG,EALG;AAMjBC,IAAAA,OAAO,GAAGP,WANO;AAOjBQ,IAAAA,MAAM,GAAGR,WAPQ;AAQjBS,IAAAA,KAAK,GAAG,EARS;AASjBC,IAAAA,IATiB;AAUjBC,IAAAA;AAViB,GAWd;AACH,QAAMC,WAAW,GAAG,uCAApB;AACA,QAAMC,GAAG,GAAG,sBAAZ;AACA,QAAM,CAAEC,MAAF,EAAUC,SAAV,IAAwB,uBAAU,CAAV,CAA9B;AACA,QAAM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","sourcesContent":["/**\n * External dependencies\n */\nimport { Dimensions, Platform } from 'react-native';\nimport { WebView } from 'react-native-webview';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trenderToString,\n\tmemo,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n} from '@wordpress/element';\nimport { usePreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport sandboxStyles from './style.scss';\n\nconst observeAndResizeJS = `\n\t( function() {\n\t\tvar observer;\n\n\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction sendResize() {\n\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\t// The function postMessage is exposed by the react-native-webview library \n\t\t\t// to communicate between React Native and the WebView, in this case, \n\t\t\t// we use it for notifying resize changes.\n window.ReactNativeWebView.postMessage(JSON.stringify( {\n action: 'resize',\n\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\theight: clientBoundingRect.height,\n }));\n\t\t}\n\n\t\tobserver = new MutationObserver( sendResize );\n\t\tobserver.observe( document.body, {\n\t\t\tattributes: true,\n\t\t\tattributeOldValue: false,\n\t\t\tcharacterData: true,\n\t\t\tcharacterDataOldValue: false,\n\t\t\tchildList: true,\n\t\t\tsubtree: true\n\t\t} );\n\n\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t// the iframe root and interfere with our mechanism for\n\t\t// determining the unconstrained page bounds.\n\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\tif( ruleOrNode.style ) {\n\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function( style ) {\n\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\n\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\tArray.prototype.forEach.call( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\n\t\t} );\n\n\t\tdocument.body.style.position = 'absolute';\n\t\tdocument.body.style.width = '100%';\n\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\tsendResize();\n\n\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\twindow.addEventListener( 'resize', sendResize, true );\n} )();`;\n\nconst style = `\n\tbody {\n\t\tmargin: 0;\n\t}\n\thtml,\n\tbody,\n\tbody > div,\n\tbody > div iframe {\n\t\twidth: 100%;\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\t.wp-block-embed__wrapper {\n\t\tposition: relative;\n\t}\n\n\tbody.wp-has-aspect-ratio > div iframe {\n\t\theight: 100%;\n\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t}\n\n\t/**\n\t * Add responsiveness to embeds with aspect ratios.\n\t * \n\t * These styles have been copied from the web version (https://git.io/JEFcX) and\n\t * adapted for the native version.\n\t */\n\t.wp-has-aspect-ratio.wp-block-embed__wrapper::before {\n\t\tcontent: \"\";\n\t\tdisplay: block;\n\t\tpadding-top: 50%; // Default to 2:1 aspect ratio.\n\t}\n\t.wp-has-aspect-ratio iframe {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tbottom: 0;\n\t\tleft: 0;\n\t\theight: 100%;\n\t\twidth: 100%;\n\t}\n\t.wp-embed-aspect-21-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 42.85%; // 9 / 21 * 100\n\t}\n\t.wp-embed-aspect-18-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 50%; // 9 / 18 * 100\n\t}\n\t.wp-embed-aspect-16-9.wp-block-embed__wrapper::before {\n\t\tpadding-top: 56.25%; // 9 / 16 * 100\n\t}\n\t.wp-embed-aspect-4-3.wp-block-embed__wrapper::before {\n\t\tpadding-top: 75%; // 3 / 4 * 100\n\t}\n\t.wp-embed-aspect-1-1.wp-block-embed__wrapper::before {\n\t\tpadding-top: 100%; // 1 / 1 * 100\n\t}\n\t.wp-embed-aspect-9-16.wp-block-embed__wrapper::before {\n\t\tpadding-top: 177.77%; // 16 / 9 * 100\n\t}\n\t.wp-embed-aspect-1-2.wp-block-embed__wrapper::before {\n\t\tpadding-top: 200%; // 2 / 1 * 100\n\t}\n`;\n\nconst EMPTY_ARRAY = [];\n\nfunction Sandbox( {\n\tcontainerStyle,\n\tcustomJS,\n\thtml = '',\n\tlang = 'en',\n\tproviderUrl = '',\n\tscripts = EMPTY_ARRAY,\n\tstyles = EMPTY_ARRAY,\n\ttitle = '',\n\ttype,\n\turl,\n} ) {\n\tconst colorScheme = usePreferredColorScheme();\n\tconst ref = useRef();\n\tconst [ height, setHeight ] = useState( 0 );\n\tconst [ contentHtml, setContentHtml ] = useState( getHtmlDoc() );\n\n\tconst windowSize = Dimensions.get( 'window' );\n\tconst [ isLandscape, setIsLandscape ] = useState(\n\t\twindowSize.width >= windowSize.height\n\t);\n\tconst wasLandscape = useRef( isLandscape );\n\t// On Android, we need to recreate the WebView on any of the following actions, otherwise it disappears:\n\t// - Device rotation\n\t// - Light/dark mode changes\n\t// For this purpose, the key prop used in the WebView will be updated with the value of the actions.\n\tconst key = Platform.select( {\n\t\tandroid: `${ url }-${\n\t\t\tisLandscape ? 'landscape' : 'portrait'\n\t\t}-${ colorScheme }`,\n\t\tios: url,\n\t} );\n\n\tfunction getHtmlDoc() {\n\t\t// Put the html snippet into a html document, and update the state to refresh the WebView,\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 lang={ lang }>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ title }</title>\n\t\t\t\t\t<meta\n\t\t\t\t\t\tname=\"viewport\"\n\t\t\t\t\t\tcontent=\"width=device-width, initial-scale=1\"\n\t\t\t\t\t></meta>\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: customJS || observeAndResizeJS,\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\t\treturn '<!DOCTYPE html>' + renderToString( htmlDoc );\n\t}\n\n\tfunction updateContentHtml( forceRerender = false ) {\n\t\tconst newContentHtml = getHtmlDoc();\n\n\t\tif ( forceRerender && contentHtml === newContentHtml ) {\n\t\t\t// The re-render is forced by updating the state with empty HTML,\n\t\t\t// waiting for the JS code to be executed with \"setImmediate\" and then\n\t\t\t// setting the content HTML again.\n\t\t\tsetContentHtml( '' );\n\t\t\tsetImmediate( () => setContentHtml( newContentHtml ) );\n\t\t} else {\n\t\t\tsetContentHtml( newContentHtml );\n\t\t}\n\t}\n\n\tfunction checkMessageForResize( event ) {\n\t\t// Attempt to parse the message data as JSON if passed as string\n\t\tlet data = event.nativeEvent.data || {};\n\n\t\tif ( 'string' === typeof data ) {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {}\n\t\t}\n\n\t\t// Update the state only if the message is formatted as we expect,\n\t\t// i.e. as an object with a 'resize' action.\n\t\tif ( 'resize' !== data.action ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetHeight( data.height );\n\t}\n\n\tfunction getSizeStyle() {\n\t\tconst contentHeight = Math.ceil( height );\n\n\t\treturn contentHeight ? { height: contentHeight } : { aspectRatio: 1 };\n\t}\n\n\tfunction onChangeDimensions( dimensions ) {\n\t\tsetIsLandscape( dimensions.window.width >= dimensions.window.height );\n\t}\n\n\tuseEffect( () => {\n\t\tDimensions.addEventListener( 'change', onChangeDimensions );\n\t\treturn () => {\n\t\t\tDimensions.removeEventListener( 'change', onChangeDimensions );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tupdateContentHtml();\n\t}, [ html, title, type, styles, scripts ] );\n\n\tuseEffect( () => {\n\t\t// When device orientation changes we have to recalculate the size,\n\t\t// for this purpose we reset the current size value.\n\t\tif ( wasLandscape.current !== isLandscape ) {\n\t\t\tsetHeight( 0 );\n\t\t}\n\t\twasLandscape.current = isLandscape;\n\t}, [ isLandscape ] );\n\n\treturn (\n\t\t<WebView\n\t\t\tcontainerStyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__container' ],\n\t\t\t\tcontainerStyle,\n\t\t\t] }\n\t\t\tkey={ key }\n\t\t\tref={ ref }\n\t\t\tsource={ { baseUrl: providerUrl, html: contentHtml } }\n\t\t\t// Wildcard value is required for static HTML\n\t\t\t// Reference: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Reference.md#source\n\t\t\toriginWhitelist={ [ '*' ] }\n\t\t\tstyle={ [\n\t\t\t\tsandboxStyles[ 'sandbox-webview__content' ],\n\t\t\t\tgetSizeStyle(),\n\t\t\t] }\n\t\t\tonMessage={ checkMessageForResize }\n\t\t\tscrollEnabled={ false }\n\t\t\tsetBuiltInZoomControls={ false }\n\t\t\tshowsHorizontalScrollIndicator={ false }\n\t\t\tshowsVerticalScrollIndicator={ false }\n\t\t/>\n\t);\n}\n\nexport default memo( Sandbox );\n"]}
|
package/build/scrollable/hook.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -15,6 +13,10 @@ var styles = _interopRequireWildcard(require("./styles"));
|
|
|
15
13
|
|
|
16
14
|
var _useCx = require("../utils/hooks/use-cx");
|
|
17
15
|
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
18
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
18
20
|
/**
|
|
19
21
|
* WordPress dependencies
|
|
20
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/scrollable/hook.js"],"names":["useScrollable","props","className","scrollDirection","smoothScroll","otherProps","cx","classes","styles","Scrollable","scrollableScrollbar","scrollX","scrollY","scrollAuto"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/scrollable/hook.js"],"names":["useScrollable","props","className","scrollDirection","smoothScroll","otherProps","cx","classes","styles","Scrollable","scrollableScrollbar","scrollX","scrollY","scrollAuto"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AACA;;;;;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;;AACA;AACA;AACA;;AACA;AACO,SAASA,aAAT,CAAwBC,KAAxB,EAAgC;AACtC,QAAM;AACLC,IAAAA,SADK;AAELC,IAAAA,eAAe,GAAG,GAFb;AAGLC,IAAAA,YAAY,GAAG,KAHV;AAIL,OAAGC;AAJE,MAKF,+BAAkBJ,KAAlB,EAAyB,YAAzB,CALJ;AAOA,QAAMK,EAAE,GAAG,mBAAX;AAEA,QAAMC,OAAO,GAAG,sBACf,MACCD,EAAE,CACDE,MAAM,CAACC,UADN,EAEDD,MAAM,CAACE,mBAFN,EAGDN,YAAY,IAAII,MAAM,CAACJ,YAHtB,EAIDD,eAAe,KAAK,GAApB,IAA2BK,MAAM,CAACG,OAJjC,EAKDR,eAAe,KAAK,GAApB,IAA2BK,MAAM,CAACI,OALjC,EAMDT,eAAe,KAAK,MAApB,IAA8BK,MAAM,CAACK,UANpC,EAODX,SAPC,CAFY,EAWf,CAAEA,SAAF,EAAaC,eAAb,EAA8BC,YAA9B,CAXe,CAAhB;AAcA,SAAO,EAAE,GAAGC,UAAL;AAAiBH,IAAAA,SAAS,EAAEK;AAA5B,GAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useContextSystem } from '../ui/context';\nimport * as styles from './styles';\nimport { useCx } from '../utils/hooks/use-cx';\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n */\n/* eslint-enable jsdoc/valid-types */\nexport function useScrollable( props ) {\n\tconst {\n\t\tclassName,\n\t\tscrollDirection = 'y',\n\t\tsmoothScroll = false,\n\t\t...otherProps\n\t} = useContextSystem( props, 'Scrollable' );\n\n\tconst cx = useCx();\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tstyles.Scrollable,\n\t\t\t\tstyles.scrollableScrollbar,\n\t\t\t\tsmoothScroll && styles.smoothScroll,\n\t\t\t\tscrollDirection === 'x' && styles.scrollX,\n\t\t\t\tscrollDirection === 'y' && styles.scrollY,\n\t\t\t\tscrollDirection === 'auto' && styles.scrollAuto,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, scrollDirection, smoothScroll ]\n\t);\n\n\treturn { ...otherProps, className: classes };\n}\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.smoothScroll = exports.scrollableScrollbar = exports.scrollY = exports.scrollX = exports.scrollAuto = exports.Scrollable = exports.Content = void 0;
|
|
7
7
|
|
|
8
8
|
var _react = require("@emotion/react");
|
|
9
9
|
|
|
@@ -21,6 +21,8 @@ var _ = require("../");
|
|
|
21
21
|
|
|
22
22
|
var _baseControl = _interopRequireDefault(require("../base-control"));
|
|
23
23
|
|
|
24
|
+
var _utils = require("../utils");
|
|
25
|
+
|
|
24
26
|
/**
|
|
25
27
|
* External dependencies
|
|
26
28
|
*/
|
|
@@ -32,18 +34,47 @@ var _baseControl = _interopRequireDefault(require("../base-control"));
|
|
|
32
34
|
/**
|
|
33
35
|
* Internal dependencies
|
|
34
36
|
*/
|
|
35
|
-
function SearchControl({
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
function SearchControl(_ref, ref) {
|
|
38
|
+
let {
|
|
39
|
+
className,
|
|
40
|
+
onChange,
|
|
41
|
+
onKeyDown,
|
|
42
|
+
value,
|
|
43
|
+
label,
|
|
44
|
+
placeholder = (0, _i18n.__)('Search'),
|
|
45
|
+
hideLabelFromVision = true,
|
|
46
|
+
help,
|
|
47
|
+
onClose
|
|
48
|
+
} = _ref;
|
|
44
49
|
const instanceId = (0, _compose.useInstanceId)(SearchControl);
|
|
45
|
-
const searchInput = (0,
|
|
50
|
+
const searchInput = (0, _utils.useCombinedRef)(ref);
|
|
46
51
|
const id = `components-search-control-${instanceId}`;
|
|
52
|
+
|
|
53
|
+
const renderRightButton = () => {
|
|
54
|
+
if (onClose) {
|
|
55
|
+
return (0, _element.createElement)(_.Button, {
|
|
56
|
+
icon: _icons.closeSmall,
|
|
57
|
+
label: (0, _i18n.__)('Close search'),
|
|
58
|
+
onClick: onClose
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (!!value) {
|
|
63
|
+
return (0, _element.createElement)(_.Button, {
|
|
64
|
+
icon: _icons.closeSmall,
|
|
65
|
+
label: (0, _i18n.__)('Reset search'),
|
|
66
|
+
onClick: () => {
|
|
67
|
+
onChange('');
|
|
68
|
+
searchInput.current.focus();
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
return (0, _element.createElement)(_icons.Icon, {
|
|
74
|
+
icon: _icons.search
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
|
|
47
78
|
return (0, _element.createElement)(_baseControl.default, {
|
|
48
79
|
label: label,
|
|
49
80
|
id: id,
|
|
@@ -59,22 +90,15 @@ function SearchControl({
|
|
|
59
90
|
type: "search",
|
|
60
91
|
placeholder: placeholder,
|
|
61
92
|
onChange: event => onChange(event.target.value),
|
|
93
|
+
onKeyDown: onKeyDown,
|
|
62
94
|
autoComplete: "off",
|
|
63
95
|
value: value || ''
|
|
64
96
|
}), (0, _element.createElement)("div", {
|
|
65
97
|
className: "components-search-control__icon"
|
|
66
|
-
},
|
|
67
|
-
icon: _icons.closeSmall,
|
|
68
|
-
label: (0, _i18n.__)('Reset search'),
|
|
69
|
-
onClick: () => {
|
|
70
|
-
onChange('');
|
|
71
|
-
searchInput.current.focus();
|
|
72
|
-
}
|
|
73
|
-
}), !value && (0, _element.createElement)(_icons.Icon, {
|
|
74
|
-
icon: _icons.search
|
|
75
|
-
}))));
|
|
98
|
+
}, renderRightButton())));
|
|
76
99
|
}
|
|
77
100
|
|
|
78
|
-
var _default = SearchControl;
|
|
101
|
+
var _default = (0, _element.forwardRef)(SearchControl);
|
|
102
|
+
|
|
79
103
|
exports.default = _default;
|
|
80
104
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/search-control/index.js"],"names":["SearchControl","className","onChange","value","label","placeholder","hideLabelFromVision","help","instanceId","searchInput","id","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/search-control/index.js"],"names":["SearchControl","ref","className","onChange","onKeyDown","value","label","placeholder","hideLabelFromVision","help","onClose","instanceId","searchInput","id","renderRightButton","closeSmall","current","focus","search","event","target"],"mappings":";;;;;;;;;AAWA;;AARA;;AAKA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAKA,SAASA,aAAT,OAYCC,GAZD,EAaE;AAAA,MAZD;AACCC,IAAAA,SADD;AAECC,IAAAA,QAFD;AAGCC,IAAAA,SAHD;AAICC,IAAAA,KAJD;AAKCC,IAAAA,KALD;AAMCC,IAAAA,WAAW,GAAG,cAAI,QAAJ,CANf;AAOCC,IAAAA,mBAAmB,GAAG,IAPvB;AAQCC,IAAAA,IARD;AASCC,IAAAA;AATD,GAYC;AACD,QAAMC,UAAU,GAAG,4BAAeX,aAAf,CAAnB;AACA,QAAMY,WAAW,GAAG,2BAAgBX,GAAhB,CAApB;AACA,QAAMY,EAAE,GAAI,6BAA6BF,UAAY,EAArD;;AAEA,QAAMG,iBAAiB,GAAG,MAAM;AAC/B,QAAKJ,OAAL,EAAe;AACd,aACC,4BAAC,QAAD;AACC,QAAA,IAAI,EAAGK,iBADR;AAEC,QAAA,KAAK,EAAG,cAAI,cAAJ,CAFT;AAGC,QAAA,OAAO,EAAGL;AAHX,QADD;AAOA;;AAED,QAAK,CAAC,CAAEL,KAAR,EAAgB;AACf,aACC,4BAAC,QAAD;AACC,QAAA,IAAI,EAAGU,iBADR;AAEC,QAAA,KAAK,EAAG,cAAI,cAAJ,CAFT;AAGC,QAAA,OAAO,EAAG,MAAM;AACfZ,UAAAA,QAAQ,CAAE,EAAF,CAAR;AACAS,UAAAA,WAAW,CAACI,OAAZ,CAAoBC,KAApB;AACA;AANF,QADD;AAUA;;AAED,WAAO,4BAAC,WAAD;AAAM,MAAA,IAAI,EAAGC;AAAb,MAAP;AACA,GAzBD;;AA2BA,SACC,4BAAC,oBAAD;AACC,IAAA,KAAK,EAAGZ,KADT;AAEC,IAAA,EAAE,EAAGO,EAFN;AAGC,IAAA,mBAAmB,EAAGL,mBAHvB;AAIC,IAAA,IAAI,EAAGC,IAJR;AAKC,IAAA,SAAS,EAAG,yBAAYP,SAAZ,EAAuB,2BAAvB;AALb,KAOC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AACC,IAAA,GAAG,EAAGU,WADP;AAEC,IAAA,SAAS,EAAC,kCAFX;AAGC,IAAA,EAAE,EAAGC,EAHN;AAIC,IAAA,IAAI,EAAC,QAJN;AAKC,IAAA,WAAW,EAAGN,WALf;AAMC,IAAA,QAAQ,EAAKY,KAAF,IAAahB,QAAQ,CAAEgB,KAAK,CAACC,MAAN,CAAaf,KAAf,CANjC;AAOC,IAAA,SAAS,EAAGD,SAPb;AAQC,IAAA,YAAY,EAAC,KARd;AASC,IAAA,KAAK,EAAGC,KAAK,IAAI;AATlB,IADD,EAYC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGS,iBAAiB,EADpB,CAZD,CAPD,CADD;AA0BA;;eAEc,yBAAYd,aAAZ,C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, search, closeSmall } from '@wordpress/icons';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Button } from '../';\nimport BaseControl from '../base-control';\nimport { useCombinedRef } from '../utils';\n\nfunction SearchControl(\n\t{\n\t\tclassName,\n\t\tonChange,\n\t\tonKeyDown,\n\t\tvalue,\n\t\tlabel,\n\t\tplaceholder = __( 'Search' ),\n\t\thideLabelFromVision = true,\n\t\thelp,\n\t\tonClose,\n\t},\n\tref\n) {\n\tconst instanceId = useInstanceId( SearchControl );\n\tconst searchInput = useCombinedRef( ref );\n\tconst id = `components-search-control-${ instanceId }`;\n\n\tconst renderRightButton = () => {\n\t\tif ( onClose ) {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close search' ) }\n\t\t\t\t\tonClick={ onClose }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif ( !! value ) {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Reset search' ) }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonChange( '' );\n\t\t\t\t\t\tsearchInput.current.focus();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn <Icon icon={ search } />;\n\t};\n\n\treturn (\n\t\t<BaseControl\n\t\t\tlabel={ label }\n\t\t\tid={ id }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\thelp={ help }\n\t\t\tclassName={ classnames( className, 'components-search-control' ) }\n\t\t>\n\t\t\t<div className=\"components-search-control__input-wrapper\">\n\t\t\t\t<input\n\t\t\t\t\tref={ searchInput }\n\t\t\t\t\tclassName=\"components-search-control__input\"\n\t\t\t\t\tid={ id }\n\t\t\t\t\ttype=\"search\"\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tonChange={ ( event ) => onChange( event.target.value ) }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t/>\n\t\t\t\t<div className=\"components-search-control__icon\">\n\t\t\t\t\t{ renderRightButton() }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</BaseControl>\n\t);\n}\n\nexport default forwardRef( SearchControl );\n"]}
|
|
@@ -61,11 +61,12 @@ function mergeStyles(styles, updateStyles, selectors) {
|
|
|
61
61
|
return styles;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
function SearchControl({
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
function SearchControl(_ref) {
|
|
65
|
+
let {
|
|
66
|
+
value,
|
|
67
|
+
onChange,
|
|
68
|
+
placeholder = (0, _i18n.__)('Search blocks')
|
|
69
|
+
} = _ref;
|
|
69
70
|
const [isActive, setIsActive] = (0, _element.useState)(false);
|
|
70
71
|
const [currentStyles, setCurrentStyles] = (0, _element.useState)(baseStyles);
|
|
71
72
|
const isDark = (0, _reactNative.useColorScheme)() === 'dark';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/search-control/index.native.js"],"names":["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","currentStyles","setCurrentStyles","isDark","inputRef","onCancelTimer","isIOS","Platform","OS","darkStyles","activeStyles","activeDarkStyles","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","arrowLeftIcon","Gridicons","search","color","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","focus"],"mappings":"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","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}, [ 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}, [] );\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"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/search-control/index.native.js"],"names":["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","currentStyles","setCurrentStyles","isDark","inputRef","onCancelTimer","isIOS","Platform","OS","darkStyles","activeStyles","activeDarkStyles","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","arrowLeftIcon","Gridicons","search","color","renderRightButton","cancelCircleFilledIcon","closeIcon","renderCancel","focus"],"mappings":"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","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}, [ 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}, [] );\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"]}
|
|
@@ -42,26 +42,27 @@ function useUniqueId(idProp) {
|
|
|
42
42
|
return idProp || id;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
function SelectControl({
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
45
|
+
function SelectControl(_ref, ref) {
|
|
46
|
+
let {
|
|
47
|
+
className,
|
|
48
|
+
disabled = false,
|
|
49
|
+
help,
|
|
50
|
+
hideLabelFromVision,
|
|
51
|
+
id: idProp,
|
|
52
|
+
label,
|
|
53
|
+
multiple = false,
|
|
54
|
+
onBlur = _lodash.noop,
|
|
55
|
+
onChange = _lodash.noop,
|
|
56
|
+
onFocus = _lodash.noop,
|
|
57
|
+
options = [],
|
|
58
|
+
size = 'default',
|
|
59
|
+
value: valueProp,
|
|
60
|
+
labelPosition = 'top',
|
|
61
|
+
children,
|
|
62
|
+
prefix,
|
|
63
|
+
suffix,
|
|
64
|
+
...props
|
|
65
|
+
} = _ref;
|
|
65
66
|
const [isFocused, setIsFocused] = (0, _element.useState)(false);
|
|
66
67
|
const id = useUniqueId(idProp);
|
|
67
68
|
const helpId = help ? `${id}__help` : undefined; // Disable reason: A select with an onchange throws a warning
|
|
@@ -80,12 +81,18 @@ function SelectControl({
|
|
|
80
81
|
|
|
81
82
|
const handleOnChange = event => {
|
|
82
83
|
if (multiple) {
|
|
83
|
-
const selectedOptions = Array.from(event.target.options).filter(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
})
|
|
84
|
+
const selectedOptions = Array.from(event.target.options).filter(_ref2 => {
|
|
85
|
+
let {
|
|
86
|
+
selected
|
|
87
|
+
} = _ref2;
|
|
88
|
+
return selected;
|
|
89
|
+
});
|
|
90
|
+
const newValues = selectedOptions.map(_ref3 => {
|
|
91
|
+
let {
|
|
92
|
+
value
|
|
93
|
+
} = _ref3;
|
|
94
|
+
return value;
|
|
95
|
+
});
|
|
89
96
|
onChange(newValues);
|
|
90
97
|
return;
|
|
91
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/select-control/index.tsx"],"names":["useUniqueId","idProp","instanceId","SelectControl","id","className","disabled","help","hideLabelFromVision","label","multiple","onBlur","noop","onChange","onFocus","options","size","value","valueProp","labelPosition","children","prefix","suffix","props","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/select-control/index.tsx"],"names":["useUniqueId","idProp","instanceId","SelectControl","id","ref","className","disabled","help","hideLabelFromVision","label","multiple","onBlur","noop","onChange","onFocus","options","size","value","valueProp","labelPosition","children","prefix","suffix","props","isFocused","setIsFocused","helpId","undefined","handleOnBlur","event","handleOnFocus","handleOnChange","selectedOptions","Array","from","target","filter","selected","newValues","map","classes","chevronDown","option","index","key","ForwardedComponent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, noop } from 'lodash';\nimport classNames from 'classnames';\n// eslint-disable-next-line no-restricted-imports\nimport type { ChangeEvent, FocusEvent, Ref } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState, forwardRef } from '@wordpress/element';\nimport { Icon, chevronDown } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\nimport InputBase from '../input-control/input-base';\nimport type { InputBaseProps, LabelPosition } from '../input-control/types';\nimport { Select, DownArrowWrapper } from './styles/select-control-styles';\nimport type { Size } from './types';\nimport type { WordPressComponentProps } from '../ui/context';\n\nfunction useUniqueId( idProp?: string ) {\n\tconst instanceId = useInstanceId( SelectControl );\n\tconst id = `inspector-select-control-${ instanceId }`;\n\n\treturn idProp || id;\n}\n\nexport interface SelectControlProps\n\textends Omit< InputBaseProps, 'isFocused' > {\n\thelp?: string;\n\thideLabelFromVision?: boolean;\n\tmultiple?: boolean;\n\tonBlur?: ( event: FocusEvent< HTMLSelectElement > ) => void;\n\tonFocus?: ( event: FocusEvent< HTMLSelectElement > ) => void;\n\tonChange?: (\n\t\tvalue: string | string[],\n\t\textra?: { event?: ChangeEvent< HTMLSelectElement > }\n\t) => void;\n\toptions?: {\n\t\tlabel: string;\n\t\tvalue: string;\n\t\tid?: string;\n\t\tdisabled?: boolean;\n\t}[];\n\tsize?: Size;\n\tvalue?: string | string[];\n\tlabelPosition?: LabelPosition;\n}\n\nfunction SelectControl(\n\t{\n\t\tclassName,\n\t\tdisabled = false,\n\t\thelp,\n\t\thideLabelFromVision,\n\t\tid: idProp,\n\t\tlabel,\n\t\tmultiple = false,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonFocus = noop,\n\t\toptions = [],\n\t\tsize = 'default',\n\t\tvalue: valueProp,\n\t\tlabelPosition = 'top',\n\t\tchildren,\n\t\tprefix,\n\t\tsuffix,\n\t\t...props\n\t}: WordPressComponentProps< SelectControlProps, 'select', false >,\n\tref: Ref< HTMLSelectElement >\n) {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\tconst id = useUniqueId( idProp );\n\tconst helpId = help ? `${ id }__help` : undefined;\n\n\t// Disable reason: A select with an onchange throws a warning\n\tif ( isEmpty( options ) && ! children ) return null;\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLSelectElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused( false );\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLSelectElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused( true );\n\t};\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLSelectElement > ) => {\n\t\tif ( multiple ) {\n\t\t\tconst selectedOptions = Array.from( event.target.options ).filter(\n\t\t\t\t( { selected } ) => selected\n\t\t\t);\n\t\t\tconst newValues = selectedOptions.map( ( { value } ) => value );\n\t\t\tonChange( newValues );\n\t\t\treturn;\n\t\t}\n\n\t\tonChange( event.target.value, { event } );\n\t};\n\n\tconst classes = classNames( 'components-select-control', className );\n\n\t/* eslint-disable jsx-a11y/no-onchange */\n\treturn (\n\t\t<BaseControl help={ help } id={ id }>\n\t\t\t<InputBase\n\t\t\t\tclassName={ classes }\n\t\t\t\tdisabled={ disabled }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\tid={ id }\n\t\t\t\tisFocused={ isFocused }\n\t\t\t\tlabel={ label }\n\t\t\t\tsize={ size }\n\t\t\t\tsuffix={\n\t\t\t\t\tsuffix || (\n\t\t\t\t\t\t<DownArrowWrapper>\n\t\t\t\t\t\t\t<Icon icon={ chevronDown } size={ 18 } />\n\t\t\t\t\t\t</DownArrowWrapper>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tprefix={ prefix }\n\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t>\n\t\t\t\t<Select\n\t\t\t\t\t{ ...props }\n\t\t\t\t\taria-describedby={ helpId }\n\t\t\t\t\tclassName=\"components-select-control__input\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tid={ id }\n\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\t\tonChange={ handleOnChange }\n\t\t\t\t\tonFocus={ handleOnFocus }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tselectSize={ size }\n\t\t\t\t\tvalue={ valueProp }\n\t\t\t\t>\n\t\t\t\t\t{ children ||\n\t\t\t\t\t\toptions.map( ( option, index ) => {\n\t\t\t\t\t\t\tconst key =\n\t\t\t\t\t\t\t\toption.id ||\n\t\t\t\t\t\t\t\t`${ option.label }-${ option.value }-${ index }`;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\t\tdisabled={ option.disabled }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t</Select>\n\t\t\t</InputBase>\n\t\t</BaseControl>\n\t);\n\t/* eslint-enable jsx-a11y/no-onchange */\n}\n\nconst ForwardedComponent = forwardRef( SelectControl );\n\nexport default ForwardedComponent;\n"]}
|
|
@@ -20,17 +20,18 @@ var _pickerCell = _interopRequireDefault(require("../mobile/bottom-sheet/picker-
|
|
|
20
20
|
/**
|
|
21
21
|
* Internal dependencies
|
|
22
22
|
*/
|
|
23
|
-
const SelectControl = (0, _element.memo)(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
const SelectControl = (0, _element.memo)(_ref => {
|
|
24
|
+
let {
|
|
25
|
+
help,
|
|
26
|
+
instanceId,
|
|
27
|
+
label,
|
|
28
|
+
multiple = false,
|
|
29
|
+
onChange,
|
|
30
|
+
options = [],
|
|
31
|
+
className,
|
|
32
|
+
hideLabelFromVision,
|
|
33
|
+
...props
|
|
34
|
+
} = _ref;
|
|
34
35
|
const id = `inspector-select-control-${instanceId}`;
|
|
35
36
|
return (0, _element.createElement)(_pickerCell.default, (0, _extends2.default)({
|
|
36
37
|
label: label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/select-control/index.native.js"],"names":["SelectControl","help","instanceId","label","multiple","onChange","options","className","hideLabelFromVision","props","id","undefined"],"mappings":";;;;;;;;;AAGA;;;;AAIA;;AAPA;AACA;AACA;;AAEA;AACA;AACA;AAGA,MAAMA,aAAa,GAAG,mBACrB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/select-control/index.native.js"],"names":["SelectControl","help","instanceId","label","multiple","onChange","options","className","hideLabelFromVision","props","id","undefined"],"mappings":";;;;;;;;;AAGA;;;;AAIA;;AAPA;AACA;AACA;;AAEA;AACA;AACA;AAGA,MAAMA,aAAa,GAAG,mBACrB,QAUO;AAAA,MAVL;AACDC,IAAAA,IADC;AAEDC,IAAAA,UAFC;AAGDC,IAAAA,KAHC;AAIDC,IAAAA,QAAQ,GAAG,KAJV;AAKDC,IAAAA,QALC;AAMDC,IAAAA,OAAO,GAAG,EANT;AAODC,IAAAA,SAPC;AAQDC,IAAAA,mBARC;AASD,OAAGC;AATF,GAUK;AACN,QAAMC,EAAE,GAAI,4BAA4BR,UAAY,EAApD;AAEA,SACC,4BAAC,mBAAD;AACC,IAAA,KAAK,EAAGC,KADT;AAEC,IAAA,mBAAmB,EAAGK,mBAFvB;AAGC,IAAA,EAAE,EAAGE,EAHN;AAIC,IAAA,IAAI,EAAGT,IAJR;AAKC,IAAA,SAAS,EAAGM,SALb;AAMC,IAAA,aAAa,EAAGF,QANjB;AAOC,wBAAmB,CAAC,CAAEJ,IAAH,GAAW,GAAGS,EAAI,QAAlB,GAA4BC,SAPhD;AAQC,IAAA,QAAQ,EAAGP,QARZ;AASC,IAAA,OAAO,EAAGE;AATX,KAUMG,KAVN,EADD;AAcA,CA5BoB,CAAtB;eA+BeT,a","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport PickerCell from '../mobile/bottom-sheet/picker-cell';\n\nconst SelectControl = memo(\n\t( {\n\t\thelp,\n\t\tinstanceId,\n\t\tlabel,\n\t\tmultiple = false,\n\t\tonChange,\n\t\toptions = [],\n\t\tclassName,\n\t\thideLabelFromVision,\n\t\t...props\n\t} ) => {\n\t\tconst id = `inspector-select-control-${ instanceId }`;\n\n\t\treturn (\n\t\t\t<PickerCell\n\t\t\t\tlabel={ label }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\tid={ id }\n\t\t\t\thelp={ help }\n\t\t\t\tclassName={ className }\n\t\t\t\tonChangeValue={ onChange }\n\t\t\t\taria-describedby={ !! help ? `${ id }__help` : undefined }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\toptions={ options }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nexport default SelectControl;\n"]}
|