@wordpress/components 28.9.0 → 28.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/build/alignment-matrix-control/icon.js.map +1 -1
- package/build/alignment-matrix-control/types.js.map +1 -1
- package/build/alignment-matrix-control/utils.js.map +1 -1
- package/build/angle-picker-control/angle-circle.js.map +1 -1
- package/build/autocomplete/autocompleter-ui.js +3 -3
- package/build/autocomplete/autocompleter-ui.js.map +1 -1
- package/build/autocomplete/get-default-use-items.js.map +1 -1
- package/build/autocomplete/index.js +1 -0
- package/build/autocomplete/index.js.map +1 -1
- package/build/base-control/hooks.js.map +1 -1
- package/build/base-control/index.js.map +1 -1
- package/build/border-box-control/border-box-control/hook.js.map +1 -1
- package/build/border-box-control/styles.js.map +1 -1
- package/build/border-box-control/utils.js.map +1 -1
- package/build/border-control/border-control/hook.js.map +1 -1
- package/build/border-control/styles.js.map +1 -1
- package/build/box-control/axial-input-controls.js.map +1 -1
- package/build/box-control/icon.js.map +1 -1
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/input-controls.js.map +1 -1
- package/build/button/index.native.js +1 -1
- package/build/button/index.native.js.map +1 -1
- package/build/card/card/component.js +1 -1
- package/build/card/card/component.js.map +1 -1
- package/build/card/styles.js.map +1 -1
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/index.native.js +2 -1
- package/build/color-palette/index.native.js.map +1 -1
- package/build/color-picker/styles.js.map +1 -1
- package/build/combobox-control/index.js +1 -1
- package/build/combobox-control/index.js.map +1 -1
- package/build/composite/legacy/index.js.map +1 -1
- package/build/context/context-connect.js +1 -0
- package/build/context/context-connect.js.map +1 -1
- package/build/context/context-system-provider.js +1 -1
- package/build/context/context-system-provider.js.map +1 -1
- package/build/context/get-styled-class-name-from-key.js.map +1 -1
- package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/custom-gradient-picker/serializer.js.map +1 -1
- package/build/custom-gradient-picker/utils.js.map +1 -1
- package/build/custom-select-control-v2/styles.js.map +1 -1
- package/build/dashicon/index.js.map +1 -1
- package/build/date-time/date/styles.js.map +1 -1
- package/build/date-time/time/timezone.js.map +1 -1
- package/build/draggable/index.js.map +1 -1
- package/build/drop-zone/index.js +1 -2
- package/build/drop-zone/index.js.map +1 -1
- package/build/dropdown-menu-v2/styles.js.map +1 -1
- package/build/duotone-picker/color-list-picker/index.js.map +1 -1
- package/build/duotone-picker/utils.js.map +1 -1
- package/build/elevation/hook.js.map +1 -1
- package/build/external-link/index.js +20 -23
- package/build/external-link/index.js.map +1 -1
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/index.native.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build/font-size-picker/index.js.map +1 -1
- package/build/form-token-field/index.js +2 -1
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/suggestions-list.js.map +1 -1
- package/build/form-token-field/token-input.js.map +1 -1
- package/build/form-token-field/token.js +1 -1
- package/build/form-token-field/token.js.map +1 -1
- package/build/gradient-picker/index.js.map +1 -1
- package/build/grid/hook.js.map +1 -1
- package/build/guide/page-control.js +1 -1
- package/build/guide/page-control.js.map +1 -1
- package/build/h-stack/hook.js.map +1 -1
- package/build/heading/hook.js.map +1 -1
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/input-base.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/item-group/styles.js.map +1 -1
- package/build/menu-group/index.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build/mobile/bottom-sheet/cell.native.js +4 -4
- package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/range-cell.native.js +1 -1
- package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/index.native.js +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/switch-cell.native.js +4 -4
- package/build/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
- package/build/mobile/cycle-select-control/index.native.js.map +1 -1
- package/build/mobile/gradient/index.native.js.map +1 -1
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/link-picker/index.native.js +1 -1
- package/build/mobile/link-picker/index.native.js.map +1 -1
- package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
- package/build/mobile/picker/index.android.js.map +1 -1
- package/build/mobile/segmented-control/index.native.js.map +1 -1
- package/build/mobile/utils/get-px-from-css-unit.native.js.map +1 -1
- package/build/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
- package/build/modal/aria-helper.js +2 -1
- package/build/modal/aria-helper.js.map +1 -1
- package/build/modal/index.js +2 -1
- package/build/modal/index.js.map +1 -1
- package/build/modal/use-modal-exit-animation.js.map +1 -1
- package/build/navigation/group/index.js.map +1 -1
- package/build/navigation/item/base.js.map +1 -1
- package/build/navigation/menu/index.js.map +1 -1
- package/build/navigation/menu/menu-title-search.js +2 -2
- package/build/navigation/menu/menu-title-search.js.map +1 -1
- package/build/navigation/menu/menu-title.js.map +1 -1
- package/build/navigation/styles/navigation-styles.js.map +1 -1
- package/build/navigator/navigator/component.js.map +1 -1
- package/build/navigator/navigator-button/hook.js.map +1 -1
- package/build/number-control/styles/number-control-styles.js.map +1 -1
- package/build/palette-edit/index.js +25 -2
- package/build/palette-edit/index.js.map +1 -1
- package/build/popover/index.js +1 -1
- package/build/popover/index.js.map +1 -1
- package/build/popover/overlay-middlewares.js.map +1 -1
- package/build/popover/utils.js.map +1 -1
- package/build/progress-bar/index.js.map +1 -1
- package/build/progress-bar/styles.js.map +1 -1
- package/build/query-controls/index.js.map +1 -1
- package/build/query-controls/index.native.js.map +1 -1
- package/build/radio-control/index.js.map +1 -1
- package/build/radio-control/index.native.js.map +1 -1
- package/build/range-control/index.js.map +1 -1
- package/build/range-control/index.native.js.map +1 -1
- package/build/range-control/rail.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +32 -32
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/range-control/tooltip.js +1 -1
- package/build/range-control/tooltip.js.map +1 -1
- package/build/range-control/utils.js.map +1 -1
- package/build/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build/responsive-wrapper/index.js.map +1 -1
- package/build/sandbox/index.js.map +1 -1
- package/build/sandbox/index.native.js.map +1 -1
- package/build/search-control/index.js +6 -0
- package/build/search-control/index.js.map +1 -1
- package/build/search-control/index.native.js.map +1 -1
- package/build/search-control/types.js.map +1 -1
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/index.native.js.map +1 -1
- package/build/slot-fill/index.js.map +1 -1
- package/build/spinner/styles.js.map +1 -1
- package/build/style-provider/index.js +1 -0
- package/build/style-provider/index.js.map +1 -1
- package/build/surface/hook.js.map +1 -1
- package/build/surface/styles.js.map +1 -1
- package/build/tab-panel/index.js.map +1 -1
- package/build/tabs/index.js.map +1 -1
- package/build/tabs/styles.js +30 -12
- package/build/tabs/styles.js.map +1 -1
- package/build/tabs/tab.js +7 -2
- package/build/tabs/tab.js.map +1 -1
- package/build/tabs/tablist.js +47 -48
- package/build/tabs/tablist.js.map +1 -1
- package/build/tabs/tabpanel.js.map +1 -1
- package/build/text/get-line-height.js.map +1 -1
- package/build/text/styles/text-mixins.native.js.map +1 -1
- package/build/text/utils.js.map +1 -1
- package/build/text-control/index.native.js.map +1 -1
- package/build/text-highlight/index.js.map +1 -1
- package/build/textarea-control/index.js.map +1 -1
- package/build/theme/color-algorithms.js.map +1 -1
- package/build/theme/styles.js.map +1 -1
- package/build/toggle-control/index.js.map +1 -1
- package/build/toggle-control/index.native.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js +9 -1
- package/build/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +2 -60
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js +10 -10
- package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build/toggle-group-control/types.js.map +1 -1
- package/build/toolbar/toolbar/index.js.map +1 -1
- package/build/tools-panel/styles.js.map +1 -1
- package/build/tooltip/index.js +5 -1
- package/build/tooltip/index.js.map +1 -1
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/utils.js.map +1 -1
- package/build/utils/breakpoint.js.map +1 -1
- package/build/utils/colors-values.js.map +1 -1
- package/build/utils/config-values.js.map +1 -1
- package/build/utils/font-size.js.map +1 -1
- package/build/utils/hooks/use-animated-offset-rect.js +80 -0
- package/build/utils/hooks/use-animated-offset-rect.js.map +1 -0
- package/build/utils/hooks/use-cx.js.map +1 -1
- package/build/utils/math.js +2 -2
- package/build/utils/math.js.map +1 -1
- package/build/utils/space.js.map +1 -1
- package/build/utils/unit-values.js.map +1 -1
- package/build/utils/use-responsive-value.js.map +1 -1
- package/build-module/alignment-matrix-control/cell.js +1 -2
- package/build-module/alignment-matrix-control/cell.js.map +1 -1
- package/build-module/alignment-matrix-control/icon.js.map +1 -1
- package/build-module/alignment-matrix-control/types.js.map +1 -1
- package/build-module/alignment-matrix-control/utils.js.map +1 -1
- package/build-module/angle-picker-control/angle-circle.js.map +1 -1
- package/build-module/angle-picker-control/index.js +1 -2
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.js +4 -6
- package/build-module/autocomplete/autocompleter-ui.js.map +1 -1
- package/build-module/autocomplete/autocompleter-ui.native.js +1 -2
- package/build-module/autocomplete/autocompleter-ui.native.js.map +1 -1
- package/build-module/autocomplete/get-default-use-items.js.map +1 -1
- package/build-module/autocomplete/index.js +2 -3
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/base-control/hooks.js.map +1 -1
- package/build-module/base-control/index.js +1 -2
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/base-control/index.native.js +1 -2
- package/build-module/base-control/index.native.js.map +1 -1
- package/build-module/border-box-control/border-box-control/component.js +1 -2
- package/build-module/border-box-control/border-box-control/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control/hook.js.map +1 -1
- package/build-module/border-box-control/border-box-control-split-controls/component.js +1 -2
- package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build-module/border-box-control/styles.js.map +1 -1
- package/build-module/border-box-control/utils.js.map +1 -1
- package/build-module/border-control/border-control/component.js +1 -2
- package/build-module/border-control/border-control/component.js.map +1 -1
- package/build-module/border-control/border-control/hook.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js +1 -3
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/border-control/styles.js.map +1 -1
- package/build-module/box-control/all-input-control.js +1 -3
- package/build-module/box-control/all-input-control.js.map +1 -1
- package/build-module/box-control/axial-input-controls.js +1 -3
- package/build-module/box-control/axial-input-controls.js.map +1 -1
- package/build-module/box-control/icon.js +1 -2
- package/build-module/box-control/icon.js.map +1 -1
- package/build-module/box-control/index.js +1 -2
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/input-controls.js +1 -3
- package/build-module/box-control/input-controls.js.map +1 -1
- package/build-module/button/index.js +1 -3
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/index.native.js +2 -3
- package/build-module/button/index.native.js.map +1 -1
- package/build-module/card/card/component.js +2 -3
- package/build-module/card/card/component.js.map +1 -1
- package/build-module/card/styles.js.map +1 -1
- package/build-module/checkbox-control/index.js +1 -2
- package/build-module/checkbox-control/index.js.map +1 -1
- package/build-module/circular-option-picker/circular-option-picker-option.js +1 -2
- package/build-module/circular-option-picker/circular-option-picker-option.js.map +1 -1
- package/build-module/circular-option-picker/circular-option-picker.js +1 -2
- package/build-module/circular-option-picker/circular-option-picker.js.map +1 -1
- package/build-module/color-indicator/index.native.js +1 -2
- package/build-module/color-indicator/index.native.js.map +1 -1
- package/build-module/color-palette/index.js +1 -2
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/index.native.js +3 -4
- package/build-module/color-palette/index.native.js.map +1 -1
- package/build-module/color-picker/component.js +1 -2
- package/build-module/color-picker/component.js.map +1 -1
- package/build-module/color-picker/hsl-input.js +1 -3
- package/build-module/color-picker/hsl-input.js.map +1 -1
- package/build-module/color-picker/hsv-color-picker.native.js +1 -2
- package/build-module/color-picker/hsv-color-picker.native.js.map +1 -1
- package/build-module/color-picker/hue-picker.native.js +1 -2
- package/build-module/color-picker/hue-picker.native.js.map +1 -1
- package/build-module/color-picker/index.native.js +1 -3
- package/build-module/color-picker/index.native.js.map +1 -1
- package/build-module/color-picker/input-with-slider.js +1 -2
- package/build-module/color-picker/input-with-slider.js.map +1 -1
- package/build-module/color-picker/rgb-input.js +1 -3
- package/build-module/color-picker/rgb-input.js.map +1 -1
- package/build-module/color-picker/saturation-picker.native.js +1 -2
- package/build-module/color-picker/saturation-picker.native.js.map +1 -1
- package/build-module/color-picker/styles.js.map +1 -1
- package/build-module/combobox-control/index.js +2 -3
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/composite/legacy/index.js.map +1 -1
- package/build-module/confirm-dialog/component.js +1 -3
- package/build-module/confirm-dialog/component.js.map +1 -1
- package/build-module/context/context-connect.js +1 -0
- package/build-module/context/context-connect.js.map +1 -1
- package/build-module/context/context-system-provider.js +1 -1
- package/build-module/context/context-system-provider.js.map +1 -1
- package/build-module/context/get-styled-class-name-from-key.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js +1 -3
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -1
- package/build-module/custom-gradient-picker/gradient-bar/index.js +1 -2
- package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -1
- package/build-module/custom-gradient-picker/index.js +1 -2
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/custom-gradient-picker/index.native.js +1 -3
- package/build-module/custom-gradient-picker/index.native.js.map +1 -1
- package/build-module/custom-gradient-picker/serializer.js.map +1 -1
- package/build-module/custom-gradient-picker/utils.js.map +1 -1
- package/build-module/custom-select-control/index.js +1 -3
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/custom-select-control-v2/custom-select.js +1 -2
- package/build-module/custom-select-control-v2/custom-select.js.map +1 -1
- package/build-module/custom-select-control-v2/item.js +1 -2
- package/build-module/custom-select-control-v2/item.js.map +1 -1
- package/build-module/custom-select-control-v2/styles.js.map +1 -1
- package/build-module/dashicon/index.js.map +1 -1
- package/build-module/date-time/date/index.js +1 -2
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/date-time/date/styles.js.map +1 -1
- package/build-module/date-time/date-time/index.js +1 -3
- package/build-module/date-time/date-time/index.js.map +1 -1
- package/build-module/date-time/time/index.js +1 -2
- package/build-module/date-time/time/index.js.map +1 -1
- package/build-module/date-time/time/time-input/index.js +1 -2
- package/build-module/date-time/time/time-input/index.js.map +1 -1
- package/build-module/date-time/time/timezone.js.map +1 -1
- package/build-module/dimension-control/index.js +1 -3
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/draggable/index.js +1 -3
- package/build-module/draggable/index.js.map +1 -1
- package/build-module/drop-zone/index.js +2 -4
- package/build-module/drop-zone/index.js.map +1 -1
- package/build-module/dropdown/index.js +1 -2
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/dropdown/index.native.js +1 -2
- package/build-module/dropdown/index.native.js.map +1 -1
- package/build-module/dropdown-menu/index.js +1 -2
- package/build-module/dropdown-menu/index.js.map +1 -1
- package/build-module/dropdown-menu/index.native.js +1 -2
- package/build-module/dropdown-menu/index.native.js.map +1 -1
- package/build-module/dropdown-menu-v2/checkbox-item.js +1 -2
- package/build-module/dropdown-menu-v2/checkbox-item.js.map +1 -1
- package/build-module/dropdown-menu-v2/index.js +1 -3
- package/build-module/dropdown-menu-v2/index.js.map +1 -1
- package/build-module/dropdown-menu-v2/item.js +1 -2
- package/build-module/dropdown-menu-v2/item.js.map +1 -1
- package/build-module/dropdown-menu-v2/radio-item.js +1 -2
- package/build-module/dropdown-menu-v2/radio-item.js.map +1 -1
- package/build-module/dropdown-menu-v2/styles.js.map +1 -1
- package/build-module/duotone-picker/color-list-picker/index.js +1 -3
- package/build-module/duotone-picker/color-list-picker/index.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +1 -2
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/duotone-picker/utils.js.map +1 -1
- package/build-module/elevation/hook.js.map +1 -1
- package/build-module/external-link/index.js +21 -25
- package/build-module/external-link/index.js.map +1 -1
- package/build-module/external-link/index.native.js +1 -2
- package/build-module/external-link/index.native.js.map +1 -1
- package/build-module/focal-point-picker/controls.js +1 -2
- package/build-module/focal-point-picker/controls.js.map +1 -1
- package/build-module/focal-point-picker/focal-point.native.js +1 -2
- package/build-module/focal-point-picker/focal-point.native.js.map +1 -1
- package/build-module/focal-point-picker/grid.js +1 -2
- package/build-module/focal-point-picker/grid.js.map +1 -1
- package/build-module/focal-point-picker/index.js +1 -2
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/index.native.js +1 -2
- package/build-module/focal-point-picker/index.native.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build-module/focal-point-picker/tooltip/index.native.js +1 -2
- package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
- package/build-module/font-size-picker/index.js +1 -2
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/font-size-picker/index.native.js +1 -3
- package/build-module/font-size-picker/index.native.js.map +1 -1
- package/build-module/form-file-upload/index.js +1 -2
- package/build-module/form-file-upload/index.js.map +1 -1
- package/build-module/form-toggle/index.js +1 -2
- package/build-module/form-toggle/index.js.map +1 -1
- package/build-module/form-token-field/index.js +3 -3
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/suggestions-list.js +1 -2
- package/build-module/form-token-field/suggestions-list.js.map +1 -1
- package/build-module/form-token-field/token-input.js.map +1 -1
- package/build-module/form-token-field/token.js +2 -3
- package/build-module/form-token-field/token.js.map +1 -1
- package/build-module/gradient-picker/index.js +1 -2
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/grid/hook.js.map +1 -1
- package/build-module/guide/index.js +1 -2
- package/build-module/guide/index.js.map +1 -1
- package/build-module/guide/page-control.js +1 -1
- package/build-module/guide/page-control.js.map +1 -1
- package/build-module/h-stack/hook.js.map +1 -1
- package/build-module/heading/hook.js.map +1 -1
- package/build-module/higher-order/with-fallback-styles/index.js +3 -4
- package/build-module/higher-order/with-fallback-styles/index.js.map +1 -1
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/input-base.js +1 -2
- package/build-module/input-control/input-base.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/item-group/styles.js.map +1 -1
- package/build-module/keyboard-shortcuts/index.js +1 -3
- package/build-module/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/menu-group/index.js +1 -2
- package/build-module/menu-group/index.js.map +1 -1
- package/build-module/menu-item/index.js +1 -2
- package/build-module/menu-item/index.js.map +1 -1
- package/build-module/menu-items-choice/index.js +1 -2
- package/build-module/menu-items-choice/index.js.map +1 -1
- package/build-module/mobile/badge/index.native.js +1 -3
- package/build-module/mobile/badge/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -2
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js +5 -6
- package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/color-cell.native.js +1 -2
- package/build-module/mobile/bottom-sheet/color-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js +1 -3
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -2
- package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -2
- package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/range-cell.native.js +2 -3
- package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/range-text-input.native.js +1 -2
- package/build-module/mobile/bottom-sheet/range-text-input.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js +2 -3
- 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 +1 -2
- 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 +1 -2
- 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 +1 -3
- package/build-module/mobile/bottom-sheet/sub-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/switch-cell.native.js +4 -4
- package/build-module/mobile/bottom-sheet/switch-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-select-control/index.native.js +1 -3
- 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 +1 -3
- package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build-module/mobile/color-settings/gradient-picker-screen.native.js +1 -2
- package/build-module/mobile/color-settings/gradient-picker-screen.native.js.map +1 -1
- package/build-module/mobile/color-settings/index.native.js +1 -2
- package/build-module/mobile/color-settings/index.native.js.map +1 -1
- package/build-module/mobile/color-settings/palette.screen.native.js +1 -3
- package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
- package/build-module/mobile/cycle-select-control/index.native.js.map +1 -1
- package/build-module/mobile/focal-point-settings-panel/index.native.js +1 -2
- package/build-module/mobile/focal-point-settings-panel/index.native.js.map +1 -1
- package/build-module/mobile/gradient/index.native.js +1 -2
- package/build-module/mobile/gradient/index.native.js.map +1 -1
- package/build-module/mobile/html-text-input/index.native.js +1 -2
- package/build-module/mobile/html-text-input/index.native.js.map +1 -1
- package/build-module/mobile/image/icon-retry.native.js +1 -2
- package/build-module/mobile/image/icon-retry.native.js.map +1 -1
- package/build-module/mobile/image/image-editing-button.native.js +1 -2
- package/build-module/mobile/image/image-editing-button.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +1 -3
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/keyboard-avoiding-view/index.ios.js +1 -2
- package/build-module/mobile/keyboard-avoiding-view/index.ios.js.map +1 -1
- package/build-module/mobile/link-picker/index.native.js +2 -3
- package/build-module/mobile/link-picker/index.native.js.map +1 -1
- package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
- package/build-module/mobile/link-settings/index.native.js +1 -3
- package/build-module/mobile/link-settings/index.native.js.map +1 -1
- package/build-module/mobile/link-settings/link-settings-navigation.native.js +1 -2
- package/build-module/mobile/link-settings/link-settings-navigation.native.js.map +1 -1
- package/build-module/mobile/picker/index.android.js +1 -2
- package/build-module/mobile/picker/index.android.js.map +1 -1
- package/build-module/mobile/segmented-control/index.native.js +1 -2
- package/build-module/mobile/segmented-control/index.native.js.map +1 -1
- package/build-module/mobile/utils/get-px-from-css-unit.native.js.map +1 -1
- package/build-module/mobile/utils/use-unit-converter-to-mobile.native.js.map +1 -1
- package/build-module/modal/aria-helper.js +2 -1
- package/build-module/modal/aria-helper.js.map +1 -1
- package/build-module/modal/index.js +3 -4
- package/build-module/modal/index.js.map +1 -1
- package/build-module/modal/use-modal-exit-animation.js.map +1 -1
- package/build-module/navigation/back-button/index.js +1 -2
- package/build-module/navigation/back-button/index.js.map +1 -1
- package/build-module/navigation/group/index.js +1 -2
- package/build-module/navigation/group/index.js.map +1 -1
- package/build-module/navigation/item/base-content.js +1 -3
- package/build-module/navigation/item/base-content.js.map +1 -1
- package/build-module/navigation/item/base.js.map +1 -1
- package/build-module/navigation/item/index.js +1 -2
- package/build-module/navigation/item/index.js.map +1 -1
- package/build-module/navigation/menu/index.js +1 -2
- package/build-module/navigation/menu/index.js.map +1 -1
- package/build-module/navigation/menu/menu-title-search.js +2 -2
- package/build-module/navigation/menu/menu-title-search.js.map +1 -1
- package/build-module/navigation/menu/menu-title.js +1 -2
- package/build-module/navigation/menu/menu-title.js.map +1 -1
- package/build-module/navigation/menu/search-no-results-found.js +1 -2
- package/build-module/navigation/menu/search-no-results-found.js.map +1 -1
- package/build-module/navigation/styles/navigation-styles.js.map +1 -1
- package/build-module/navigator/navigator/component.js.map +1 -1
- package/build-module/navigator/navigator-button/hook.js.map +1 -1
- package/build-module/notice/index.js +1 -2
- package/build-module/notice/index.js.map +1 -1
- package/build-module/notice/index.native.js +1 -3
- package/build-module/notice/index.native.js.map +1 -1
- package/build-module/number-control/index.js +1 -3
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/number-control/styles/number-control-styles.js.map +1 -1
- package/build-module/palette-edit/index.js +25 -5
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/panel/actions.native.js +1 -2
- package/build-module/panel/actions.native.js.map +1 -1
- package/build-module/panel/body.js +1 -2
- package/build-module/panel/body.js.map +1 -1
- package/build-module/panel/body.native.js +1 -2
- package/build-module/panel/body.native.js.map +1 -1
- package/build-module/panel/header.js +1 -2
- package/build-module/panel/header.js.map +1 -1
- package/build-module/panel/index.js +1 -2
- package/build-module/panel/index.js.map +1 -1
- package/build-module/placeholder/index.js +1 -2
- package/build-module/placeholder/index.js.map +1 -1
- package/build-module/popover/index.js +2 -4
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/overlay-middlewares.js.map +1 -1
- package/build-module/popover/utils.js.map +1 -1
- package/build-module/progress-bar/index.js +1 -2
- package/build-module/progress-bar/index.js.map +1 -1
- package/build-module/progress-bar/styles.js.map +1 -1
- package/build-module/query-controls/index.js.map +1 -1
- package/build-module/query-controls/index.native.js +1 -3
- package/build-module/query-controls/index.native.js.map +1 -1
- package/build-module/radio-control/index.js +1 -2
- package/build-module/radio-control/index.js.map +1 -1
- package/build-module/radio-control/index.native.js +1 -2
- package/build-module/radio-control/index.native.js.map +1 -1
- package/build-module/range-control/index.js +1 -2
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/range-control/index.native.js.map +1 -1
- package/build-module/range-control/mark.js +1 -3
- package/build-module/range-control/mark.js.map +1 -1
- package/build-module/range-control/rail.js +1 -3
- package/build-module/range-control/rail.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +32 -32
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/range-control/tooltip.js +1 -1
- package/build-module/range-control/tooltip.js.map +1 -1
- package/build-module/range-control/utils.js.map +1 -1
- package/build-module/resizable-box/index.js +1 -2
- package/build-module/resizable-box/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/index.js +1 -2
- package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/utils.js.map +1 -1
- package/build-module/responsive-wrapper/index.js.map +1 -1
- package/build-module/sandbox/index.js +1 -2
- package/build-module/sandbox/index.js.map +1 -1
- package/build-module/sandbox/index.native.js +1 -2
- package/build-module/sandbox/index.native.js.map +1 -1
- package/build-module/search-control/index.js +6 -0
- package/build-module/search-control/index.js.map +1 -1
- package/build-module/search-control/index.native.js +1 -2
- package/build-module/search-control/index.native.js.map +1 -1
- package/build-module/search-control/types.js.map +1 -1
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/index.native.js.map +1 -1
- package/build-module/slot-fill/index.js +1 -3
- package/build-module/slot-fill/index.js.map +1 -1
- package/build-module/slot-fill/slot.js +1 -2
- package/build-module/slot-fill/slot.js.map +1 -1
- package/build-module/snackbar/index.js +1 -2
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/list.js +1 -2
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/spinner/index.js +1 -2
- package/build-module/spinner/index.js.map +1 -1
- package/build-module/spinner/styles.js.map +1 -1
- package/build-module/style-provider/index.js +1 -0
- package/build-module/style-provider/index.js.map +1 -1
- package/build-module/surface/hook.js.map +1 -1
- package/build-module/surface/styles.js.map +1 -1
- package/build-module/tab-panel/index.js +1 -2
- package/build-module/tab-panel/index.js.map +1 -1
- package/build-module/tabs/index.js.map +1 -1
- package/build-module/tabs/styles.js +28 -6
- package/build-module/tabs/styles.js.map +1 -1
- package/build-module/tabs/tab.js +9 -4
- package/build-module/tabs/tab.js.map +1 -1
- package/build-module/tabs/tablist.js +47 -48
- package/build-module/tabs/tablist.js.map +1 -1
- package/build-module/tabs/tabpanel.js.map +1 -1
- package/build-module/text/get-line-height.js.map +1 -1
- package/build-module/text/styles/text-mixins.native.js.map +1 -1
- package/build-module/text/utils.js.map +1 -1
- package/build-module/text-control/index.native.js.map +1 -1
- package/build-module/text-highlight/index.js +1 -2
- package/build-module/text-highlight/index.js.map +1 -1
- package/build-module/textarea-control/index.js.map +1 -1
- package/build-module/theme/color-algorithms.js.map +1 -1
- package/build-module/theme/styles.js.map +1 -1
- package/build-module/tip/index.js +1 -2
- package/build-module/tip/index.js.map +1 -1
- package/build-module/toggle-control/index.js +1 -2
- package/build-module/toggle-control/index.js.map +1 -1
- package/build-module/toggle-control/index.native.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js +10 -2
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +4 -65
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +11 -12
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build-module/toggle-group-control/types.js.map +1 -1
- package/build-module/toolbar/toolbar/index.js.map +1 -1
- package/build-module/toolbar/toolbar-button/toolbar-button-container.native.js +2 -2
- package/build-module/toolbar/toolbar-button/toolbar-button-container.native.js.map +1 -1
- package/build-module/toolbar/toolbar-group/index.js +1 -2
- package/build-module/toolbar/toolbar-group/index.js.map +1 -1
- package/build-module/tools-panel/styles.js.map +1 -1
- package/build-module/tools-panel/tools-panel/component.js +1 -2
- package/build-module/tools-panel/tools-panel/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +1 -3
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/tooltip/index.js +6 -3
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tooltip/index.native.js +1 -3
- package/build-module/tooltip/index.native.js.map +1 -1
- package/build-module/tree-grid/cell.js +1 -2
- package/build-module/tree-grid/cell.js.map +1 -1
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/index.native.js +1 -3
- package/build-module/unit-control/index.native.js.map +1 -1
- package/build-module/unit-control/utils.js.map +1 -1
- package/build-module/utils/breakpoint.js.map +1 -1
- package/build-module/utils/colors-values.js.map +1 -1
- package/build-module/utils/config-values.js.map +1 -1
- package/build-module/utils/font-size.js.map +1 -1
- package/build-module/utils/hooks/use-animated-offset-rect.js +74 -0
- package/build-module/utils/hooks/use-animated-offset-rect.js.map +1 -0
- package/build-module/utils/hooks/use-cx.js.map +1 -1
- package/build-module/utils/math.js +2 -2
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/space.js.map +1 -1
- package/build-module/utils/unit-values.js.map +1 -1
- package/build-module/utils/use-responsive-value.js.map +1 -1
- package/build-style/style-rtl.css +8 -5
- package/build-style/style.css +8 -5
- package/build-types/alignment-matrix-control/types.d.ts +2 -0
- package/build-types/alignment-matrix-control/types.d.ts.map +1 -1
- package/build-types/drop-zone/index.d.ts.map +1 -1
- package/build-types/modal/aria-helper.d.ts.map +1 -1
- package/build-types/palette-edit/index.d.ts +3 -0
- package/build-types/palette-edit/index.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/search-control/index.d.ts.map +1 -1
- package/build-types/search-control/stories/index.story.d.ts +0 -8
- package/build-types/search-control/stories/index.story.d.ts.map +1 -1
- package/build-types/search-control/types.d.ts +3 -0
- package/build-types/search-control/types.d.ts.map +1 -1
- package/build-types/tabs/styles.d.ts +7 -0
- package/build-types/tabs/styles.d.ts.map +1 -1
- package/build-types/tabs/tab.d.ts.map +1 -1
- package/build-types/tabs/tablist.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/types.d.ts +1 -0
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/utils/hooks/use-animated-offset-rect.d.ts +62 -0
- package/build-types/utils/hooks/use-animated-offset-rect.d.ts.map +1 -0
- package/package.json +20 -20
- package/schemas/docs-manifest.json +38 -0
- package/src/alignment-matrix-control/README.md +46 -36
- package/src/alignment-matrix-control/docs-manifest.json +12 -0
- package/src/alignment-matrix-control/types.ts +2 -0
- package/src/angle-picker-control/README.md +36 -23
- package/src/angle-picker-control/docs-manifest.json +5 -0
- package/src/button/style.scss +5 -1
- package/src/composite/test/index.tsx +629 -38
- package/src/drop-zone/index.tsx +1 -2
- package/src/drop-zone/style.scss +1 -1
- package/src/modal/aria-helper.ts +1 -0
- package/src/palette-edit/index.tsx +30 -5
- package/src/palette-edit/test/index.tsx +50 -1
- package/src/range-control/styles/range-control-styles.ts +19 -10
- package/src/range-control/tooltip.tsx +1 -1
- package/src/search-control/README.md +2 -0
- package/src/search-control/index.tsx +7 -0
- package/src/search-control/stories/index.story.tsx +0 -15
- package/src/search-control/test/index.tsx +4 -1
- package/src/search-control/types.ts +3 -0
- package/src/tabs/styles.ts +116 -47
- package/src/tabs/tab.tsx +8 -2
- package/src/tabs/tablist.tsx +48 -49
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +6 -6
- package/src/toggle-group-control/test/index.tsx +39 -0
- package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +11 -1
- package/src/toggle-group-control/toggle-group-control/component.tsx +3 -98
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +15 -15
- package/src/toggle-group-control/types.ts +1 -0
- package/src/tooltip/index.tsx +8 -1
- package/src/tooltip/test/index.tsx +78 -0
- package/src/utils/hooks/use-animated-offset-rect.ts +107 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeLinearGradient","_interopRequireDefault","_gradientParser","_primitives","_compose","_element","_style","_utils","_jsxRuntime","getGradientAngle","gradientValue","angleBase","matchAngle","angle","exec","angleType","includes","parseFloat","getGradientColorGroup","colorNeedParenthesis","excludeSideOrCorner","modifiedGradientValue","replace","concat","gradientParser","parse","map","gradient","colorStops","color","index","type","value","length","fallbackLength","colorLength","join","getGradientBaseColors","colorGroup","getColorLocations","location","Number","Gradient","style","angleCenter","x","y","children","otherProps","resizeObserver","sizes","useResizeObserver","width","height","isGradient","getGradientType","gradients","colorsUtils","useMemo","locations","colors","isLinearGradient","linear","jsx","default","useAngle","jsxs","View","styles","overflow","radialGradientContent","SVG","Defs","RadialGradient","id","gradientUnits","rx","ry","cy","Platform","OS","group","Stop","offset","stopColor","stopOpacity","Rect","fill","_default","exports"],"sources":["@wordpress/components/src/mobile/gradient/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform } from 'react-native';\nimport RNLinearGradient from 'react-native-linear-gradient';\nimport gradientParser from 'gradient-parser';\n/**\n * WordPress dependencies\n */\nimport { RadialGradient, Stop, SVG, Defs, Rect } from '@wordpress/primitives';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport { colorsUtils } from '../color-settings/utils';\n\nexport function getGradientAngle( gradientValue ) {\n\tconst angleBase = 45;\n\tconst matchAngle = /\\(((\\d+deg)|(to\\s[^,]+))/;\n\tconst angle = matchAngle.exec( gradientValue )\n\t\t? matchAngle.exec( gradientValue )[ 1 ]\n\t\t: '180deg';\n\n\tconst angleType = angle.includes( 'deg' ) ? 'angle' : 'sideOrCorner';\n\n\tif ( angleType === 'sideOrCorner' ) {\n\t\tswitch ( angle ) {\n\t\t\tcase 'to top':\n\t\t\t\treturn 0;\n\t\t\tcase 'to top right':\n\t\t\tcase 'to right top':\n\t\t\t\treturn angleBase;\n\t\t\tcase 'to right':\n\t\t\t\treturn 2 * angleBase;\n\t\t\tcase 'to bottom right':\n\t\t\tcase 'to right bottom':\n\t\t\t\treturn 3 * angleBase;\n\t\t\tcase 'to bottom':\n\t\t\t\treturn 4 * angleBase;\n\t\t\tcase 'to bottom left':\n\t\t\tcase 'to left bottom':\n\t\t\t\treturn 5 * angleBase;\n\t\t\tcase 'to left':\n\t\t\t\treturn 6 * angleBase;\n\t\t\tcase 'to top left':\n\t\t\tcase 'to left top':\n\t\t\t\treturn 7 * angleBase;\n\t\t}\n\t} else if ( angleType === 'angle' ) {\n\t\treturn parseFloat( angle );\n\t} else {\n\t\treturn 4 * angleBase;\n\t}\n}\n\nexport function getGradientColorGroup( gradientValue ) {\n\tconst colorNeedParenthesis = [ 'rgb', 'rgba' ];\n\n\tconst excludeSideOrCorner = /linear-gradient\\(to\\s+([a-z\\s]+,)/;\n\n\t// Parser has some difficulties with angle defined as a side or corner (e.g. `to left`)\n\t// so it's going to be excluded in order to matching color groups.\n\tconst modifiedGradientValue = gradientValue.replace(\n\t\texcludeSideOrCorner,\n\t\t'linear-gradient('\n\t);\n\n\treturn [].concat(\n\t\t...gradientParser.parse( modifiedGradientValue )?.map( ( gradient ) =>\n\t\t\tgradient.colorStops?.map( ( color, index ) => {\n\t\t\t\tconst { type, value, length } = color;\n\t\t\t\tconst fallbackLength = `${\n\t\t\t\t\t100 * ( index / ( gradient.colorStops.length - 1 ) )\n\t\t\t\t}%`;\n\t\t\t\tconst colorLength = length\n\t\t\t\t\t? `${ length.value }${ length.type }`\n\t\t\t\t\t: fallbackLength;\n\n\t\t\t\tif ( colorNeedParenthesis.includes( type ) ) {\n\t\t\t\t\treturn [ `${ type }(${ value.join( ',' ) })`, colorLength ];\n\t\t\t\t} else if ( type === 'literal' ) {\n\t\t\t\t\treturn [ value, colorLength ];\n\t\t\t\t}\n\t\t\t\treturn [ `#${ value }`, colorLength ];\n\t\t\t} )\n\t\t)\n\t);\n}\n\nexport function getGradientBaseColors( colorGroup ) {\n\treturn colorGroup.map( ( color ) => color[ 0 ] );\n}\n\nexport function getColorLocations( colorGroup ) {\n\treturn colorGroup.map(\n\t\t( location ) => Number( location[ 1 ].replace( '%', '' ) ) / 100\n\t);\n}\n\nfunction Gradient( {\n\tgradientValue,\n\tstyle,\n\tangleCenter = { x: 0.5, y: 0.5 },\n\tchildren,\n\t...otherProps\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width = 0, height = 0 } = sizes || {};\n\tconst { isGradient, getGradientType, gradients } = colorsUtils;\n\n\tconst colorGroup = useMemo(\n\t\t() => getGradientColorGroup( gradientValue ),\n\t\t[ gradientValue ]\n\t);\n\n\tconst locations = useMemo(\n\t\t() => getColorLocations( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tconst colors = useMemo(\n\t\t() => getGradientBaseColors( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tif ( ! gradientValue || ! isGradient( gradientValue ) ) {\n\t\treturn null;\n\t}\n\n\tconst isLinearGradient =\n\t\tgetGradientType( gradientValue ) === gradients.linear;\n\n\tif ( isLinearGradient ) {\n\t\treturn (\n\t\t\t<RNLinearGradient\n\t\t\t\tcolors={ colors }\n\t\t\t\tuseAngle\n\t\t\t\tangle={ getGradientAngle( gradientValue ) }\n\t\t\t\tlocations={ locations }\n\t\t\t\tangleCenter={ angleCenter }\n\t\t\t\tstyle={ style }\n\t\t\t\t{ ...otherProps }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</RNLinearGradient>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ [ style, styles.overflow ] }>\n\t\t\t<View style={ styles.radialGradientContent }>{ children }</View>\n\t\t\t{ resizeObserver }\n\t\t\t<SVG>\n\t\t\t\t<Defs>\n\t\t\t\t\t<RadialGradient\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\tid=\"radialGradient\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\trx=\"70%\"\n\t\t\t\t\t\try=\"70%\"\n\t\t\t\t\t\tcy={ Platform.OS === 'android' ? width / 2 : '50%' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ colorGroup.map( ( group ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Stop\n\t\t\t\t\t\t\t\t\toffset={ group[ 1 ] }\n\t\t\t\t\t\t\t\t\tstopColor={ group[ 0 ] }\n\t\t\t\t\t\t\t\t\tstopOpacity=\"1\"\n\t\t\t\t\t\t\t\t\tkey={ `${ group[ 1 ] }-${ group[ 0 ] }` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</RadialGradient>\n\t\t\t\t</Defs>\n\t\t\t\t<Rect\n\t\t\t\t\theight={ height }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\tfill=\"url(#radialGradient)\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t</View>\n\t);\n}\n\nexport default Gradient;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeLinearGradient","_interopRequireDefault","_gradientParser","_primitives","_compose","_element","_style","_utils","_jsxRuntime","getGradientAngle","gradientValue","angleBase","matchAngle","angle","exec","angleType","includes","parseFloat","getGradientColorGroup","colorNeedParenthesis","excludeSideOrCorner","modifiedGradientValue","replace","concat","gradientParser","parse","map","gradient","colorStops","color","index","type","value","length","fallbackLength","colorLength","join","getGradientBaseColors","colorGroup","getColorLocations","location","Number","Gradient","style","angleCenter","x","y","children","otherProps","resizeObserver","sizes","useResizeObserver","width","height","isGradient","getGradientType","gradients","colorsUtils","useMemo","locations","colors","isLinearGradient","linear","jsx","default","useAngle","jsxs","View","styles","overflow","radialGradientContent","SVG","Defs","RadialGradient","id","gradientUnits","rx","ry","cy","Platform","OS","group","Stop","offset","stopColor","stopOpacity","Rect","fill","_default","exports"],"sources":["@wordpress/components/src/mobile/gradient/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Platform } from 'react-native';\nimport RNLinearGradient from 'react-native-linear-gradient';\nimport gradientParser from 'gradient-parser';\n/**\n * WordPress dependencies\n */\nimport { RadialGradient, Stop, SVG, Defs, Rect } from '@wordpress/primitives';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport { colorsUtils } from '../color-settings/utils';\n\nexport function getGradientAngle( gradientValue ) {\n\tconst angleBase = 45;\n\tconst matchAngle = /\\(((\\d+deg)|(to\\s[^,]+))/;\n\tconst angle = matchAngle.exec( gradientValue )\n\t\t? matchAngle.exec( gradientValue )[ 1 ]\n\t\t: '180deg';\n\n\tconst angleType = angle.includes( 'deg' ) ? 'angle' : 'sideOrCorner';\n\n\tif ( angleType === 'sideOrCorner' ) {\n\t\tswitch ( angle ) {\n\t\t\tcase 'to top':\n\t\t\t\treturn 0;\n\t\t\tcase 'to top right':\n\t\t\tcase 'to right top':\n\t\t\t\treturn angleBase;\n\t\t\tcase 'to right':\n\t\t\t\treturn 2 * angleBase;\n\t\t\tcase 'to bottom right':\n\t\t\tcase 'to right bottom':\n\t\t\t\treturn 3 * angleBase;\n\t\t\tcase 'to bottom':\n\t\t\t\treturn 4 * angleBase;\n\t\t\tcase 'to bottom left':\n\t\t\tcase 'to left bottom':\n\t\t\t\treturn 5 * angleBase;\n\t\t\tcase 'to left':\n\t\t\t\treturn 6 * angleBase;\n\t\t\tcase 'to top left':\n\t\t\tcase 'to left top':\n\t\t\t\treturn 7 * angleBase;\n\t\t}\n\t} else if ( angleType === 'angle' ) {\n\t\treturn parseFloat( angle );\n\t} else {\n\t\treturn 4 * angleBase;\n\t}\n}\n\nexport function getGradientColorGroup( gradientValue ) {\n\tconst colorNeedParenthesis = [ 'rgb', 'rgba' ];\n\n\tconst excludeSideOrCorner = /linear-gradient\\(to\\s+([a-z\\s]+,)/;\n\n\t// Parser has some difficulties with angle defined as a side or corner (e.g. `to left`)\n\t// so it's going to be excluded in order to matching color groups.\n\tconst modifiedGradientValue = gradientValue.replace(\n\t\texcludeSideOrCorner,\n\t\t'linear-gradient('\n\t);\n\n\treturn [].concat(\n\t\t...gradientParser.parse( modifiedGradientValue )?.map( ( gradient ) =>\n\t\t\tgradient.colorStops?.map( ( color, index ) => {\n\t\t\t\tconst { type, value, length } = color;\n\t\t\t\tconst fallbackLength = `${\n\t\t\t\t\t100 * ( index / ( gradient.colorStops.length - 1 ) )\n\t\t\t\t}%`;\n\t\t\t\tconst colorLength = length\n\t\t\t\t\t? `${ length.value }${ length.type }`\n\t\t\t\t\t: fallbackLength;\n\n\t\t\t\tif ( colorNeedParenthesis.includes( type ) ) {\n\t\t\t\t\treturn [ `${ type }(${ value.join( ',' ) })`, colorLength ];\n\t\t\t\t} else if ( type === 'literal' ) {\n\t\t\t\t\treturn [ value, colorLength ];\n\t\t\t\t}\n\t\t\t\treturn [ `#${ value }`, colorLength ];\n\t\t\t} )\n\t\t)\n\t);\n}\n\nexport function getGradientBaseColors( colorGroup ) {\n\treturn colorGroup.map( ( color ) => color[ 0 ] );\n}\n\nexport function getColorLocations( colorGroup ) {\n\treturn colorGroup.map(\n\t\t( location ) => Number( location[ 1 ].replace( '%', '' ) ) / 100\n\t);\n}\n\nfunction Gradient( {\n\tgradientValue,\n\tstyle,\n\tangleCenter = { x: 0.5, y: 0.5 },\n\tchildren,\n\t...otherProps\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width = 0, height = 0 } = sizes || {};\n\tconst { isGradient, getGradientType, gradients } = colorsUtils;\n\n\tconst colorGroup = useMemo(\n\t\t() => getGradientColorGroup( gradientValue ),\n\t\t[ gradientValue ]\n\t);\n\n\tconst locations = useMemo(\n\t\t() => getColorLocations( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tconst colors = useMemo(\n\t\t() => getGradientBaseColors( colorGroup ),\n\t\t[ colorGroup ]\n\t);\n\n\tif ( ! gradientValue || ! isGradient( gradientValue ) ) {\n\t\treturn null;\n\t}\n\n\tconst isLinearGradient =\n\t\tgetGradientType( gradientValue ) === gradients.linear;\n\n\tif ( isLinearGradient ) {\n\t\treturn (\n\t\t\t<RNLinearGradient\n\t\t\t\tcolors={ colors }\n\t\t\t\tuseAngle\n\t\t\t\tangle={ getGradientAngle( gradientValue ) }\n\t\t\t\tlocations={ locations }\n\t\t\t\tangleCenter={ angleCenter }\n\t\t\t\tstyle={ style }\n\t\t\t\t{ ...otherProps }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</RNLinearGradient>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View style={ [ style, styles.overflow ] }>\n\t\t\t<View style={ styles.radialGradientContent }>{ children }</View>\n\t\t\t{ resizeObserver }\n\t\t\t<SVG>\n\t\t\t\t<Defs>\n\t\t\t\t\t<RadialGradient\n\t\t\t\t\t\t// eslint-disable-next-line no-restricted-syntax\n\t\t\t\t\t\tid=\"radialGradient\"\n\t\t\t\t\t\tgradientUnits=\"userSpaceOnUse\"\n\t\t\t\t\t\trx=\"70%\"\n\t\t\t\t\t\try=\"70%\"\n\t\t\t\t\t\tcy={ Platform.OS === 'android' ? width / 2 : '50%' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ colorGroup.map( ( group ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Stop\n\t\t\t\t\t\t\t\t\toffset={ group[ 1 ] }\n\t\t\t\t\t\t\t\t\tstopColor={ group[ 0 ] }\n\t\t\t\t\t\t\t\t\tstopOpacity=\"1\"\n\t\t\t\t\t\t\t\t\tkey={ `${ group[ 1 ] }-${ group[ 0 ] }` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</RadialGradient>\n\t\t\t\t</Defs>\n\t\t\t\t<Rect\n\t\t\t\t\theight={ height }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\tfill=\"url(#radialGradient)\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t</View>\n\t);\n}\n\nexport default Gradient;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeFastImage","_interopRequireDefault","_i18n","_icons","_compose","_element","_utils","_style","_iconRetry","_imageEditingButton","_icon","_jsxRuntime","ICON_TYPE","OFFLINE","PLACEHOLDER","RETRY","UPLOAD","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadPaused","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","useState","containerSize","setContainerSize","localURL","setLocalURL","networkURL","setNetworkURL","networkImageLoaded","setNetworkImageLoaded","Image","Platform","isAndroid","RNImage","FastImage","imageResizeMode","useEffect","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","startsWith","isIOS","prefetch","then","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","icon","iconStyle","SvgIconRetry","iconRetryStyles","offline","iconOfflineStyles","image","iconPlaceholderStyles","iconUploadStyles","jsx","default","usePreferredColorSchemeStyle","styles","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","iconOffline","iconOfflineDark","retryIconStyles","retryIconDark","iconRetry","iconRetryDark","retryContainerStyles","retryContainer","retryContainerDark","uploadFailedTextStyles","uploadFailedText","uploadFailedTextDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","getImageWithFocalPointStyles","undefined","calculatedSelectedHeight","isNaN","imageSelectedStyles","imageBorder","imageBorderDark","jsxs","View","container","alignItems","onLayout","children","accessible","disabled","accessibilityLabel","accessibilityHint","__","accessibilityRole","imageUploadingIconContainer","focalPointContent","Fragment","fadeDuration","source","uri","resizeMethod","testID","nonVisibleImage","onLoad","imageContainer","customRetryIcon","Text","pickerOptions","_default","exports"],"sources":["@wordpress/components/src/mobile/image/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Image as RNImage, Text, View } from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { image, offline } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getImageWithFocalPointStyles } from './utils';\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport ImageEditingButton from './image-editing-button';\nimport Icon from '../../icon';\n\nconst ICON_TYPE = {\n\tOFFLINE: 'offline',\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nconst ImageComponent = ( {\n\talign,\n\talt,\n\teditButton = true,\n\tfocalPoint,\n\theight: imageHeight,\n\thighlightSelected = true,\n\tisSelected,\n\tshouldUseFastImage,\n\tisUploadFailed,\n\tisUploadPaused,\n\tisUploadInProgress,\n\tmediaPickerOptions,\n\tonImageDataLoad,\n\tonSelectMediaUploadOption,\n\topenMediaOptions,\n\tresizeMode,\n\tretryMessage,\n\tretryIcon,\n\turl,\n\tshapeStyle,\n\tstyle,\n\twidth: imageWidth,\n} ) => {\n\tconst [ imageData, setImageData ] = useState( null );\n\tconst [ containerSize, setContainerSize ] = useState( null );\n\tconst [ localURL, setLocalURL ] = useState( null );\n\tconst [ networkURL, setNetworkURL ] = useState( null );\n\tconst [ networkImageLoaded, setNetworkImageLoaded ] = useState( false );\n\n\t// Disabled for Android due to https://github.com/WordPress/gutenberg/issues/43149\n\tconst Image =\n\t\t! shouldUseFastImage || Platform.isAndroid ? RNImage : FastImage;\n\tconst imageResizeMode =\n\t\t! shouldUseFastImage || Platform.isAndroid\n\t\t\t? resizeMode\n\t\t\t: FastImage.resizeMode[ resizeMode ];\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tRNImage.getSize( url, ( imgWidth, imgHeight ) => {\n\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst metaData = {\n\t\t\t\t\taspectRatio: imgWidth / imgHeight,\n\t\t\t\t\twidth: imgWidth,\n\t\t\t\t\theight: imgHeight,\n\t\t\t\t};\n\t\t\t\tsetImageData( metaData );\n\t\t\t\tif ( onImageDataLoad ) {\n\t\t\t\t\tonImageDataLoad( metaData );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( url.startsWith( 'file:///' ) ) {\n\t\t\t\tsetLocalURL( url );\n\t\t\t\tsetNetworkURL( null );\n\t\t\t\tsetNetworkImageLoaded( false );\n\t\t\t} else if ( url.startsWith( 'https://' ) ) {\n\t\t\t\tif ( Platform.isIOS ) {\n\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t} else if ( Platform.isAndroid ) {\n\t\t\t\t\tRNImage.prefetch( url ).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t// This callback is called when the image fails to load,\n\t\t\t\t\t\t\t// but these events are handled by `isUploadFailed`\n\t\t\t\t\t\t\t// and `isUploadPaused` events instead.\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Ignoring the error event will persist the local image URI.\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn () => ( isCurrent = false );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ url ] );\n\n\tconst onContainerLayout = ( event ) => {\n\t\tconst { height, width } = event.nativeEvent.layout;\n\n\t\tif (\n\t\t\twidth !== 0 &&\n\t\t\theight !== 0 &&\n\t\t\t( containerSize?.width !== width ||\n\t\t\t\tcontainerSize?.height !== height )\n\t\t) {\n\t\t\tsetContainerSize( { width, height } );\n\t\t}\n\t};\n\n\tconst getIcon = ( iconType ) => {\n\t\tlet icon;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticon = retryIcon || SvgIconRetry;\n\t\t\t\ticonStyle = iconRetryStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.OFFLINE:\n\t\t\t\ticon = offline;\n\t\t\t\ticonStyle = iconOfflineStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconUploadStyles;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t};\n\n\tconst iconPlaceholderStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconPlaceholder,\n\t\tstyles.iconPlaceholderDark\n\t);\n\n\tconst iconUploadStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconUpload,\n\t\tstyles.iconUploadDark\n\t);\n\n\tconst iconOfflineStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconOffline,\n\t\tstyles.iconOfflineDark\n\t);\n\n\tconst retryIconStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryIcon,\n\t\tstyles.retryIconDark\n\t);\n\n\tconst iconRetryStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconRetry,\n\t\tstyles.iconRetryDark\n\t);\n\n\tconst retryContainerStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryContainer,\n\t\tstyles.retryContainerDark\n\t);\n\n\tconst uploadFailedTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.uploadFailedText,\n\t\tstyles.uploadFailedTextDark\n\t);\n\n\tconst placeholderStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageContainerUpload,\n\t\t\tstyles.imageContainerUploadDark\n\t\t),\n\t\tfocalPoint && styles.imageContainerUploadWithFocalpoint,\n\t\timageHeight && { height: imageHeight },\n\t];\n\n\tconst customWidth =\n\t\timageData?.width < containerSize?.width\n\t\t\t? imageData?.width\n\t\t\t: styles.wide?.width;\n\n\tconst imageContainerStyles = [\n\t\tstyles.imageContent,\n\t\t{\n\t\t\twidth:\n\t\t\t\timageWidth === styles.wide?.width ||\n\t\t\t\t( imageData &&\n\t\t\t\t\timageWidth > 0 &&\n\t\t\t\t\timageWidth < containerSize?.width )\n\t\t\t\t\t? imageWidth\n\t\t\t\t\t: customWidth,\n\t\t},\n\t\tresizeMode && { width: styles.wide?.width },\n\t\tfocalPoint && styles.focalPointContainer,\n\t];\n\n\tconst imageStyles = [\n\t\t{\n\t\t\theight: containerSize?.height,\n\t\t},\n\t\t! resizeMode && {\n\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t},\n\t\tfocalPoint && styles.focalPoint,\n\t\tfocalPoint &&\n\t\t\tgetImageWithFocalPointStyles(\n\t\t\t\tfocalPoint,\n\t\t\t\tcontainerSize,\n\t\t\t\timageData\n\t\t\t),\n\t\t! focalPoint &&\n\t\t\timageData &&\n\t\t\tcontainerSize && {\n\t\t\t\theight:\n\t\t\t\t\timageData?.width > containerSize?.width && ! imageWidth\n\t\t\t\t\t\t? containerSize?.width / imageData?.aspectRatio\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\timageHeight && { height: imageHeight },\n\t\tshapeStyle,\n\t];\n\n\t// On iOS, add 1 to height to account for the 1px non-visible image\n\t// that is used to determine when the network image has loaded\n\t// We also must verify that it is not NaN, as it can be NaN when the image is loading.\n\t// This is not necessary on Android as the non-visible image is not used.\n\tlet calculatedSelectedHeight;\n\tif ( Platform.isIOS ) {\n\t\tcalculatedSelectedHeight =\n\t\t\tcontainerSize && ! isNaN( containerSize.height )\n\t\t\t\t? containerSize.height + 1\n\t\t\t\t: 0;\n\t} else {\n\t\tcalculatedSelectedHeight = containerSize?.height;\n\t}\n\n\tconst imageSelectedStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageBorder,\n\t\t\tstyles.imageBorderDark\n\t\t),\n\t\t{\n\t\t\theight: calculatedSelectedHeight,\n\t\t},\n\t];\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.container,\n\t\t\t\t// Only set alignItems if an image exists because alignItems causes the placeholder\n\t\t\t\t// to disappear when an aligned image can't be downloaded\n\t\t\t\t// https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592\n\t\t\t\timageData && align && { alignItems: align },\n\t\t\t\tstyle,\n\t\t\t] }\n\t\t\tonLayout={ onContainerLayout }\n\t\t>\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ alt }\n\t\t\t\taccessibilityHint={ __( 'Double tap and hold to edit' ) }\n\t\t\t\taccessibilityRole=\"imagebutton\"\n\t\t\t\tkey={ url }\n\t\t\t\tstyle={ imageContainerStyles }\n\t\t\t>\n\t\t\t\t{ isSelected && highlightSelected && (\n\t\t\t\t\t<View style={ imageSelectedStyles } />\n\t\t\t\t) }\n\n\t\t\t\t{ ! imageData ? (\n\t\t\t\t\t<View style={ placeholderStyles }>\n\t\t\t\t\t\t<View style={ styles.imageUploadingIconContainer }>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.UPLOAD ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<View style={ focalPoint && styles.focalPointContent }>\n\t\t\t\t\t\t{ Platform.isAndroid && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ networkImageLoaded && networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t\ttestID={ `network-image-${ url }` }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! networkImageLoaded && ! networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: localURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ Platform.isIOS && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\tsource={ {\n\t\t\t\t\t\t\t\t\t\turi:\n\t\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t\t: localURL || url,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\ttestID={ `network-image-${\n\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t: localURL || url\n\t\t\t\t\t\t\t\t\t}` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\tstyle={ styles.nonVisibleImage }\n\t\t\t\t\t\t\t\t\tonLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ ( isUploadFailed || isUploadPaused ) && retryMessage && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\tretryContainerStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tretryIconStyles,\n\t\t\t\t\t\t\t\tretryIcon && styles.customRetryIcon,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isUploadPaused\n\t\t\t\t\t\t\t\t? getIcon( ICON_TYPE.OFFLINE )\n\t\t\t\t\t\t\t\t: getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ uploadFailedTextStyles }>\n\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\n\t\t\t{ editButton && isSelected && ! isUploadInProgress && (\n\t\t\t\t<ImageEditingButton\n\t\t\t\t\tonSelectMediaUploadOption={ onSelectMediaUploadOption }\n\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\turl={\n\t\t\t\t\t\t! ( isUploadFailed || isUploadPaused ) &&\n\t\t\t\t\t\timageData &&\n\t\t\t\t\t\turl\n\t\t\t\t\t}\n\t\t\t\t\tpickerOptions={ mediaPickerOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default ImageComponent;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeFastImage","_interopRequireDefault","_i18n","_icons","_compose","_element","_utils","_style","_iconRetry","_imageEditingButton","_icon","_jsxRuntime","ICON_TYPE","OFFLINE","PLACEHOLDER","RETRY","UPLOAD","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadPaused","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","useState","containerSize","setContainerSize","localURL","setLocalURL","networkURL","setNetworkURL","networkImageLoaded","setNetworkImageLoaded","Image","Platform","isAndroid","RNImage","FastImage","imageResizeMode","useEffect","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","startsWith","isIOS","prefetch","then","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","icon","iconStyle","SvgIconRetry","iconRetryStyles","offline","iconOfflineStyles","image","iconPlaceholderStyles","iconUploadStyles","jsx","default","usePreferredColorSchemeStyle","styles","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","iconOffline","iconOfflineDark","retryIconStyles","retryIconDark","iconRetry","iconRetryDark","retryContainerStyles","retryContainer","retryContainerDark","uploadFailedTextStyles","uploadFailedText","uploadFailedTextDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","getImageWithFocalPointStyles","undefined","calculatedSelectedHeight","isNaN","imageSelectedStyles","imageBorder","imageBorderDark","jsxs","View","container","alignItems","onLayout","children","accessible","disabled","accessibilityLabel","accessibilityHint","__","accessibilityRole","imageUploadingIconContainer","focalPointContent","Fragment","fadeDuration","source","uri","resizeMethod","testID","nonVisibleImage","onLoad","imageContainer","customRetryIcon","Text","pickerOptions","_default","exports"],"sources":["@wordpress/components/src/mobile/image/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Image as RNImage, Text, View } from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { image, offline } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getImageWithFocalPointStyles } from './utils';\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport ImageEditingButton from './image-editing-button';\nimport Icon from '../../icon';\n\nconst ICON_TYPE = {\n\tOFFLINE: 'offline',\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nconst ImageComponent = ( {\n\talign,\n\talt,\n\teditButton = true,\n\tfocalPoint,\n\theight: imageHeight,\n\thighlightSelected = true,\n\tisSelected,\n\tshouldUseFastImage,\n\tisUploadFailed,\n\tisUploadPaused,\n\tisUploadInProgress,\n\tmediaPickerOptions,\n\tonImageDataLoad,\n\tonSelectMediaUploadOption,\n\topenMediaOptions,\n\tresizeMode,\n\tretryMessage,\n\tretryIcon,\n\turl,\n\tshapeStyle,\n\tstyle,\n\twidth: imageWidth,\n} ) => {\n\tconst [ imageData, setImageData ] = useState( null );\n\tconst [ containerSize, setContainerSize ] = useState( null );\n\tconst [ localURL, setLocalURL ] = useState( null );\n\tconst [ networkURL, setNetworkURL ] = useState( null );\n\tconst [ networkImageLoaded, setNetworkImageLoaded ] = useState( false );\n\n\t// Disabled for Android due to https://github.com/WordPress/gutenberg/issues/43149\n\tconst Image =\n\t\t! shouldUseFastImage || Platform.isAndroid ? RNImage : FastImage;\n\tconst imageResizeMode =\n\t\t! shouldUseFastImage || Platform.isAndroid\n\t\t\t? resizeMode\n\t\t\t: FastImage.resizeMode[ resizeMode ];\n\n\tuseEffect( () => {\n\t\tlet isCurrent = true;\n\t\tif ( url ) {\n\t\t\tRNImage.getSize( url, ( imgWidth, imgHeight ) => {\n\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst metaData = {\n\t\t\t\t\taspectRatio: imgWidth / imgHeight,\n\t\t\t\t\twidth: imgWidth,\n\t\t\t\t\theight: imgHeight,\n\t\t\t\t};\n\t\t\t\tsetImageData( metaData );\n\t\t\t\tif ( onImageDataLoad ) {\n\t\t\t\t\tonImageDataLoad( metaData );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tif ( url.startsWith( 'file:///' ) ) {\n\t\t\t\tsetLocalURL( url );\n\t\t\t\tsetNetworkURL( null );\n\t\t\t\tsetNetworkImageLoaded( false );\n\t\t\t} else if ( url.startsWith( 'https://' ) ) {\n\t\t\t\tif ( Platform.isIOS ) {\n\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t} else if ( Platform.isAndroid ) {\n\t\t\t\t\tRNImage.prefetch( url ).then(\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\tif ( ! isCurrent ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsetNetworkURL( url );\n\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t// This callback is called when the image fails to load,\n\t\t\t\t\t\t\t// but these events are handled by `isUploadFailed`\n\t\t\t\t\t\t\t// and `isUploadPaused` events instead.\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Ignoring the error event will persist the local image URI.\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn () => ( isCurrent = false );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ url ] );\n\n\tconst onContainerLayout = ( event ) => {\n\t\tconst { height, width } = event.nativeEvent.layout;\n\n\t\tif (\n\t\t\twidth !== 0 &&\n\t\t\theight !== 0 &&\n\t\t\t( containerSize?.width !== width ||\n\t\t\t\tcontainerSize?.height !== height )\n\t\t) {\n\t\t\tsetContainerSize( { width, height } );\n\t\t}\n\t};\n\n\tconst getIcon = ( iconType ) => {\n\t\tlet icon;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticon = retryIcon || SvgIconRetry;\n\t\t\t\ticonStyle = iconRetryStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.OFFLINE:\n\t\t\t\ticon = offline;\n\t\t\t\ticonStyle = iconOfflineStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticon = image;\n\t\t\t\ticonStyle = iconUploadStyles;\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t};\n\n\tconst iconPlaceholderStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconPlaceholder,\n\t\tstyles.iconPlaceholderDark\n\t);\n\n\tconst iconUploadStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconUpload,\n\t\tstyles.iconUploadDark\n\t);\n\n\tconst iconOfflineStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconOffline,\n\t\tstyles.iconOfflineDark\n\t);\n\n\tconst retryIconStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryIcon,\n\t\tstyles.retryIconDark\n\t);\n\n\tconst iconRetryStyles = usePreferredColorSchemeStyle(\n\t\tstyles.iconRetry,\n\t\tstyles.iconRetryDark\n\t);\n\n\tconst retryContainerStyles = usePreferredColorSchemeStyle(\n\t\tstyles.retryContainer,\n\t\tstyles.retryContainerDark\n\t);\n\n\tconst uploadFailedTextStyles = usePreferredColorSchemeStyle(\n\t\tstyles.uploadFailedText,\n\t\tstyles.uploadFailedTextDark\n\t);\n\n\tconst placeholderStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageContainerUpload,\n\t\t\tstyles.imageContainerUploadDark\n\t\t),\n\t\tfocalPoint && styles.imageContainerUploadWithFocalpoint,\n\t\timageHeight && { height: imageHeight },\n\t];\n\n\tconst customWidth =\n\t\timageData?.width < containerSize?.width\n\t\t\t? imageData?.width\n\t\t\t: styles.wide?.width;\n\n\tconst imageContainerStyles = [\n\t\tstyles.imageContent,\n\t\t{\n\t\t\twidth:\n\t\t\t\timageWidth === styles.wide?.width ||\n\t\t\t\t( imageData &&\n\t\t\t\t\timageWidth > 0 &&\n\t\t\t\t\timageWidth < containerSize?.width )\n\t\t\t\t\t? imageWidth\n\t\t\t\t\t: customWidth,\n\t\t},\n\t\tresizeMode && { width: styles.wide?.width },\n\t\tfocalPoint && styles.focalPointContainer,\n\t];\n\n\tconst imageStyles = [\n\t\t{\n\t\t\theight: containerSize?.height,\n\t\t},\n\t\t! resizeMode && {\n\t\t\taspectRatio: imageData?.aspectRatio,\n\t\t},\n\t\tfocalPoint && styles.focalPoint,\n\t\tfocalPoint &&\n\t\t\tgetImageWithFocalPointStyles(\n\t\t\t\tfocalPoint,\n\t\t\t\tcontainerSize,\n\t\t\t\timageData\n\t\t\t),\n\t\t! focalPoint &&\n\t\t\timageData &&\n\t\t\tcontainerSize && {\n\t\t\t\theight:\n\t\t\t\t\timageData?.width > containerSize?.width && ! imageWidth\n\t\t\t\t\t\t? containerSize?.width / imageData?.aspectRatio\n\t\t\t\t\t\t: undefined,\n\t\t\t},\n\t\timageHeight && { height: imageHeight },\n\t\tshapeStyle,\n\t];\n\n\t// On iOS, add 1 to height to account for the 1px non-visible image\n\t// that is used to determine when the network image has loaded\n\t// We also must verify that it is not NaN, as it can be NaN when the image is loading.\n\t// This is not necessary on Android as the non-visible image is not used.\n\tlet calculatedSelectedHeight;\n\tif ( Platform.isIOS ) {\n\t\tcalculatedSelectedHeight =\n\t\t\tcontainerSize && ! isNaN( containerSize.height )\n\t\t\t\t? containerSize.height + 1\n\t\t\t\t: 0;\n\t} else {\n\t\tcalculatedSelectedHeight = containerSize?.height;\n\t}\n\n\tconst imageSelectedStyles = [\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.imageBorder,\n\t\t\tstyles.imageBorderDark\n\t\t),\n\t\t{\n\t\t\theight: calculatedSelectedHeight,\n\t\t},\n\t];\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tstyles.container,\n\t\t\t\t// Only set alignItems if an image exists because alignItems causes the placeholder\n\t\t\t\t// to disappear when an aligned image can't be downloaded\n\t\t\t\t// https://github.com/wordpress-mobile/gutenberg-mobile/issues/1592\n\t\t\t\timageData && align && { alignItems: align },\n\t\t\t\tstyle,\n\t\t\t] }\n\t\t\tonLayout={ onContainerLayout }\n\t\t>\n\t\t\t<View\n\t\t\t\taccessible\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ alt }\n\t\t\t\taccessibilityHint={ __( 'Double tap and hold to edit' ) }\n\t\t\t\taccessibilityRole=\"imagebutton\"\n\t\t\t\tkey={ url }\n\t\t\t\tstyle={ imageContainerStyles }\n\t\t\t>\n\t\t\t\t{ isSelected && highlightSelected && (\n\t\t\t\t\t<View style={ imageSelectedStyles } />\n\t\t\t\t) }\n\n\t\t\t\t{ ! imageData ? (\n\t\t\t\t\t<View style={ placeholderStyles }>\n\t\t\t\t\t\t<View style={ styles.imageUploadingIconContainer }>\n\t\t\t\t\t\t\t{ getIcon( ICON_TYPE.UPLOAD ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) : (\n\t\t\t\t\t<View style={ focalPoint && styles.focalPointContent }>\n\t\t\t\t\t\t{ Platform.isAndroid && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ networkImageLoaded && networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t\ttestID={ `network-image-${ url }` }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! networkImageLoaded && ! networkURL && (\n\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\t\tfadeDuration={ 0 }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: localURL } }\n\t\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ Platform.isIOS && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\t\t\tsource={ {\n\t\t\t\t\t\t\t\t\t\turi:\n\t\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t\t: localURL || url,\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\t\t\ttestID={ `network-image-${\n\t\t\t\t\t\t\t\t\t\tnetworkURL && networkImageLoaded\n\t\t\t\t\t\t\t\t\t\t\t? networkURL\n\t\t\t\t\t\t\t\t\t\t\t: localURL || url\n\t\t\t\t\t\t\t\t\t}` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\tsource={ { uri: networkURL } }\n\t\t\t\t\t\t\t\t\tstyle={ styles.nonVisibleImage }\n\t\t\t\t\t\t\t\t\tonLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetNetworkImageLoaded( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ ( isUploadFailed || isUploadPaused ) && retryMessage && (\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\tstyles.imageContainer,\n\t\t\t\t\t\t\tretryContainerStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tretryIconStyles,\n\t\t\t\t\t\t\t\tretryIcon && styles.customRetryIcon,\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isUploadPaused\n\t\t\t\t\t\t\t\t? getIcon( ICON_TYPE.OFFLINE )\n\t\t\t\t\t\t\t\t: getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ uploadFailedTextStyles }>\n\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\n\t\t\t{ editButton && isSelected && ! isUploadInProgress && (\n\t\t\t\t<ImageEditingButton\n\t\t\t\t\tonSelectMediaUploadOption={ onSelectMediaUploadOption }\n\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\turl={\n\t\t\t\t\t\t! ( isUploadFailed || isUploadPaused ) &&\n\t\t\t\t\t\timageData &&\n\t\t\t\t\t\turl\n\t\t\t\t\t}\n\t\t\t\t\tpickerOptions={ mediaPickerOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</View>\n\t);\n};\n\nexport default ImageComponent;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -128,7 +128,7 @@ const LinkPicker = ({
|
|
|
128
128
|
})
|
|
129
129
|
}), !!clipboardUrl && clipboardUrl !== value && /*#__PURE__*/(0, _jsxRuntime.jsx)(_bottomSheet.default.LinkSuggestionItemCell, {
|
|
130
130
|
accessible: true,
|
|
131
|
-
accessibilityLabel: (0, _i18n.sprintf)(
|
|
131
|
+
accessibilityLabel: (0, _i18n.sprintf)(/* translators: Copy URL from the clipboard, https://sample.url */
|
|
132
132
|
(0, _i18n.__)('Copy URL from the clipboard, %s'), clipboardUrl),
|
|
133
133
|
suggestion: {
|
|
134
134
|
type: 'clipboard',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_clipboard","_interopRequireDefault","_element","_i18n","_url","_icons","_compose","_linkPickerResults","_navBar","_styles","_bottomSheet","_icon","_jsxRuntime","createDirectEntry","value","type","protocol","getProtocol","toLowerCase","includes","startsWith","isDirectEntry","title","url","prependHTTP","exports","getURLFromClipboard","text","Clipboard","getString","isURL","LinkPicker","initialValue","onLinkPicked","onCancel","cancel","setValue","useState","clipboardUrl","setClipboardUrl","directEntry","pickLink","onSubmit","clear","omniCellStyle","usePreferredColorSchemeStyle","styles","omniCell","omniCellDark","iconStyle","icon","iconDark","useEffect","then","catch","jsxs","SafeAreaView","style","safeArea","children","default","jsx","DismissButton","onPress","Heading","__","ApplyButton","View","contentContainer","Cell","link","valueStyle","omniInput","placeholder","autoCapitalize","autoCorrect","keyboardType","onChangeValue","autoFocus","separatorType","TouchableOpacity","clearIcon","cancelCircleFilled","fill","color","size","LinkSuggestionItemCell","accessible","accessibilityLabel","sprintf","suggestion","query"],"sources":["@wordpress/components/src/mobile/link-picker/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { SafeAreaView, TouchableOpacity, View } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { getProtocol, isURL, prependHTTP } from '@wordpress/url';\nimport { link, cancelCircleFilled } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport LinkPickerResults from './link-picker-results';\nimport NavBar from '../bottom-sheet/nav-bar';\nimport styles from './styles.scss';\nimport BottomSheet from '../bottom-sheet';\nimport Icon from '../../icon';\n\n// This creates a search suggestion for adding a url directly.\nexport const createDirectEntry = ( value ) => {\n\tlet type = 'URL';\n\n\tconst protocol = getProtocol( value )?.toLowerCase() || '';\n\n\tif ( protocol.includes( 'mailto' ) ) {\n\t\ttype = 'mailto';\n\t}\n\n\tif ( protocol.includes( 'tel' ) ) {\n\t\ttype = 'tel';\n\t}\n\n\tif ( value?.startsWith( '#' ) ) {\n\t\ttype = 'internal';\n\t}\n\n\treturn {\n\t\tisDirectEntry: true,\n\t\ttitle: value,\n\t\turl: type === 'URL' ? prependHTTP( value ) : value,\n\t\ttype,\n\t};\n};\n\nconst getURLFromClipboard = async () => {\n\tconst text = await Clipboard.getString();\n\treturn !! text && isURL( text ) ? text : '';\n};\n\nexport const LinkPicker = ( {\n\tvalue: initialValue,\n\tonLinkPicked,\n\tonCancel: cancel,\n} ) => {\n\tconst [ value, setValue ] = useState( initialValue );\n\tconst [ clipboardUrl, setClipboardUrl ] = useState( '' );\n\tconst directEntry = createDirectEntry( value );\n\n\t// The title of a direct entry is displayed as the raw input value, but if we\n\t// are replacing empty text, we want to use the generated url.\n\tconst pickLink = ( { title, url, isDirectEntry } ) => {\n\t\tonLinkPicked( { title: isDirectEntry ? url : title, url } );\n\t};\n\n\tconst onSubmit = () => {\n\t\tpickLink( directEntry );\n\t};\n\n\tconst clear = () => {\n\t\tsetValue( '' );\n\t\tsetClipboardUrl( '' );\n\t};\n\n\tconst omniCellStyle = usePreferredColorSchemeStyle(\n\t\tstyles.omniCell,\n\t\tstyles.omniCellDark\n\t);\n\n\tconst iconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.icon,\n\t\tstyles.iconDark\n\t);\n\n\tuseEffect( () => {\n\t\tgetURLFromClipboard()\n\t\t\t.then( setClipboardUrl )\n\t\t\t.catch( () => setClipboardUrl( '' ) );\n\t}, [] );\n\n\t// TODO: Localize the accessibility label.\n\t// TODO: Decide on if `LinkSuggestionItemCell` with `isDirectEntry` makes sense.\n\treturn (\n\t\t<SafeAreaView style={ styles.safeArea }>\n\t\t\t<NavBar>\n\t\t\t\t<NavBar.DismissButton onPress={ cancel } />\n\t\t\t\t<NavBar.Heading>{ __( 'Link to' ) }</NavBar.Heading>\n\t\t\t\t<NavBar.ApplyButton onPress={ onSubmit } />\n\t\t\t</NavBar>\n\t\t\t<View style={ styles.contentContainer }>\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ link }\n\t\t\t\t\tstyle={ omniCellStyle }\n\t\t\t\t\tvalueStyle={ styles.omniInput }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tplaceholder={ __( 'Search or type URL' ) }\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tonChangeValue={ setValue }\n\t\t\t\t\tonSubmit={ onSubmit }\n\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-autofocus */\n\t\t\t\t\tautoFocus\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t>\n\t\t\t\t\t{ value !== '' && (\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tonPress={ clear }\n\t\t\t\t\t\t\tstyle={ styles.clearIcon }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ cancelCircleFilled }\n\t\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t) }\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t{ !! clipboardUrl && clipboardUrl !== value && (\n\t\t\t\t\t<BottomSheet.LinkSuggestionItemCell\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t\t\t/* translators: Copy URL from the clipboard, https://sample.url */\n\t\t\t\t\t\t\t__( 'Copy URL from the clipboard, %s' ),\n\t\t\t\t\t\t\tclipboardUrl\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tsuggestion={ {\n\t\t\t\t\t\t\ttype: 'clipboard',\n\t\t\t\t\t\t\turl: clipboardUrl,\n\t\t\t\t\t\t\tisDirectEntry: true,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! value && (\n\t\t\t\t\t<LinkPickerResults\n\t\t\t\t\t\tquery={ value }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t\tdirectEntry={ directEntry }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</SafeAreaView>\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_clipboard","_interopRequireDefault","_element","_i18n","_url","_icons","_compose","_linkPickerResults","_navBar","_styles","_bottomSheet","_icon","_jsxRuntime","createDirectEntry","value","type","protocol","getProtocol","toLowerCase","includes","startsWith","isDirectEntry","title","url","prependHTTP","exports","getURLFromClipboard","text","Clipboard","getString","isURL","LinkPicker","initialValue","onLinkPicked","onCancel","cancel","setValue","useState","clipboardUrl","setClipboardUrl","directEntry","pickLink","onSubmit","clear","omniCellStyle","usePreferredColorSchemeStyle","styles","omniCell","omniCellDark","iconStyle","icon","iconDark","useEffect","then","catch","jsxs","SafeAreaView","style","safeArea","children","default","jsx","DismissButton","onPress","Heading","__","ApplyButton","View","contentContainer","Cell","link","valueStyle","omniInput","placeholder","autoCapitalize","autoCorrect","keyboardType","onChangeValue","autoFocus","separatorType","TouchableOpacity","clearIcon","cancelCircleFilled","fill","color","size","LinkSuggestionItemCell","accessible","accessibilityLabel","sprintf","suggestion","query"],"sources":["@wordpress/components/src/mobile/link-picker/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { SafeAreaView, TouchableOpacity, View } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { getProtocol, isURL, prependHTTP } from '@wordpress/url';\nimport { link, cancelCircleFilled } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport LinkPickerResults from './link-picker-results';\nimport NavBar from '../bottom-sheet/nav-bar';\nimport styles from './styles.scss';\nimport BottomSheet from '../bottom-sheet';\nimport Icon from '../../icon';\n\n// This creates a search suggestion for adding a url directly.\nexport const createDirectEntry = ( value ) => {\n\tlet type = 'URL';\n\n\tconst protocol = getProtocol( value )?.toLowerCase() || '';\n\n\tif ( protocol.includes( 'mailto' ) ) {\n\t\ttype = 'mailto';\n\t}\n\n\tif ( protocol.includes( 'tel' ) ) {\n\t\ttype = 'tel';\n\t}\n\n\tif ( value?.startsWith( '#' ) ) {\n\t\ttype = 'internal';\n\t}\n\n\treturn {\n\t\tisDirectEntry: true,\n\t\ttitle: value,\n\t\turl: type === 'URL' ? prependHTTP( value ) : value,\n\t\ttype,\n\t};\n};\n\nconst getURLFromClipboard = async () => {\n\tconst text = await Clipboard.getString();\n\treturn !! text && isURL( text ) ? text : '';\n};\n\nexport const LinkPicker = ( {\n\tvalue: initialValue,\n\tonLinkPicked,\n\tonCancel: cancel,\n} ) => {\n\tconst [ value, setValue ] = useState( initialValue );\n\tconst [ clipboardUrl, setClipboardUrl ] = useState( '' );\n\tconst directEntry = createDirectEntry( value );\n\n\t// The title of a direct entry is displayed as the raw input value, but if we\n\t// are replacing empty text, we want to use the generated url.\n\tconst pickLink = ( { title, url, isDirectEntry } ) => {\n\t\tonLinkPicked( { title: isDirectEntry ? url : title, url } );\n\t};\n\n\tconst onSubmit = () => {\n\t\tpickLink( directEntry );\n\t};\n\n\tconst clear = () => {\n\t\tsetValue( '' );\n\t\tsetClipboardUrl( '' );\n\t};\n\n\tconst omniCellStyle = usePreferredColorSchemeStyle(\n\t\tstyles.omniCell,\n\t\tstyles.omniCellDark\n\t);\n\n\tconst iconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.icon,\n\t\tstyles.iconDark\n\t);\n\n\tuseEffect( () => {\n\t\tgetURLFromClipboard()\n\t\t\t.then( setClipboardUrl )\n\t\t\t.catch( () => setClipboardUrl( '' ) );\n\t}, [] );\n\n\t// TODO: Localize the accessibility label.\n\t// TODO: Decide on if `LinkSuggestionItemCell` with `isDirectEntry` makes sense.\n\treturn (\n\t\t<SafeAreaView style={ styles.safeArea }>\n\t\t\t<NavBar>\n\t\t\t\t<NavBar.DismissButton onPress={ cancel } />\n\t\t\t\t<NavBar.Heading>{ __( 'Link to' ) }</NavBar.Heading>\n\t\t\t\t<NavBar.ApplyButton onPress={ onSubmit } />\n\t\t\t</NavBar>\n\t\t\t<View style={ styles.contentContainer }>\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ link }\n\t\t\t\t\tstyle={ omniCellStyle }\n\t\t\t\t\tvalueStyle={ styles.omniInput }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tplaceholder={ __( 'Search or type URL' ) }\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tonChangeValue={ setValue }\n\t\t\t\t\tonSubmit={ onSubmit }\n\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-autofocus */\n\t\t\t\t\tautoFocus\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t>\n\t\t\t\t\t{ value !== '' && (\n\t\t\t\t\t\t<TouchableOpacity\n\t\t\t\t\t\t\tonPress={ clear }\n\t\t\t\t\t\t\tstyle={ styles.clearIcon }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ cancelCircleFilled }\n\t\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</TouchableOpacity>\n\t\t\t\t\t) }\n\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t{ !! clipboardUrl && clipboardUrl !== value && (\n\t\t\t\t\t<BottomSheet.LinkSuggestionItemCell\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t\t\t/* translators: Copy URL from the clipboard, https://sample.url */\n\t\t\t\t\t\t\t__( 'Copy URL from the clipboard, %s' ),\n\t\t\t\t\t\t\tclipboardUrl\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tsuggestion={ {\n\t\t\t\t\t\t\ttype: 'clipboard',\n\t\t\t\t\t\t\turl: clipboardUrl,\n\t\t\t\t\t\t\tisDirectEntry: true,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ !! value && (\n\t\t\t\t\t<LinkPickerResults\n\t\t\t\t\t\tquery={ value }\n\t\t\t\t\t\tonLinkPicked={ pickLink }\n\t\t\t\t\t\tdirectEntry={ directEntry }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t</SafeAreaView>\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_compose","_element","_data","_styles","_interopRequireDefault","_bottomSheet","_bottomSheetContext","_jsxRuntime","PER_PAGE","REQUEST_DEBOUNCE_DELAY","MINIMUM_QUERY_SIZE","meetsThreshold","query","length","LinkPickerResults","onLinkPicked","directEntry","links","setLinks","useState","hasAllSuggestions","setHasAllSuggestions","nextPage","useRef","pendingRequest","clearRequest","current","fetchMoreSuggestions","useSelect","select","getSettings","fetchLinkSuggestions","search","__experimentalFetchLinkSuggestions","page","type","perPage","fetchMore","currentSuggestions","request","suggestions","debounce","useEffect","onEndReached","spinner","jsx","View","style","styles","testID","children","ActivityIndicator","animating","BottomSheetConsumer","listProps","FlatList","data","keyboardShouldPersistTaps","renderItem","item","default","LinkSuggestionItemCell","suggestion","keyExtractor","url","onEndReachedThreshold","initialNumToRender","ListFooterComponent","contentContainerStyle","list"],"sources":["@wordpress/components/src/mobile/link-picker/link-picker-results.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ActivityIndicator, FlatList, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport BottomSheet from '../bottom-sheet';\nimport { BottomSheetConsumer } from '../bottom-sheet/bottom-sheet-context';\n\nconst PER_PAGE = 20;\nconst REQUEST_DEBOUNCE_DELAY = 400;\nconst MINIMUM_QUERY_SIZE = 2;\nconst meetsThreshold = ( query ) => MINIMUM_QUERY_SIZE <= query.length;\n\nexport default function LinkPickerResults( {\n\tquery,\n\tonLinkPicked,\n\tdirectEntry,\n} ) {\n\tconst [ links, setLinks ] = useState( [ directEntry ] );\n\tconst [ hasAllSuggestions, setHasAllSuggestions ] = useState( false );\n\tconst nextPage = useRef( 1 );\n\tconst pendingRequest = useRef();\n\tconst clearRequest = () => {\n\t\tpendingRequest.current = null;\n\t};\n\n\t// A stable debounced function to fetch suggestions and append.\n\tconst { fetchMoreSuggestions } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( 'core/block-editor' );\n\t\tconst fetchLinkSuggestions = async ( { search } ) => {\n\t\t\tif ( meetsThreshold( search ) ) {\n\t\t\t\treturn await getSettings().__experimentalFetchLinkSuggestions(\n\t\t\t\t\tsearch,\n\t\t\t\t\t{ page: nextPage.current, type: 'post', perPage: PER_PAGE }\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tconst fetchMore = async ( {\n\t\t\tquery: search,\n\t\t\tlinks: currentSuggestions,\n\t\t} ) => {\n\t\t\t// Return early if we've already detected the end of data or we are\n\t\t\t// already awaiting a response.\n\t\t\tif ( hasAllSuggestions || pendingRequest.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst request = fetchLinkSuggestions( { search } );\n\t\t\tpendingRequest.current = request;\n\t\t\tconst suggestions = await request;\n\n\t\t\t// Only update links for the most recent request.\n\t\t\tif ( suggestions && request === pendingRequest.current ) {\n\t\t\t\t// Since we don't have the response header, we check if the results\n\t\t\t\t// are truncated to determine we've reached the end.\n\t\t\t\tif ( suggestions.length < PER_PAGE ) {\n\t\t\t\t\tsetHasAllSuggestions( true );\n\t\t\t\t}\n\t\t\t\tsetLinks( [ ...currentSuggestions, ...suggestions ] );\n\t\t\t\tnextPage.current++;\n\t\t\t}\n\n\t\t\tclearRequest();\n\t\t};\n\t\treturn {\n\t\t\tfetchMoreSuggestions: debounce( fetchMore, REQUEST_DEBOUNCE_DELAY ),\n\t\t};\n\t\t// Disable eslint rule for now, to avoid introducing a regression\n\t\t// (see https://github.com/WordPress/gutenberg/pull/23922#discussion_r1170634879).\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\t// Prevent setting state when unmounted.\n\tuseEffect( () => clearRequest, [] );\n\n\t// Any time the query changes, we reset pagination.\n\tuseEffect( () => {\n\t\tclearRequest();\n\t\tnextPage.current = 1;\n\t\tsetHasAllSuggestions( false );\n\t\tsetLinks( [ directEntry ] );\n\t\tfetchMoreSuggestions( { query, links: [ directEntry ] } );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ query ] );\n\n\tconst onEndReached = () => fetchMoreSuggestions( { query, links } );\n\n\tconst spinner = ! hasAllSuggestions && meetsThreshold( query ) && (\n\t\t<View style={ styles.spinner } testID=\"link-picker-loading\">\n\t\t\t<ActivityIndicator animating />\n\t\t</View>\n\t);\n\n\treturn (\n\t\t<BottomSheetConsumer>\n\t\t\t{ ( { listProps } ) => (\n\t\t\t\t<FlatList\n\t\t\t\t\tdata={ links }\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\trenderItem={ ( { item } ) => (\n\t\t\t\t\t\t<BottomSheet.LinkSuggestionItemCell\n\t\t\t\t\t\t\tsuggestion={ item }\n\t\t\t\t\t\t\tonLinkPicked={ onLinkPicked }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\tkeyExtractor={ ( { url, type } ) => `${ url }-${ type }` }\n\t\t\t\t\tonEndReached={ onEndReached }\n\t\t\t\t\tonEndReachedThreshold={ 0.1 }\n\t\t\t\t\tinitialNumToRender={ PER_PAGE }\n\t\t\t\t\tListFooterComponent={ spinner }\n\t\t\t\t\t{ ...listProps }\n\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\t...listProps.contentContainerStyle,\n\t\t\t\t\t\tstyles.list,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</BottomSheetConsumer>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,OAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,YAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,mBAAA,GAAAP,OAAA;AAA2E,IAAAQ,WAAA,GAAAR,OAAA;AAjB3E;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAKA,MAAMS,QAAQ,GAAG,EAAE;AACnB,MAAMC,sBAAsB,GAAG,GAAG;AAClC,MAAMC,kBAAkB,GAAG,CAAC;AAC5B,MAAMC,cAAc,GAAKC,KAAK,IAAMF,kBAAkB,IAAIE,KAAK,CAACC,MAAM;AAEvD,SAASC,iBAAiBA,CAAE;EAC1CF,KAAK;EACLG,YAAY;EACZC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,KAAK,EAAEC,QAAQ,CAAE,GAAG,IAAAC,iBAAQ,EAAE,CAAEH,WAAW,CAAG,CAAC;EACvD,MAAM,CAAEI,iBAAiB,EAAEC,oBAAoB,CAAE,GAAG,IAAAF,iBAAQ,EAAE,KAAM,CAAC;EACrE,MAAMG,QAAQ,GAAG,IAAAC,eAAM,EAAE,CAAE,CAAC;EAC5B,MAAMC,cAAc,GAAG,IAAAD,eAAM,EAAC,CAAC;EAC/B,MAAME,YAAY,GAAGA,CAAA,KAAM;IAC1BD,cAAc,CAACE,OAAO,GAAG,IAAI;EAC9B,CAAC;;EAED;EACA,MAAM;IAAEC;EAAqB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACzD,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAE,mBAAoB,CAAC;IACrD,MAAME,oBAAoB,GAAG,MAAAA,CAAQ;MAAEC;IAAO,CAAC,KAAM;MACpD,IAAKrB,cAAc,CAAEqB,MAAO,CAAC,EAAG;QAC/B,OAAO,MAAMF,WAAW,CAAC,CAAC,CAACG,kCAAkC,CAC5DD,MAAM,EACN;UAAEE,IAAI,EAAEZ,QAAQ,CAACI,OAAO;UAAES,IAAI,EAAE,MAAM;UAAEC,OAAO,EAAE5B;QAAS,CAC3D,CAAC;MACF;IACD,CAAC;IACD,MAAM6B,SAAS,GAAG,MAAAA,CAAQ;MACzBzB,KAAK,EAAEoB,MAAM;MACbf,KAAK,EAAEqB;IACR,CAAC,KAAM;MACN;MACA;MACA,IAAKlB,iBAAiB,IAAII,cAAc,CAACE,OAAO,EAAG;QAClD;MACD;MACA,MAAMa,OAAO,GAAGR,oBAAoB,CAAE;QAAEC;MAAO,CAAE,CAAC;MAClDR,cAAc,CAACE,OAAO,GAAGa,OAAO;MAChC,MAAMC,WAAW,GAAG,MAAMD,OAAO;;MAEjC;MACA,IAAKC,WAAW,IAAID,OAAO,KAAKf,cAAc,CAACE,OAAO,EAAG;QACxD;QACA;QACA,IAAKc,WAAW,CAAC3B,MAAM,GAAGL,QAAQ,EAAG;UACpCa,oBAAoB,CAAE,IAAK,CAAC;QAC7B;QACAH,QAAQ,CAAE,CAAE,GAAGoB,kBAAkB,EAAE,GAAGE,WAAW,CAAG,CAAC;QACrDlB,QAAQ,CAACI,OAAO,EAAE;MACnB;MAEAD,YAAY,CAAC,CAAC;IACf,CAAC;IACD,OAAO;MACNE,oBAAoB,EAAE,IAAAc,iBAAQ,EAAEJ,SAAS,EAAE5B,sBAAuB;IACnE,CAAC;IACD;IACA;IACA;EACD,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA,IAAAiC,kBAAS,EAAE,MAAMjB,YAAY,EAAE,EAAG,CAAC;;EAEnC;EACA,IAAAiB,kBAAS,EAAE,MAAM;IAChBjB,YAAY,CAAC,CAAC;IACdH,QAAQ,CAACI,OAAO,GAAG,CAAC;IACpBL,oBAAoB,CAAE,KAAM,CAAC;IAC7BH,QAAQ,CAAE,CAAEF,WAAW,CAAG,CAAC;IAC3BW,oBAAoB,CAAE;MAAEf,KAAK;MAAEK,KAAK,EAAE,CAAED,WAAW;IAAG,CAAE,CAAC;IACzD;IACA;IACA;EACD,CAAC,EAAE,CAAEJ,KAAK,CAAG,CAAC;EAEd,MAAM+B,YAAY,GAAGA,CAAA,KAAMhB,oBAAoB,CAAE;IAAEf,KAAK;IAAEK;EAAM,CAAE,CAAC;EAEnE,MAAM2B,OAAO,GAAG,CAAExB,iBAAiB,IAAIT,cAAc,CAAEC,KAAM,CAAC,iBAC7D,IAAAL,WAAA,CAAAsC,GAAA,EAAC/C,YAAA,CAAAgD,IAAI;IAACC,KAAK,EAAGC,eAAM,CAACJ,OAAS;IAACK,MAAM,EAAC,qBAAqB;IAAAC,QAAA,eAC1D,IAAA3C,WAAA,CAAAsC,GAAA,EAAC/C,YAAA,CAAAqD,iBAAiB;MAACC,SAAS;IAAA,CAAE;EAAC,CAC1B,CACN;EAED,oBACC,IAAA7C,WAAA,CAAAsC,GAAA,EAACvC,mBAAA,CAAA+C,mBAAmB;IAAAH,QAAA,EACjBA,CAAE;MAAEI;IAAU,CAAC,kBAChB,IAAA/C,WAAA,CAAAsC,GAAA,EAAC/C,YAAA,CAAAyD,QAAQ;MACRC,IAAI,EAAGvC,KAAO;MACdwC,yBAAyB,EAAC,QAAQ;MAClCC,UAAU,EAAGA,CAAE;QAAEC;MAAK,CAAC,kBACtB,IAAApD,WAAA,CAAAsC,GAAA,EAACxC,YAAA,CAAAuD,OAAW,CAACC,sBAAsB;QAClCC,UAAU,EAAGH,IAAM;QACnB5C,YAAY,EAAGA;MAAc,CAC7B,CACC;MACHgD,YAAY,EAAGA,CAAE;QAAEC,GAAG;QAAE7B;MAAK,CAAC,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_compose","_element","_data","_styles","_interopRequireDefault","_bottomSheet","_bottomSheetContext","_jsxRuntime","PER_PAGE","REQUEST_DEBOUNCE_DELAY","MINIMUM_QUERY_SIZE","meetsThreshold","query","length","LinkPickerResults","onLinkPicked","directEntry","links","setLinks","useState","hasAllSuggestions","setHasAllSuggestions","nextPage","useRef","pendingRequest","clearRequest","current","fetchMoreSuggestions","useSelect","select","getSettings","fetchLinkSuggestions","search","__experimentalFetchLinkSuggestions","page","type","perPage","fetchMore","currentSuggestions","request","suggestions","debounce","useEffect","onEndReached","spinner","jsx","View","style","styles","testID","children","ActivityIndicator","animating","BottomSheetConsumer","listProps","FlatList","data","keyboardShouldPersistTaps","renderItem","item","default","LinkSuggestionItemCell","suggestion","keyExtractor","url","onEndReachedThreshold","initialNumToRender","ListFooterComponent","contentContainerStyle","list"],"sources":["@wordpress/components/src/mobile/link-picker/link-picker-results.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { ActivityIndicator, FlatList, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport BottomSheet from '../bottom-sheet';\nimport { BottomSheetConsumer } from '../bottom-sheet/bottom-sheet-context';\n\nconst PER_PAGE = 20;\nconst REQUEST_DEBOUNCE_DELAY = 400;\nconst MINIMUM_QUERY_SIZE = 2;\nconst meetsThreshold = ( query ) => MINIMUM_QUERY_SIZE <= query.length;\n\nexport default function LinkPickerResults( {\n\tquery,\n\tonLinkPicked,\n\tdirectEntry,\n} ) {\n\tconst [ links, setLinks ] = useState( [ directEntry ] );\n\tconst [ hasAllSuggestions, setHasAllSuggestions ] = useState( false );\n\tconst nextPage = useRef( 1 );\n\tconst pendingRequest = useRef();\n\tconst clearRequest = () => {\n\t\tpendingRequest.current = null;\n\t};\n\n\t// A stable debounced function to fetch suggestions and append.\n\tconst { fetchMoreSuggestions } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( 'core/block-editor' );\n\t\tconst fetchLinkSuggestions = async ( { search } ) => {\n\t\t\tif ( meetsThreshold( search ) ) {\n\t\t\t\treturn await getSettings().__experimentalFetchLinkSuggestions(\n\t\t\t\t\tsearch,\n\t\t\t\t\t{ page: nextPage.current, type: 'post', perPage: PER_PAGE }\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t\tconst fetchMore = async ( {\n\t\t\tquery: search,\n\t\t\tlinks: currentSuggestions,\n\t\t} ) => {\n\t\t\t// Return early if we've already detected the end of data or we are\n\t\t\t// already awaiting a response.\n\t\t\tif ( hasAllSuggestions || pendingRequest.current ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst request = fetchLinkSuggestions( { search } );\n\t\t\tpendingRequest.current = request;\n\t\t\tconst suggestions = await request;\n\n\t\t\t// Only update links for the most recent request.\n\t\t\tif ( suggestions && request === pendingRequest.current ) {\n\t\t\t\t// Since we don't have the response header, we check if the results\n\t\t\t\t// are truncated to determine we've reached the end.\n\t\t\t\tif ( suggestions.length < PER_PAGE ) {\n\t\t\t\t\tsetHasAllSuggestions( true );\n\t\t\t\t}\n\t\t\t\tsetLinks( [ ...currentSuggestions, ...suggestions ] );\n\t\t\t\tnextPage.current++;\n\t\t\t}\n\n\t\t\tclearRequest();\n\t\t};\n\t\treturn {\n\t\t\tfetchMoreSuggestions: debounce( fetchMore, REQUEST_DEBOUNCE_DELAY ),\n\t\t};\n\t\t// Disable eslint rule for now, to avoid introducing a regression\n\t\t// (see https://github.com/WordPress/gutenberg/pull/23922#discussion_r1170634879).\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\t// Prevent setting state when unmounted.\n\tuseEffect( () => clearRequest, [] );\n\n\t// Any time the query changes, we reset pagination.\n\tuseEffect( () => {\n\t\tclearRequest();\n\t\tnextPage.current = 1;\n\t\tsetHasAllSuggestions( false );\n\t\tsetLinks( [ directEntry ] );\n\t\tfetchMoreSuggestions( { query, links: [ directEntry ] } );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ query ] );\n\n\tconst onEndReached = () => fetchMoreSuggestions( { query, links } );\n\n\tconst spinner = ! hasAllSuggestions && meetsThreshold( query ) && (\n\t\t<View style={ styles.spinner } testID=\"link-picker-loading\">\n\t\t\t<ActivityIndicator animating />\n\t\t</View>\n\t);\n\n\treturn (\n\t\t<BottomSheetConsumer>\n\t\t\t{ ( { listProps } ) => (\n\t\t\t\t<FlatList\n\t\t\t\t\tdata={ links }\n\t\t\t\t\tkeyboardShouldPersistTaps=\"always\"\n\t\t\t\t\trenderItem={ ( { item } ) => (\n\t\t\t\t\t\t<BottomSheet.LinkSuggestionItemCell\n\t\t\t\t\t\t\tsuggestion={ item }\n\t\t\t\t\t\t\tonLinkPicked={ onLinkPicked }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\tkeyExtractor={ ( { url, type } ) => `${ url }-${ type }` }\n\t\t\t\t\tonEndReached={ onEndReached }\n\t\t\t\t\tonEndReachedThreshold={ 0.1 }\n\t\t\t\t\tinitialNumToRender={ PER_PAGE }\n\t\t\t\t\tListFooterComponent={ spinner }\n\t\t\t\t\t{ ...listProps }\n\t\t\t\t\tcontentContainerStyle={ [\n\t\t\t\t\t\t...listProps.contentContainerStyle,\n\t\t\t\t\t\tstyles.list,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</BottomSheetConsumer>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_i18n","_element","_compose","_bottomSheet","_interopRequireDefault","_styles","_body","_textControl","_jsxRuntime","Separator","separatorStyle","usePreferredColorSchemeStyle","styles","jsx","View","style","Picker","Component","constructor","arguments","onClose","bind","onCellPress","state","isVisible","presentPicker","setState","value","onChange","props","getOptions","options","leftAlign","map","option","jsxs","Fragment","children","length","separated","default","Cell","icon","label","separatorType","onPress","disabled","render","hideCancelButton","title","testID","hideHeader","__","exports"],"sources":["@wordpress/components/src/mobile/picker/index.android.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, Fragment } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport styles from './styles.scss';\nimport PanelBody from '../../panel/body';\nimport TextControl from '../../text-control';\n\nfunction Separator() {\n\tconst separatorStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'components-picker__separator' ],\n\t\tstyles[ 'components-picker__separator--dark' ]\n\t);\n\n\treturn <View style={ separatorStyle } />;\n}\n\nexport default class Picker extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onClose = this.onClose.bind( this );\n\t\tthis.onCellPress = this.onCellPress.bind( this );\n\n\t\tthis.state = {\n\t\t\tisVisible: false,\n\t\t};\n\t}\n\n\tpresentPicker() {\n\t\tthis.setState( { isVisible: true } );\n\t}\n\n\tonClose() {\n\t\tthis.setState( { isVisible: false } );\n\t}\n\n\tonCellPress( value ) {\n\t\tconst { onChange } = this.props;\n\t\tonChange( value );\n\t\tthis.onClose();\n\t}\n\n\tgetOptions() {\n\t\tconst { options, leftAlign } = this.props;\n\n\t\treturn options.map( ( option ) => (\n\t\t\t<Fragment key={ `${ option.label }-${ option.value }` }>\n\t\t\t\t{ options.length > 1 && option.separated && <Separator /> }\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ option.icon }\n\t\t\t\t\tleftAlign={ leftAlign }\n\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\tonPress={ () => this.onCellPress( option.value ) }\n\t\t\t\t\tdisabled={ option.disabled }\n\t\t\t\t\tstyle={\n\t\t\t\t\t\toption.disabled &&\n\t\t\t\t\t\tstyles[ 'components-picker__button--disabled' ]\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</Fragment>\n\t\t) );\n\t}\n\n\trender() {\n\t\tconst { hideCancelButton, title, testID } = this.props;\n\t\tconst { isVisible } = this.state;\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ isVisible }\n\t\t\t\tonClose={ this.onClose }\n\t\t\t\thideHeader\n\t\t\t\ttestID={ testID }\n\t\t\t>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ styles[ 'components-picker__panel' ] }\n\t\t\t\t>\n\t\t\t\t\t{ this.getOptions() }\n\t\t\t\t\t{ ! hideCancelButton && (\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Cancel' ) }\n\t\t\t\t\t\t\tonPress={ this.onClose }\n\t\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,YAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,OAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,KAAA,GAAAF,sBAAA,CAAAL,OAAA;AACA,IAAAQ,YAAA,GAAAH,sBAAA,CAAAL,OAAA;AAA6C,IAAAS,WAAA,GAAAT,OAAA;AAlB7C;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAMA,SAASU,SAASA,CAAA,EAAG;EACpB,MAAMC,cAAc,GAAG,IAAAC,qCAA4B,EAClDC,eAAM,CAAE,8BAA8B,CAAE,EACxCA,eAAM,CAAE,oCAAoC,CAC7C,CAAC;EAED,oBAAO,IAAAJ,WAAA,CAAAK,GAAA,EAACf,YAAA,CAAAgB,IAAI;IAACC,KAAK,EAAGL;EAAgB,CAAE,CAAC;AACzC;AAEe,MAAMM,MAAM,SAASC,kBAAS,CAAC;EAC7CC,WAAWA,CAAA,EAAG;IACb,KAAK,CAAE,GAAGC,SAAU,CAAC;IACrB,IAAI,CAACC,OAAO,GAAG,IAAI,CAACA,OAAO,CAACC,IAAI,CAAE,IAAK,CAAC;IACxC,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAACD,IAAI,CAAE,IAAK,CAAC;IAEhD,IAAI,CAACE,KAAK,GAAG;MACZC,SAAS,EAAE;IACZ,CAAC;EACF;EAEAC,aAAaA,CAAA,EAAG;IACf,IAAI,CAACC,QAAQ,CAAE;MAAEF,SAAS,EAAE;IAAK,CAAE,CAAC;EACrC;EAEAJ,OAAOA,CAAA,EAAG;IACT,IAAI,CAACM,QAAQ,CAAE;MAAEF,SAAS,EAAE;IAAM,CAAE,CAAC;EACtC;EAEAF,WAAWA,CAAEK,KAAK,EAAG;IACpB,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACC,KAAK;IAC/BD,QAAQ,CAAED,KAAM,CAAC;IACjB,IAAI,CAACP,OAAO,CAAC,CAAC;EACf;EAEAU,UAAUA,CAAA,EAAG;IACZ,MAAM;MAAEC,OAAO;MAAEC;IAAU,CAAC,GAAG,IAAI,CAACH,KAAK;IAEzC,OAAOE,OAAO,CAACE,GAAG,CAAIC,MAAM,iBAC3B,IAAA1B,WAAA,CAAA2B,IAAA,EAAClC,QAAA,CAAAmC,QAAQ;MAAAC,QAAA,GACNN,OAAO,CAACO,MAAM,GAAG,CAAC,IAAIJ,MAAM,CAACK,SAAS,iBAAI,IAAA/B,WAAA,CAAAK,GAAA,EAACJ,SAAS,IAAE,CAAC,eACzD,IAAAD,WAAA,CAAAK,GAAA,EAACV,YAAA,CAAAqC,OAAW,CAACC,IAAI;QAChBC,IAAI,EAAGR,MAAM,CAACQ,IAAM;QACpBV,SAAS,EAAGA,SAAW;QACvBW,KAAK,EAAGT,MAAM,CAACS,KAAO;QACtBC,aAAa,EAAC,MAAM;QACpBC,OAAO,EAAGA,CAAA,KAAM,IAAI,CAACvB,WAAW,CAAEY,MAAM,CAACP,KAAM,CAAG;QAClDmB,QAAQ,EAAGZ,MAAM,CAACY,QAAU;QAC5B/B,KAAK,EACJmB,MAAM,CAACY,QAAQ,IACflC,eAAM,CAAE,qCAAqC;MAC7C,CACD,CAAC;IAAA,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_i18n","_element","_compose","_bottomSheet","_interopRequireDefault","_styles","_body","_textControl","_jsxRuntime","Separator","separatorStyle","usePreferredColorSchemeStyle","styles","jsx","View","style","Picker","Component","constructor","arguments","onClose","bind","onCellPress","state","isVisible","presentPicker","setState","value","onChange","props","getOptions","options","leftAlign","map","option","jsxs","Fragment","children","length","separated","default","Cell","icon","label","separatorType","onPress","disabled","render","hideCancelButton","title","testID","hideHeader","__","exports"],"sources":["@wordpress/components/src/mobile/picker/index.android.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, Fragment } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport styles from './styles.scss';\nimport PanelBody from '../../panel/body';\nimport TextControl from '../../text-control';\n\nfunction Separator() {\n\tconst separatorStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'components-picker__separator' ],\n\t\tstyles[ 'components-picker__separator--dark' ]\n\t);\n\n\treturn <View style={ separatorStyle } />;\n}\n\nexport default class Picker extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onClose = this.onClose.bind( this );\n\t\tthis.onCellPress = this.onCellPress.bind( this );\n\n\t\tthis.state = {\n\t\t\tisVisible: false,\n\t\t};\n\t}\n\n\tpresentPicker() {\n\t\tthis.setState( { isVisible: true } );\n\t}\n\n\tonClose() {\n\t\tthis.setState( { isVisible: false } );\n\t}\n\n\tonCellPress( value ) {\n\t\tconst { onChange } = this.props;\n\t\tonChange( value );\n\t\tthis.onClose();\n\t}\n\n\tgetOptions() {\n\t\tconst { options, leftAlign } = this.props;\n\n\t\treturn options.map( ( option ) => (\n\t\t\t<Fragment key={ `${ option.label }-${ option.value }` }>\n\t\t\t\t{ options.length > 1 && option.separated && <Separator /> }\n\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\ticon={ option.icon }\n\t\t\t\t\tleftAlign={ leftAlign }\n\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\tonPress={ () => this.onCellPress( option.value ) }\n\t\t\t\t\tdisabled={ option.disabled }\n\t\t\t\t\tstyle={\n\t\t\t\t\t\toption.disabled &&\n\t\t\t\t\t\tstyles[ 'components-picker__button--disabled' ]\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</Fragment>\n\t\t) );\n\t}\n\n\trender() {\n\t\tconst { hideCancelButton, title, testID } = this.props;\n\t\tconst { isVisible } = this.state;\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ isVisible }\n\t\t\t\tonClose={ this.onClose }\n\t\t\t\thideHeader\n\t\t\t\ttestID={ testID }\n\t\t\t>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tstyle={ styles[ 'components-picker__panel' ] }\n\t\t\t\t>\n\t\t\t\t\t{ this.getOptions() }\n\t\t\t\t\t{ ! hideCancelButton && (\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Cancel' ) }\n\t\t\t\t\t\t\tonPress={ this.onClose }\n\t\t\t\t\t\t\tseparatorType=\"none\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,YAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,OAAA,GAAAD,sBAAA,CAAAL,OAAA;AACA,IAAAO,KAAA,GAAAF,sBAAA,CAAAL,OAAA;AACA,IAAAQ,YAAA,GAAAH,sBAAA,CAAAL,OAAA;AAA6C,IAAAS,WAAA,GAAAT,OAAA;AAlB7C;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAMA,SAASU,SAASA,CAAA,EAAG;EACpB,MAAMC,cAAc,GAAG,IAAAC,qCAA4B,EAClDC,eAAM,CAAE,8BAA8B,CAAE,EACxCA,eAAM,CAAE,oCAAoC,CAC7C,CAAC;EAED,oBAAO,IAAAJ,WAAA,CAAAK,GAAA,EAACf,YAAA,CAAAgB,IAAI;IAACC,KAAK,EAAGL;EAAgB,CAAE,CAAC;AACzC;AAEe,MAAMM,MAAM,SAASC,kBAAS,CAAC;EAC7CC,WAAWA,CAAA,EAAG;IACb,KAAK,CAAE,GAAGC,SAAU,CAAC;IACrB,IAAI,CAACC,OAAO,GAAG,IAAI,CAACA,OAAO,CAACC,IAAI,CAAE,IAAK,CAAC;IACxC,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAACD,IAAI,CAAE,IAAK,CAAC;IAEhD,IAAI,CAACE,KAAK,GAAG;MACZC,SAAS,EAAE;IACZ,CAAC;EACF;EAEAC,aAAaA,CAAA,EAAG;IACf,IAAI,CAACC,QAAQ,CAAE;MAAEF,SAAS,EAAE;IAAK,CAAE,CAAC;EACrC;EAEAJ,OAAOA,CAAA,EAAG;IACT,IAAI,CAACM,QAAQ,CAAE;MAAEF,SAAS,EAAE;IAAM,CAAE,CAAC;EACtC;EAEAF,WAAWA,CAAEK,KAAK,EAAG;IACpB,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACC,KAAK;IAC/BD,QAAQ,CAAED,KAAM,CAAC;IACjB,IAAI,CAACP,OAAO,CAAC,CAAC;EACf;EAEAU,UAAUA,CAAA,EAAG;IACZ,MAAM;MAAEC,OAAO;MAAEC;IAAU,CAAC,GAAG,IAAI,CAACH,KAAK;IAEzC,OAAOE,OAAO,CAACE,GAAG,CAAIC,MAAM,iBAC3B,IAAA1B,WAAA,CAAA2B,IAAA,EAAClC,QAAA,CAAAmC,QAAQ;MAAAC,QAAA,GACNN,OAAO,CAACO,MAAM,GAAG,CAAC,IAAIJ,MAAM,CAACK,SAAS,iBAAI,IAAA/B,WAAA,CAAAK,GAAA,EAACJ,SAAS,IAAE,CAAC,eACzD,IAAAD,WAAA,CAAAK,GAAA,EAACV,YAAA,CAAAqC,OAAW,CAACC,IAAI;QAChBC,IAAI,EAAGR,MAAM,CAACQ,IAAM;QACpBV,SAAS,EAAGA,SAAW;QACvBW,KAAK,EAAGT,MAAM,CAACS,KAAO;QACtBC,aAAa,EAAC,MAAM;QACpBC,OAAO,EAAGA,CAAA,KAAM,IAAI,CAACvB,WAAW,CAAEY,MAAM,CAACP,KAAM,CAAG;QAClDmB,QAAQ,EAAGZ,MAAM,CAACY,QAAU;QAC5B/B,KAAK,EACJmB,MAAM,CAACY,QAAQ,IACflC,eAAM,CAAE,qCAAqC;MAC7C,CACD,CAAC;IAAA,GAba,GAAIsB,MAAM,CAACS,KAAK,IAAMT,MAAM,CAACP,KAAK,EAcxC,CACT,CAAC;EACJ;EAEAoB,MAAMA,CAAA,EAAG;IACR,MAAM;MAAEC,gBAAgB;MAAEC,KAAK;MAAEC;IAAO,CAAC,GAAG,IAAI,CAACrB,KAAK;IACtD,MAAM;MAAEL;IAAU,CAAC,GAAG,IAAI,CAACD,KAAK;IAEhC,oBACC,IAAAf,WAAA,CAAAK,GAAA,EAACV,YAAA,CAAAqC,OAAW;MACXhB,SAAS,EAAGA,SAAW;MACvBJ,OAAO,EAAG,IAAI,CAACA,OAAS;MACxB+B,UAAU;MACVD,MAAM,EAAGA,MAAQ;MAAAb,QAAA,eAEjB,IAAA7B,WAAA,CAAA2B,IAAA,EAAC7B,KAAA,CAAAkC,OAAS;QACTS,KAAK,EAAGA,KAAO;QACflC,KAAK,EAAGH,eAAM,CAAE,0BAA0B,CAAI;QAAAyB,QAAA,GAE5C,IAAI,CAACP,UAAU,CAAC,CAAC,EACjB,CAAEkB,gBAAgB,iBACnB,IAAAxC,WAAA,CAAAK,GAAA,EAACN,YAAA,CAAAiC,OAAW;UACXG,KAAK,EAAG,IAAAS,QAAE,EAAE,QAAS,CAAG;UACxBP,OAAO,EAAG,IAAI,CAACzB,OAAS;UACxBwB,aAAa,EAAC;QAAM,CACpB,CACD;MAAA,CACS;IAAC,CACA,CAAC;EAEhB;AACD;AAACS,OAAA,CAAAb,OAAA,GAAAxB,MAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_element","_compose","_layoutAnimation","_style","_interopRequireDefault","_jsxRuntime","ANIMATION_DURATION","isIOS","Platform","OS","Segment","isSelected","title","onPress","onLayout","props","isSelectedIOS","segmentStyle","styles","segment","segmentIOS","textStyle","usePreferredColorSchemeStyle","buttonTextDefault","buttonTextDefaultDark","selectedTextStyle","buttonTextSelected","buttonTextSelectedDark","shadowStyle","shadowIOS","jsx","View","style","children","TouchableWithoutFeedback","Text","maxFontSizeMultiplier","SegmentedControls","segments","segmentHandler","selectedIndex","addonLeft","addonRight","selectedSegmentIndex","activeSegmentIndex","setActiveSegmentIndex","useState","segmentsDimensions","setSegmentsDimensions","width","height","positionAnimationValue","Animated","Value","useEffect","setValue","calculateEndValue","containerStyle","container","containerDark","performSwatchAnimation","index","timing","toValue","duration","easing","Easing","ease","useNativeDriver","start","paddingLeft","offset","containerIOS","widths","Object","values","map","dimension","widthsDistance","slice","widthsDistanceSum","reduce","sum","n","endValue","onHandlePress","performLayoutAnimation","segmentOnLayout","event","nativeEvent","layout","selectedStyle","selected","selectedDark","outlineStyle","outline","outlineIOS","jsxs","row","flex","left","accessibilityState","accessibilityRole","accessibilityLabel","accessibilityHint","length","_default","exports","default"],"sources":["@wordpress/components/src/mobile/segmented-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tPlatform,\n\tAnimated,\n\tEasing,\n} from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { performLayoutAnimation } from '../layout-animation';\nimport styles from './style.scss';\n\nconst ANIMATION_DURATION = 200;\n\nconst isIOS = Platform.OS === 'ios';\n\nconst Segment = ( { isSelected, title, onPress, onLayout, ...props } ) => {\n\tconst isSelectedIOS = isIOS && isSelected;\n\n\tconst segmentStyle = [ styles.segment, isIOS && styles.segmentIOS ];\n\n\tconst textStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextDefault,\n\t\tstyles.buttonTextDefaultDark\n\t);\n\tconst selectedTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextSelected,\n\t\tstyles.buttonTextSelectedDark\n\t);\n\tconst shadowStyle = usePreferredColorSchemeStyle( styles.shadowIOS, {} );\n\n\treturn (\n\t\t<View style={ isSelectedIOS && shadowStyle }>\n\t\t\t<TouchableWithoutFeedback onPress={ onPress }>\n\t\t\t\t<View style={ segmentStyle } onLayout={ onLayout } { ...props }>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ [ textStyle, isSelected && selectedTextStyle ] }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nconst SegmentedControls = ( {\n\tsegments,\n\tsegmentHandler,\n\tselectedIndex,\n\taddonLeft,\n\taddonRight,\n} ) => {\n\tconst selectedSegmentIndex = selectedIndex || 0;\n\tconst [ activeSegmentIndex, setActiveSegmentIndex ] =\n\t\tuseState( selectedSegmentIndex );\n\tconst [ segmentsDimensions, setSegmentsDimensions ] = useState( {\n\t\t[ activeSegmentIndex ]: { width: 0, height: 0 },\n\t} );\n\tconst [ positionAnimationValue ] = useState( new Animated.Value( 0 ) );\n\n\tuseEffect( () => {\n\t\tsetActiveSegmentIndex( selectedSegmentIndex );\n\t\tsegmentHandler( segments[ selectedSegmentIndex ] );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tpositionAnimationValue.setValue(\n\t\t\tcalculateEndValue( activeSegmentIndex )\n\t\t);\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ segmentsDimensions ] );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.container,\n\t\tstyles.containerDark\n\t);\n\n\tfunction performSwatchAnimation( index ) {\n\t\tAnimated.timing( positionAnimationValue, {\n\t\t\ttoValue: calculateEndValue( index ),\n\t\t\tduration: ANIMATION_DURATION,\n\t\t\teasing: Easing.ease,\n\t\t\tuseNativeDriver: false,\n\t\t} ).start();\n\t}\n\n\tfunction calculateEndValue( index ) {\n\t\tconst { paddingLeft: offset } = isIOS\n\t\t\t? styles.containerIOS\n\t\t\t: styles.container;\n\t\tconst widths = Object.values( segmentsDimensions ).map(\n\t\t\t( dimension ) => dimension.width\n\t\t);\n\t\tconst widthsDistance = widths.slice( 0, index );\n\t\tconst widthsDistanceSum = widthsDistance.reduce(\n\t\t\t( sum, n ) => sum + n,\n\t\t\t0\n\t\t);\n\n\t\tconst endValue = index === 0 ? 0 : widthsDistanceSum;\n\t\treturn endValue + offset;\n\t}\n\n\tfunction onHandlePress( segment, index ) {\n\t\tperformLayoutAnimation( ANIMATION_DURATION );\n\t\tsetActiveSegmentIndex( index );\n\t\tsegmentHandler( segment );\n\t\tperformSwatchAnimation( index );\n\t}\n\n\tfunction segmentOnLayout( event, index ) {\n\t\tconst { width, height } = event.nativeEvent.layout;\n\n\t\tsetSegmentsDimensions( {\n\t\t\t...segmentsDimensions,\n\t\t\t[ index ]: { width, height },\n\t\t} );\n\t}\n\n\tconst selectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles.selected,\n\t\tstyles.selectedDark\n\t);\n\n\tconst width = segmentsDimensions[ activeSegmentIndex ]?.width;\n\tconst height = segmentsDimensions[ activeSegmentIndex ]?.height;\n\n\tconst outlineStyle = [ styles.outline, isIOS && styles.outlineIOS ];\n\n\treturn (\n\t\t<View style={ styles.row }>\n\t\t\t<View style={ styles.flex }>{ addonLeft }</View>\n\t\t\t<View style={ [ containerStyle, isIOS && styles.containerIOS ] }>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tleft: positionAnimationValue,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tselectedStyle,\n\t\t\t\t\t\toutlineStyle,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t{ segments.map( ( segment, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Segment\n\t\t\t\t\t\t\ttitle={ segment }\n\t\t\t\t\t\t\tonPress={ () => onHandlePress( segment, index ) }\n\t\t\t\t\t\t\tisSelected={ activeSegmentIndex === index }\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonLayout={ ( event ) =>\n\t\t\t\t\t\t\t\tsegmentOnLayout( event, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\tselected: activeSegmentIndex === index,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityLabel={ segment }\n\t\t\t\t\t\t\taccessibilityHint={ `${ index + 1 } on ${\n\t\t\t\t\t\t\t\tsegments.length\n\t\t\t\t\t\t\t}` }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</View>\n\t\t\t<View style={ styles.flex }>{ addonRight }</View>\n\t\t</View>\n\t);\n};\n\nexport default SegmentedControls;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_element","_compose","_layoutAnimation","_style","_interopRequireDefault","_jsxRuntime","ANIMATION_DURATION","isIOS","Platform","OS","Segment","isSelected","title","onPress","onLayout","props","isSelectedIOS","segmentStyle","styles","segment","segmentIOS","textStyle","usePreferredColorSchemeStyle","buttonTextDefault","buttonTextDefaultDark","selectedTextStyle","buttonTextSelected","buttonTextSelectedDark","shadowStyle","shadowIOS","jsx","View","style","children","TouchableWithoutFeedback","Text","maxFontSizeMultiplier","SegmentedControls","segments","segmentHandler","selectedIndex","addonLeft","addonRight","selectedSegmentIndex","activeSegmentIndex","setActiveSegmentIndex","useState","segmentsDimensions","setSegmentsDimensions","width","height","positionAnimationValue","Animated","Value","useEffect","setValue","calculateEndValue","containerStyle","container","containerDark","performSwatchAnimation","index","timing","toValue","duration","easing","Easing","ease","useNativeDriver","start","paddingLeft","offset","containerIOS","widths","Object","values","map","dimension","widthsDistance","slice","widthsDistanceSum","reduce","sum","n","endValue","onHandlePress","performLayoutAnimation","segmentOnLayout","event","nativeEvent","layout","selectedStyle","selected","selectedDark","outlineStyle","outline","outlineIOS","jsxs","row","flex","left","accessibilityState","accessibilityRole","accessibilityLabel","accessibilityHint","length","_default","exports","default"],"sources":["@wordpress/components/src/mobile/segmented-control/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tTouchableWithoutFeedback,\n\tText,\n\tPlatform,\n\tAnimated,\n\tEasing,\n} from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { performLayoutAnimation } from '../layout-animation';\nimport styles from './style.scss';\n\nconst ANIMATION_DURATION = 200;\n\nconst isIOS = Platform.OS === 'ios';\n\nconst Segment = ( { isSelected, title, onPress, onLayout, ...props } ) => {\n\tconst isSelectedIOS = isIOS && isSelected;\n\n\tconst segmentStyle = [ styles.segment, isIOS && styles.segmentIOS ];\n\n\tconst textStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextDefault,\n\t\tstyles.buttonTextDefaultDark\n\t);\n\tconst selectedTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.buttonTextSelected,\n\t\tstyles.buttonTextSelectedDark\n\t);\n\tconst shadowStyle = usePreferredColorSchemeStyle( styles.shadowIOS, {} );\n\n\treturn (\n\t\t<View style={ isSelectedIOS && shadowStyle }>\n\t\t\t<TouchableWithoutFeedback onPress={ onPress }>\n\t\t\t\t<View style={ segmentStyle } onLayout={ onLayout } { ...props }>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ [ textStyle, isSelected && selectedTextStyle ] }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nconst SegmentedControls = ( {\n\tsegments,\n\tsegmentHandler,\n\tselectedIndex,\n\taddonLeft,\n\taddonRight,\n} ) => {\n\tconst selectedSegmentIndex = selectedIndex || 0;\n\tconst [ activeSegmentIndex, setActiveSegmentIndex ] =\n\t\tuseState( selectedSegmentIndex );\n\tconst [ segmentsDimensions, setSegmentsDimensions ] = useState( {\n\t\t[ activeSegmentIndex ]: { width: 0, height: 0 },\n\t} );\n\tconst [ positionAnimationValue ] = useState( new Animated.Value( 0 ) );\n\n\tuseEffect( () => {\n\t\tsetActiveSegmentIndex( selectedSegmentIndex );\n\t\tsegmentHandler( segments[ selectedSegmentIndex ] );\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tpositionAnimationValue.setValue(\n\t\t\tcalculateEndValue( activeSegmentIndex )\n\t\t);\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ segmentsDimensions ] );\n\n\tconst containerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.container,\n\t\tstyles.containerDark\n\t);\n\n\tfunction performSwatchAnimation( index ) {\n\t\tAnimated.timing( positionAnimationValue, {\n\t\t\ttoValue: calculateEndValue( index ),\n\t\t\tduration: ANIMATION_DURATION,\n\t\t\teasing: Easing.ease,\n\t\t\tuseNativeDriver: false,\n\t\t} ).start();\n\t}\n\n\tfunction calculateEndValue( index ) {\n\t\tconst { paddingLeft: offset } = isIOS\n\t\t\t? styles.containerIOS\n\t\t\t: styles.container;\n\t\tconst widths = Object.values( segmentsDimensions ).map(\n\t\t\t( dimension ) => dimension.width\n\t\t);\n\t\tconst widthsDistance = widths.slice( 0, index );\n\t\tconst widthsDistanceSum = widthsDistance.reduce(\n\t\t\t( sum, n ) => sum + n,\n\t\t\t0\n\t\t);\n\n\t\tconst endValue = index === 0 ? 0 : widthsDistanceSum;\n\t\treturn endValue + offset;\n\t}\n\n\tfunction onHandlePress( segment, index ) {\n\t\tperformLayoutAnimation( ANIMATION_DURATION );\n\t\tsetActiveSegmentIndex( index );\n\t\tsegmentHandler( segment );\n\t\tperformSwatchAnimation( index );\n\t}\n\n\tfunction segmentOnLayout( event, index ) {\n\t\tconst { width, height } = event.nativeEvent.layout;\n\n\t\tsetSegmentsDimensions( {\n\t\t\t...segmentsDimensions,\n\t\t\t[ index ]: { width, height },\n\t\t} );\n\t}\n\n\tconst selectedStyle = usePreferredColorSchemeStyle(\n\t\tstyles.selected,\n\t\tstyles.selectedDark\n\t);\n\n\tconst width = segmentsDimensions[ activeSegmentIndex ]?.width;\n\tconst height = segmentsDimensions[ activeSegmentIndex ]?.height;\n\n\tconst outlineStyle = [ styles.outline, isIOS && styles.outlineIOS ];\n\n\treturn (\n\t\t<View style={ styles.row }>\n\t\t\t<View style={ styles.flex }>{ addonLeft }</View>\n\t\t\t<View style={ [ containerStyle, isIOS && styles.containerIOS ] }>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\tleft: positionAnimationValue,\n\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tselectedStyle,\n\t\t\t\t\t\toutlineStyle,\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t\t{ segments.map( ( segment, index ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Segment\n\t\t\t\t\t\t\ttitle={ segment }\n\t\t\t\t\t\t\tonPress={ () => onHandlePress( segment, index ) }\n\t\t\t\t\t\t\tisSelected={ activeSegmentIndex === index }\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tonLayout={ ( event ) =>\n\t\t\t\t\t\t\t\tsegmentOnLayout( event, index )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taccessibilityState={ {\n\t\t\t\t\t\t\t\tselected: activeSegmentIndex === index,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taccessibilityRole=\"button\"\n\t\t\t\t\t\t\taccessibilityLabel={ segment }\n\t\t\t\t\t\t\taccessibilityHint={ `${ index + 1 } on ${\n\t\t\t\t\t\t\t\tsegments.length\n\t\t\t\t\t\t\t}` }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</View>\n\t\t\t<View style={ styles.flex }>{ addonRight }</View>\n\t\t</View>\n\t);\n};\n\nexport default SegmentedControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["parseUnit","cssUnit","match","trim","isNaN","parseFloat","value","unit","undefined","calculate","expression","Function","err","getFunctionUnitValue","functionUnitValue","options","functionUnit","split","filter","Boolean","units","slice","map","getPxFromCssUnit","Math","min","max","length","parseUnitFunction","currentCssUnit","regExp","matches","exec","replace","isMathExpression","i","includes","evalMathExpression","errorFound","cssUnitsBits","parsedUnit","expressionsMatches","values","currentValue","rawCurrentValue","calculatedExpression","calculatedValue","toFixed","parsedValue","calculatedResult","convertParsedUnitToPx","PIXELS_PER_INCH","ONE_PERCENT","defaultProperties","fontSize","lineHeight","width","height","type","setOptions","Object","assign","relativeUnits","em","rem","vh","vw","vmin","vmax","ch","ex","lh","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","svmin","lvmin","dvmin","svmax","lvmax","dvmax","absoluteUnits","in","cm","mm","pt","pc","px","Q","Number","isFinite","cache","memoizedGetPxFromCssUnit","hash","hashOptions","hasOwnProperty","_default","exports","default"],"sources":["@wordpress/components/src/mobile/utils/get-px-from-css-unit.native.js"],"sourcesContent":["/**\n * Converts string to object { value, unit }.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit\n */\nfunction parseUnit( cssUnit ) {\n\tconst match = cssUnit\n\t\t?.trim()\n\t\t.match(\n\t\t\t/^(0?[-.]?\\d*\\.?\\d+)(r?e[m|x]|v[h|w|min|max]+|p[x|t|c]|[c|m]m|%|in|ch|Q|lh)$/\n\t\t);\n\tif ( ! isNaN( cssUnit ) && ! isNaN( parseFloat( cssUnit ) ) ) {\n\t\treturn { value: parseFloat( cssUnit ), unit: 'px' };\n\t}\n\treturn match\n\t\t? { value: parseFloat( match[ 1 ] ) || match[ 1 ], unit: match[ 2 ] }\n\t\t: { value: cssUnit, unit: undefined };\n}\n/**\n * Evaluate a math expression.\n *\n * @param {string} expression\n * @return {number} evaluated expression.\n */\nfunction calculate( expression ) {\n\ttry {\n\t\treturn Function( `'use strict'; return (${ expression })` )();\n\t} catch ( err ) {\n\t\treturn null;\n\t}\n}\n\n/**\n * Calculates the css function value for the supported css functions such as max, min, clamp and calc.\n *\n * @param {string} functionUnitValue string should be in a particular format (for example min(12px,12px) ) no nested loops.\n * @param {Object} options\n * @return {string} unit containing the unit in PX.\n */\nfunction getFunctionUnitValue( functionUnitValue, options ) {\n\tconst functionUnit = functionUnitValue.split( /[(),]/g ).filter( Boolean );\n\n\tconst units = functionUnit\n\t\t.slice( 1 )\n\t\t.map( ( unit ) => parseUnit( getPxFromCssUnit( unit, options ) ).value )\n\t\t.filter( Boolean );\n\n\tswitch ( functionUnit[ 0 ] ) {\n\t\tcase 'min':\n\t\t\treturn Math.min( ...units ) + 'px';\n\t\tcase 'max':\n\t\t\treturn Math.max( ...units ) + 'px';\n\t\tcase 'clamp':\n\t\t\tif ( units.length !== 3 ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif ( units[ 1 ] < units[ 0 ] ) {\n\t\t\t\treturn units[ 0 ] + 'px';\n\t\t\t}\n\t\t\tif ( units[ 1 ] > units[ 2 ] ) {\n\t\t\t\treturn units[ 2 ] + 'px';\n\t\t\t}\n\t\t\treturn units[ 1 ] + 'px';\n\t\tcase 'calc':\n\t\t\treturn units[ 0 ] + 'px';\n\t}\n}\n\n/**\n * Take a css function such as min, max, calc, clamp and returns parsedUnit\n *\n * How this works for the nested function is that it first replaces the inner function call.\n * Then it tackles the outer onces.\n * So for example: min( max(25px, 35px), 40px )\n * in the first pass we would replace max(25px, 35px) with 35px.\n * then we would try to evaluate min( 35px, 40px )\n * and then finally return 35px.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit object.\n */\nfunction parseUnitFunction( cssUnit ) {\n\twhile ( true ) {\n\t\tconst currentCssUnit = cssUnit;\n\t\tconst regExp = /(max|min|calc|clamp)\\(([^()]*)\\)/g;\n\t\tconst matches = regExp.exec( cssUnit ) || [];\n\t\tif ( matches[ 0 ] ) {\n\t\t\tconst functionUnitValue = getFunctionUnitValue( matches[ 0 ] );\n\t\t\tcssUnit = cssUnit.replace( matches[ 0 ], functionUnitValue );\n\t\t}\n\n\t\t// If the unit hasn't been modified or we have a single value break free.\n\t\tif ( cssUnit === currentCssUnit || parseFloat( cssUnit ) ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn parseUnit( cssUnit );\n}\n/**\n * Return true if we think this is a math expression.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {boolean} Whether the cssUnit is a math expression.\n */\nfunction isMathExpression( cssUnit ) {\n\tfor ( let i = 0; i < cssUnit.length; i++ ) {\n\t\tif ( [ '+', '-', '/', '*' ].includes( cssUnit[ i ] ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n/**\n * Evaluates the math expression and return a px value.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {string} return a converfted value to px.\n */\nfunction evalMathExpression( cssUnit ) {\n\tlet errorFound = false;\n\t// Convert every part of the expression to px values.\n\t// The following regex matches numbers that have a following unit\n\t// E.g. 5.25rem, 1vw\n\tconst cssUnitsBits = cssUnit.match( /\\d+\\.?\\d*[a-zA-Z]+|\\.\\d+[a-zA-Z]+/g );\n\tif ( cssUnitsBits ) {\n\t\tfor ( const unit of cssUnitsBits ) {\n\t\t\t// Standardize the unit to px and extract the value.\n\t\t\tconst parsedUnit = parseUnit( getPxFromCssUnit( unit ) );\n\t\t\tif ( ! parseFloat( parsedUnit.value ) ) {\n\t\t\t\terrorFound = true;\n\t\t\t\t// End early since we are dealing with a null value.\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcssUnit = cssUnit.replace( unit, parsedUnit.value );\n\t\t}\n\t} else {\n\t\terrorFound = true;\n\t}\n\n\t// For mixed math expressions wrapped within CSS expressions\n\tconst expressionsMatches = cssUnit.match( /(max|min|clamp)/g );\n\tif ( ! errorFound && expressionsMatches ) {\n\t\tconst values = cssUnit.split( ',' );\n\t\tfor ( const currentValue of values ) {\n\t\t\t// Check for nested calc() and remove them to calculate the value.\n\t\t\tconst rawCurrentValue = currentValue.replace( /\\s|calc/g, '' );\n\n\t\t\tif ( isMathExpression( rawCurrentValue ) ) {\n\t\t\t\tconst calculatedExpression = calculate( rawCurrentValue );\n\n\t\t\t\tif ( calculatedExpression ) {\n\t\t\t\t\tconst calculatedValue =\n\t\t\t\t\t\tcalculatedExpression.toFixed( 0 ) + 'px';\n\t\t\t\t\tcssUnit = cssUnit.replace( currentValue, calculatedValue );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst parsedValue = parseUnitFunction( cssUnit );\n\t\treturn ! parsedValue ? null : parsedValue.value + parsedValue.unit;\n\t}\n\n\tif ( errorFound ) {\n\t\treturn null;\n\t}\n\n\tconst calculatedResult = calculate( cssUnit );\n\treturn calculatedResult ? calculatedResult.toFixed( 0 ) + 'px' : null;\n}\n\n/**\n * Convert a parsedUnit object to px value.\n *\n * @param {Object} parsedUnit\n * @param {Object} options\n * @return {string} or {null} returns the converted with in a px value format.\n */\nfunction convertParsedUnitToPx( parsedUnit, options ) {\n\tconst PIXELS_PER_INCH = 96;\n\tconst ONE_PERCENT = 0.01;\n\n\tconst defaultProperties = {\n\t\tfontSize: 16,\n\t\tlineHeight: 16,\n\t\twidth: 375,\n\t\theight: 812,\n\t\ttype: 'font',\n\t};\n\n\tconst setOptions = Object.assign( {}, defaultProperties, options );\n\n\tconst relativeUnits = {\n\t\tem: setOptions.fontSize,\n\t\trem: setOptions.fontSize,\n\t\tvh: setOptions.height * ONE_PERCENT,\n\t\tvw: setOptions.width * ONE_PERCENT,\n\t\tvmin:\n\t\t\t( setOptions.width < setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\tvmax:\n\t\t\t( setOptions.width > setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\t'%':\n\t\t\t( setOptions.type === 'font'\n\t\t\t\t? setOptions.fontSize\n\t\t\t\t: setOptions.width ) * ONE_PERCENT,\n\t\tch: 8, // The advance measure (width) of the glyph \"0\" of the element's font. Approximate\n\t\tex: 7.15625, // X-height of the element's font. Approximate.\n\t\tlh: setOptions.lineHeight,\n\t};\n\trelativeUnits.svw = relativeUnits.vmin;\n\trelativeUnits.lvw = relativeUnits.vmax;\n\trelativeUnits.dvw = relativeUnits.vw;\n\trelativeUnits.svh = relativeUnits.vmin;\n\trelativeUnits.lvh = relativeUnits.vmax;\n\trelativeUnits.dvh = relativeUnits.vh;\n\trelativeUnits.vi = relativeUnits.vh;\n\trelativeUnits.svi = relativeUnits.vmin;\n\trelativeUnits.lvi = relativeUnits.vmax;\n\trelativeUnits.dvi = relativeUnits.vw;\n\trelativeUnits.vb = relativeUnits.vh;\n\trelativeUnits.svb = relativeUnits.vmin;\n\trelativeUnits.lvb = relativeUnits.vmax;\n\trelativeUnits.dvb = relativeUnits.vh;\n\trelativeUnits.svmin = relativeUnits.vmin;\n\trelativeUnits.lvmin = relativeUnits.vmin;\n\trelativeUnits.dvmin = relativeUnits.vmin;\n\trelativeUnits.svmax = relativeUnits.vmax;\n\trelativeUnits.lvmax = relativeUnits.vmax;\n\trelativeUnits.dvmax = relativeUnits.vmax;\n\n\tconst absoluteUnits = {\n\t\tin: PIXELS_PER_INCH,\n\t\tcm: PIXELS_PER_INCH / 2.54,\n\t\tmm: PIXELS_PER_INCH / 25.4,\n\t\tpt: PIXELS_PER_INCH / 72,\n\t\tpc: PIXELS_PER_INCH / 6,\n\t\tpx: 1,\n\t\tQ: PIXELS_PER_INCH / 2.54 / 40,\n\t};\n\n\tif ( relativeUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( relativeUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\tif ( absoluteUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( absoluteUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Returns the px value of a cssUnit.\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nexport function getPxFromCssUnit( cssUnit, options = {} ) {\n\tif ( Number.isFinite( cssUnit ) ) {\n\t\treturn cssUnit.toFixed( 0 ) + 'px';\n\t}\n\tif ( cssUnit === undefined ) {\n\t\treturn null;\n\t}\n\tlet parsedUnit = parseUnit( cssUnit );\n\n\tif ( ! parsedUnit.unit ) {\n\t\tparsedUnit = parseUnitFunction( cssUnit );\n\t}\n\n\tif ( isMathExpression( cssUnit ) && ! parsedUnit.unit ) {\n\t\treturn evalMathExpression( cssUnit );\n\t}\n\n\treturn convertParsedUnitToPx( parsedUnit, options );\n}\n\n// Use simple cache.\nconst cache = {};\n/**\n * Returns the px value of a cssUnit. The memoized version of getPxFromCssUnit;\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nfunction memoizedGetPxFromCssUnit( cssUnit, options = {} ) {\n\tconst hash = cssUnit + hashOptions( options );\n\n\tif ( ! cache[ hash ] ) {\n\t\tcache[ hash ] = getPxFromCssUnit( cssUnit, options );\n\t}\n\treturn cache[ hash ];\n}\n\nfunction hashOptions( options ) {\n\tlet hash = '';\n\tif ( options.hasOwnProperty( 'fontSize' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'lineHeight' ) ) {\n\t\thash = ':' + options.lineHeight;\n\t}\n\tif ( options.hasOwnProperty( 'width' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'height' ) ) {\n\t\thash = ':' + options.height;\n\t}\n\tif ( options.hasOwnProperty( 'type' ) ) {\n\t\thash = ':' + options.type;\n\t}\n\treturn hash;\n}\n\nexport default memoizedGetPxFromCssUnit;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["parseUnit","cssUnit","match","trim","isNaN","parseFloat","value","unit","undefined","calculate","expression","Function","err","getFunctionUnitValue","functionUnitValue","options","functionUnit","split","filter","Boolean","units","slice","map","getPxFromCssUnit","Math","min","max","length","parseUnitFunction","currentCssUnit","regExp","matches","exec","replace","isMathExpression","i","includes","evalMathExpression","errorFound","cssUnitsBits","parsedUnit","expressionsMatches","values","currentValue","rawCurrentValue","calculatedExpression","calculatedValue","toFixed","parsedValue","calculatedResult","convertParsedUnitToPx","PIXELS_PER_INCH","ONE_PERCENT","defaultProperties","fontSize","lineHeight","width","height","type","setOptions","Object","assign","relativeUnits","em","rem","vh","vw","vmin","vmax","ch","ex","lh","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","svmin","lvmin","dvmin","svmax","lvmax","dvmax","absoluteUnits","in","cm","mm","pt","pc","px","Q","Number","isFinite","cache","memoizedGetPxFromCssUnit","hash","hashOptions","hasOwnProperty","_default","exports","default"],"sources":["@wordpress/components/src/mobile/utils/get-px-from-css-unit.native.js"],"sourcesContent":["/**\n * Converts string to object { value, unit }.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit\n */\nfunction parseUnit( cssUnit ) {\n\tconst match = cssUnit\n\t\t?.trim()\n\t\t.match(\n\t\t\t/^(0?[-.]?\\d*\\.?\\d+)(r?e[m|x]|v[h|w|min|max]+|p[x|t|c]|[c|m]m|%|in|ch|Q|lh)$/\n\t\t);\n\tif ( ! isNaN( cssUnit ) && ! isNaN( parseFloat( cssUnit ) ) ) {\n\t\treturn { value: parseFloat( cssUnit ), unit: 'px' };\n\t}\n\treturn match\n\t\t? { value: parseFloat( match[ 1 ] ) || match[ 1 ], unit: match[ 2 ] }\n\t\t: { value: cssUnit, unit: undefined };\n}\n/**\n * Evaluate a math expression.\n *\n * @param {string} expression\n * @return {number} evaluated expression.\n */\nfunction calculate( expression ) {\n\ttry {\n\t\treturn Function( `'use strict'; return (${ expression })` )();\n\t} catch ( err ) {\n\t\treturn null;\n\t}\n}\n\n/**\n * Calculates the css function value for the supported css functions such as max, min, clamp and calc.\n *\n * @param {string} functionUnitValue string should be in a particular format (for example min(12px,12px) ) no nested loops.\n * @param {Object} options\n * @return {string} unit containing the unit in PX.\n */\nfunction getFunctionUnitValue( functionUnitValue, options ) {\n\tconst functionUnit = functionUnitValue.split( /[(),]/g ).filter( Boolean );\n\n\tconst units = functionUnit\n\t\t.slice( 1 )\n\t\t.map( ( unit ) => parseUnit( getPxFromCssUnit( unit, options ) ).value )\n\t\t.filter( Boolean );\n\n\tswitch ( functionUnit[ 0 ] ) {\n\t\tcase 'min':\n\t\t\treturn Math.min( ...units ) + 'px';\n\t\tcase 'max':\n\t\t\treturn Math.max( ...units ) + 'px';\n\t\tcase 'clamp':\n\t\t\tif ( units.length !== 3 ) {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tif ( units[ 1 ] < units[ 0 ] ) {\n\t\t\t\treturn units[ 0 ] + 'px';\n\t\t\t}\n\t\t\tif ( units[ 1 ] > units[ 2 ] ) {\n\t\t\t\treturn units[ 2 ] + 'px';\n\t\t\t}\n\t\t\treturn units[ 1 ] + 'px';\n\t\tcase 'calc':\n\t\t\treturn units[ 0 ] + 'px';\n\t}\n}\n\n/**\n * Take a css function such as min, max, calc, clamp and returns parsedUnit\n *\n * How this works for the nested function is that it first replaces the inner function call.\n * Then it tackles the outer onces.\n * So for example: min( max(25px, 35px), 40px )\n * in the first pass we would replace max(25px, 35px) with 35px.\n * then we would try to evaluate min( 35px, 40px )\n * and then finally return 35px.\n *\n * @param {string} cssUnit\n * @return {Object} parsedUnit object.\n */\nfunction parseUnitFunction( cssUnit ) {\n\twhile ( true ) {\n\t\tconst currentCssUnit = cssUnit;\n\t\tconst regExp = /(max|min|calc|clamp)\\(([^()]*)\\)/g;\n\t\tconst matches = regExp.exec( cssUnit ) || [];\n\t\tif ( matches[ 0 ] ) {\n\t\t\tconst functionUnitValue = getFunctionUnitValue( matches[ 0 ] );\n\t\t\tcssUnit = cssUnit.replace( matches[ 0 ], functionUnitValue );\n\t\t}\n\n\t\t// If the unit hasn't been modified or we have a single value break free.\n\t\tif ( cssUnit === currentCssUnit || parseFloat( cssUnit ) ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn parseUnit( cssUnit );\n}\n/**\n * Return true if we think this is a math expression.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {boolean} Whether the cssUnit is a math expression.\n */\nfunction isMathExpression( cssUnit ) {\n\tfor ( let i = 0; i < cssUnit.length; i++ ) {\n\t\tif ( [ '+', '-', '/', '*' ].includes( cssUnit[ i ] ) ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n/**\n * Evaluates the math expression and return a px value.\n *\n * @param {string} cssUnit the cssUnit value being evaluted.\n * @return {string} return a converfted value to px.\n */\nfunction evalMathExpression( cssUnit ) {\n\tlet errorFound = false;\n\t// Convert every part of the expression to px values.\n\t// The following regex matches numbers that have a following unit\n\t// E.g. 5.25rem, 1vw\n\tconst cssUnitsBits = cssUnit.match( /\\d+\\.?\\d*[a-zA-Z]+|\\.\\d+[a-zA-Z]+/g );\n\tif ( cssUnitsBits ) {\n\t\tfor ( const unit of cssUnitsBits ) {\n\t\t\t// Standardize the unit to px and extract the value.\n\t\t\tconst parsedUnit = parseUnit( getPxFromCssUnit( unit ) );\n\t\t\tif ( ! parseFloat( parsedUnit.value ) ) {\n\t\t\t\terrorFound = true;\n\t\t\t\t// End early since we are dealing with a null value.\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcssUnit = cssUnit.replace( unit, parsedUnit.value );\n\t\t}\n\t} else {\n\t\terrorFound = true;\n\t}\n\n\t// For mixed math expressions wrapped within CSS expressions\n\tconst expressionsMatches = cssUnit.match( /(max|min|clamp)/g );\n\tif ( ! errorFound && expressionsMatches ) {\n\t\tconst values = cssUnit.split( ',' );\n\t\tfor ( const currentValue of values ) {\n\t\t\t// Check for nested calc() and remove them to calculate the value.\n\t\t\tconst rawCurrentValue = currentValue.replace( /\\s|calc/g, '' );\n\n\t\t\tif ( isMathExpression( rawCurrentValue ) ) {\n\t\t\t\tconst calculatedExpression = calculate( rawCurrentValue );\n\n\t\t\t\tif ( calculatedExpression ) {\n\t\t\t\t\tconst calculatedValue =\n\t\t\t\t\t\tcalculatedExpression.toFixed( 0 ) + 'px';\n\t\t\t\t\tcssUnit = cssUnit.replace( currentValue, calculatedValue );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tconst parsedValue = parseUnitFunction( cssUnit );\n\t\treturn ! parsedValue ? null : parsedValue.value + parsedValue.unit;\n\t}\n\n\tif ( errorFound ) {\n\t\treturn null;\n\t}\n\n\tconst calculatedResult = calculate( cssUnit );\n\treturn calculatedResult ? calculatedResult.toFixed( 0 ) + 'px' : null;\n}\n\n/**\n * Convert a parsedUnit object to px value.\n *\n * @param {Object} parsedUnit\n * @param {Object} options\n * @return {string} or {null} returns the converted with in a px value format.\n */\nfunction convertParsedUnitToPx( parsedUnit, options ) {\n\tconst PIXELS_PER_INCH = 96;\n\tconst ONE_PERCENT = 0.01;\n\n\tconst defaultProperties = {\n\t\tfontSize: 16,\n\t\tlineHeight: 16,\n\t\twidth: 375,\n\t\theight: 812,\n\t\ttype: 'font',\n\t};\n\n\tconst setOptions = Object.assign( {}, defaultProperties, options );\n\n\tconst relativeUnits = {\n\t\tem: setOptions.fontSize,\n\t\trem: setOptions.fontSize,\n\t\tvh: setOptions.height * ONE_PERCENT,\n\t\tvw: setOptions.width * ONE_PERCENT,\n\t\tvmin:\n\t\t\t( setOptions.width < setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\tvmax:\n\t\t\t( setOptions.width > setOptions.height\n\t\t\t\t? setOptions.width\n\t\t\t\t: setOptions.height ) * ONE_PERCENT,\n\t\t'%':\n\t\t\t( setOptions.type === 'font'\n\t\t\t\t? setOptions.fontSize\n\t\t\t\t: setOptions.width ) * ONE_PERCENT,\n\t\tch: 8, // The advance measure (width) of the glyph \"0\" of the element's font. Approximate\n\t\tex: 7.15625, // X-height of the element's font. Approximate.\n\t\tlh: setOptions.lineHeight,\n\t};\n\trelativeUnits.svw = relativeUnits.vmin;\n\trelativeUnits.lvw = relativeUnits.vmax;\n\trelativeUnits.dvw = relativeUnits.vw;\n\trelativeUnits.svh = relativeUnits.vmin;\n\trelativeUnits.lvh = relativeUnits.vmax;\n\trelativeUnits.dvh = relativeUnits.vh;\n\trelativeUnits.vi = relativeUnits.vh;\n\trelativeUnits.svi = relativeUnits.vmin;\n\trelativeUnits.lvi = relativeUnits.vmax;\n\trelativeUnits.dvi = relativeUnits.vw;\n\trelativeUnits.vb = relativeUnits.vh;\n\trelativeUnits.svb = relativeUnits.vmin;\n\trelativeUnits.lvb = relativeUnits.vmax;\n\trelativeUnits.dvb = relativeUnits.vh;\n\trelativeUnits.svmin = relativeUnits.vmin;\n\trelativeUnits.lvmin = relativeUnits.vmin;\n\trelativeUnits.dvmin = relativeUnits.vmin;\n\trelativeUnits.svmax = relativeUnits.vmax;\n\trelativeUnits.lvmax = relativeUnits.vmax;\n\trelativeUnits.dvmax = relativeUnits.vmax;\n\n\tconst absoluteUnits = {\n\t\tin: PIXELS_PER_INCH,\n\t\tcm: PIXELS_PER_INCH / 2.54,\n\t\tmm: PIXELS_PER_INCH / 25.4,\n\t\tpt: PIXELS_PER_INCH / 72,\n\t\tpc: PIXELS_PER_INCH / 6,\n\t\tpx: 1,\n\t\tQ: PIXELS_PER_INCH / 2.54 / 40,\n\t};\n\n\tif ( relativeUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( relativeUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\tif ( absoluteUnits[ parsedUnit.unit ] ) {\n\t\treturn (\n\t\t\t( absoluteUnits[ parsedUnit.unit ] * parsedUnit.value ).toFixed(\n\t\t\t\t0\n\t\t\t) + 'px'\n\t\t);\n\t}\n\n\treturn null;\n}\n\n/**\n * Returns the px value of a cssUnit.\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nexport function getPxFromCssUnit( cssUnit, options = {} ) {\n\tif ( Number.isFinite( cssUnit ) ) {\n\t\treturn cssUnit.toFixed( 0 ) + 'px';\n\t}\n\tif ( cssUnit === undefined ) {\n\t\treturn null;\n\t}\n\tlet parsedUnit = parseUnit( cssUnit );\n\n\tif ( ! parsedUnit.unit ) {\n\t\tparsedUnit = parseUnitFunction( cssUnit );\n\t}\n\n\tif ( isMathExpression( cssUnit ) && ! parsedUnit.unit ) {\n\t\treturn evalMathExpression( cssUnit );\n\t}\n\n\treturn convertParsedUnitToPx( parsedUnit, options );\n}\n\n// Use simple cache.\nconst cache = {};\n/**\n * Returns the px value of a cssUnit. The memoized version of getPxFromCssUnit;\n *\n * @param {string} cssUnit\n * @param {Object} options\n * @return {string} returns the cssUnit value in a simple px format.\n */\nfunction memoizedGetPxFromCssUnit( cssUnit, options = {} ) {\n\tconst hash = cssUnit + hashOptions( options );\n\n\tif ( ! cache[ hash ] ) {\n\t\tcache[ hash ] = getPxFromCssUnit( cssUnit, options );\n\t}\n\treturn cache[ hash ];\n}\n\nfunction hashOptions( options ) {\n\tlet hash = '';\n\tif ( options.hasOwnProperty( 'fontSize' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'lineHeight' ) ) {\n\t\thash = ':' + options.lineHeight;\n\t}\n\tif ( options.hasOwnProperty( 'width' ) ) {\n\t\thash = ':' + options.width;\n\t}\n\tif ( options.hasOwnProperty( 'height' ) ) {\n\t\thash = ':' + options.height;\n\t}\n\tif ( options.hasOwnProperty( 'type' ) ) {\n\t\thash = ':' + options.type;\n\t}\n\treturn hash;\n}\n\nexport default memoizedGetPxFromCssUnit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_element","getValueAndUnit","value","unit","regex","splitValue","match","filter","v","valueToConvert","valueUnit","undefined","exports","convertUnitToMobile","containerSize","globalStyles","width","height","fontSize","Number","vw","Math","round","vh","useConvertUnitToMobile","styles","windowSizes","setWindowSizes","useState","Dimensions","get","useEffect","dimensionsChangeSubscription","addEventListener","onDimensionsChange","remove","useCallback","window","useMemo"],"sources":["@wordpress/components/src/mobile/utils/use-unit-converter-to-mobile.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\n\nconst getValueAndUnit = ( value, unit ) => {\n\tconst regex = /(\\d+\\.?\\d*)(.*)/;\n\n\tconst splitValue = `${ value }`\n\t\t?.match( regex )\n\t\t?.filter( ( v ) => v !== '' );\n\n\tif ( splitValue ) {\n\t\treturn {\n\t\t\tvalueToConvert: splitValue[ 1 ],\n\t\t\tvalueUnit: unit || splitValue[ 2 ],\n\t\t};\n\t}\n\treturn undefined;\n};\n\nconst convertUnitToMobile = ( containerSize, globalStyles, value, unit ) => {\n\tconst { width, height } = containerSize;\n\tconst { valueToConvert, valueUnit } = getValueAndUnit( value, unit ) || {};\n\tconst { fontSize = 16 } = globalStyles || {};\n\n\tif ( valueToConvert === undefined ) {\n\t\treturn undefined;\n\t}\n\n\tswitch ( valueUnit ) {\n\t\tcase 'rem':\n\t\tcase 'em':\n\t\t\treturn valueToConvert * fontSize;\n\t\tcase '%':\n\t\t\treturn Number( valueToConvert / 100 ) * width;\n\t\tcase 'px':\n\t\t\treturn Number( valueToConvert );\n\t\tcase 'vw':\n\t\t\tconst vw = width / 100;\n\t\t\treturn Math.round( valueToConvert * vw );\n\t\tcase 'vh':\n\t\t\tconst vh = height / 100;\n\t\t\treturn Math.round( valueToConvert * vh );\n\t\tdefault:\n\t\t\treturn Number( valueToConvert / 100 ) * width;\n\t}\n};\n\nconst useConvertUnitToMobile = ( value, unit, styles ) => {\n\tconst [ windowSizes, setWindowSizes ] = useState(\n\t\tDimensions.get( 'window' )\n\t);\n\n\tuseEffect( () => {\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonDimensionsChange\n\t\t);\n\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tconst onDimensionsChange = useCallback( ( { window } ) => {\n\t\tsetWindowSizes( window );\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\tconst { valueToConvert, valueUnit } =\n\t\t\tgetValueAndUnit( value, unit ) || {};\n\n\t\treturn convertUnitToMobile(\n\t\t\twindowSizes,\n\t\t\tstyles,\n\t\t\tvalueToConvert,\n\t\t\tvalueUnit\n\t\t);\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ windowSizes, value, unit ] );\n};\n\nexport { convertUnitToMobile, useConvertUnitToMobile, getValueAndUnit };\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAME,eAAe,GAAGA,CAAEC,KAAK,EAAEC,IAAI,KAAM;EAC1C,MAAMC,KAAK,GAAG,iBAAiB;EAE/B,MAAMC,UAAU,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_element","getValueAndUnit","value","unit","regex","splitValue","match","filter","v","valueToConvert","valueUnit","undefined","exports","convertUnitToMobile","containerSize","globalStyles","width","height","fontSize","Number","vw","Math","round","vh","useConvertUnitToMobile","styles","windowSizes","setWindowSizes","useState","Dimensions","get","useEffect","dimensionsChangeSubscription","addEventListener","onDimensionsChange","remove","useCallback","window","useMemo"],"sources":["@wordpress/components/src/mobile/utils/use-unit-converter-to-mobile.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\n\nconst getValueAndUnit = ( value, unit ) => {\n\tconst regex = /(\\d+\\.?\\d*)(.*)/;\n\n\tconst splitValue = `${ value }`\n\t\t?.match( regex )\n\t\t?.filter( ( v ) => v !== '' );\n\n\tif ( splitValue ) {\n\t\treturn {\n\t\t\tvalueToConvert: splitValue[ 1 ],\n\t\t\tvalueUnit: unit || splitValue[ 2 ],\n\t\t};\n\t}\n\treturn undefined;\n};\n\nconst convertUnitToMobile = ( containerSize, globalStyles, value, unit ) => {\n\tconst { width, height } = containerSize;\n\tconst { valueToConvert, valueUnit } = getValueAndUnit( value, unit ) || {};\n\tconst { fontSize = 16 } = globalStyles || {};\n\n\tif ( valueToConvert === undefined ) {\n\t\treturn undefined;\n\t}\n\n\tswitch ( valueUnit ) {\n\t\tcase 'rem':\n\t\tcase 'em':\n\t\t\treturn valueToConvert * fontSize;\n\t\tcase '%':\n\t\t\treturn Number( valueToConvert / 100 ) * width;\n\t\tcase 'px':\n\t\t\treturn Number( valueToConvert );\n\t\tcase 'vw':\n\t\t\tconst vw = width / 100;\n\t\t\treturn Math.round( valueToConvert * vw );\n\t\tcase 'vh':\n\t\t\tconst vh = height / 100;\n\t\t\treturn Math.round( valueToConvert * vh );\n\t\tdefault:\n\t\t\treturn Number( valueToConvert / 100 ) * width;\n\t}\n};\n\nconst useConvertUnitToMobile = ( value, unit, styles ) => {\n\tconst [ windowSizes, setWindowSizes ] = useState(\n\t\tDimensions.get( 'window' )\n\t);\n\n\tuseEffect( () => {\n\t\tconst dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tonDimensionsChange\n\t\t);\n\n\t\treturn () => {\n\t\t\tdimensionsChangeSubscription.remove();\n\t\t};\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\tconst onDimensionsChange = useCallback( ( { window } ) => {\n\t\tsetWindowSizes( window );\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\tconst { valueToConvert, valueUnit } =\n\t\t\tgetValueAndUnit( value, unit ) || {};\n\n\t\treturn convertUnitToMobile(\n\t\t\twindowSizes,\n\t\t\tstyles,\n\t\t\tvalueToConvert,\n\t\t\tvalueUnit\n\t\t);\n\t\t// Disable reason: deferring this refactor to the native team.\n\t\t// see https://github.com/WordPress/gutenberg/pull/41166\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ windowSizes, value, unit ] );\n};\n\nexport { convertUnitToMobile, useConvertUnitToMobile, getValueAndUnit };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* wp:polyfill */
|
|
1
2
|
"use strict";
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
@@ -45,7 +46,7 @@ function modalize(modalElement) {
|
|
|
45
46
|
*/
|
|
46
47
|
function elementShouldBeHidden(element) {
|
|
47
48
|
const role = element.getAttribute('role');
|
|
48
|
-
return !(element.tagName === 'SCRIPT' || element.hasAttribute('aria-hidden') || element.hasAttribute('aria-live') || role && LIVE_REGION_ARIA_ROLES.has(role));
|
|
49
|
+
return !(element.tagName === 'SCRIPT' || element.hasAttribute('hidden') || element.hasAttribute('aria-hidden') || element.hasAttribute('aria-live') || role && LIVE_REGION_ARIA_ROLES.has(role));
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LIVE_REGION_ARIA_ROLES","Set","hiddenElementsByDepth","modalize","modalElement","elements","Array","from","document","body","children","hiddenElements","push","element","elementShouldBeHidden","setAttribute","role","getAttribute","tagName","hasAttribute","has","unmodalize","pop","removeAttribute"],"sources":["@wordpress/components/src/modal/aria-helper.ts"],"sourcesContent":["const LIVE_REGION_ARIA_ROLES = new Set( [\n\t'alert',\n\t'status',\n\t'log',\n\t'marquee',\n\t'timer',\n] );\n\nconst hiddenElementsByDepth: Element[][] = [];\n\n/**\n * Hides all elements in the body element from screen-readers except\n * the provided element and elements that should not be hidden from\n * screen-readers.\n *\n * The reason we do this is because `aria-modal=\"true\"` currently is bugged\n * in Safari, and support is spotty in other browsers overall. In the future\n * we should consider removing these helper functions in favor of\n * `aria-modal=\"true\"`.\n *\n * @param modalElement The element that should not be hidden.\n */\nexport function modalize( modalElement?: HTMLDivElement ) {\n\tconst elements = Array.from( document.body.children );\n\tconst hiddenElements: Element[] = [];\n\thiddenElementsByDepth.push( hiddenElements );\n\tfor ( const element of elements ) {\n\t\tif ( element === modalElement ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( elementShouldBeHidden( element ) ) {\n\t\t\telement.setAttribute( 'aria-hidden', 'true' );\n\t\t\thiddenElements.push( element );\n\t\t}\n\t}\n}\n\n/**\n * Determines if the passed element should not be hidden from screen readers.\n *\n * @param element The element that should be checked.\n *\n * @return Whether the element should not be hidden from screen-readers.\n */\nexport function elementShouldBeHidden( element: Element ) {\n\tconst role = element.getAttribute( 'role' );\n\treturn ! (\n\t\telement.tagName === 'SCRIPT' ||\n\t\telement.hasAttribute( 'aria-hidden' ) ||\n\t\telement.hasAttribute( 'aria-live' ) ||\n\t\t( role && LIVE_REGION_ARIA_ROLES.has( role ) )\n\t);\n}\n\n/**\n * Accessibly reveals the elements hidden by the latest modal.\n */\nexport function unmodalize() {\n\tconst hiddenElements = hiddenElementsByDepth.pop();\n\tif ( ! hiddenElements ) {\n\t\treturn;\n\t}\n\n\tfor ( const element of hiddenElements ) {\n\t\telement.removeAttribute( 'aria-hidden' );\n\t}\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["LIVE_REGION_ARIA_ROLES","Set","hiddenElementsByDepth","modalize","modalElement","elements","Array","from","document","body","children","hiddenElements","push","element","elementShouldBeHidden","setAttribute","role","getAttribute","tagName","hasAttribute","has","unmodalize","pop","removeAttribute"],"sources":["@wordpress/components/src/modal/aria-helper.ts"],"sourcesContent":["const LIVE_REGION_ARIA_ROLES = new Set( [\n\t'alert',\n\t'status',\n\t'log',\n\t'marquee',\n\t'timer',\n] );\n\nconst hiddenElementsByDepth: Element[][] = [];\n\n/**\n * Hides all elements in the body element from screen-readers except\n * the provided element and elements that should not be hidden from\n * screen-readers.\n *\n * The reason we do this is because `aria-modal=\"true\"` currently is bugged\n * in Safari, and support is spotty in other browsers overall. In the future\n * we should consider removing these helper functions in favor of\n * `aria-modal=\"true\"`.\n *\n * @param modalElement The element that should not be hidden.\n */\nexport function modalize( modalElement?: HTMLDivElement ) {\n\tconst elements = Array.from( document.body.children );\n\tconst hiddenElements: Element[] = [];\n\thiddenElementsByDepth.push( hiddenElements );\n\tfor ( const element of elements ) {\n\t\tif ( element === modalElement ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif ( elementShouldBeHidden( element ) ) {\n\t\t\telement.setAttribute( 'aria-hidden', 'true' );\n\t\t\thiddenElements.push( element );\n\t\t}\n\t}\n}\n\n/**\n * Determines if the passed element should not be hidden from screen readers.\n *\n * @param element The element that should be checked.\n *\n * @return Whether the element should not be hidden from screen-readers.\n */\nexport function elementShouldBeHidden( element: Element ) {\n\tconst role = element.getAttribute( 'role' );\n\treturn ! (\n\t\telement.tagName === 'SCRIPT' ||\n\t\telement.hasAttribute( 'hidden' ) ||\n\t\telement.hasAttribute( 'aria-hidden' ) ||\n\t\telement.hasAttribute( 'aria-live' ) ||\n\t\t( role && LIVE_REGION_ARIA_ROLES.has( role ) )\n\t);\n}\n\n/**\n * Accessibly reveals the elements hidden by the latest modal.\n */\nexport function unmodalize() {\n\tconst hiddenElements = hiddenElementsByDepth.pop();\n\tif ( ! hiddenElements ) {\n\t\treturn;\n\t}\n\n\tfor ( const element of hiddenElements ) {\n\t\telement.removeAttribute( 'aria-hidden' );\n\t}\n}\n"],"mappings":";;;;;;;;;AAAA,MAAMA,sBAAsB,GAAG,IAAIC,GAAG,CAAE,CACvC,OAAO,EACP,QAAQ,EACR,KAAK,EACL,SAAS,EACT,OAAO,CACN,CAAC;AAEH,MAAMC,qBAAkC,GAAG,EAAE;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,QAAQA,CAAEC,YAA6B,EAAG;EACzD,MAAMC,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAAEC,QAAQ,CAACC,IAAI,CAACC,QAAS,CAAC;EACrD,MAAMC,cAAyB,GAAG,EAAE;EACpCT,qBAAqB,CAACU,IAAI,CAAED,cAAe,CAAC;EAC5C,KAAM,MAAME,OAAO,IAAIR,QAAQ,EAAG;IACjC,IAAKQ,OAAO,KAAKT,YAAY,EAAG;MAC/B;IACD;IAEA,IAAKU,qBAAqB,CAAED,OAAQ,CAAC,EAAG;MACvCA,OAAO,CAACE,YAAY,CAAE,aAAa,EAAE,MAAO,CAAC;MAC7CJ,cAAc,CAACC,IAAI,CAAEC,OAAQ,CAAC;IAC/B;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAED,OAAgB,EAAG;EACzD,MAAMG,IAAI,GAAGH,OAAO,CAACI,YAAY,CAAE,MAAO,CAAC;EAC3C,OAAO,EACNJ,OAAO,CAACK,OAAO,KAAK,QAAQ,IAC5BL,OAAO,CAACM,YAAY,CAAE,QAAS,CAAC,IAChCN,OAAO,CAACM,YAAY,CAAE,aAAc,CAAC,IACrCN,OAAO,CAACM,YAAY,CAAE,WAAY,CAAC,IACjCH,IAAI,IAAIhB,sBAAsB,CAACoB,GAAG,CAAEJ,IAAK,CAAG,CAC9C;AACF;;AAEA;AACA;AACA;AACO,SAASK,UAAUA,CAAA,EAAG;EAC5B,MAAMV,cAAc,GAAGT,qBAAqB,CAACoB,GAAG,CAAC,CAAC;EAClD,IAAK,CAAEX,cAAc,EAAG;IACvB;EACD;EAEA,KAAM,MAAME,OAAO,IAAIF,cAAc,EAAG;IACvCE,OAAO,CAACU,eAAe,CAAE,aAAc,CAAC;EACzC;AACD","ignoreList":[]}
|
package/build/modal/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* wp:polyfill */
|
|
1
2
|
"use strict";
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -287,7 +288,7 @@ function UnforwardedModal(props, forwardedRef) {
|
|
|
287
288
|
})
|
|
288
289
|
})
|
|
289
290
|
});
|
|
290
|
-
return (0, _element.createPortal)(
|
|
291
|
+
return (0, _element.createPortal)(/*#__PURE__*/(0, _jsxRuntime.jsx)(ModalContext.Provider, {
|
|
291
292
|
value: nestedDismissers,
|
|
292
293
|
children: modal
|
|
293
294
|
}), document.body);
|