@wordpress/components 19.17.0 → 20.0.1-next.d6164808d3.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 +68 -1
- package/build/alignment-matrix-control/index.js +1 -1
- package/build/alignment-matrix-control/index.js.map +1 -1
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build/angle-picker-control/index.js +3 -0
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/angle-picker-control/styles/angle-picker-control-styles.js +14 -4
- package/build/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build/autocomplete/index.js +9 -11
- package/build/autocomplete/index.js.map +1 -1
- package/build/base-control/styles/base-control-styles.js +8 -8
- package/build/base-control/styles/base-control-styles.js.map +1 -1
- package/build/base-field/styles.js +5 -5
- package/build/base-field/styles.js.map +1 -1
- package/build/box-control/styles/box-control-visualizer-styles.js +8 -8
- package/build/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build/color-list-picker/index.js +16 -5
- package/build/color-list-picker/index.js.map +1 -1
- package/build/color-palette/index.js +22 -12
- package/build/color-palette/index.js.map +1 -1
- package/build/color-palette/index.native.js +3 -3
- package/build/color-palette/index.native.js.map +1 -1
- package/build/combobox-control/index.js +7 -4
- package/build/combobox-control/index.js.map +1 -1
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
- package/build/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
- package/build/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
- package/build/custom-gradient-picker/gradient-bar/index.js.map +1 -0
- package/build/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
- package/build/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
- package/build/custom-gradient-picker/index.js +19 -4
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/custom-select-control/index.js +21 -11
- package/build/custom-select-control/index.js.map +1 -1
- package/build/custom-select-control/styles.js +34 -0
- package/build/custom-select-control/styles.js.map +1 -0
- package/build/date-time/constants.js +9 -0
- package/build/date-time/constants.js.map +1 -0
- package/build/date-time/date/index.js +175 -186
- package/build/date-time/date/index.js.map +1 -1
- package/build/date-time/date/styles.js +59 -40
- package/build/date-time/date/styles.js.map +1 -1
- package/build/date-time/date-time/index.js +5 -2
- package/build/date-time/date-time/index.js.map +1 -1
- package/build/date-time/time/index.js +22 -17
- package/build/date-time/time/index.js.map +1 -1
- package/build/date-time/utils.js +27 -0
- package/build/date-time/utils.js.map +1 -0
- package/build/dimension-control/index.js +2 -6
- package/build/dimension-control/index.js.map +1 -1
- package/build/disabled/index.js +28 -11
- package/build/disabled/index.js.map +1 -1
- package/build/disabled/styles/disabled-styles.js +3 -3
- package/build/disabled/styles/disabled-styles.js.map +1 -1
- package/build/{swatch → disabled}/types.js +0 -0
- package/build/{swatch → disabled}/types.js.map +0 -0
- package/build/dropdown/index.js +5 -6
- package/build/dropdown/index.js.map +1 -1
- package/build/duotone-picker/custom-duotone-bar.js +2 -2
- package/build/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build/duotone-picker/duotone-picker.js +9 -1
- package/build/duotone-picker/duotone-picker.js.map +1 -1
- package/build/duotone-picker/duotone-swatch.js +13 -3
- package/build/duotone-picker/duotone-swatch.js.map +1 -1
- package/build/focal-point-picker/index.js +4 -6
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-style.js +4 -4
- package/build/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build/font-size-picker/index.js +43 -14
- package/build/font-size-picker/index.js.map +1 -1
- package/build/font-size-picker/utils.js +32 -22
- package/build/font-size-picker/utils.js.map +1 -1
- package/build/form-token-field/index.js +11 -5
- package/build/form-token-field/index.js.map +1 -1
- package/build/gradient-picker/index.js +15 -3
- package/build/gradient-picker/index.js.map +1 -1
- package/build/guide/index.js +5 -3
- package/build/guide/index.js.map +1 -1
- package/build/guide/page-control.js +3 -7
- package/build/guide/page-control.js.map +1 -1
- package/build/item-group/styles.js +10 -10
- package/build/item-group/styles.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js +3 -6
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +3 -1
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/mobile/image/index.native.js +6 -26
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/picker/index.android.js +3 -3
- package/build/mobile/picker/index.android.js.map +1 -1
- package/build/modal/index.js +1 -3
- package/build/modal/index.js.map +1 -1
- package/build/navigable-container/container.js +9 -8
- package/build/navigable-container/container.js.map +1 -1
- package/build/navigator/navigator-back-button/hook.js +0 -4
- package/build/navigator/navigator-back-button/hook.js.map +1 -1
- package/build/navigator/navigator-button/hook.js +0 -4
- package/build/navigator/navigator-button/hook.js.map +1 -1
- package/build/notice/list.js +10 -6
- package/build/notice/list.js.map +1 -1
- package/build/palette-edit/index.js +1 -0
- package/build/palette-edit/index.js.map +1 -1
- package/build/palette-edit/styles.js +10 -10
- package/build/palette-edit/styles.js.map +1 -1
- package/build/popover/index.js +100 -97
- package/build/popover/index.js.map +1 -1
- package/build/popover/utils.js +178 -0
- package/build/popover/utils.js.map +1 -0
- package/build/range-control/index.js +3 -0
- package/build/range-control/index.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +43 -37
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/select-control/chevron-down.js +30 -0
- package/build/select-control/chevron-down.js.map +1 -0
- package/build/select-control/index.js +7 -7
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +30 -15
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/snackbar/list.js +5 -3
- package/build/snackbar/list.js.map +1 -1
- package/build/spinner/index.js +2 -0
- package/build/spinner/index.js.map +1 -1
- package/build/text/styles.js +7 -7
- package/build/text/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +16 -8
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +7 -5
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/component.js +15 -5
- package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js +20 -7
- package/build/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js +26 -7
- package/build/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build/tools-panel/styles.js +11 -11
- package/build/tools-panel/styles.js.map +1 -1
- package/build/ui/context/context-connect.js +1 -3
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/unit-control/index.js +2 -3
- package/build/unit-control/index.js.map +1 -1
- package/build/utils/colors-values.js +52 -142
- package/build/utils/colors-values.js.map +1 -1
- package/build/utils/config-values.js +1 -1
- package/build/utils/config-values.js.map +1 -1
- package/build/utils/input/input-control.js +1 -1
- package/build/utils/input/input-control.js.map +1 -1
- package/build/utils/rtl.js +6 -5
- package/build/utils/rtl.js.map +1 -1
- package/build/utils/strings.js +50 -0
- package/build/utils/strings.js.map +1 -0
- package/build-module/alignment-matrix-control/index.js +1 -1
- package/build-module/alignment-matrix-control/index.js.map +1 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +9 -9
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build-module/angle-picker-control/index.js +3 -0
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js +13 -4
- package/build-module/angle-picker-control/styles/angle-picker-control-styles.js.map +1 -1
- package/build-module/autocomplete/index.js +9 -10
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/base-control/styles/base-control-styles.js +8 -8
- package/build-module/base-control/styles/base-control-styles.js.map +1 -1
- package/build-module/base-field/styles.js +5 -5
- package/build-module/base-field/styles.js.map +1 -1
- package/build-module/box-control/styles/box-control-visualizer-styles.js +8 -8
- package/build-module/box-control/styles/box-control-visualizer-styles.js.map +1 -1
- package/build-module/color-list-picker/index.js +13 -5
- package/build-module/color-list-picker/index.js.map +1 -1
- package/build-module/color-palette/index.js +22 -11
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/color-palette/index.native.js +4 -4
- package/build-module/color-palette/index.native.js.map +1 -1
- package/build-module/combobox-control/index.js +6 -3
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
- package/build-module/custom-gradient-picker/gradient-bar/constants.js.map +1 -0
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +34 -41
- package/build-module/custom-gradient-picker/gradient-bar/control-points.js.map +1 -0
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -1
- package/build-module/custom-gradient-picker/gradient-bar/index.js.map +1 -0
- package/build-module/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
- package/build-module/custom-gradient-picker/gradient-bar/utils.js.map +1 -0
- package/build-module/custom-gradient-picker/index.js +16 -3
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/custom-select-control/index.js +20 -12
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/custom-select-control/styles.js +22 -0
- package/build-module/custom-select-control/styles.js.map +1 -0
- package/build-module/date-time/constants.js +2 -0
- package/build-module/date-time/constants.js.map +1 -0
- package/build-module/date-time/date/index.js +178 -184
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/date-time/date/styles.js +47 -38
- package/build-module/date-time/date/styles.js.map +1 -1
- package/build-module/date-time/date-time/index.js +4 -2
- package/build-module/date-time/date-time/index.js.map +1 -1
- package/build-module/date-time/time/index.js +20 -16
- package/build-module/date-time/time/index.js.map +1 -1
- package/build-module/date-time/utils.js +19 -0
- package/build-module/date-time/utils.js.map +1 -0
- package/build-module/dimension-control/index.js +1 -5
- package/build-module/dimension-control/index.js.map +1 -1
- package/build-module/disabled/index.js +28 -11
- package/build-module/disabled/index.js.map +1 -1
- package/build-module/disabled/styles/disabled-styles.js +3 -3
- package/build-module/disabled/styles/disabled-styles.js.map +1 -1
- package/build-module/{swatch → disabled}/types.js +0 -0
- package/build-module/{swatch → disabled}/types.js.map +0 -0
- package/build-module/dropdown/index.js +5 -6
- package/build-module/dropdown/index.js.map +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js +1 -1
- package/build-module/duotone-picker/custom-duotone-bar.js.map +1 -1
- package/build-module/duotone-picker/duotone-picker.js +7 -1
- package/build-module/duotone-picker/duotone-picker.js.map +1 -1
- package/build-module/duotone-picker/duotone-swatch.js +11 -3
- package/build-module/duotone-picker/duotone-swatch.js.map +1 -1
- package/build-module/focal-point-picker/index.js +4 -5
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-style.js +4 -4
- package/build-module/focal-point-picker/styles/focal-point-style.js.map +1 -1
- package/build-module/font-size-picker/index.js +39 -14
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/font-size-picker/utils.js +31 -23
- package/build-module/font-size-picker/utils.js.map +1 -1
- package/build-module/form-token-field/index.js +12 -6
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/gradient-picker/index.js +14 -3
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/guide/index.js +5 -3
- package/build-module/guide/index.js.map +1 -1
- package/build-module/guide/page-control.js +3 -6
- package/build-module/guide/page-control.js.map +1 -1
- package/build-module/item-group/styles.js +10 -10
- package/build-module/item-group/styles.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js +3 -5
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +2 -1
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +8 -28
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/picker/index.android.js +3 -3
- package/build-module/mobile/picker/index.android.js.map +1 -1
- package/build-module/modal/index.js +1 -2
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigable-container/container.js +9 -7
- package/build-module/navigable-container/container.js.map +1 -1
- package/build-module/navigator/navigator-back-button/hook.js +0 -4
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -1
- package/build-module/navigator/navigator-button/hook.js +0 -4
- package/build-module/navigator/navigator-button/hook.js.map +1 -1
- package/build-module/notice/list.js +10 -5
- package/build-module/notice/list.js.map +1 -1
- package/build-module/palette-edit/index.js +1 -0
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/palette-edit/styles.js +10 -10
- package/build-module/palette-edit/styles.js.map +1 -1
- package/build-module/popover/index.js +100 -98
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/utils.js +164 -0
- package/build-module/popover/utils.js.map +1 -0
- package/build-module/range-control/index.js +3 -0
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +43 -37
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/select-control/chevron-down.js +21 -0
- package/build-module/select-control/chevron-down.js.map +1 -0
- package/build-module/select-control/index.js +7 -7
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +24 -13
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/snackbar/list.js +5 -2
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/spinner/index.js +2 -0
- package/build-module/spinner/index.js.map +1 -1
- package/build-module/text/styles.js +7 -7
- package/build-module/text/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +14 -7
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +5 -4
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option/component.js +17 -3
- package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +5 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js +16 -6
- package/build-module/toggle-group-control/toggle-group-control-option-base/styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js +27 -5
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.js.map +1 -1
- package/build-module/tools-panel/styles.js +11 -11
- package/build-module/tools-panel/styles.js.map +1 -1
- package/build-module/ui/context/context-connect.js +1 -2
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/unit-control/index.js +2 -2
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/utils/colors-values.js +52 -141
- package/build-module/utils/colors-values.js.map +1 -1
- package/build-module/utils/config-values.js +1 -1
- package/build-module/utils/config-values.js.map +1 -1
- package/build-module/utils/input/input-control.js +1 -1
- package/build-module/utils/input/input-control.js.map +1 -1
- package/build-module/utils/rtl.js +6 -4
- package/build-module/utils/rtl.js.map +1 -1
- package/build-module/utils/strings.js +37 -0
- package/build-module/utils/strings.js.map +1 -0
- package/build-style/style-rtl.css +176 -1227
- package/build-style/style.css +171 -1225
- package/build-types/color-palette/index.d.ts +2 -1
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +2 -2
- package/build-types/date-time/constants.d.ts +2 -0
- package/build-types/date-time/constants.d.ts.map +1 -0
- package/build-types/date-time/date/index.d.ts +3 -1
- package/build-types/date-time/date/index.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +22 -8
- package/build-types/date-time/date/styles.d.ts.map +1 -1
- package/build-types/date-time/date/test/index.d.ts +1 -1
- package/build-types/date-time/date/test/index.d.ts.map +1 -1
- package/build-types/date-time/date-time/index.d.ts.map +1 -1
- package/build-types/date-time/time/index.d.ts.map +1 -1
- package/build-types/date-time/utils.d.ts +8 -0
- package/build-types/date-time/utils.d.ts.map +1 -0
- package/build-types/disabled/index.d.ts +35 -28
- package/build-types/disabled/index.d.ts.map +1 -1
- package/build-types/disabled/stories/index.d.ts +13 -0
- package/build-types/disabled/stories/index.d.ts.map +1 -0
- package/build-types/disabled/styles/disabled-styles.d.ts +2 -1
- package/build-types/disabled/styles/disabled-styles.d.ts.map +1 -1
- package/build-types/disabled/test/index.d.ts +2 -0
- package/build-types/{flyout/flyout → disabled/test}/index.d.ts.map +1 -1
- package/build-types/disabled/types.d.ts +14 -0
- package/build-types/disabled/types.d.ts.map +1 -0
- package/build-types/dropdown/index.d.ts.map +1 -1
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/stories/index.d.ts +1 -0
- package/build-types/form-token-field/stories/index.d.ts.map +1 -1
- package/build-types/form-token-field/types.d.ts +7 -0
- package/build-types/form-token-field/types.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +0 -3
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +0 -3
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
- package/build-types/placeholder/test/index.d.ts +2 -0
- package/build-types/{flyout → placeholder/test}/index.d.ts.map +1 -1
- package/build-types/popover/index.d.ts +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/utils.d.ts +26 -69
- package/build-types/popover/utils.d.ts.map +1 -1
- package/build-types/range-control/index.d.ts +2 -2
- package/build-types/range-control/index.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +5 -2
- package/build-types/range-control/styles/range-control-styles.d.ts.map +1 -1
- package/build-types/range-control/types.d.ts +2 -2
- package/build-types/range-control/types.d.ts.map +1 -1
- package/build-types/select-control/chevron-down.d.ts +4 -0
- package/build-types/select-control/chevron-down.d.ts.map +1 -0
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts +8 -0
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/spinner/index.d.ts.map +1 -1
- package/build-types/toggle-group-control/stories/index.d.ts +25 -0
- package/build-types/toggle-group-control/stories/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/test/index.d.ts +2 -0
- package/build-types/toggle-group-control/test/index.d.ts.map +1 -0
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts +6 -3
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +1 -0
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +6 -7
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts +4 -0
- package/build-types/toggle-group-control/toggle-group-control-option-base/styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +11 -9
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/types.d.ts +23 -10
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/build-types/ui/context/context-connect.d.ts +3 -0
- package/build-types/ui/context/context-connect.d.ts.map +1 -1
- package/build-types/ui/form-group/use-form-group.d.ts +2 -2
- package/build-types/unit-control/index.d.ts +2 -1
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/types.d.ts +5 -1
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/utils/colors-values.d.ts +18 -97
- package/build-types/utils/colors-values.d.ts.map +1 -1
- package/build-types/utils/rtl.d.ts.map +1 -1
- package/build-types/utils/strings.d.ts +2 -0
- package/build-types/utils/strings.d.ts.map +1 -0
- package/package.json +22 -21
- package/src/alignment-matrix-control/index.js +1 -1
- package/src/alignment-matrix-control/stories/index.js +49 -24
- package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +1 -3
- package/src/angle-picker-control/index.js +7 -1
- package/src/angle-picker-control/stories/index.js +8 -5
- package/src/angle-picker-control/styles/angle-picker-control-styles.js +12 -3
- package/src/autocomplete/index.js +9 -18
- package/src/base-control/styles/base-control-styles.ts +1 -1
- package/src/base-field/styles.js +1 -1
- package/src/base-field/test/__snapshots__/index.js.snap +2 -2
- package/src/box-control/styles/box-control-visualizer-styles.js +0 -1
- package/src/box-control/test/index.js +8 -8
- package/src/button/test/index.js +188 -146
- package/src/color-list-picker/index.js +15 -3
- package/src/color-list-picker/style.scss +11 -0
- package/src/color-palette/index.js +32 -16
- package/src/color-palette/index.native.js +10 -6
- package/src/color-palette/stories/index.js +1 -1
- package/src/color-palette/test/__snapshots__/index.js.snap +17 -3
- package/src/combobox-control/index.js +6 -5
- package/src/combobox-control/stories/index.js +9 -3
- package/src/combobox-control/style.scss +0 -1
- package/src/confirm-dialog/test/index.js +85 -62
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/constants.js +0 -0
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/control-points.js +54 -50
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/index.js +0 -3
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/test/utils.js +0 -0
- package/src/{custom-gradient-bar → custom-gradient-picker/gradient-bar}/utils.js +0 -0
- package/src/custom-gradient-picker/index.js +18 -3
- package/src/custom-gradient-picker/stories/index.js +4 -3
- package/src/custom-gradient-picker/style.scss +30 -27
- package/src/custom-select-control/README.md +10 -0
- package/src/custom-select-control/index.js +22 -16
- package/src/custom-select-control/stories/index.js +1 -1
- package/src/custom-select-control/style.scss +0 -12
- package/src/custom-select-control/styles.ts +28 -0
- package/src/custom-select-control/test/index.js +4 -1
- package/src/date-time/constants.ts +1 -0
- package/src/date-time/date/index.tsx +289 -184
- package/src/date-time/date/styles.ts +86 -27
- package/src/date-time/date/test/index.tsx +18 -28
- package/src/date-time/date-time/index.tsx +3 -2
- package/src/date-time/time/index.tsx +23 -19
- package/src/date-time/utils.ts +17 -0
- package/src/dimension-control/index.js +1 -5
- package/src/disabled/index.tsx +80 -0
- package/src/disabled/stories/index.tsx +87 -0
- package/src/disabled/styles/{disabled-styles.js → disabled-styles.tsx} +0 -0
- package/src/disabled/test/index.tsx +174 -0
- package/src/disabled/types.ts +13 -0
- package/src/dropdown/index.js +3 -5
- package/src/dropdown-menu/stories/index.js +13 -2
- package/src/duotone-picker/custom-duotone-bar.js +1 -1
- package/src/duotone-picker/duotone-picker.js +34 -26
- package/src/duotone-picker/duotone-swatch.js +12 -5
- package/src/duotone-picker/stories/duotone-picker.js +66 -0
- package/src/duotone-picker/stories/duotone-swatch.js +32 -0
- package/src/focal-point-picker/index.js +10 -5
- package/src/focal-point-picker/styles/focal-point-style.js +0 -1
- package/src/focal-point-picker/test/index.js +78 -45
- package/src/font-size-picker/index.js +161 -144
- package/src/font-size-picker/stories/index.js +1 -0
- package/src/font-size-picker/style.scss +8 -5
- package/src/font-size-picker/test/index.js +13 -6
- package/src/font-size-picker/test/{util.js → utils.js} +77 -1
- package/src/font-size-picker/utils.js +38 -23
- package/src/form-token-field/README.md +1 -0
- package/src/form-token-field/index.tsx +24 -10
- package/src/form-token-field/stories/index.tsx +8 -0
- package/src/form-token-field/test/index.js +31 -0
- package/src/form-token-field/types.ts +7 -0
- package/src/gradient-picker/index.js +22 -7
- package/src/gradient-picker/stories/index.js +56 -81
- package/src/guide/index.js +3 -1
- package/src/guide/page-control.js +1 -6
- package/src/guide/stories/index.js +12 -11
- package/src/guide/test/index.js +54 -37
- package/src/guide/test/page-control.js +14 -17
- package/src/higher-order/with-notices/test/index.js +4 -2
- package/src/higher-order/with-spoken-messages/test/index.js +1 -1
- package/src/item-group/styles.ts +3 -3
- package/src/menu-group/test/index.js +18 -7
- package/src/mobile/bottom-sheet/index.native.js +2 -4
- package/src/mobile/global-styles-context/utils.native.js +2 -1
- package/src/mobile/image/index.native.js +9 -30
- package/src/mobile/picker/index.android.js +10 -4
- package/src/mobile/picker/styles.native.scss +4 -4
- package/src/modal/index.js +1 -2
- package/src/modal/test/index.js +11 -9
- package/src/navigable-container/container.js +12 -18
- package/src/navigable-container/test/menu.js +14 -11
- package/src/navigator/navigator-back-button/hook.ts +0 -3
- package/src/navigator/navigator-button/hook.ts +0 -3
- package/src/notice/list.js +12 -10
- package/src/palette-edit/index.js +1 -0
- package/src/palette-edit/styles.js +6 -5
- package/src/placeholder/README.md +1 -1
- package/src/placeholder/style.scss +65 -20
- package/src/placeholder/test/index.tsx +174 -0
- package/src/popover/index.js +133 -112
- package/src/popover/stories/index.js +17 -3
- package/src/popover/test/__snapshots__/index.js.snap +6 -6
- package/src/popover/test/index.js +129 -36
- package/src/popover/utils.js +107 -0
- package/src/range-control/index.tsx +3 -0
- package/src/range-control/styles/range-control-styles.ts +9 -4
- package/src/range-control/types.ts +5 -2
- package/src/select-control/chevron-down.tsx +25 -0
- package/src/select-control/index.tsx +6 -9
- package/src/select-control/styles/select-control-styles.ts +23 -14
- package/src/slot-fill/test/slot.js +5 -5
- package/src/snackbar/list.js +3 -2
- package/src/spinner/index.tsx +2 -0
- package/src/style.scss +0 -2
- package/src/text/styles.js +1 -1
- package/src/text/test/index.tsx +1 -1
- package/src/toggle-group-control/stories/index.tsx +127 -0
- package/src/toggle-group-control/test/__snapshots__/{index.js.snap → index.tsx.snap} +28 -22
- package/src/toggle-group-control/test/{index.js → index.tsx} +2 -4
- package/src/toggle-group-control/toggle-group-control/README.md +2 -0
- package/src/toggle-group-control/toggle-group-control/component.tsx +18 -9
- package/src/toggle-group-control/toggle-group-control/styles.ts +9 -6
- package/src/toggle-group-control/toggle-group-control-option/component.tsx +19 -3
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +3 -0
- package/src/toggle-group-control/toggle-group-control-option-base/styles.ts +18 -0
- package/src/toggle-group-control/toggle-group-control-option-icon/README.md +6 -8
- package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +30 -7
- package/src/toggle-group-control/types.ts +74 -59
- package/src/toolbar/test/index.js +4 -4
- package/src/toolbar-group/test/index.js +9 -15
- package/src/tools-panel/styles.ts +2 -2
- package/src/tools-panel/test/index.js +3 -2
- package/src/tooltip/test/index.js +188 -172
- package/src/ui/context/context-connect.ts +3 -2
- package/src/unit-control/index.tsx +2 -2
- package/src/unit-control/types.ts +10 -1
- package/src/utils/colors-values.js +42 -137
- package/src/utils/config-values.js +1 -1
- package/src/utils/input/input-control.js +6 -6
- package/src/utils/rtl.js +6 -2
- package/src/utils/strings.ts +72 -0
- package/src/utils/test/strings.js +15 -0
- package/tsconfig.json +0 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/custom-gradient-bar/constants.js.map +0 -1
- package/build/custom-gradient-bar/control-points.js.map +0 -1
- package/build/custom-gradient-bar/index.js.map +0 -1
- package/build/custom-gradient-bar/utils.js.map +0 -1
- package/build/date-time/date/utils.js +0 -34
- package/build/date-time/date/utils.js.map +0 -1
- package/build/swatch/index.js +0 -41
- package/build/swatch/index.js.map +0 -1
- package/build-module/custom-gradient-bar/constants.js.map +0 -1
- package/build-module/custom-gradient-bar/control-points.js.map +0 -1
- package/build-module/custom-gradient-bar/index.js.map +0 -1
- package/build-module/custom-gradient-bar/utils.js.map +0 -1
- package/build-module/date-time/date/utils.js +0 -22
- package/build-module/date-time/date/utils.js.map +0 -1
- package/build-module/swatch/index.js +0 -30
- package/build-module/swatch/index.js.map +0 -1
- package/build-types/color-picker/color-display.d.ts +0 -13
- package/build-types/color-picker/color-display.d.ts.map +0 -1
- package/build-types/date-time/date/test/utils.d.ts +0 -2
- package/build-types/date-time/date/test/utils.d.ts.map +0 -1
- package/build-types/date-time/date/utils.d.ts +0 -15
- package/build-types/date-time/date/utils.d.ts.map +0 -1
- package/build-types/flyout/context.d.ts +0 -6
- package/build-types/flyout/context.d.ts.map +0 -1
- package/build-types/flyout/flyout/component.d.ts +0 -21
- package/build-types/flyout/flyout/component.d.ts.map +0 -1
- package/build-types/flyout/flyout/hook.d.ts +0 -270
- package/build-types/flyout/flyout/hook.d.ts.map +0 -1
- package/build-types/flyout/flyout/index.d.ts +0 -3
- package/build-types/flyout/flyout-content/component.d.ts +0 -3
- package/build-types/flyout/flyout-content/component.d.ts.map +0 -1
- package/build-types/flyout/flyout-content/index.d.ts +0 -2
- package/build-types/flyout/flyout-content/index.d.ts.map +0 -1
- package/build-types/flyout/index.d.ts +0 -2
- package/build-types/flyout/styles.d.ts +0 -22
- package/build-types/flyout/styles.d.ts.map +0 -1
- package/build-types/flyout/types.d.ts +0 -80
- package/build-types/flyout/types.d.ts.map +0 -1
- package/build-types/flyout/utils.d.ts +0 -8
- package/build-types/flyout/utils.d.ts.map +0 -1
- package/build-types/swatch/index.d.ts +0 -5
- package/build-types/swatch/index.d.ts.map +0 -1
- package/build-types/swatch/types.d.ts +0 -11
- package/build-types/swatch/types.d.ts.map +0 -1
- package/build-types/utils/hooks/use-combined-ref.d.ts +0 -8
- package/build-types/utils/hooks/use-combined-ref.d.ts.map +0 -1
- package/src/date-time/date/datepicker.scss +0 -863
- package/src/date-time/date/style.scss +0 -85
- package/src/date-time/date/test/utils.ts +0 -32
- package/src/date-time/date/utils.ts +0 -20
- package/src/date-time/style.scss +0 -1
- package/src/disabled/index.js +0 -55
- package/src/disabled/stories/index.js +0 -61
- package/src/disabled/test/index.js +0 -240
- package/src/menu-group/test/__snapshots__/index.js.snap +0 -23
- package/src/placeholder/test/index.js +0 -163
- package/src/swatch/index.tsx +0 -22
- package/src/swatch/style.scss +0 -21
- package/src/swatch/types.ts +0 -11
- package/src/toggle-group-control/stories/index.js +0 -203
- package/src/tools-panel/test/__snapshots__/index.js.snap +0 -210
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/bottom-sheet/index.native.js"],"names":["DEFAULT_LAYOUT_ANIMATION","LayoutAnimation","Presets","easeInEaseOut","BottomSheet","Component","constructor","arguments","onSafeAreaInsetsUpdate","bind","onScroll","isScrolling","onShouldEnableScroll","onDismiss","onShouldSetBottomSheetMaxHeight","setIsFullScreen","onDimensionsChange","onHeaderLayout","onCloseBottomSheet","onHandleClosingBottomSheet","onHardwareButtonPress","onHandleHardwareButtonPress","keyboardShow","keyboardHide","headerHeight","keyboardHeight","lastLayoutAnimation","lastLayoutAnimationFinished","state","safeAreaBottomInset","safeAreaTopInset","bounces","maxHeight","scrollEnabled","handleClosingBottomSheet","handleHardwareButtonPress","isMaxHeightSet","isFullScreen","props","e","isVisible","height","endCoordinates","performKeyboardLayoutAnimation","onSetMaxHeight","onKeyboardShow","onKeyboardHide","event","duration","easing","animationConfig","type","Types","layoutAnimation","update","create","property","Properties","opacity","delete","configureNext","performRegularLayoutAnimation","useLastLayoutAnimation","Platform","OS","componentDidMount","SafeArea","getSafeAreaInsetsForRootView","then","androidModalClosedSubscription","onClose","dimensionsChangeSubscription","Dimensions","addEventListener","keyboardShowListener","Keyboard","addListener","keyboardHideListener","safeAreaEventSubscription","componentWillUnmount","remove","result","safeAreaInsets","bottom","top","setState","width","get","statusBarHeight","StatusBar","currentHeight","maxHeightWithOpenKeyboard","Math","min","nativeEvent","layout","round","isCloseToBottom","layoutMeasurement","contentOffset","contentSize","y","isCloseToTop","value","action","getContentStyle","paddingBottom","styles","scrollableContent","render","title","leftButton","rightButton","header","hideHeader","style","contentStyle","getStylesFromColorScheme","children","withHeaderSeparator","hasNavigation","rest","panResponder","PanResponder","onMoveShouldSetPanResponder","evt","gestureState","dy","backgroundStyle","background","backgroundDark","bottomSheetHeaderTitleStyle","bottomSheetHeaderTitle","bottomSheetHeaderTitleDark","listStyle","flexGrow","flexShrink","setMinHeightToMaxHeight","minHeight","listProps","disableScrollViewPanResponder","onScrollBeginDrag","onScrollEndDrag","scrollEventThrottle","contentContainerStyle","content","emptyHeader","automaticallyAdjustContentInsets","WrapperView","View","ScrollView","getHeader","bottomSheetHeader","flex","separator","showDragIndicator","allowDragIndicator","bottomModal","undefined","panHandlers","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","borderColor","marginTop","backgroundFullScreen","testID","dragIndicator","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","isBottomSheetContentScrolling","getWidth","maxWidth","ThemedBottomSheet","Button","Cell","SubSheet","BottomSheetSubSheet","NavBar","CyclePickerCell","PickerCell","SwitchCell","RangeCell","ColorCell","LinkCell","LinkSuggestionItemCell","RadioCell","NavigationScreen","NavigationContainer"],"mappings":";;;;;;;;;AAuBA;;;;AApBA;;AAYA;;AACA;;AACA;;AAKA;;AAEA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AA7CA;AACA;AACA;;AAiBA;AACA;AACA;;AAKA;AACA;AACA;AAmBA,MAAMA,wBAAwB,GAAGC,6BAAgBC,OAAhB,CAAwBC,aAAzD;;AAEA,MAAMC,WAAN,SAA0BC,kBAA1B,CAAoC;AACnCC,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AACA,SAAKC,sBAAL,GAA8B,KAAKA,sBAAL,CAA4BC,IAA5B,CAAkC,IAAlC,CAA9B;AACA,SAAKC,QAAL,GAAgB,KAAKA,QAAL,CAAcD,IAAd,CAAoB,IAApB,CAAhB;AACA,SAAKE,WAAL,GAAmB,KAAKA,WAAL,CAAiBF,IAAjB,CAAuB,IAAvB,CAAnB;AACA,SAAKG,oBAAL,GAA4B,KAAKA,oBAAL,CAA0BH,IAA1B,CAAgC,IAAhC,CAA5B;AACA,SAAKI,SAAL,GAAiB,KAAKA,SAAL,CAAeJ,IAAf,CAAqB,IAArB,CAAjB;AACA,SAAKK,+BAAL,GACC,KAAKA,+BAAL,CAAqCL,IAArC,CAA2C,IAA3C,CADD;AAGA,SAAKM,eAAL,GAAuB,KAAKA,eAAL,CAAqBN,IAArB,CAA2B,IAA3B,CAAvB;AAEA,SAAKO,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBP,IAAxB,CAA8B,IAA9B,CAA1B;AACA,SAAKQ,cAAL,GAAsB,KAAKA,cAAL,CAAoBR,IAApB,CAA0B,IAA1B,CAAtB;AACA,SAAKS,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBT,IAAxB,CAA8B,IAA9B,CAA1B;AACA,SAAKU,0BAAL,GACC,KAAKA,0BAAL,CAAgCV,IAAhC,CAAsC,IAAtC,CADD;AAEA,SAAKW,qBAAL,GAA6B,KAAKA,qBAAL,CAA2BX,IAA3B,CAAiC,IAAjC,CAA7B;AACA,SAAKY,2BAAL,GACC,KAAKA,2BAAL,CAAiCZ,IAAjC,CAAuC,IAAvC,CADD;AAEA,SAAKa,YAAL,GAAoB,KAAKA,YAAL,CAAkBb,IAAlB,CAAwB,IAAxB,CAApB;AACA,SAAKc,YAAL,GAAoB,KAAKA,YAAL,CAAkBd,IAAlB,CAAwB,IAAxB,CAApB;AAEA,SAAKe,YAAL,GAAoB,CAApB;AACA,SAAKC,cAAL,GAAsB,CAAtB;AACA,SAAKC,mBAAL,GAA2B,IAA3B;AACA,SAAKC,2BAAL,GAAmC,KAAnC;AAEA,SAAKC,KAAL,GAAa;AACZC,MAAAA,mBAAmB,EAAE,CADT;AAEZC,MAAAA,gBAAgB,EAAE,CAFN;AAGZC,MAAAA,OAAO,EAAE,KAHG;AAIZC,MAAAA,SAAS,EAAE,CAJC;AAKZC,MAAAA,aAAa,EAAE,IALH;AAMZtB,MAAAA,WAAW,EAAE,KAND;AAOZuB,MAAAA,wBAAwB,EAAE,IAPd;AAQZC,MAAAA,yBAAyB,EAAE,IARf;AASZC,MAAAA,cAAc,EAAE,IATJ;AAUZC,MAAAA,YAAY,EAAE,KAAKC,KAAL,CAAWD,YAAX,IAA2B;AAV7B,KAAb;AAYA;;AAEDf,EAAAA,YAAY,CAAEiB,CAAF,EAAM;AAAA;;AACjB,QAAK,CAAE,KAAKD,KAAL,CAAWE,SAAlB,EAA8B;AAC7B;AACA;;AAED,UAAM;AAAEC,MAAAA;AAAF,QAAaF,CAAC,CAACG,cAArB;AACA,SAAKjB,cAAL,GAAsBgB,MAAtB;AACA,SAAKE,8BAAL,CAAqCJ,CAArC;AACA,SAAKK,cAAL;AACA,iDAAKN,KAAL,EAAWO,cAAX;AACA;;AAEDtB,EAAAA,YAAY,CAAEgB,CAAF,EAAM;AAAA;;AACjB,QAAK,CAAE,KAAKD,KAAL,CAAWE,SAAlB,EAA8B;AAC7B;AACA;;AAED,SAAKf,cAAL,GAAsB,CAAtB;AACA,SAAKkB,8BAAL,CAAqCJ,CAArC;AACA,SAAKK,cAAL;AACA,mDAAKN,KAAL,EAAWQ,cAAX;AACA;;AAEDH,EAAAA,8BAA8B,CAAEI,KAAF,EAAU;AACvC,UAAM;AAAEC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAAuBF,KAA7B;;AAEA,QAAKC,QAAQ,IAAIC,MAAjB,EAA0B;AACzB;AACA;AACA,YAAMC,eAAe,GAAG;AACvB;AACAF,QAAAA,QAAQ,EAAEA,QAAQ,GAAG,EAAX,GAAgBA,QAAhB,GAA2B,EAFd;AAGvBG,QAAAA,IAAI,EAAElD,6BAAgBmD,KAAhB,CAAuBH,MAAvB,KAAmC;AAHlB,OAAxB;AAKA,YAAMI,eAAe,GAAG;AACvBL,QAAAA,QAAQ,EAAEE,eAAe,CAACF,QADH;AAEvBM,QAAAA,MAAM,EAAEJ,eAFe;AAGvBK,QAAAA,MAAM,EAAE,EACP,GAAGL,eADI;AAEPM,UAAAA,QAAQ,EAAEvD,6BAAgBwD,UAAhB,CAA2BC;AAF9B,SAHe;AAOvBC,QAAAA,MAAM,EAAE,EACP,GAAGT,eADI;AAEPM,UAAAA,QAAQ,EAAEvD,6BAAgBwD,UAAhB,CAA2BC;AAF9B;AAPe,OAAxB;AAYA,WAAK/B,2BAAL,GAAmC,KAAnC;;AACA1B,mCAAgB2D,aAAhB,CAA+BP,eAA/B,EAAgD,MAAM;AACrD,aAAK1B,2BAAL,GAAmC,IAAnC;AACA,OAFD;;AAGA,WAAKD,mBAAL,GAA2B2B,eAA3B;AACA,KAzBD,MAyBO,CACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;AAEDQ,EAAAA,6BAA6B,OAA+B;AAAA,QAA7B;AAAEC,MAAAA;AAAF,KAA6B;;AAC3D;AACA,QACCC,sBAASC,EAAT,KAAgB,SAAhB,IACA,KAAKtC,mBADL,IAEA,CAAE,KAAKC,2BAHR,EAIE;AACD;AACA;;AAED,UAAM0B,eAAe,GAAGS,sBAAsB,GAC3C,KAAKpC,mBAAL,IAA4B1B,wBADe,GAE3CA,wBAFH;AAIA,SAAK2B,2BAAL,GAAmC,KAAnC;;AACA1B,iCAAgB2D,aAAhB,CAA+BP,eAA/B,EAAgD,MAAM;AACrD,WAAK1B,2BAAL,GAAmC,IAAnC;AACA,KAFD;;AAGA,SAAKD,mBAAL,GAA2B2B,eAA3B;AACA;;AAEDY,EAAAA,iBAAiB,GAAG;AACnBC,iCAASC,4BAAT,GAAwCC,IAAxC,CACC,KAAK5D,sBADN;;AAIA,QAAKuD,sBAASC,EAAT,KAAgB,SAArB,EAAiC;AAChC,WAAKK,8BAAL,GAAsC,oDACrC,MAAM;AACL,aAAK/B,KAAL,CAAWgC,OAAX;AACA,OAHoC,CAAtC;AAKA;;AAED,SAAKC,4BAAL,GAAoCC,wBAAWC,gBAAX,CACnC,QADmC,EAEnC,KAAKzD,kBAF8B,CAApC,CAbmB,CAkBnB;AACA;;AACA,SAAK0D,oBAAL,GAA4BC,sBAASC,WAAT,CAC3Bb,sBAASC,EAAT,KAAgB,KAAhB,GAAwB,kBAAxB,GAA6C,iBADlB,EAE3B,KAAK1C,YAFsB,CAA5B;AAIA,SAAKuD,oBAAL,GAA4BF,sBAASC,WAAT,CAC3Bb,sBAASC,EAAT,KAAgB,KAAhB,GAAwB,kBAAxB,GAA6C,iBADlB,EAE3B,KAAKzC,YAFsB,CAA5B;AAKA,SAAKuD,yBAAL,GAAiCZ,6BAASO,gBAAT,CAChC,oCADgC,EAEhC,KAAKjE,sBAF2B,CAAjC;AAIA,SAAKoC,cAAL;AACA;;AAEDmC,EAAAA,oBAAoB,GAAG;AACtB,SAAKR,4BAAL,CAAkCS,MAAlC;AACA,SAAKN,oBAAL,CAA0BM,MAA1B;AACA,SAAKH,oBAAL,CAA0BG,MAA1B;;AACA,QAAK,KAAKX,8BAAV,EAA2C;AAC1C,WAAKA,8BAAL,CAAoCW,MAApC;AACA;;AACD,QAAK,KAAKF,yBAAL,KAAmC,IAAxC,EAA+C;AAC9C;AACA;;AACD,SAAKA,yBAAL,CAA+BE,MAA/B;AACA,SAAKF,yBAAL,GAAiC,IAAjC;AACA;;AAEDtE,EAAAA,sBAAsB,CAAEyE,MAAF,EAAW;AAChC,UAAM;AAAEpD,MAAAA,mBAAF;AAAuBC,MAAAA;AAAvB,QAA4C,KAAKF,KAAvD;;AACA,QAAK,KAAKkD,yBAAL,KAAmC,IAAxC,EAA+C;AAC9C;AACA;;AACD,UAAM;AAAEI,MAAAA;AAAF,QAAqBD,MAA3B;;AACA,QACCpD,mBAAmB,KAAKqD,cAAc,CAACC,MAAvC,IACArD,gBAAgB,KAAKoD,cAAc,CAACE,GAFrC,EAGE;AACD,WAAKC,QAAL,CAAe;AACdxD,QAAAA,mBAAmB,EAAEqD,cAAc,CAACC,MADtB;AAEdrD,QAAAA,gBAAgB,EAAEoD,cAAc,CAACE;AAFnB,OAAf;AAIA;AACD;;AAEDxC,EAAAA,cAAc,GAAG;AAChB,UAAM;AAAEH,MAAAA,MAAF;AAAU6C,MAAAA;AAAV,QAAoBd,wBAAWe,GAAX,CAAgB,QAAhB,CAA1B;;AACA,UAAM;AAAE1D,MAAAA;AAAF,QAA0B,KAAKD,KAArC;AACA,UAAM4D,eAAe,GACpBzB,sBAASC,EAAT,KAAgB,SAAhB,GAA4ByB,uBAAUC,aAAtC,GAAsD,CADvD,CAHgB,CAMhB;;AACA,UAAMC,yBAAyB,GAC9B,QACEnB,wBAAWe,GAAX,CAAgB,QAAhB,EAA2B9C,MAA3B,GACD,KAAKhB,cADJ,GAED+D,eAFC,GAGD,KAAKhE,YAJN,CADD,CAPgB,CAchB;;AACA,QAAK8D,KAAK,GAAG7C,MAAb,EAAsB;AACrB,WAAK4C,QAAL,CAAe;AACdrD,QAAAA,SAAS,EAAE4D,IAAI,CAACC,GAAL,CACV,OAAOpD,MAAP,GAAgB,KAAKjB,YADX,EAEVmE,yBAFU;AADG,OAAf,EADqB,CAOrB;AACA,KARD,MAQO;AACN,WAAKN,QAAL,CAAe;AACdrD,QAAAA,SAAS,EAAE4D,IAAI,CAACC,GAAL,CACVpD,MAAM,GAAG,IAAT,GAAgBZ,mBAAhB,GAAsC,KAAKL,YADjC,EAEVmE,yBAFU;AADG,OAAf;AAMA;AACD;;AAED3E,EAAAA,kBAAkB,GAAG;AACpB,SAAK4B,cAAL;AACA,SAAKyC,QAAL,CAAe;AAAEtD,MAAAA,OAAO,EAAE;AAAX,KAAf;AACA;;AAEDd,EAAAA,cAAc,QAAoB;AAAA,QAAlB;AAAE6E,MAAAA;AAAF,KAAkB;AACjC,UAAM;AAAErD,MAAAA;AAAF,QAAaqD,WAAW,CAACC,MAA/B,CADiC,CAEjC;AACA;;AACA,QACC,KAAKvE,YAAL,KAAsB,CAAtB,IACAoE,IAAI,CAACI,KAAL,CAAYvD,MAAZ,MAAyBmD,IAAI,CAACI,KAAL,CAAY,KAAKxE,YAAjB,CAF1B,EAGE;AACD,WAAKqC,6BAAL,CAAoC;AACnCC,QAAAA,sBAAsB,EAAE;AADW,OAApC;AAGA;;AACD,SAAKtC,YAAL,GAAoBiB,MAApB;AACA,SAAKG,cAAL;AACA;;AAEDqD,EAAAA,eAAe,QAAsD;AAAA,QAApD;AAAEC,MAAAA,iBAAF;AAAqBC,MAAAA,aAArB;AAAoCC,MAAAA;AAApC,KAAoD;AACpE,WACCF,iBAAiB,CAACzD,MAAlB,GAA2B0D,aAAa,CAACE,CAAzC,IACAD,WAAW,CAAC3D,MAAZ,GAAqB0D,aAAa,CAACE,CAFpC;AAIA;;AAEDC,EAAAA,YAAY,QAAsB;AAAA,QAApB;AAAEH,MAAAA;AAAF,KAAoB;AACjC,WAAOA,aAAa,CAACE,CAAd,GAAkB,EAAzB;AACA;;AAED3F,EAAAA,QAAQ,QAAoB;AAAA,QAAlB;AAAEoF,MAAAA;AAAF,KAAkB;;AAC3B,QAAK,KAAKQ,YAAL,CAAmBR,WAAnB,CAAL,EAAwC;AACvC,WAAKT,QAAL,CAAe;AAAEtD,QAAAA,OAAO,EAAE;AAAX,OAAf;AACA,KAFD,MAEO;AACN,WAAKsD,QAAL,CAAe;AAAEtD,QAAAA,OAAO,EAAE;AAAX,OAAf;AACA;AACD;;AAEDlB,EAAAA,SAAS,GAAG;AACX,UAAM;AAAEA,MAAAA;AAAF,QAAgB,KAAKyB,KAA3B;;AAEA,QAAKzB,SAAL,EAAiB;AAChBA,MAAAA,SAAS;AACT;;AAED,SAAKK,kBAAL;AACA;;AAEDN,EAAAA,oBAAoB,CAAE2F,KAAF,EAAU;AAC7B,SAAKlB,QAAL,CAAe;AAAEpD,MAAAA,aAAa,EAAEsE;AAAjB,KAAf;AACA;;AAEDzF,EAAAA,+BAA+B,CAAEyF,KAAF,EAAU;AACxC,SAAKlB,QAAL,CAAe;AAAEjD,MAAAA,cAAc,EAAEmE;AAAlB,KAAf;AACA;;AAED5F,EAAAA,WAAW,CAAE4F,KAAF,EAAU;AACpB,SAAKlB,QAAL,CAAe;AAAE1E,MAAAA,WAAW,EAAE4F;AAAf,KAAf;AACA;;AAEDpF,EAAAA,0BAA0B,CAAEqF,MAAF,EAAW;AACpC,SAAKnB,QAAL,CAAe;AAAEnD,MAAAA,wBAAwB,EAAEsE;AAA5B,KAAf;AACA;;AAEDnF,EAAAA,2BAA2B,CAAEmF,MAAF,EAAW;AACrC,SAAKnB,QAAL,CAAe;AAAElD,MAAAA,yBAAyB,EAAEqE;AAA7B,KAAf;AACA;;AAEDtF,EAAAA,kBAAkB,GAAG;AACpB,UAAM;AAAEoD,MAAAA;AAAF,QAAc,KAAKhC,KAAzB;AACA,UAAM;AAAEJ,MAAAA;AAAF,QAA+B,KAAKN,KAA1C;;AACA,QAAKM,wBAAL,EAAgC;AAC/BA,MAAAA,wBAAwB;AACxB,WAAKf,0BAAL,CAAiC,IAAjC;AACA;;AACD,QAAKmD,OAAL,EAAe;AACdA,MAAAA,OAAO;AACP;;AACD,SAAKxD,+BAAL,CAAsC,IAAtC;AACA;;AAEDC,EAAAA,eAAe,CAAEsB,YAAF,EAAiB;AAC/B,QAAKA,YAAY,KAAK,KAAKT,KAAL,CAAWS,YAAjC,EAAgD;AAC/C,UAAKA,YAAL,EAAoB;AACnB,aAAKgD,QAAL,CAAe;AAAEhD,UAAAA,YAAF;AAAgBD,UAAAA,cAAc,EAAE;AAAhC,SAAf;AACA,OAFD,MAEO;AACN,aAAKiD,QAAL,CAAe;AAAEhD,UAAAA,YAAF;AAAgBD,UAAAA,cAAc,EAAE;AAAhC,SAAf;AACA;AACD;AACD;;AAEDhB,EAAAA,qBAAqB,GAAG;AACvB,UAAM;AAAEkD,MAAAA;AAAF,QAAc,KAAKhC,KAAzB;AACA,UAAM;AAAEH,MAAAA;AAAF,QAAgC,KAAKP,KAA3C;;AACA,QAAKO,yBAAyB,IAAIA,yBAAyB,EAA3D,EAAgE;AAC/D;AACA;;AACD,QAAKmC,OAAL,EAAe;AACd,aAAOA,OAAO,EAAd;AACA;AACD;;AAEDmC,EAAAA,eAAe,GAAG;AACjB,UAAM;AAAE5E,MAAAA;AAAF,QAA0B,KAAKD,KAArC;AACA,WAAO;AACN8E,MAAAA,aAAa,EACZ,CAAE7E,mBAAmB,IAAI,CAAzB,IACA8E,gBAAOC,iBAAP,CAAyBF;AAHpB,KAAP;AAKA;;AAEDG,EAAAA,MAAM,GAAG;AACR,UAAM;AACLC,MAAAA,KAAK,GAAG,EADH;AAELtE,MAAAA,SAFK;AAGLuE,MAAAA,UAHK;AAILC,MAAAA,WAJK;AAKLC,MAAAA,MALK;AAMLC,MAAAA,UANK;AAOLC,MAAAA,KAAK,GAAG,EAPH;AAQLC,MAAAA,YAAY,GAAG,EARV;AASLC,MAAAA,wBATK;AAULC,MAAAA,QAVK;AAWLC,MAAAA,mBAAmB,GAAG,KAXjB;AAYLC,MAAAA,aAZK;AAaL,SAAGC;AAbE,QAcF,KAAKnF,KAdT;AAeA,UAAM;AACLN,MAAAA,SADK;AAELD,MAAAA,OAFK;AAGLF,MAAAA,mBAHK;AAILC,MAAAA,gBAJK;AAKLnB,MAAAA,WALK;AAMLsB,MAAAA,aANK;AAOLG,MAAAA,cAPK;AAQLC,MAAAA;AARK,QASF,KAAKT,KATT;;AAWA,UAAM8F,YAAY,GAAGC,0BAAapE,MAAb,CAAqB;AACzCqE,MAAAA,2BAA2B,EAAE,CAAEC,GAAF,EAAOC,YAAP,KAAyB;AACrD;AACA;AACA,YAAK/D,sBAASC,EAAT,KAAgB,KAArB,EAA6B;AAC5B;AACA;AACA,cAAK8D,YAAY,CAACC,EAAb,GAAkB,CAAlB,IAAuB,CAAEhG,OAA9B,EAAwC;AACvC+F,YAAAA,YAAY,CAACC,EAAb,GAAkB,CAAlB;AACA,mBAAO,IAAP;AACA;AACD;;AACD,eAAO,KAAP;AACA;AAbwC,KAArB,CAArB;;AAgBA,UAAMC,eAAe,GAAGX,wBAAwB,CAC/CV,gBAAOsB,UADwC,EAE/CtB,gBAAOuB,cAFwC,CAAhD;AAKA,UAAMC,2BAA2B,GAAGd,wBAAwB,CAC3DV,gBAAOyB,sBADoD,EAE3DzB,gBAAO0B,0BAFoD,CAA5D;AAKA,QAAIC,SAAS,GAAG,EAAhB;;AACA,QAAKjG,YAAL,EAAoB;AACnBiG,MAAAA,SAAS,GAAG;AAAEC,QAAAA,QAAQ,EAAE,CAAZ;AAAeC,QAAAA,UAAU,EAAE;AAA3B,OAAZ;AACA,KAFD,MAEO,IAAKpG,cAAL,EAAsB;AAC5BkG,MAAAA,SAAS,GAAG;AAAEtG,QAAAA;AAAF,OAAZ,CAD4B,CAG5B;AACA;;AACA,UAAK,KAAKM,KAAL,CAAWmG,uBAAhB,EAA0C;AACzCH,QAAAA,SAAS,CAACI,SAAV,GAAsB1G,SAAtB;AACA;AACD;;AAED,UAAM2G,SAAS,GAAG;AACjBC,MAAAA,6BAA6B,EAAE,IADd;AAEjB7G,MAAAA,OAFiB;AAGjBrB,MAAAA,QAAQ,EAAE,KAAKA,QAHE;AAIjBmI,MAAAA,iBAAiB,EAAE,KAAKA,iBAJP;AAKjBC,MAAAA,eAAe,EAAE,KAAKA,eALL;AAMjBC,MAAAA,mBAAmB,EAAE,EANJ;AAOjBC,MAAAA,qBAAqB,EAAE,CACtBrC,gBAAOsC,OADe,EAEtB/B,UAAU,IAAIP,gBAAOuC,WAFC,EAGtB9B,YAHsB,EAItB/E,YAAY,IAAI;AAAEkG,QAAAA,QAAQ,EAAE;AAAZ,OAJM,CAPN;AAajBpB,MAAAA,KAAK,EAAEmB,SAbU;AAcjBzG,MAAAA,mBAdiB;AAejBI,MAAAA,aAfiB;AAgBjBkH,MAAAA,gCAAgC,EAAE;AAhBjB,KAAlB;AAmBA,UAAMC,WAAW,GAAG5B,aAAa,GAAG6B,iBAAH,GAAUC,uBAA3C;;AAEA,UAAMC,SAAS,GAAG,MACjB,qDACGtC,MAAM,IACP,4BAAC,iBAAD;AAAM,MAAA,KAAK,EAAGN,gBAAO6C;AAArB,OACC,4BAAC,iBAAD;AAAM,MAAA,KAAK,EAAG7C,gBAAO8C;AAArB,OAA8B1C,UAA9B,CADD,EAEC,4BAAC,iBAAD;AACC,MAAA,KAAK,EAAGoB,2BADT;AAEC,MAAA,qBAAqB,EAAG;AAFzB,OAIGrB,KAJH,CAFD,EAQC,4BAAC,iBAAD;AAAM,MAAA,KAAK,EAAGH,gBAAO8C;AAArB,OAA8BzC,WAA9B,CARD,CAFF,EAaGO,mBAAmB,IAAI,4BAAC,iBAAD;AAAM,MAAA,KAAK,EAAGZ,gBAAO+C;AAArB,MAb1B,CADD;;AAkBA,UAAMC,iBAAiB,GAAG,MAAM;AAC/B;AACA,UAAK5F,sBAASC,EAAT,KAAgB,KAAhB,IAAyB,CAAE,KAAKpC,KAAL,CAAWS,YAA3C,EAA0D;AACzD,eAAO,IAAP;AACA,OAJ8B,CAM/B;;;AACA,aAAO,KAAKC,KAAL,CAAWsH,kBAAlB;AACA,KARD;;AAUA,WACC,4BAAC,yBAAD;AACC,MAAA,SAAS,EAAGpH,SADb;AAEC,MAAA,KAAK,EAAGmE,gBAAOkD,WAFhB;AAGC,MAAA,iBAAiB,EAAG,GAHrB;AAIC,MAAA,kBAAkB,EAAG,GAJtB;AAKC,MAAA,0BAA0B,EAAG,EAL9B;AAMC,MAAA,2BAA2B,EAAG,EAN/B;AAOC,MAAA,eAAe,EAAG,GAPnB;AAQC,MAAA,eAAe,EAAG,KAAK3I,kBARxB;AASC,MAAA,iBAAiB,EAAG,KAAKE,qBAT1B;AAUC,MAAA,eAAe,EAAG,KAAKF,kBAVxB;AAWC,MAAA,SAAS,EAAG6C,sBAASC,EAAT,KAAgB,KAAhB,GAAwB,KAAKnD,SAA7B,GAAyCiJ,SAXtD;AAYC,MAAA,WAAW,EACV/F,sBAASC,EAAT,KAAgB,SAAhB,GAA4B,KAAKnD,SAAjC,GAA6CiJ,SAb/C;AAeC,MAAA,cAAc,EAAC,MAfhB;AAgBC,MAAA,wBAAwB,EACvB7H,aAAa,IACbyF,YAAY,CAACqC,WAAb,CAAyBC,wBAlB3B;AAoBC,MAAA,+BAA+B,EAC9B/H,aAAa,IACbyF,YAAY,CAACqC,WAAb,CAAyBE,+BAtB3B;AAwBC,MAAA,qBAAqB,EAAG,KAAK/I,kBAxB9B,CAyBC;AACA;;AA1BD,OA2BM,kBAAMuG,IAAN,EAAY,WAAZ,CA3BN,GA6BC,4BAAC,6BAAD;AACC,MAAA,QAAQ,EAAG1D,sBAASC,EAAT,KAAgB,KAAhB,IAAyB,SADrC;AAEC,MAAA,KAAK,EAAG,EACP,GAAGgE,eADI;AAEPkC,QAAAA,WAAW,EAAE,oBAFN;AAGPC,QAAAA,SAAS,EACRpG,sBAASC,EAAT,KAAgB,KAAhB,IAAyB3B,YAAzB,GACGP,gBADH,GAEG,CANG;AAOP2H,QAAAA,IAAI,EAAEpH,YAAY,GAAG,CAAH,GAAOyH,SAPlB;AAQP,YAAK/F,sBAASC,EAAT,KAAgB,SAAhB,IAA6B3B,YAA7B,GACFsE,gBAAOyD,oBADL,GAEF,EAFH,CARO;AAWP,WAAGjD;AAXI,OAFT;AAeC,MAAA,sBAAsB,EAAG,CAACtF;AAf3B,OAiBC,4BAAC,iBAAD;AACC,MAAA,KAAK,EAAG8E,gBAAOM,MADhB;AAEC,MAAA,QAAQ,EAAG,KAAKhG,cAFjB;AAGC,MAAA,MAAM,EAAI,GAAGwG,IAAI,CAAC4C,MAAL,IAAe,cAAgB;AAH7C,OAKGV,iBAAiB,MAClB,4BAAC,iBAAD;AAAM,MAAA,KAAK,EAAGhD,gBAAO2D;AAArB,MANF,EAQG,CAAEpD,UAAF,IAAgBqC,SAAS,EAR5B,CAjBD,EA2BC,4BAAC,WAAD,EACQ/B,aAAa,GACjB;AAAEL,MAAAA,KAAK,EAAEwB,SAAS,CAACxB;AAAnB,KADiB,GAEjBwB,SAHJ,EAKC,4BAAC,uCAAD;AACC,MAAA,KAAK,EAAG;AACP4B,QAAAA,6BAA6B,EAC5B,KAAK3J,oBAFC;AAGP4J,QAAAA,gCAAgC,EAC/B,KAAK1J,+BAJC;AAKP2J,QAAAA,6BAA6B,EAAE9J,WALxB;AAMPQ,QAAAA,0BAA0B,EACzB,KAAKA,0BAPC;AAQPE,QAAAA,2BAA2B,EAC1B,KAAKA,2BATC;AAUPsH,QAAAA,SAVO;AAWP5H,QAAAA,eAAe,EAAE,KAAKA,eAXf;AAYPc,QAAAA;AAZO;AADT,OAgBG2F,aAAa,GACd,qDAAIF,QAAJ,CADc,GAGd,4BAAC,+BAAD;AAAoB,MAAA,UAAU,EAAG;AAAjC,OACC,qDAAIA,QAAJ,CADD,CAnBF,CALD,EA6BG,CAAEE,aAAF,IACD,4BAAC,iBAAD;AACC,MAAA,KAAK,EAAG;AACP/E,QAAAA,MAAM,EACLZ,mBAAmB,IACnB8E,gBAAOC,iBAAP,CAAyBF;AAHnB;AADT,MA9BF,CA3BD,CA7BD,CADD;AAmGA;;AAziBkC;;AA4iBpC,SAASgE,QAAT,GAAoB;AACnB,SAAO9E,IAAI,CAACC,GAAL,CACNrB,wBAAWe,GAAX,CAAgB,QAAhB,EAA2BD,KADrB,EAENqB,gBAAOsB,UAAP,CAAkB0C,QAFZ,CAAP;AAIA;;AAED,MAAMC,iBAAiB,GAAG,uCAA0BxK,WAA1B,CAA1B;AAEAwK,iBAAiB,CAACF,QAAlB,GAA6BA,QAA7B;AACAE,iBAAiB,CAACC,MAAlB,GAA2BA,eAA3B;AACAD,iBAAiB,CAACE,IAAlB,GAAyBA,aAAzB;AACAF,iBAAiB,CAACG,QAAlB,GAA6BC,iBAA7B;AACAJ,iBAAiB,CAACK,MAAlB,GAA2BA,eAA3B;AACAL,iBAAiB,CAACM,eAAlB,GAAoCA,wBAApC;AACAN,iBAAiB,CAACO,UAAlB,GAA+BA,mBAA/B;AACAP,iBAAiB,CAACQ,UAAlB,GAA+BA,mBAA/B;AACAR,iBAAiB,CAACS,SAAlB,GAA8BA,kBAA9B;AACAT,iBAAiB,CAACU,SAAlB,GAA8BA,kBAA9B;AACAV,iBAAiB,CAACW,QAAlB,GAA6BA,iBAA7B;AACAX,iBAAiB,CAACY,sBAAlB,GAA2CA,+BAA3C;AACAZ,iBAAiB,CAACa,SAAlB,GAA8BA,kBAA9B;AACAb,iBAAiB,CAACc,gBAAlB,GAAqCA,yBAArC;AACAd,iBAAiB,CAACe,mBAAlB,GAAwCA,4BAAxC;eAEef,iB","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tDimensions,\n\tKeyboard,\n\tLayoutAnimation,\n\tPanResponder,\n\tPlatform,\n\tScrollView,\n\tStatusBar,\n\tText,\n\tTouchableHighlight,\n\tView,\n} from 'react-native';\nimport Modal from 'react-native-modal';\nimport SafeArea from 'react-native-safe-area';\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { subscribeAndroidModalClosed } from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport Button from './button';\nimport Cell from './cell';\nimport CyclePickerCell from './cycle-picker-cell';\nimport PickerCell from './picker-cell';\nimport SwitchCell from './switch-cell';\nimport RangeCell from './range-cell';\nimport ColorCell from './color-cell';\nimport LinkCell from './link-cell';\nimport LinkSuggestionItemCell from './link-suggestion-item-cell';\nimport RadioCell from './radio-cell';\nimport NavigationScreen from './bottom-sheet-navigation/navigation-screen';\nimport NavigationContainer from './bottom-sheet-navigation/navigation-container';\nimport KeyboardAvoidingView from './keyboard-avoiding-view';\nimport BottomSheetSubSheet from './sub-sheet';\nimport NavBar from './nav-bar';\nimport { BottomSheetProvider } from './bottom-sheet-context';\n\nconst DEFAULT_LAYOUT_ANIMATION = LayoutAnimation.Presets.easeInEaseOut;\n\nclass BottomSheet extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSafeAreaInsetsUpdate = this.onSafeAreaInsetsUpdate.bind( this );\n\t\tthis.onScroll = this.onScroll.bind( this );\n\t\tthis.isScrolling = this.isScrolling.bind( this );\n\t\tthis.onShouldEnableScroll = this.onShouldEnableScroll.bind( this );\n\t\tthis.onDismiss = this.onDismiss.bind( this );\n\t\tthis.onShouldSetBottomSheetMaxHeight =\n\t\t\tthis.onShouldSetBottomSheetMaxHeight.bind( this );\n\n\t\tthis.setIsFullScreen = this.setIsFullScreen.bind( this );\n\n\t\tthis.onDimensionsChange = this.onDimensionsChange.bind( this );\n\t\tthis.onHeaderLayout = this.onHeaderLayout.bind( this );\n\t\tthis.onCloseBottomSheet = this.onCloseBottomSheet.bind( this );\n\t\tthis.onHandleClosingBottomSheet =\n\t\t\tthis.onHandleClosingBottomSheet.bind( this );\n\t\tthis.onHardwareButtonPress = this.onHardwareButtonPress.bind( this );\n\t\tthis.onHandleHardwareButtonPress =\n\t\t\tthis.onHandleHardwareButtonPress.bind( this );\n\t\tthis.keyboardShow = this.keyboardShow.bind( this );\n\t\tthis.keyboardHide = this.keyboardHide.bind( this );\n\n\t\tthis.headerHeight = 0;\n\t\tthis.keyboardHeight = 0;\n\t\tthis.lastLayoutAnimation = null;\n\t\tthis.lastLayoutAnimationFinished = false;\n\n\t\tthis.state = {\n\t\t\tsafeAreaBottomInset: 0,\n\t\t\tsafeAreaTopInset: 0,\n\t\t\tbounces: false,\n\t\t\tmaxHeight: 0,\n\t\t\tscrollEnabled: true,\n\t\t\tisScrolling: false,\n\t\t\thandleClosingBottomSheet: null,\n\t\t\thandleHardwareButtonPress: null,\n\t\t\tisMaxHeightSet: true,\n\t\t\tisFullScreen: this.props.isFullScreen || false,\n\t\t};\n\t}\n\n\tkeyboardShow( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { height } = e.endCoordinates;\n\t\tthis.keyboardHeight = height;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardShow?.();\n\t}\n\n\tkeyboardHide( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyboardHeight = 0;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardHide?.();\n\t}\n\n\tperformKeyboardLayoutAnimation( event ) {\n\t\tconst { duration, easing } = event;\n\n\t\tif ( duration && easing ) {\n\t\t\t// This layout animation is the same as the React Native's KeyboardAvoidingView component.\n\t\t\t// Reference: https://github.com/facebook/react-native/blob/266b21baf35e052ff28120f79c06c4f6dddc51a9/Libraries/Components/Keyboard/KeyboardAvoidingView.js#L119-L128.\n\t\t\tconst animationConfig = {\n\t\t\t\t// We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m.\n\t\t\t\tduration: duration > 10 ? duration : 10,\n\t\t\t\ttype: LayoutAnimation.Types[ easing ] || 'keyboard',\n\t\t\t};\n\t\t\tconst layoutAnimation = {\n\t\t\t\tduration: animationConfig.duration,\n\t\t\t\tupdate: animationConfig,\n\t\t\t\tcreate: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t\tdelete: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t};\n\t\t\tthis.lastLayoutAnimationFinished = false;\n\t\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t\t} );\n\t\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t\t} else {\n\t\t\t// TODO: Reinstate animations, possibly replacing `LayoutAnimation` with\n\t\t\t// more nuanced `Animated` usage or replacing our custom `BottomSheet`\n\t\t\t// with `@gorhom/bottom-sheet`. This animation was disabled to avoid a\n\t\t\t// preexisting bug: https://github.com/WordPress/gutenberg/issues/30562\n\t\t\t// this.performRegularLayoutAnimation( {\n\t\t\t// \tuseLastLayoutAnimation: false,\n\t\t\t// } );.\n\t\t}\n\t}\n\n\tperformRegularLayoutAnimation( { useLastLayoutAnimation } ) {\n\t\t// On Android, we should prevent triggering multiple layout animations at the same time because it can produce visual glitches.\n\t\tif (\n\t\t\tPlatform.OS === 'android' &&\n\t\t\tthis.lastLayoutAnimation &&\n\t\t\t! this.lastLayoutAnimationFinished\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst layoutAnimation = useLastLayoutAnimation\n\t\t\t? this.lastLayoutAnimation || DEFAULT_LAYOUT_ANIMATION\n\t\t\t: DEFAULT_LAYOUT_ANIMATION;\n\n\t\tthis.lastLayoutAnimationFinished = false;\n\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t} );\n\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t}\n\n\tcomponentDidMount() {\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\n\t\tif ( Platform.OS === 'android' ) {\n\t\t\tthis.androidModalClosedSubscription = subscribeAndroidModalClosed(\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.onClose();\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tthis.dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tthis.onDimensionsChange\n\t\t);\n\n\t\t// 'Will' keyboard events are not available on Android.\n\t\t// Reference: https://reactnative.dev/docs/0.61/keyboard#addlistener.\n\t\tthis.keyboardShowListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow',\n\t\t\tthis.keyboardShow\n\t\t);\n\t\tthis.keyboardHideListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillHide' : 'keyboardDidHide',\n\t\t\tthis.keyboardHide\n\t\t);\n\n\t\tthis.safeAreaEventSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.dimensionsChangeSubscription.remove();\n\t\tthis.keyboardShowListener.remove();\n\t\tthis.keyboardHideListener.remove();\n\t\tif ( this.androidModalClosedSubscription ) {\n\t\t\tthis.androidModalClosedSubscription.remove();\n\t\t}\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.safeAreaEventSubscription.remove();\n\t\tthis.safeAreaEventSubscription = null;\n\t}\n\n\tonSafeAreaInsetsUpdate( result ) {\n\t\tconst { safeAreaBottomInset, safeAreaTopInset } = this.state;\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { safeAreaInsets } = result;\n\t\tif (\n\t\t\tsafeAreaBottomInset !== safeAreaInsets.bottom ||\n\t\t\tsafeAreaTopInset !== safeAreaInsets.top\n\t\t) {\n\t\t\tthis.setState( {\n\t\t\t\tsafeAreaBottomInset: safeAreaInsets.bottom,\n\t\t\t\tsafeAreaTopInset: safeAreaInsets.top,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSetMaxHeight() {\n\t\tconst { height, width } = Dimensions.get( 'window' );\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\tconst statusBarHeight =\n\t\t\tPlatform.OS === 'android' ? StatusBar.currentHeight : 0;\n\n\t\t// `maxHeight` when modal is opened along with a keyboard.\n\t\tconst maxHeightWithOpenKeyboard =\n\t\t\t0.95 *\n\t\t\t( Dimensions.get( 'window' ).height -\n\t\t\t\tthis.keyboardHeight -\n\t\t\t\tstatusBarHeight -\n\t\t\t\tthis.headerHeight );\n\n\t\t// In landscape orientation, set `maxHeight` to ~96% of the height.\n\t\tif ( width > height ) {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\t0.96 * height - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t\t// In portrait orientation, set `maxHeight` to ~59% of the height.\n\t\t} else {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\theight * 0.59 - safeAreaBottomInset - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t}\n\t}\n\n\tonDimensionsChange() {\n\t\tthis.onSetMaxHeight();\n\t\tthis.setState( { bounces: false } );\n\t}\n\n\tonHeaderLayout( { nativeEvent } ) {\n\t\tconst { height } = nativeEvent.layout;\n\t\t// The layout animation should only be triggered if the header\n\t\t// height has changed after being mounted.\n\t\tif (\n\t\t\tthis.headerHeight !== 0 &&\n\t\t\tMath.round( height ) !== Math.round( this.headerHeight )\n\t\t) {\n\t\t\tthis.performRegularLayoutAnimation( {\n\t\t\t\tuseLastLayoutAnimation: true,\n\t\t\t} );\n\t\t}\n\t\tthis.headerHeight = height;\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tisCloseToBottom( { layoutMeasurement, contentOffset, contentSize } ) {\n\t\treturn (\n\t\t\tlayoutMeasurement.height + contentOffset.y >=\n\t\t\tcontentSize.height - contentOffset.y\n\t\t);\n\t}\n\n\tisCloseToTop( { contentOffset } ) {\n\t\treturn contentOffset.y < 10;\n\t}\n\n\tonScroll( { nativeEvent } ) {\n\t\tif ( this.isCloseToTop( nativeEvent ) ) {\n\t\t\tthis.setState( { bounces: false } );\n\t\t} else {\n\t\t\tthis.setState( { bounces: true } );\n\t\t}\n\t}\n\n\tonDismiss() {\n\t\tconst { onDismiss } = this.props;\n\n\t\tif ( onDismiss ) {\n\t\t\tonDismiss();\n\t\t}\n\n\t\tthis.onCloseBottomSheet();\n\t}\n\n\tonShouldEnableScroll( value ) {\n\t\tthis.setState( { scrollEnabled: value } );\n\t}\n\n\tonShouldSetBottomSheetMaxHeight( value ) {\n\t\tthis.setState( { isMaxHeightSet: value } );\n\t}\n\n\tisScrolling( value ) {\n\t\tthis.setState( { isScrolling: value } );\n\t}\n\n\tonHandleClosingBottomSheet( action ) {\n\t\tthis.setState( { handleClosingBottomSheet: action } );\n\t}\n\n\tonHandleHardwareButtonPress( action ) {\n\t\tthis.setState( { handleHardwareButtonPress: action } );\n\t}\n\n\tonCloseBottomSheet() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleClosingBottomSheet } = this.state;\n\t\tif ( handleClosingBottomSheet ) {\n\t\t\thandleClosingBottomSheet();\n\t\t\tthis.onHandleClosingBottomSheet( null );\n\t\t}\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t\tthis.onShouldSetBottomSheetMaxHeight( true );\n\t}\n\n\tsetIsFullScreen( isFullScreen ) {\n\t\tif ( isFullScreen !== this.state.isFullScreen ) {\n\t\t\tif ( isFullScreen ) {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: false } );\n\t\t\t} else {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: true } );\n\t\t\t}\n\t\t}\n\t}\n\n\tonHardwareButtonPress() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleHardwareButtonPress } = this.state;\n\t\tif ( handleHardwareButtonPress && handleHardwareButtonPress() ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( onClose ) {\n\t\t\treturn onClose();\n\t\t}\n\t}\n\n\tgetContentStyle() {\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\treturn {\n\t\t\tpaddingBottom:\n\t\t\t\t( safeAreaBottomInset || 0 ) +\n\t\t\t\tstyles.scrollableContent.paddingBottom,\n\t\t};\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ttitle = '',\n\t\t\tisVisible,\n\t\t\tleftButton,\n\t\t\trightButton,\n\t\t\theader,\n\t\t\thideHeader,\n\t\t\tstyle = {},\n\t\t\tcontentStyle = {},\n\t\t\tgetStylesFromColorScheme,\n\t\t\tchildren,\n\t\t\twithHeaderSeparator = false,\n\t\t\thasNavigation,\n\t\t\t...rest\n\t\t} = this.props;\n\t\tconst {\n\t\t\tmaxHeight,\n\t\t\tbounces,\n\t\t\tsafeAreaBottomInset,\n\t\t\tsafeAreaTopInset,\n\t\t\tisScrolling,\n\t\t\tscrollEnabled,\n\t\t\tisMaxHeightSet,\n\t\t\tisFullScreen,\n\t\t} = this.state;\n\n\t\tconst panResponder = PanResponder.create( {\n\t\t\tonMoveShouldSetPanResponder: ( evt, gestureState ) => {\n\t\t\t\t// 'swiping-to-close' option is temporarily and partially disabled\n\t\t\t\t// on Android ( swipe / drag is still available in the top most area - near drag indicator).\n\t\t\t\tif ( Platform.OS === 'ios' ) {\n\t\t\t\t\t// Activates swipe down over child Touchables if the swipe is long enough.\n\t\t\t\t\t// With this we can adjust sensibility on the swipe vs tap gestures.\n\t\t\t\t\tif ( gestureState.dy > 3 && ! bounces ) {\n\t\t\t\t\t\tgestureState.dy = 0;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t} );\n\n\t\tconst backgroundStyle = getStylesFromColorScheme(\n\t\t\tstyles.background,\n\t\t\tstyles.backgroundDark\n\t\t);\n\n\t\tconst bottomSheetHeaderTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.bottomSheetHeaderTitle,\n\t\t\tstyles.bottomSheetHeaderTitleDark\n\t\t);\n\n\t\tlet listStyle = {};\n\t\tif ( isFullScreen ) {\n\t\t\tlistStyle = { flexGrow: 1, flexShrink: 1 };\n\t\t} else if ( isMaxHeightSet ) {\n\t\t\tlistStyle = { maxHeight };\n\n\t\t\t// Allow setting a \"static\" height of the bottom sheet\n\t\t\t// by setting the min height to the max height.\n\t\t\tif ( this.props.setMinHeightToMaxHeight ) {\n\t\t\t\tlistStyle.minHeight = maxHeight;\n\t\t\t}\n\t\t}\n\n\t\tconst listProps = {\n\t\t\tdisableScrollViewPanResponder: true,\n\t\t\tbounces,\n\t\t\tonScroll: this.onScroll,\n\t\t\tonScrollBeginDrag: this.onScrollBeginDrag,\n\t\t\tonScrollEndDrag: this.onScrollEndDrag,\n\t\t\tscrollEventThrottle: 16,\n\t\t\tcontentContainerStyle: [\n\t\t\t\tstyles.content,\n\t\t\t\thideHeader && styles.emptyHeader,\n\t\t\t\tcontentStyle,\n\t\t\t\tisFullScreen && { flexGrow: 1 },\n\t\t\t],\n\t\t\tstyle: listStyle,\n\t\t\tsafeAreaBottomInset,\n\t\t\tscrollEnabled,\n\t\t\tautomaticallyAdjustContentInsets: false,\n\t\t};\n\n\t\tconst WrapperView = hasNavigation ? View : ScrollView;\n\n\t\tconst getHeader = () => (\n\t\t\t<>\n\t\t\t\t{ header || (\n\t\t\t\t\t<View style={ styles.bottomSheetHeader }>\n\t\t\t\t\t\t<View style={ styles.flex }>{ leftButton }</View>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={ bottomSheetHeaderTitleStyle }\n\t\t\t\t\t\t\tmaxFontSizeMultiplier={ 3 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<View style={ styles.flex }>{ rightButton }</View>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t\t{ withHeaderSeparator && <View style={ styles.separator } /> }\n\t\t\t</>\n\t\t);\n\n\t\tconst showDragIndicator = () => {\n\t\t\t// If iOS or not fullscreen show the drag indicator.\n\t\t\tif ( Platform.OS === 'ios' || ! this.state.isFullScreen ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Otherwise check the allowDragIndicator.\n\t\t\treturn this.props.allowDragIndicator;\n\t\t};\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tisVisible={ isVisible }\n\t\t\t\tstyle={ styles.bottomModal }\n\t\t\t\tanimationInTiming={ 400 }\n\t\t\t\tanimationOutTiming={ 300 }\n\t\t\t\tbackdropTransitionInTiming={ 50 }\n\t\t\t\tbackdropTransitionOutTiming={ 50 }\n\t\t\t\tbackdropOpacity={ 0.2 }\n\t\t\t\tonBackdropPress={ this.onCloseBottomSheet }\n\t\t\t\tonBackButtonPress={ this.onHardwareButtonPress }\n\t\t\t\tonSwipeComplete={ this.onCloseBottomSheet }\n\t\t\t\tonDismiss={ Platform.OS === 'ios' ? this.onDismiss : undefined }\n\t\t\t\tonModalHide={\n\t\t\t\t\tPlatform.OS === 'android' ? this.onDismiss : undefined\n\t\t\t\t}\n\t\t\t\tswipeDirection=\"down\"\n\t\t\t\tonMoveShouldSetResponder={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponder\n\t\t\t\t}\n\t\t\t\tonMoveShouldSetResponderCapture={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponderCapture\n\t\t\t\t}\n\t\t\t\tonAccessibilityEscape={ this.onCloseBottomSheet }\n\t\t\t\t// We need to prevent overwriting the onDismiss prop,\n\t\t\t\t// for this reason it is excluded from the rest object.\n\t\t\t\t{ ...omit( rest, 'onDismiss' ) }\n\t\t\t>\n\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\tbehavior={ Platform.OS === 'ios' && 'padding' }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...backgroundStyle,\n\t\t\t\t\t\tborderColor: 'rgba(0, 0, 0, 0.1)',\n\t\t\t\t\t\tmarginTop:\n\t\t\t\t\t\t\tPlatform.OS === 'ios' && isFullScreen\n\t\t\t\t\t\t\t\t? safeAreaTopInset\n\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\tflex: isFullScreen ? 1 : undefined,\n\t\t\t\t\t\t...( Platform.OS === 'android' && isFullScreen\n\t\t\t\t\t\t\t? styles.backgroundFullScreen\n\t\t\t\t\t\t\t: {} ),\n\t\t\t\t\t\t...style,\n\t\t\t\t\t} }\n\t\t\t\t\tkeyboardVerticalOffset={ -safeAreaBottomInset }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles.header }\n\t\t\t\t\t\tonLayout={ this.onHeaderLayout }\n\t\t\t\t\t\ttestID={ `${ rest.testID || 'bottom-sheet' }-header` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showDragIndicator() && (\n\t\t\t\t\t\t\t<View style={ styles.dragIndicator } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! hideHeader && getHeader() }\n\t\t\t\t\t</View>\n\t\t\t\t\t<WrapperView\n\t\t\t\t\t\t{ ...( hasNavigation\n\t\t\t\t\t\t\t? { style: listProps.style }\n\t\t\t\t\t\t\t: listProps ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BottomSheetProvider\n\t\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll:\n\t\t\t\t\t\t\t\t\tthis.onShouldEnableScroll,\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight:\n\t\t\t\t\t\t\t\t\tthis.onShouldSetBottomSheetMaxHeight,\n\t\t\t\t\t\t\t\tisBottomSheetContentScrolling: isScrolling,\n\t\t\t\t\t\t\t\tonHandleClosingBottomSheet:\n\t\t\t\t\t\t\t\t\tthis.onHandleClosingBottomSheet,\n\t\t\t\t\t\t\t\tonHandleHardwareButtonPress:\n\t\t\t\t\t\t\t\t\tthis.onHandleHardwareButtonPress,\n\t\t\t\t\t\t\t\tlistProps,\n\t\t\t\t\t\t\t\tsetIsFullScreen: this.setIsFullScreen,\n\t\t\t\t\t\t\t\tsafeAreaBottomInset,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasNavigation ? (\n\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<TouchableHighlight accessible={ false }>\n\t\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t\t</TouchableHighlight>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheetProvider>\n\t\t\t\t\t\t{ ! hasNavigation && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\t\tsafeAreaBottomInset ||\n\t\t\t\t\t\t\t\t\t\tstyles.scrollableContent.paddingBottom,\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</WrapperView>\n\t\t\t\t</KeyboardAvoidingView>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nfunction getWidth() {\n\treturn Math.min(\n\t\tDimensions.get( 'window' ).width,\n\t\tstyles.background.maxWidth\n\t);\n}\n\nconst ThemedBottomSheet = withPreferredColorScheme( BottomSheet );\n\nThemedBottomSheet.getWidth = getWidth;\nThemedBottomSheet.Button = Button;\nThemedBottomSheet.Cell = Cell;\nThemedBottomSheet.SubSheet = BottomSheetSubSheet;\nThemedBottomSheet.NavBar = NavBar;\nThemedBottomSheet.CyclePickerCell = CyclePickerCell;\nThemedBottomSheet.PickerCell = PickerCell;\nThemedBottomSheet.SwitchCell = SwitchCell;\nThemedBottomSheet.RangeCell = RangeCell;\nThemedBottomSheet.ColorCell = ColorCell;\nThemedBottomSheet.LinkCell = LinkCell;\nThemedBottomSheet.LinkSuggestionItemCell = LinkSuggestionItemCell;\nThemedBottomSheet.RadioCell = RadioCell;\nThemedBottomSheet.NavigationScreen = NavigationScreen;\nThemedBottomSheet.NavigationContainer = NavigationContainer;\n\nexport default ThemedBottomSheet;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/bottom-sheet/index.native.js"],"names":["DEFAULT_LAYOUT_ANIMATION","LayoutAnimation","Presets","easeInEaseOut","BottomSheet","Component","constructor","arguments","onSafeAreaInsetsUpdate","bind","onScroll","isScrolling","onShouldEnableScroll","onDismiss","onShouldSetBottomSheetMaxHeight","setIsFullScreen","onDimensionsChange","onHeaderLayout","onCloseBottomSheet","onHandleClosingBottomSheet","onHardwareButtonPress","onHandleHardwareButtonPress","keyboardShow","keyboardHide","headerHeight","keyboardHeight","lastLayoutAnimation","lastLayoutAnimationFinished","state","safeAreaBottomInset","safeAreaTopInset","bounces","maxHeight","scrollEnabled","handleClosingBottomSheet","handleHardwareButtonPress","isMaxHeightSet","isFullScreen","props","e","isVisible","height","endCoordinates","performKeyboardLayoutAnimation","onSetMaxHeight","onKeyboardShow","onKeyboardHide","event","duration","easing","animationConfig","type","Types","layoutAnimation","update","create","property","Properties","opacity","delete","configureNext","performRegularLayoutAnimation","useLastLayoutAnimation","Platform","OS","componentDidMount","SafeArea","getSafeAreaInsetsForRootView","then","androidModalClosedSubscription","onClose","dimensionsChangeSubscription","Dimensions","addEventListener","keyboardShowListener","Keyboard","addListener","keyboardHideListener","safeAreaEventSubscription","componentWillUnmount","remove","result","safeAreaInsets","bottom","top","setState","width","get","statusBarHeight","StatusBar","currentHeight","maxHeightWithOpenKeyboard","Math","min","nativeEvent","layout","round","isCloseToBottom","layoutMeasurement","contentOffset","contentSize","y","isCloseToTop","value","action","getContentStyle","paddingBottom","styles","scrollableContent","render","title","leftButton","rightButton","header","hideHeader","style","contentStyle","getStylesFromColorScheme","children","withHeaderSeparator","hasNavigation","rest","panResponder","PanResponder","onMoveShouldSetPanResponder","evt","gestureState","dy","backgroundStyle","background","backgroundDark","bottomSheetHeaderTitleStyle","bottomSheetHeaderTitle","bottomSheetHeaderTitleDark","listStyle","flexGrow","flexShrink","setMinHeightToMaxHeight","minHeight","listProps","disableScrollViewPanResponder","onScrollBeginDrag","onScrollEndDrag","scrollEventThrottle","contentContainerStyle","content","emptyHeader","automaticallyAdjustContentInsets","WrapperView","View","ScrollView","getHeader","bottomSheetHeader","flex","separator","showDragIndicator","allowDragIndicator","bottomModal","undefined","panHandlers","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","borderColor","marginTop","backgroundFullScreen","testID","dragIndicator","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","isBottomSheetContentScrolling","getWidth","maxWidth","ThemedBottomSheet","Button","Cell","SubSheet","BottomSheetSubSheet","NavBar","CyclePickerCell","PickerCell","SwitchCell","RangeCell","ColorCell","LinkCell","LinkSuggestionItemCell","RadioCell","NavigationScreen","NavigationContainer"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tDimensions,\n\tKeyboard,\n\tLayoutAnimation,\n\tPanResponder,\n\tPlatform,\n\tScrollView,\n\tStatusBar,\n\tText,\n\tTouchableHighlight,\n\tView,\n} from 'react-native';\nimport Modal from 'react-native-modal';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport { subscribeAndroidModalClosed } from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport Button from './button';\nimport Cell from './cell';\nimport CyclePickerCell from './cycle-picker-cell';\nimport PickerCell from './picker-cell';\nimport SwitchCell from './switch-cell';\nimport RangeCell from './range-cell';\nimport ColorCell from './color-cell';\nimport LinkCell from './link-cell';\nimport LinkSuggestionItemCell from './link-suggestion-item-cell';\nimport RadioCell from './radio-cell';\nimport NavigationScreen from './bottom-sheet-navigation/navigation-screen';\nimport NavigationContainer from './bottom-sheet-navigation/navigation-container';\nimport KeyboardAvoidingView from './keyboard-avoiding-view';\nimport BottomSheetSubSheet from './sub-sheet';\nimport NavBar from './nav-bar';\nimport { BottomSheetProvider } from './bottom-sheet-context';\n\nconst DEFAULT_LAYOUT_ANIMATION = LayoutAnimation.Presets.easeInEaseOut;\n\nclass BottomSheet extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSafeAreaInsetsUpdate = this.onSafeAreaInsetsUpdate.bind( this );\n\t\tthis.onScroll = this.onScroll.bind( this );\n\t\tthis.isScrolling = this.isScrolling.bind( this );\n\t\tthis.onShouldEnableScroll = this.onShouldEnableScroll.bind( this );\n\t\tthis.onDismiss = this.onDismiss.bind( this );\n\t\tthis.onShouldSetBottomSheetMaxHeight =\n\t\t\tthis.onShouldSetBottomSheetMaxHeight.bind( this );\n\n\t\tthis.setIsFullScreen = this.setIsFullScreen.bind( this );\n\n\t\tthis.onDimensionsChange = this.onDimensionsChange.bind( this );\n\t\tthis.onHeaderLayout = this.onHeaderLayout.bind( this );\n\t\tthis.onCloseBottomSheet = this.onCloseBottomSheet.bind( this );\n\t\tthis.onHandleClosingBottomSheet =\n\t\t\tthis.onHandleClosingBottomSheet.bind( this );\n\t\tthis.onHardwareButtonPress = this.onHardwareButtonPress.bind( this );\n\t\tthis.onHandleHardwareButtonPress =\n\t\t\tthis.onHandleHardwareButtonPress.bind( this );\n\t\tthis.keyboardShow = this.keyboardShow.bind( this );\n\t\tthis.keyboardHide = this.keyboardHide.bind( this );\n\n\t\tthis.headerHeight = 0;\n\t\tthis.keyboardHeight = 0;\n\t\tthis.lastLayoutAnimation = null;\n\t\tthis.lastLayoutAnimationFinished = false;\n\n\t\tthis.state = {\n\t\t\tsafeAreaBottomInset: 0,\n\t\t\tsafeAreaTopInset: 0,\n\t\t\tbounces: false,\n\t\t\tmaxHeight: 0,\n\t\t\tscrollEnabled: true,\n\t\t\tisScrolling: false,\n\t\t\thandleClosingBottomSheet: null,\n\t\t\thandleHardwareButtonPress: null,\n\t\t\tisMaxHeightSet: true,\n\t\t\tisFullScreen: this.props.isFullScreen || false,\n\t\t};\n\t}\n\n\tkeyboardShow( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { height } = e.endCoordinates;\n\t\tthis.keyboardHeight = height;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardShow?.();\n\t}\n\n\tkeyboardHide( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyboardHeight = 0;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardHide?.();\n\t}\n\n\tperformKeyboardLayoutAnimation( event ) {\n\t\tconst { duration, easing } = event;\n\n\t\tif ( duration && easing ) {\n\t\t\t// This layout animation is the same as the React Native's KeyboardAvoidingView component.\n\t\t\t// Reference: https://github.com/facebook/react-native/blob/266b21baf35e052ff28120f79c06c4f6dddc51a9/Libraries/Components/Keyboard/KeyboardAvoidingView.js#L119-L128.\n\t\t\tconst animationConfig = {\n\t\t\t\t// We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m.\n\t\t\t\tduration: duration > 10 ? duration : 10,\n\t\t\t\ttype: LayoutAnimation.Types[ easing ] || 'keyboard',\n\t\t\t};\n\t\t\tconst layoutAnimation = {\n\t\t\t\tduration: animationConfig.duration,\n\t\t\t\tupdate: animationConfig,\n\t\t\t\tcreate: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t\tdelete: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t};\n\t\t\tthis.lastLayoutAnimationFinished = false;\n\t\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t\t} );\n\t\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t\t} else {\n\t\t\t// TODO: Reinstate animations, possibly replacing `LayoutAnimation` with\n\t\t\t// more nuanced `Animated` usage or replacing our custom `BottomSheet`\n\t\t\t// with `@gorhom/bottom-sheet`. This animation was disabled to avoid a\n\t\t\t// preexisting bug: https://github.com/WordPress/gutenberg/issues/30562\n\t\t\t// this.performRegularLayoutAnimation( {\n\t\t\t// \tuseLastLayoutAnimation: false,\n\t\t\t// } );.\n\t\t}\n\t}\n\n\tperformRegularLayoutAnimation( { useLastLayoutAnimation } ) {\n\t\t// On Android, we should prevent triggering multiple layout animations at the same time because it can produce visual glitches.\n\t\tif (\n\t\t\tPlatform.OS === 'android' &&\n\t\t\tthis.lastLayoutAnimation &&\n\t\t\t! this.lastLayoutAnimationFinished\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst layoutAnimation = useLastLayoutAnimation\n\t\t\t? this.lastLayoutAnimation || DEFAULT_LAYOUT_ANIMATION\n\t\t\t: DEFAULT_LAYOUT_ANIMATION;\n\n\t\tthis.lastLayoutAnimationFinished = false;\n\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t} );\n\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t}\n\n\tcomponentDidMount() {\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\n\t\tif ( Platform.OS === 'android' ) {\n\t\t\tthis.androidModalClosedSubscription = subscribeAndroidModalClosed(\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.onClose();\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tthis.dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tthis.onDimensionsChange\n\t\t);\n\n\t\t// 'Will' keyboard events are not available on Android.\n\t\t// Reference: https://reactnative.dev/docs/0.61/keyboard#addlistener.\n\t\tthis.keyboardShowListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow',\n\t\t\tthis.keyboardShow\n\t\t);\n\t\tthis.keyboardHideListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillHide' : 'keyboardDidHide',\n\t\t\tthis.keyboardHide\n\t\t);\n\n\t\tthis.safeAreaEventSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.dimensionsChangeSubscription.remove();\n\t\tthis.keyboardShowListener.remove();\n\t\tthis.keyboardHideListener.remove();\n\t\tif ( this.androidModalClosedSubscription ) {\n\t\t\tthis.androidModalClosedSubscription.remove();\n\t\t}\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.safeAreaEventSubscription.remove();\n\t\tthis.safeAreaEventSubscription = null;\n\t}\n\n\tonSafeAreaInsetsUpdate( result ) {\n\t\tconst { safeAreaBottomInset, safeAreaTopInset } = this.state;\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { safeAreaInsets } = result;\n\t\tif (\n\t\t\tsafeAreaBottomInset !== safeAreaInsets.bottom ||\n\t\t\tsafeAreaTopInset !== safeAreaInsets.top\n\t\t) {\n\t\t\tthis.setState( {\n\t\t\t\tsafeAreaBottomInset: safeAreaInsets.bottom,\n\t\t\t\tsafeAreaTopInset: safeAreaInsets.top,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSetMaxHeight() {\n\t\tconst { height, width } = Dimensions.get( 'window' );\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\tconst statusBarHeight =\n\t\t\tPlatform.OS === 'android' ? StatusBar.currentHeight : 0;\n\n\t\t// `maxHeight` when modal is opened along with a keyboard.\n\t\tconst maxHeightWithOpenKeyboard =\n\t\t\t0.95 *\n\t\t\t( Dimensions.get( 'window' ).height -\n\t\t\t\tthis.keyboardHeight -\n\t\t\t\tstatusBarHeight -\n\t\t\t\tthis.headerHeight );\n\n\t\t// In landscape orientation, set `maxHeight` to ~96% of the height.\n\t\tif ( width > height ) {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\t0.96 * height - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t\t// In portrait orientation, set `maxHeight` to ~59% of the height.\n\t\t} else {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\theight * 0.59 - safeAreaBottomInset - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t}\n\t}\n\n\tonDimensionsChange() {\n\t\tthis.onSetMaxHeight();\n\t\tthis.setState( { bounces: false } );\n\t}\n\n\tonHeaderLayout( { nativeEvent } ) {\n\t\tconst { height } = nativeEvent.layout;\n\t\t// The layout animation should only be triggered if the header\n\t\t// height has changed after being mounted.\n\t\tif (\n\t\t\tthis.headerHeight !== 0 &&\n\t\t\tMath.round( height ) !== Math.round( this.headerHeight )\n\t\t) {\n\t\t\tthis.performRegularLayoutAnimation( {\n\t\t\t\tuseLastLayoutAnimation: true,\n\t\t\t} );\n\t\t}\n\t\tthis.headerHeight = height;\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tisCloseToBottom( { layoutMeasurement, contentOffset, contentSize } ) {\n\t\treturn (\n\t\t\tlayoutMeasurement.height + contentOffset.y >=\n\t\t\tcontentSize.height - contentOffset.y\n\t\t);\n\t}\n\n\tisCloseToTop( { contentOffset } ) {\n\t\treturn contentOffset.y < 10;\n\t}\n\n\tonScroll( { nativeEvent } ) {\n\t\tif ( this.isCloseToTop( nativeEvent ) ) {\n\t\t\tthis.setState( { bounces: false } );\n\t\t} else {\n\t\t\tthis.setState( { bounces: true } );\n\t\t}\n\t}\n\n\tonDismiss() {\n\t\tconst { onDismiss } = this.props;\n\n\t\tif ( onDismiss ) {\n\t\t\tonDismiss();\n\t\t}\n\n\t\tthis.onCloseBottomSheet();\n\t}\n\n\tonShouldEnableScroll( value ) {\n\t\tthis.setState( { scrollEnabled: value } );\n\t}\n\n\tonShouldSetBottomSheetMaxHeight( value ) {\n\t\tthis.setState( { isMaxHeightSet: value } );\n\t}\n\n\tisScrolling( value ) {\n\t\tthis.setState( { isScrolling: value } );\n\t}\n\n\tonHandleClosingBottomSheet( action ) {\n\t\tthis.setState( { handleClosingBottomSheet: action } );\n\t}\n\n\tonHandleHardwareButtonPress( action ) {\n\t\tthis.setState( { handleHardwareButtonPress: action } );\n\t}\n\n\tonCloseBottomSheet() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleClosingBottomSheet } = this.state;\n\t\tif ( handleClosingBottomSheet ) {\n\t\t\thandleClosingBottomSheet();\n\t\t\tthis.onHandleClosingBottomSheet( null );\n\t\t}\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t\tthis.onShouldSetBottomSheetMaxHeight( true );\n\t}\n\n\tsetIsFullScreen( isFullScreen ) {\n\t\tif ( isFullScreen !== this.state.isFullScreen ) {\n\t\t\tif ( isFullScreen ) {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: false } );\n\t\t\t} else {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: true } );\n\t\t\t}\n\t\t}\n\t}\n\n\tonHardwareButtonPress() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleHardwareButtonPress } = this.state;\n\t\tif ( handleHardwareButtonPress && handleHardwareButtonPress() ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( onClose ) {\n\t\t\treturn onClose();\n\t\t}\n\t}\n\n\tgetContentStyle() {\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\treturn {\n\t\t\tpaddingBottom:\n\t\t\t\t( safeAreaBottomInset || 0 ) +\n\t\t\t\tstyles.scrollableContent.paddingBottom,\n\t\t};\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ttitle = '',\n\t\t\tisVisible,\n\t\t\tleftButton,\n\t\t\trightButton,\n\t\t\theader,\n\t\t\thideHeader,\n\t\t\tstyle = {},\n\t\t\tcontentStyle = {},\n\t\t\tgetStylesFromColorScheme,\n\t\t\tchildren,\n\t\t\twithHeaderSeparator = false,\n\t\t\thasNavigation,\n\t\t\tonDismiss,\n\t\t\t...rest\n\t\t} = this.props;\n\t\tconst {\n\t\t\tmaxHeight,\n\t\t\tbounces,\n\t\t\tsafeAreaBottomInset,\n\t\t\tsafeAreaTopInset,\n\t\t\tisScrolling,\n\t\t\tscrollEnabled,\n\t\t\tisMaxHeightSet,\n\t\t\tisFullScreen,\n\t\t} = this.state;\n\n\t\tconst panResponder = PanResponder.create( {\n\t\t\tonMoveShouldSetPanResponder: ( evt, gestureState ) => {\n\t\t\t\t// 'swiping-to-close' option is temporarily and partially disabled\n\t\t\t\t// on Android ( swipe / drag is still available in the top most area - near drag indicator).\n\t\t\t\tif ( Platform.OS === 'ios' ) {\n\t\t\t\t\t// Activates swipe down over child Touchables if the swipe is long enough.\n\t\t\t\t\t// With this we can adjust sensibility on the swipe vs tap gestures.\n\t\t\t\t\tif ( gestureState.dy > 3 && ! bounces ) {\n\t\t\t\t\t\tgestureState.dy = 0;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t} );\n\n\t\tconst backgroundStyle = getStylesFromColorScheme(\n\t\t\tstyles.background,\n\t\t\tstyles.backgroundDark\n\t\t);\n\n\t\tconst bottomSheetHeaderTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.bottomSheetHeaderTitle,\n\t\t\tstyles.bottomSheetHeaderTitleDark\n\t\t);\n\n\t\tlet listStyle = {};\n\t\tif ( isFullScreen ) {\n\t\t\tlistStyle = { flexGrow: 1, flexShrink: 1 };\n\t\t} else if ( isMaxHeightSet ) {\n\t\t\tlistStyle = { maxHeight };\n\n\t\t\t// Allow setting a \"static\" height of the bottom sheet\n\t\t\t// by setting the min height to the max height.\n\t\t\tif ( this.props.setMinHeightToMaxHeight ) {\n\t\t\t\tlistStyle.minHeight = maxHeight;\n\t\t\t}\n\t\t}\n\n\t\tconst listProps = {\n\t\t\tdisableScrollViewPanResponder: true,\n\t\t\tbounces,\n\t\t\tonScroll: this.onScroll,\n\t\t\tonScrollBeginDrag: this.onScrollBeginDrag,\n\t\t\tonScrollEndDrag: this.onScrollEndDrag,\n\t\t\tscrollEventThrottle: 16,\n\t\t\tcontentContainerStyle: [\n\t\t\t\tstyles.content,\n\t\t\t\thideHeader && styles.emptyHeader,\n\t\t\t\tcontentStyle,\n\t\t\t\tisFullScreen && { flexGrow: 1 },\n\t\t\t],\n\t\t\tstyle: listStyle,\n\t\t\tsafeAreaBottomInset,\n\t\t\tscrollEnabled,\n\t\t\tautomaticallyAdjustContentInsets: false,\n\t\t};\n\n\t\tconst WrapperView = hasNavigation ? View : ScrollView;\n\n\t\tconst getHeader = () => (\n\t\t\t<>\n\t\t\t\t{ header || (\n\t\t\t\t\t<View style={ styles.bottomSheetHeader }>\n\t\t\t\t\t\t<View style={ styles.flex }>{ leftButton }</View>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={ bottomSheetHeaderTitleStyle }\n\t\t\t\t\t\t\tmaxFontSizeMultiplier={ 3 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<View style={ styles.flex }>{ rightButton }</View>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t\t{ withHeaderSeparator && <View style={ styles.separator } /> }\n\t\t\t</>\n\t\t);\n\n\t\tconst showDragIndicator = () => {\n\t\t\t// If iOS or not fullscreen show the drag indicator.\n\t\t\tif ( Platform.OS === 'ios' || ! this.state.isFullScreen ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Otherwise check the allowDragIndicator.\n\t\t\treturn this.props.allowDragIndicator;\n\t\t};\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tisVisible={ isVisible }\n\t\t\t\tstyle={ styles.bottomModal }\n\t\t\t\tanimationInTiming={ 400 }\n\t\t\t\tanimationOutTiming={ 300 }\n\t\t\t\tbackdropTransitionInTiming={ 50 }\n\t\t\t\tbackdropTransitionOutTiming={ 50 }\n\t\t\t\tbackdropOpacity={ 0.2 }\n\t\t\t\tonBackdropPress={ this.onCloseBottomSheet }\n\t\t\t\tonBackButtonPress={ this.onHardwareButtonPress }\n\t\t\t\tonSwipeComplete={ this.onCloseBottomSheet }\n\t\t\t\tonDismiss={ Platform.OS === 'ios' ? this.onDismiss : undefined }\n\t\t\t\tonModalHide={\n\t\t\t\t\tPlatform.OS === 'android' ? this.onDismiss : undefined\n\t\t\t\t}\n\t\t\t\tswipeDirection=\"down\"\n\t\t\t\tonMoveShouldSetResponder={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponder\n\t\t\t\t}\n\t\t\t\tonMoveShouldSetResponderCapture={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponderCapture\n\t\t\t\t}\n\t\t\t\tonAccessibilityEscape={ this.onCloseBottomSheet }\n\t\t\t\t{ ...rest }\n\t\t\t>\n\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\tbehavior={ Platform.OS === 'ios' && 'padding' }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...backgroundStyle,\n\t\t\t\t\t\tborderColor: 'rgba(0, 0, 0, 0.1)',\n\t\t\t\t\t\tmarginTop:\n\t\t\t\t\t\t\tPlatform.OS === 'ios' && isFullScreen\n\t\t\t\t\t\t\t\t? safeAreaTopInset\n\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\tflex: isFullScreen ? 1 : undefined,\n\t\t\t\t\t\t...( Platform.OS === 'android' && isFullScreen\n\t\t\t\t\t\t\t? styles.backgroundFullScreen\n\t\t\t\t\t\t\t: {} ),\n\t\t\t\t\t\t...style,\n\t\t\t\t\t} }\n\t\t\t\t\tkeyboardVerticalOffset={ -safeAreaBottomInset }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles.header }\n\t\t\t\t\t\tonLayout={ this.onHeaderLayout }\n\t\t\t\t\t\ttestID={ `${ rest.testID || 'bottom-sheet' }-header` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showDragIndicator() && (\n\t\t\t\t\t\t\t<View style={ styles.dragIndicator } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! hideHeader && getHeader() }\n\t\t\t\t\t</View>\n\t\t\t\t\t<WrapperView\n\t\t\t\t\t\t{ ...( hasNavigation\n\t\t\t\t\t\t\t? { style: listProps.style }\n\t\t\t\t\t\t\t: listProps ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BottomSheetProvider\n\t\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll:\n\t\t\t\t\t\t\t\t\tthis.onShouldEnableScroll,\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight:\n\t\t\t\t\t\t\t\t\tthis.onShouldSetBottomSheetMaxHeight,\n\t\t\t\t\t\t\t\tisBottomSheetContentScrolling: isScrolling,\n\t\t\t\t\t\t\t\tonHandleClosingBottomSheet:\n\t\t\t\t\t\t\t\t\tthis.onHandleClosingBottomSheet,\n\t\t\t\t\t\t\t\tonHandleHardwareButtonPress:\n\t\t\t\t\t\t\t\t\tthis.onHandleHardwareButtonPress,\n\t\t\t\t\t\t\t\tlistProps,\n\t\t\t\t\t\t\t\tsetIsFullScreen: this.setIsFullScreen,\n\t\t\t\t\t\t\t\tsafeAreaBottomInset,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasNavigation ? (\n\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<TouchableHighlight accessible={ false }>\n\t\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t\t</TouchableHighlight>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheetProvider>\n\t\t\t\t\t\t{ ! hasNavigation && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\t\tsafeAreaBottomInset ||\n\t\t\t\t\t\t\t\t\t\tstyles.scrollableContent.paddingBottom,\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</WrapperView>\n\t\t\t\t</KeyboardAvoidingView>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nfunction getWidth() {\n\treturn Math.min(\n\t\tDimensions.get( 'window' ).width,\n\t\tstyles.background.maxWidth\n\t);\n}\n\nconst ThemedBottomSheet = withPreferredColorScheme( BottomSheet );\n\nThemedBottomSheet.getWidth = getWidth;\nThemedBottomSheet.Button = Button;\nThemedBottomSheet.Cell = Cell;\nThemedBottomSheet.SubSheet = BottomSheetSubSheet;\nThemedBottomSheet.NavBar = NavBar;\nThemedBottomSheet.CyclePickerCell = CyclePickerCell;\nThemedBottomSheet.PickerCell = PickerCell;\nThemedBottomSheet.SwitchCell = SwitchCell;\nThemedBottomSheet.RangeCell = RangeCell;\nThemedBottomSheet.ColorCell = ColorCell;\nThemedBottomSheet.LinkCell = LinkCell;\nThemedBottomSheet.LinkSuggestionItemCell = LinkSuggestionItemCell;\nThemedBottomSheet.RadioCell = RadioCell;\nThemedBottomSheet.NavigationScreen = NavigationScreen;\nThemedBottomSheet.NavigationContainer = NavigationContainer;\n\nexport default ThemedBottomSheet;\n"]}
|
|
@@ -13,6 +13,8 @@ exports.getMappedValues = getMappedValues;
|
|
|
13
13
|
exports.parseStylesVariables = parseStylesVariables;
|
|
14
14
|
exports.useMobileGlobalStylesColors = useMobileGlobalStylesColors;
|
|
15
15
|
|
|
16
|
+
var _changeCase = require("change-case");
|
|
17
|
+
|
|
16
18
|
var _lodash = require("lodash");
|
|
17
19
|
|
|
18
20
|
var _reactNative = require("react-native");
|
|
@@ -223,7 +225,7 @@ function parseStylesVariables(styles, mappedValues, customValues) {
|
|
|
223
225
|
} // Check for camelcase properties.
|
|
224
226
|
|
|
225
227
|
|
|
226
|
-
return (0, _lodash.get)(customValuesData, [...path.slice(0, path.length - 1), (0,
|
|
228
|
+
return (0, _lodash.get)(customValuesData, [...path.slice(0, path.length - 1), (0, _changeCase.camelCase)(path[path.length - 1])]);
|
|
227
229
|
});
|
|
228
230
|
}
|
|
229
231
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"names":["BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","slug","getBlockTypography","fontSizes","typographyStyles","typography","fontSize","lineHeight","parseInt","mappedFontSize","size","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","slice","length","width","height","Dimensions","get","parsedFontSize","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","availableThemeColors","reduce","origin","concat","colorPalette","editorDefaultPalette","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultPalette","defaultGradients","getGlobalStyles","rawStyles","stringify","globalStyles","customLineHeight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, get, camelCase, has } from 'lodash';\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetPxFromCssUnit,\n\tuseSetting,\n\tuseMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = find( defaultColors, {\n\t\t\t\tslug: value,\n\t\t\t} );\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\t\t\tslug: fontSize,\n\t\t\t\t} );\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\tslug: blockStyleAttributes?.fontSize,\n\t\t} );\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = find( mappedPresetValue.values, {\n\t\t\t\t\t\tslug: path[ 1 ],\n\t\t\t\t\t} );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif ( has( customValuesData, path ) ) {\n\t\t\t\t\treturn get( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn get( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = find( mappedValues.color?.values, {\n\t\t\t\t\t\tslug: $2,\n\t\t\t\t\t} );\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys.\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'default', 'theme', 'custom' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst colorPalette =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst editorDefaultPalette = useSetting( colorPalette );\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: editorDefaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"names":["BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","slug","getBlockTypography","fontSizes","typographyStyles","typography","fontSize","lineHeight","parseInt","mappedFontSize","size","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","slice","length","width","height","Dimensions","get","parsedFontSize","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","availableThemeColors","reduce","origin","concat","colorPalette","editorDefaultPalette","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultPalette","defaultGradients","getGlobalStyles","rawStyles","stringify","globalStyles","customLineHeight"],"mappings":";;;;;;;;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAOO,MAAMA,sBAAsB,GAAG,CACrC,WADqC,EAErC,iBAFqC,EAGrC,OAHqC,EAIrC,OAJqC,EAKrC,UALqC,CAA/B,C,CAQP;;;AACA,MAAMC,8BAA8B,GAAG;AACtCC,EAAAA,SAAS,EAAE,OAD2B;AAEtCC,EAAAA,IAAI,EAAE,OAFgC;AAGtCC,EAAAA,UAAU,EAAE,iBAH0B;AAItCC,EAAAA,IAAI,EAAE,WAJgC;AAKtCC,EAAAA,WAAW,EAAE;AALyB,CAAvC;AAQA,MAAMC,OAAO,GAAG,EAAhB,C,CAAoB;;AACpB,MAAMC,aAAa,GAAG,WAAtB;AACA,MAAMC,iBAAiB,GAAG,EAA1B;;AAEO,SAASC,gBAAT,CACNC,WADM,EAENC,iBAFM,EAGNC,oBAHM,EAINC,WAJM,EAKL;AACD,QAAMC,aAAa,GAAG,EAAtB;;AAEA,MACC,CAAEJ,WAAW,CAACK,OAAd,KACEJ,iBAAiB,SAAjB,IAAAA,iBAAiB,WAAjB,IAAAA,iBAAiB,CAAEK,eAAnB,IACDJ,oBADC,aACDA,oBADC,eACDA,oBAAoB,CAAEI,eADrB,IAEDH,WAFC,aAEDA,WAFC,eAEDA,WAAW,CAAEG,eAHd,CADD,EAKE;AACDF,IAAAA,aAAa,CAACC,OAAd,GAAwBT,OAAxB;AACA,WAAOQ,aAAP;AACA,GAXA,CAaD;;;AACA,MACCJ,WAAW,SAAX,IAAAA,WAAW,WAAX,IAAAA,WAAW,CAAEK,OAAb,IACA,EAAEJ,iBAAF,aAAEA,iBAAF,eAAEA,iBAAiB,CAAEK,eAArB,CADA,IAEA,EAAEJ,oBAAF,aAAEA,oBAAF,eAAEA,oBAAoB,CAAEI,eAAxB,CAFA,IAGA,EAAEH,WAAF,aAAEA,WAAF,eAAEA,WAAW,CAAEG,eAAf,CAJD,EAKE;AACDF,IAAAA,aAAa,CAACC,OAAd,GAAwBE,SAAxB;AACA;;AAED,SAAOH,aAAP;AACA;;AAEM,SAASI,cAAT,CACNN,oBADM,EAENO,aAFM,EAGNC,SAHM,EAINC,gBAJM,EAKL;AAAA;;AACD,QAAMC,WAAW,GAAG,EAApB;AACA,QAAMC,iBAAiB,GAAG,CAAAX,oBAAoB,SAApB,IAAAA,oBAAoB,WAApB,qCAAAA,oBAAoB,CAAEY,KAAtB,gFAA6BC,KAA7B,KAAsC,EAAhE;AACA,QAAMC,iBAAiB,GAAGL,gBAAH,aAAGA,gBAAH,gDAAGA,gBAAgB,CAAEM,MAArB,0DAAG,sBAA4BP,SAA5B,CAA1B,CAHC,CAKD;;AACA,MAAKM,iBAAL,aAAKA,iBAAL,eAAKA,iBAAiB,CAAED,KAAxB,EAAgC;AAC/BG,IAAAA,MAAM,CAACC,OAAP,CAAgBH,iBAAiB,CAACD,KAAlC,EAA0CK,OAA1C,CACC,QAAsB;AAAA,UAApB,CAAEC,GAAF,EAAOC,KAAP,CAAoB;AACrB,YAAMC,QAAQ,GAAGjC,8BAA8B,CAAE+B,GAAF,CAA/C;;AAEA,UAAKE,QAAQ,IAAID,KAAK,KAAKzB,aAA3B,EAA2C;AAAA;;AAC1C,cAAMkB,KAAK,4BAAGF,iBAAiB,CAAEQ,GAAF,CAApB,yEAA+BC,KAA1C;AACAV,QAAAA,WAAW,CAAEW,QAAF,CAAX,GAA0BR,KAA1B;AACA;AACD,KARF;AAUA,GAXD,MAWO,IAAKJ,gBAAL,aAAKA,gBAAL,wCAAKA,gBAAgB,CAAEa,MAAvB,4EAAK,sBAA0BT,KAA/B,mDAAK,uBAAiCvB,IAAtC,EAA6C;AAAA;;AACnDoB,IAAAA,WAAW,CAAEtB,8BAA8B,CAACE,IAAjC,CAAX,GACCmB,gBADD,aACCA,gBADD,iDACCA,gBAAgB,CAAEa,MADnB,qFACC,uBAA0BT,KAD3B,2DACC,uBAAiCvB,IADlC;AAEA,GApBA,CAsBD;;;AACA,MAAKwB,iBAAL,aAAKA,iBAAL,eAAKA,iBAAiB,CAAES,QAAxB,EAAmC;AAAA;;AAClC,UAAMC,SAAS,4BAAGV,iBAAiB,CAACS,QAArB,oFAAG,sBAA4B/B,IAA/B,qFAAG,uBAAkCqB,KAArC,2DAAG,uBAAyCvB,IAA3D;AACA,UAAM+B,QAAQ,GAAGjC,8BAA8B,CAACI,IAAhD;;AAEA,QAAK6B,QAAQ,IAAIG,SAAZ,IAAyBA,SAAS,KAAK7B,aAA5C,EAA4D;AAC3De,MAAAA,WAAW,CAAEW,QAAF,CAAX,GAA0BG,SAA1B;AACA;AACD,GA9BA,CAgCD;;;AACAR,EAAAA,MAAM,CAACC,OAAP,CAAgBjB,oBAAhB,EAAuCkB,OAAvC,CAAgD,SAAsB;AAAA;;AAAA,QAApB,CAAEC,GAAF,EAAOC,KAAP,CAAoB;AACrE,UAAMK,aAAa,GAAGL,KAAH,aAAGA,KAAH,4CAAGA,KAAK,CAAEM,UAAV,sDAAG,uBAAAN,KAAK,EAAgB,GAAhB,CAA3B;AACA,QAAIC,QAAQ,GAAGF,GAAf;;AAEA,QAAK/B,8BAA8B,CAAEiC,QAAF,CAAnC,EAAkD;AACjDA,MAAAA,QAAQ,GAAGjC,8BAA8B,CAAEiC,QAAF,CAAzC;AACA;;AAED,QAAK,CAAEI,aAAP,EAAuB;AACtB,YAAME,WAAW,GAAG,kBAAMpB,aAAN,EAAqB;AACxCqB,QAAAA,IAAI,EAAER;AADkC,OAArB,CAApB;;AAIA,UAAKO,WAAL,EAAmB;AAClBjB,QAAAA,WAAW,CAAEW,QAAF,CAAX,GAA0BM,WAAW,CAACd,KAAtC;AACA;AACD,KARD,MAQO;AACNH,MAAAA,WAAW,CAAEW,QAAF,CAAX,GAA0BD,KAA1B;AACA;AACD,GAnBD,EAjCC,CAsDD;;AACA,MAAKV,WAAL,aAAKA,WAAL,eAAKA,WAAW,CAAEG,KAAlB,EAA0B;AACzBH,IAAAA,WAAW,CAAEtB,8BAA8B,CAACK,WAAjC,CAAX,GACCiB,WAAW,CAACG,KADb;AAEA;;AAED,SAAOH,WAAP;AACA;;AAEM,SAASmB,kBAAT,CACN7B,oBADM,EAEN8B,SAFM,EAGNtB,SAHM,EAINC,gBAJM,EAKL;AAAA;;AACD,QAAMsB,gBAAgB,GAAG,EAAzB;AACA,QAAMpB,iBAAiB,GAAG,CAAAX,oBAAoB,SAApB,IAAAA,oBAAoB,WAApB,sCAAAA,oBAAoB,CAAEY,KAAtB,kFAA6BoB,UAA7B,KAA2C,EAArE;AACA,QAAMlB,iBAAiB,GAAGL,gBAAH,aAAGA,gBAAH,iDAAGA,gBAAgB,CAAEM,MAArB,2DAAG,uBAA4BP,SAA5B,CAA1B,CAHC,CAKD;;AACA,MAAKM,iBAAL,aAAKA,iBAAL,eAAKA,iBAAiB,CAAEkB,UAAxB,EAAqC;AAAA;;AACpC,UAAMC,QAAQ,GAAGnB,iBAAH,aAAGA,iBAAH,gDAAGA,iBAAiB,CAAEkB,UAAtB,0DAAG,sBAA+BC,QAAhD;AACA,UAAMC,UAAU,GAAGpB,iBAAH,aAAGA,iBAAH,iDAAGA,iBAAiB,CAAEkB,UAAtB,2DAAG,uBAA+BE,UAAlD;;AAEA,QAAKD,QAAL,EAAgB;AACf,UAAKE,QAAQ,CAAEF,QAAF,EAAY,EAAZ,CAAb,EAAgC;AAC/BF,QAAAA,gBAAgB,CAACE,QAAjB,GAA4BA,QAA5B;AACA,OAFD,MAEO;AACN,cAAMG,cAAc,GAAG,kBAAMN,SAAN,EAAiB;AACvCF,UAAAA,IAAI,EAAEK;AADiC,SAAjB,CAAvB;;AAIA,YAAKG,cAAL,EAAsB;AACrBL,UAAAA,gBAAgB,CAACE,QAAjB,GAA4BG,cAA5B,aAA4BA,cAA5B,uBAA4BA,cAAc,CAAEC,IAA5C;AACA;AACD;AACD;;AAED,QAAKH,UAAL,EAAkB;AACjBH,MAAAA,gBAAgB,CAACG,UAAjB,GAA8BA,UAA9B;AACA;AACD;;AAED,MAAKlC,oBAAoB,SAApB,IAAAA,oBAAoB,WAApB,IAAAA,oBAAoB,CAAEiC,QAAtB,IAAkCxB,gBAAvC,EAA0D;AACzD,UAAM2B,cAAc,GAAG,kBAAMN,SAAN,EAAiB;AACvCF,MAAAA,IAAI,EAAE5B,oBAAF,aAAEA,oBAAF,uBAAEA,oBAAoB,CAAEiC;AADW,KAAjB,CAAvB;;AAIA,QAAKG,cAAL,EAAsB;AACrBL,MAAAA,gBAAgB,CAACE,QAAjB,GAA4BG,cAA5B,aAA4BA,cAA5B,uBAA4BA,cAAc,CAAEC,IAA5C;AACA;AACD,GArCA,CAuCD;;;AACA,MAAK1B,iBAAL,aAAKA,iBAAL,eAAKA,iBAAiB,CAAEsB,QAAxB,EAAmC;AAClCF,IAAAA,gBAAgB,CAACE,QAAjB,GAA4BtB,iBAA5B,aAA4BA,iBAA5B,uBAA4BA,iBAAiB,CAAEsB,QAA/C;AACA;;AAED,MAAKtB,iBAAL,aAAKA,iBAAL,eAAKA,iBAAiB,CAAEuB,UAAxB,EAAqC;AACpCH,IAAAA,gBAAgB,CAACG,UAAjB,GAA8BvB,iBAA9B,aAA8BA,iBAA9B,uBAA8BA,iBAAiB,CAAEuB,UAAjD;AACA;;AAED,SAAOH,gBAAP;AACA;;AAEM,SAASO,oBAAT,CAA+BhB,MAA/B,EAAuCiB,YAAvC,EAAqDC,YAArD,EAAoE;AAC1E,MAAIC,UAAU,GAAGnB,MAAjB;AACA,QAAMoB,SAAS,GAAG,CAAE,QAAF,EAAY,QAAZ,EAAsB,KAAtB,EAA6B,UAA7B,CAAlB;;AAEA,MAAK,CAAED,UAAP,EAAoB;AACnB,WAAOnB,MAAP;AACA;;AAEDoB,EAAAA,SAAS,CAACxB,OAAV,CAAqByB,QAAF,IAAgB;AAClC;AACA;AACA;AACA;AACA,UAAMC,KAAK,GAAG,IAAIC,MAAJ,CAAa,eAAeF,QAAU,YAAtC,EAAmD,GAAnD,CAAd;AACA,UAAMG,QAAQ,GAAG,gCAAjB;AACA,UAAMC,aAAa,GAAG,sBAAtB;;AAEA,QAAKJ,QAAQ,KAAK,QAAlB,EAA6B;AAC5BF,MAAAA,UAAU,GAAGA,UAAU,CAACO,OAAX,CAAoBJ,KAApB,EAA2B,CAAEK,GAAF,EAAOC,EAAP,KAAe;AACtD,cAAMC,IAAI,GAAGD,EAAE,CAACE,KAAH,CAAU,IAAV,CAAb;AACA,cAAMC,iBAAiB,GAAGd,YAAY,CAAEY,IAAI,CAAE,CAAF,CAAN,CAAtC;;AACA,YAAKE,iBAAiB,IAAIA,iBAAiB,CAACzB,IAA5C,EAAmD;AAClD,gBAAM0B,YAAY,GAAG,kBAAMD,iBAAiB,CAACE,MAAxB,EAAgC;AACpD3B,YAAAA,IAAI,EAAEuB,IAAI,CAAE,CAAF;AAD0C,WAAhC,CAArB;AAGA,iBAAOG,YAAP,aAAOA,YAAP,uBAAOA,YAAY,CAAID,iBAAiB,CAACzB,IAAtB,CAAnB;AACA;;AACD,eAAOjC,aAAP;AACA,OAVY,CAAb;AAWA;;AACD,QAAKgD,QAAQ,KAAK,QAAlB,EAA6B;AAC5B,YAAMa,gBAAgB,GAAGhB,YAAH,aAAGA,YAAH,cAAGA,YAAH,GAAmBiB,IAAI,CAACC,KAAL,CAAYjB,UAAZ,CAAzC;AACAA,MAAAA,UAAU,GAAGA,UAAU,CAACO,OAAX,CAAoBJ,KAApB,EAA2B,CAAEK,GAAF,EAAOC,EAAP,KAAe;AACtD,cAAMC,IAAI,GAAGD,EAAE,CAACE,KAAH,CAAU,IAAV,CAAb;;AACA,YAAK,iBAAKI,gBAAL,EAAuBL,IAAvB,CAAL,EAAqC;AACpC,iBAAO,iBAAKK,gBAAL,EAAuBL,IAAvB,CAAP;AACA,SAJqD,CAMtD;;;AACA,eAAO,iBAAKK,gBAAL,EAAuB,CAC7B,GAAGL,IAAI,CAACQ,KAAL,CAAY,CAAZ,EAAeR,IAAI,CAACS,MAAL,GAAc,CAA7B,CAD0B,EAE7B,2BAAWT,IAAI,CAAEA,IAAI,CAACS,MAAL,GAAc,CAAhB,CAAf,CAF6B,CAAvB,CAAP;AAIA,OAXY,CAAb;AAYA;;AAED,QAAKjB,QAAQ,KAAK,KAAlB,EAA0B;AACzBF,MAAAA,UAAU,GAAGA,UAAU,CAACO,OAAX,CAAoBF,QAApB,EAA8B,CAAEG,GAAF,EAAOC,EAAP,KAAe;AACzD,YAAKX,YAAL,aAAKA,YAAL,eAAKA,YAAY,CAAE1B,KAAnB,EAA2B;AAAA;;AAC1B,gBAAMyC,YAAY,GAAG,yCAAMf,YAAY,CAAC1B,KAAnB,wDAAM,oBAAoB0C,MAA1B,EAAkC;AACtD3B,YAAAA,IAAI,EAAEsB;AADgD,WAAlC,CAArB;AAGA,iBAAQ,IAAII,YAAL,aAAKA,YAAL,uBAAKA,YAAY,CAAEzC,KAAO,GAAjC;AACA;;AACD,eAAOlB,aAAP;AACA,OARY,CAAb;AASA;;AAED,QAAKgD,QAAQ,KAAK,UAAlB,EAA+B;AAC9B,YAAM;AAAEkB,QAAAA,KAAF;AAASC,QAAAA;AAAT,UAAoBC,wBAAWC,GAAX,CAAgB,QAAhB,CAA1B;;AAEAvB,MAAAA,UAAU,GAAGA,UAAU,CAACO,OAAX,CAAoBD,aAApB,EAAmC,CAAEE,GAAF,EAAOC,EAAP,KAAe;AAC9D,cAAMe,cAAc,GACnB,mCAAkBf,EAAlB,EAAsB;AACrBW,UAAAA,KADqB;AAErBC,UAAAA,MAFqB;AAGrB7B,UAAAA,QAAQ,EAAErC;AAHW,SAAtB,KAIQ,GAAGA,iBAAmB,IAL/B;AAOA,eAAQ,eAAeqE,cAAgB,GAAvC;AACA,OATY,CAAb;AAUA;AACD,GAhED;AAkEA,SAAOR,IAAI,CAACC,KAAL,CAAYjB,UAAZ,CAAP;AACA;;AAEM,SAASyB,eAAT,CAA0BC,QAA1B,EAAoCC,OAApC,EAA8C;AAAA;;AACpD,QAAMpC,UAAU,GAAGmC,QAAH,aAAGA,QAAH,uBAAGA,QAAQ,CAAEnC,UAA7B;AACA,QAAMqC,MAAM,GAAG,CACd,IAAK,CAAAD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEE,KAAT,KAAkB,EAAvB,CADc,EAEd,IAAK,CAAAF,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEG,MAAT,KAAmB,EAAxB,CAFc,EAGd,IAAK,CAAAH,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEI,OAAT,KAAoB,EAAzB,CAHc,CAAf;AAMA,QAAM1C,SAAS,GAAG,EACjB,IAAGE,UAAH,aAAGA,UAAH,gDAAGA,UAAU,CAAEF,SAAf,0DAAG,sBAAuBwC,KAA1B,CADiB;AAEjB,QAAGtC,UAAH,aAAGA,UAAH,iDAAGA,UAAU,CAAEF,SAAf,2DAAG,uBAAuByC,MAA1B;AAFiB,GAAlB;AAIA,QAAMhC,YAAY,GAAG;AACpB1B,IAAAA,KAAK,EAAE;AACN0C,MAAAA,MAAM,EAAEc,MADF;AAENzC,MAAAA,IAAI,EAAE;AAFA,KADa;AAKpB,iBAAa;AACZ2B,MAAAA,MAAM,EAAEzB,SADI;AAEZF,MAAAA,IAAI,EAAE;AAFM;AALO,GAArB;AAUA,SAAOW,YAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASkC,kBAAT,CAA6B3C,SAA7B,EAAyC;AACxC;AACA,MAAK,CAAEA,SAAP,EAAmB;AAClB,WAAOA,SAAP;AACA;;AACD,QAAM4C,mBAAmB,GAAG,EAA5B;;AACA,QAAMC,UAAU,GAAGZ,wBAAWC,GAAX,CAAgB,QAAhB,CAAnB;;AAEA,GAAE,SAAF,EAAa,OAAb,EAAsB,QAAtB,EAAiC9C,OAAjC,CAA4CC,GAAF,IAAW;AACpD,QAAKW,SAAS,CAAEX,GAAF,CAAd,EAAwB;AAAA;;AACvBuD,MAAAA,mBAAmB,CAAEvD,GAAF,CAAnB,qBAA6BW,SAAS,CAAEX,GAAF,CAAtC,mDAA6B,eAAkByD,GAAlB,CAC1BC,cAAF,IAAsB;AACrBA,QAAAA,cAAc,CAACC,MAAf,GAAwB,mCACvBD,cAAc,CAACxC,IADQ,EAEvB;AACCwB,UAAAA,KAAK,EAAEc,UAAU,CAACd,KADnB;AAECC,UAAAA,MAAM,EAAEa,UAAU,CAACb,MAFpB;AAGC7B,UAAAA,QAAQ,EAAErC;AAHX,SAFuB,CAAxB;AAQA,eAAOiF,cAAP;AACA,OAX2B,CAA7B;AAaA;AACD,GAhBD;AAkBA,SAAOH,mBAAP;AACA;;AAEM,SAASK,2BAAT,GAAwD;AAAA;;AAAA,MAAlBC,IAAkB,uEAAX,QAAW;AAC9D,QAAMC,qBAAqB,GAAG,uDAA9B;AACA,QAAMC,oBAAoB,GAAGD,qBAAH,aAAGA,qBAAH,gDAAGA,qBAAqB,CAAID,IAAJ,CAAxB,0DAAG,sBAAiCG,MAAjC,CAC5B,CAAEd,MAAF,EAAUe,MAAV,KAAsBf,MAAM,CAACgB,MAAP,CAAeD,MAAf,aAAeA,MAAf,uBAAeA,MAAM,CAAIJ,IAAJ,CAArB,CADM,EAE5B,EAF4B,CAA7B,CAF8D,CAM9D;;AACA,QAAMM,YAAY,GACjBN,IAAI,KAAK,QAAT,GAAoB,eAApB,GAAsC,iBADvC;AAEA,QAAMO,oBAAoB,GAAG,6BAAYD,YAAZ,CAA7B;AAEA,SAAOJ,oBAAoB,CAACtB,MAArB,IAA+B,CAA/B,GACJsB,oBADI,GAEJK,oBAFH;AAGA;;AAEM,SAASC,qBAAT,GAIL;AAAA,MAHDC,mBAGC,uEAHqB,EAGrB;AAAA,MAFDC,sBAEC,uEAFwB,EAExB;AAAA,MADDC,WACC;AACD,QAAMxB,QAAQ,GAAGwB,WAAW,GAAGlC,IAAI,CAACC,KAAL,CAAYiC,WAAZ,CAAH,GAA+B,EAA3D;AAEA,SAAO;AACNC,IAAAA,oCAAoC,EAAE,IADhC;AAENC,IAAAA,sBAAsB,EAAE;AACvBhF,MAAAA,KAAK,EAAE,EACN,IAAK,EAAEsD,QAAF,aAAEA,QAAF,eAAEA,QAAQ,CAAEtD,KAAZ,IACF;AACAvB,UAAAA,IAAI,EAAE,IADN;AAEAC,UAAAA,UAAU,EAAE,IAFZ;AAGA6E,UAAAA,OAAO,EAAE;AACRI,YAAAA,OAAO,EAAEiB;AADD,WAHT;AAMAK,UAAAA,SAAS,EAAE;AACVtB,YAAAA,OAAO,EAAEkB;AADC;AANX,SADE,GAWFvB,QAXE,aAWFA,QAXE,uBAWFA,QAAQ,CAAEtD,KAXb,CADM;AAaNkF,QAAAA,cAAc,EAAE,CAAAN,mBAAmB,SAAnB,IAAAA,mBAAmB,WAAnB,YAAAA,mBAAmB,CAAE7B,MAArB,IAA8B,CAbxC;AAcNoC,QAAAA,gBAAgB,EAAE,CAAAN,sBAAsB,SAAtB,IAAAA,sBAAsB,WAAtB,YAAAA,sBAAsB,CAAE9B,MAAxB,IAAiC;AAd7C;AADgB;AAFlB,GAAP;AAqBA;;AAEM,SAASqC,eAAT,CAA0BC,SAA1B,EAAqCP,WAArC,EAAmD;AAAA;;AACzD,QAAMxB,QAAQ,GAAGwB,WAAW,GAAGlC,IAAI,CAACC,KAAL,CAAYiC,WAAZ,CAAH,GAA+B,EAA3D;AACA,QAAMpD,YAAY,GAAG2B,eAAe,CAAEC,QAAF,EAAYA,QAAZ,aAAYA,QAAZ,0CAAYA,QAAQ,CAAEtD,KAAtB,oDAAY,gBAAiBuD,OAA7B,CAApC;AACA,QAAMC,MAAM,GAAG/B,oBAAoB,CAClCmB,IAAI,CAAC0C,SAAL,CAAgBhC,QAAhB,aAAgBA,QAAhB,uBAAgBA,QAAQ,CAAEtD,KAA1B,CADkC,EAElC0B,YAFkC,CAAnC;AAIA,QAAMuD,SAAS,GAAGxD,oBAAoB,CACrCmB,IAAI,CAAC0C,SAAL,CAAgBhC,QAAhB,aAAgBA,QAAhB,2CAAgBA,QAAQ,CAAEtD,KAA1B,qDAAgB,iBAAiBiF,SAAjC,CADqC,EAErCvD,YAFqC,CAAtC;AAIA,QAAMC,YAAY,GAAGF,oBAAoB,CACxCmB,IAAI,CAAC0C,SAAL,CAAgBhC,QAAhB,aAAgBA,QAAhB,uBAAgBA,QAAQ,CAAEI,MAA1B,CADwC,EAExChC,YAFwC,CAAzC;AAIA,QAAM6D,YAAY,GAAG9D,oBAAoB,CACxC4D,SADwC,EAExC3D,YAFwC,EAGxCC,YAHwC,CAAzC;AAMA,QAAMV,SAAS,GAAG2C,kBAAkB,CAAEN,QAAF,aAAEA,QAAF,+CAAEA,QAAQ,CAAEnC,UAAZ,yDAAE,qBAAsBF,SAAxB,CAApC;AAEA,SAAO;AACN+D,IAAAA,sBAAsB,EAAE;AACvBhF,MAAAA,KAAK,EAAE;AACNuD,QAAAA,OAAO,EAAEC,MAAF,aAAEA,MAAF,uBAAEA,MAAM,CAAED,OADX;AAEN0B,QAAAA,SAFM;AAGNxG,QAAAA,IAAI,0BAAE6E,QAAF,aAAEA,QAAF,2CAAEA,QAAQ,CAAEtD,KAAZ,qDAAE,iBAAiBvB,IAAnB,uEAA2B,IAHzB;AAINC,QAAAA,UAAU,2BAAE4E,QAAF,aAAEA,QAAF,2CAAEA,QAAQ,CAAEtD,KAAZ,qDAAE,iBAAiBtB,UAAnB,yEAAiC,IAJrC;AAKNwG,QAAAA,cAAc,2BAAE5B,QAAF,aAAEA,QAAF,2CAAEA,QAAQ,CAAEtD,KAAZ,qDAAE,iBAAiBkF,cAAnB,yEAAqC,IAL7C;AAMNC,QAAAA,gBAAgB,4BAAE7B,QAAF,aAAEA,QAAF,2CAAEA,QAAQ,CAAEtD,KAAZ,qDAAE,iBAAiBmF,gBAAnB,2EAAuC;AANjD,OADgB;AASvBhE,MAAAA,UAAU,EAAE;AACXF,QAAAA,SADW;AAEXuE,QAAAA,gBAAgB,EAAElC,QAAF,aAAEA,QAAF,2CAAEA,QAAQ,CAAEI,MAAZ,qDAAE,iBAAoB,aAApB;AAFP;AATW,KADlB;AAeNqB,IAAAA,oCAAoC,EAAEQ;AAfhC,GAAP;AAiBA","sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { find, get, has } from 'lodash';\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetPxFromCssUnit,\n\tuseSetting,\n\tuseMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = find( defaultColors, {\n\t\t\t\tslug: value,\n\t\t\t} );\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\t\t\tslug: fontSize,\n\t\t\t\t} );\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\tslug: blockStyleAttributes?.fontSize,\n\t\t} );\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = find( mappedPresetValue.values, {\n\t\t\t\t\t\tslug: path[ 1 ],\n\t\t\t\t\t} );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif ( has( customValuesData, path ) ) {\n\t\t\t\t\treturn get( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn get( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = find( mappedValues.color?.values, {\n\t\t\t\t\t\tslug: $2,\n\t\t\t\t\t} );\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys.\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'default', 'theme', 'custom' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst colorPalette =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst editorDefaultPalette = useSetting( colorPalette );\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: editorDefaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n"]}
|
|
@@ -80,15 +80,10 @@ const ImageComponent = _ref => {
|
|
|
80
80
|
width: imageWidth
|
|
81
81
|
} = _ref;
|
|
82
82
|
const [imageData, setImageData] = (0, _element.useState)(null);
|
|
83
|
-
const [containerSize, setContainerSize] = (0, _element.useState)(null);
|
|
84
|
-
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
width: windowWidth
|
|
88
|
-
} = (0, _reactNative.useWindowDimensions)();
|
|
89
|
-
const isLandscape = (0, _element.useRef)(windowWidth > windowHeight);
|
|
90
|
-
const Image = !shouldUseFastImage ? _reactNative.Image : _reactNativeFastImage.default;
|
|
91
|
-
const imageResizeMode = !shouldUseFastImage ? resizeMode : _reactNativeFastImage.default.resizeMode[resizeMode];
|
|
83
|
+
const [containerSize, setContainerSize] = (0, _element.useState)(null); // Disabled for Android due to https://github.com/WordPress/gutenberg/issues/43149
|
|
84
|
+
|
|
85
|
+
const Image = !shouldUseFastImage || _element.Platform.isAndroid ? _reactNative.Image : _reactNativeFastImage.default;
|
|
86
|
+
const imageResizeMode = !shouldUseFastImage || _element.Platform.isAndroid ? resizeMode : _reactNativeFastImage.default.resizeMode[resizeMode];
|
|
92
87
|
(0, _element.useEffect)(() => {
|
|
93
88
|
let isCurrent = true;
|
|
94
89
|
|
|
@@ -112,21 +107,7 @@ const ImageComponent = _ref => {
|
|
|
112
107
|
}
|
|
113
108
|
|
|
114
109
|
return () => isCurrent = false;
|
|
115
|
-
}, [url]);
|
|
116
|
-
// for now if there's any orientation changes, it will use the fallback
|
|
117
|
-
// prop to use the default Image component.
|
|
118
|
-
// https://github.com/WordPress/gutenberg/issues/42869
|
|
119
|
-
|
|
120
|
-
(0, _element.useEffect)(() => {
|
|
121
|
-
if (_element.Platform.isAndroid && shouldUseFastImage) {
|
|
122
|
-
const isCurrentOrientationLandscape = windowWidth > windowHeight;
|
|
123
|
-
|
|
124
|
-
if (isLandscape.current !== isCurrentOrientationLandscape) {
|
|
125
|
-
setShouldUseFallback(true);
|
|
126
|
-
isLandscape.current = isCurrentOrientationLandscape;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}, [windowHeight, windowWidth]);
|
|
110
|
+
}, [url]);
|
|
130
111
|
|
|
131
112
|
const onContainerLayout = event => {
|
|
132
113
|
const {
|
|
@@ -220,8 +201,7 @@ const ImageComponent = _ref => {
|
|
|
220
201
|
}, !focalPoint && {
|
|
221
202
|
resizeMethod: 'scale'
|
|
222
203
|
}, {
|
|
223
|
-
resizeMode: imageResizeMode
|
|
224
|
-
fallback: shouldUseFallback
|
|
204
|
+
resizeMode: imageResizeMode
|
|
225
205
|
}))), isUploadFailed && retryMessage && (0, _element.createElement)(_reactNative.View, {
|
|
226
206
|
style: [_style.default.imageContainer, _style.default.retryContainer]
|
|
227
207
|
}, (0, _element.createElement)(_reactNative.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/image/index.native.js"],"names":["ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","IMAGE_DEFAULT_FOCAL_POINT","x","y","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","containerSize","setContainerSize","shouldUseFallback","setShouldUseFallback","windowHeight","windowWidth","isLandscape","Image","RNImage","FastImage","imageResizeMode","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","Platform","isAndroid","isCurrentOrientationLandscape","current","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","iconStyle","SvgIconRetry","styles","iconRetry","iconPlaceholderStyles","iconUploadStyles","icon","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","opacity","undefined","container","alignItems","imageBorder","imageUploadingIconContainer","focalPointContent","uri","resizeMethod","imageContainer","retryContainer","customRetryIcon","uploadFailedText"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tImage as RNImage,\n\tText,\n\tView,\n\tuseWindowDimensions,\n} from 'react-native';\nimport FastImage from 'react-native-fast-image';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Icon } from '@wordpress/components';\nimport { image as icon } from '@wordpress/icons';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useEffect, useState, useRef, 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';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nexport const IMAGE_DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 };\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\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 [ shouldUseFallback, setShouldUseFallback ] = useState( false );\n\tconst { height: windowHeight, width: windowWidth } = useWindowDimensions();\n\tconst isLandscape = useRef( windowWidth > windowHeight );\n\n\tconst Image = ! shouldUseFastImage ? RNImage : FastImage;\n\tconst imageResizeMode = ! shouldUseFastImage\n\t\t? resizeMode\n\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\t\t}\n\t\treturn () => ( isCurrent = false );\n\t}, [ url ] );\n\n\t// Workaround for Android where changing the orientation breaks FastImage\n\t// for now if there's any orientation changes, it will use the fallback\n\t// prop to use the default Image component.\n\t// https://github.com/WordPress/gutenberg/issues/42869\n\tuseEffect( () => {\n\t\tif ( Platform.isAndroid && shouldUseFastImage ) {\n\t\t\tconst isCurrentOrientationLandscape = windowWidth > windowHeight;\n\n\t\t\tif ( isLandscape.current !== isCurrentOrientationLandscape ) {\n\t\t\t\tsetShouldUseFallback( true );\n\t\t\t\tisLandscape.current = isCurrentOrientationLandscape;\n\t\t\t}\n\t\t}\n\t}, [ windowHeight, windowWidth ] );\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 iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ retryIcon || SvgIconRetry }\n\t\t\t\t\t\t{ ...styles.iconRetry }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\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 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\topacity: isUploadInProgress ? 0.3 : 1,\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\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\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 &&\n\t\t\t\t\thighlightSelected &&\n\t\t\t\t\t! ( isUploadInProgress || isUploadFailed ) && (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.imageBorder,\n\t\t\t\t\t\t\t\t{ height: containerSize?.height },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\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<Image\n\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\n\t\t\t\t\t\t\tfallback={ shouldUseFallback }\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 && 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\tstyles.retryContainer,\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\tstyles.retryIcon,\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{ getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ styles.uploadFailedText }>\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={ ! isUploadFailed && imageData && url }\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"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/image/index.native.js"],"names":["ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","IMAGE_DEFAULT_FOCAL_POINT","x","y","ImageComponent","align","alt","editButton","focalPoint","height","imageHeight","highlightSelected","isSelected","shouldUseFastImage","isUploadFailed","isUploadInProgress","mediaPickerOptions","onImageDataLoad","onSelectMediaUploadOption","openMediaOptions","resizeMode","retryMessage","retryIcon","url","shapeStyle","style","width","imageWidth","imageData","setImageData","containerSize","setContainerSize","Image","Platform","isAndroid","RNImage","FastImage","imageResizeMode","isCurrent","getSize","imgWidth","imgHeight","metaData","aspectRatio","onContainerLayout","event","nativeEvent","layout","getIcon","iconType","iconStyle","SvgIconRetry","styles","iconRetry","iconPlaceholderStyles","iconUploadStyles","icon","iconPlaceholder","iconPlaceholderDark","iconUpload","iconUploadDark","placeholderStyles","imageContainerUpload","imageContainerUploadDark","imageContainerUploadWithFocalpoint","customWidth","wide","imageContainerStyles","imageContent","focalPointContainer","imageStyles","opacity","undefined","container","alignItems","imageBorder","imageUploadingIconContainer","focalPointContent","uri","resizeMethod","imageContainer","retryContainer","customRetryIcon","uploadFailedText"],"mappings":"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","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 { Icon } from '@wordpress/components';\nimport { image as icon } 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';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nexport const IMAGE_DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 };\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\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\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\t\t}\n\t\treturn () => ( isCurrent = false );\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 iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ retryIcon || SvgIconRetry }\n\t\t\t\t\t\t{ ...styles.iconRetry }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = iconPlaceholderStyles;\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\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 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\topacity: isUploadInProgress ? 0.3 : 1,\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\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\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 &&\n\t\t\t\t\thighlightSelected &&\n\t\t\t\t\t! ( isUploadInProgress || isUploadFailed ) && (\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.imageBorder,\n\t\t\t\t\t\t\t\t{ height: containerSize?.height },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\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<Image\n\t\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t{ ...( ! focalPoint && {\n\t\t\t\t\t\t\t\tresizeMethod: 'scale',\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tresizeMode={ imageResizeMode }\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 && 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\tstyles.retryContainer,\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\tstyles.retryIcon,\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{ getIcon( ICON_TYPE.RETRY ) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<Text style={ styles.uploadFailedText }>\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={ ! isUploadFailed && imageData && url }\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"]}
|
|
@@ -33,7 +33,7 @@ var _styles = _interopRequireDefault(require("./styles.scss"));
|
|
|
33
33
|
* Internal dependencies
|
|
34
34
|
*/
|
|
35
35
|
function Separator() {
|
|
36
|
-
const separatorStyle = (0, _compose.usePreferredColorSchemeStyle)(_styles.default
|
|
36
|
+
const separatorStyle = (0, _compose.usePreferredColorSchemeStyle)(_styles.default['components-picker__separator'], _styles.default['components-picker__separator--dark']);
|
|
37
37
|
return (0, _element.createElement)(_reactNative.View, {
|
|
38
38
|
style: separatorStyle
|
|
39
39
|
});
|
|
@@ -83,7 +83,7 @@ class Picker extends _element.Component {
|
|
|
83
83
|
separatorType: 'none',
|
|
84
84
|
onPress: () => this.onCellPress(option.value),
|
|
85
85
|
disabled: option.disabled,
|
|
86
|
-
style: option.disabled && _styles.default
|
|
86
|
+
style: option.disabled && _styles.default['components-picker__button--disabled']
|
|
87
87
|
})));
|
|
88
88
|
}
|
|
89
89
|
|
|
@@ -103,7 +103,7 @@ class Picker extends _element.Component {
|
|
|
103
103
|
testID: testID
|
|
104
104
|
}, (0, _element.createElement)(_components.PanelBody, {
|
|
105
105
|
title: title,
|
|
106
|
-
style: _styles.default
|
|
106
|
+
style: _styles.default['components-picker__panel']
|
|
107
107
|
}, this.getOptions(), !hideCancelButton && (0, _element.createElement)(_components.TextControl, {
|
|
108
108
|
label: (0, _i18n.__)('Cancel'),
|
|
109
109
|
onPress: this.onClose,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/picker/index.android.js"],"names":["Separator","separatorStyle","styles","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/picker/index.android.js"],"names":["Separator","separatorStyle","styles","Picker","Component","constructor","arguments","onClose","bind","onCellPress","state","isVisible","presentPicker","setState","value","onChange","props","getOptions","options","leftAlign","map","option","label","length","separated","icon","disabled","render","hideCancelButton","title","testID"],"mappings":";;;;;;;;;AASA;;AANA;;AAKA;;AAEA;;AACA;;AAKA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAIA,SAASA,SAAT,GAAqB;AACpB,QAAMC,cAAc,GAAG,2CACtBC,gBAAQ,8BAAR,CADsB,EAEtBA,gBAAQ,oCAAR,CAFsB,CAAvB;AAKA,SAAO,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGD;AAAd,IAAP;AACA;;AAEc,MAAME,MAAN,SAAqBC,kBAArB,CAA+B;AAC7CC,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AACA,SAAKC,OAAL,GAAe,KAAKA,OAAL,CAAaC,IAAb,CAAmB,IAAnB,CAAf;AACA,SAAKC,WAAL,GAAmB,KAAKA,WAAL,CAAiBD,IAAjB,CAAuB,IAAvB,CAAnB;AAEA,SAAKE,KAAL,GAAa;AACZC,MAAAA,SAAS,EAAE;AADC,KAAb;AAGA;;AAEDC,EAAAA,aAAa,GAAG;AACf,SAAKC,QAAL,CAAe;AAAEF,MAAAA,SAAS,EAAE;AAAb,KAAf;AACA;;AAEDJ,EAAAA,OAAO,GAAG;AACT,SAAKM,QAAL,CAAe;AAAEF,MAAAA,SAAS,EAAE;AAAb,KAAf;AACA;;AAEDF,EAAAA,WAAW,CAAEK,KAAF,EAAU;AACpB,UAAM;AAAEC,MAAAA;AAAF,QAAe,KAAKC,KAA1B;AACAD,IAAAA,QAAQ,CAAED,KAAF,CAAR;AACA,SAAKP,OAAL;AACA;;AAEDU,EAAAA,UAAU,GAAG;AACZ,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAyB,KAAKH,KAApC;AAEA,WAAOE,OAAO,CAACE,GAAR,CAAeC,MAAF,IACnB,4BAAC,iBAAD;AAAU,MAAA,GAAG,EAAI,GAAGA,MAAM,CAACC,KAAO,IAAID,MAAM,CAACP,KAAO;AAApD,OACGI,OAAO,CAACK,MAAR,GAAiB,CAAjB,IAAsBF,MAAM,CAACG,SAA7B,IAA0C,4BAAC,SAAD,OAD7C,EAEC,4BAAC,oBAAD,CAAa,IAAb;AACC,MAAA,IAAI,EAAGH,MAAM,CAACI,IADf;AAEC,MAAA,SAAS,EAAGN,SAFb;AAGC,MAAA,KAAK,EAAGE,MAAM,CAACC,KAHhB;AAIC,MAAA,aAAa,EAAG,MAJjB;AAKC,MAAA,OAAO,EAAG,MAAM,KAAKb,WAAL,CAAkBY,MAAM,CAACP,KAAzB,CALjB;AAMC,MAAA,QAAQ,EAAGO,MAAM,CAACK,QANnB;AAOC,MAAA,KAAK,EACJL,MAAM,CAACK,QAAP,IACAxB,gBAAQ,qCAAR;AATF,MAFD,CADM,CAAP;AAiBA;;AAEDyB,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEC,MAAAA,gBAAF;AAAoBC,MAAAA,KAApB;AAA2BC,MAAAA;AAA3B,QAAsC,KAAKd,KAAjD;AACA,UAAM;AAAEL,MAAAA;AAAF,QAAgB,KAAKD,KAA3B;AAEA,WACC,4BAAC,oBAAD;AACC,MAAA,SAAS,EAAGC,SADb;AAEC,MAAA,OAAO,EAAG,KAAKJ,OAFhB;AAGC,MAAA,UAAU,MAHX;AAIC,MAAA,MAAM,EAAGuB;AAJV,OAMC,4BAAC,qBAAD;AACC,MAAA,KAAK,EAAGD,KADT;AAEC,MAAA,KAAK,EAAG3B,gBAAQ,0BAAR;AAFT,OAIG,KAAKe,UAAL,EAJH,EAKG,CAAEW,gBAAF,IACD,4BAAC,uBAAD;AACC,MAAA,KAAK,EAAG,cAAI,QAAJ,CADT;AAEC,MAAA,OAAO,EAAG,KAAKrB,OAFhB;AAGC,MAAA,aAAa,EAAG;AAHjB,MANF,CAND,CADD;AAsBA;;AAzE4C","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';\nimport { PanelBody, TextControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BottomSheet from '../bottom-sheet';\nimport styles from './styles.scss';\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"]}
|
package/build/modal/index.js
CHANGED
|
@@ -15,8 +15,6 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
15
15
|
|
|
16
16
|
var _compose = require("@wordpress/compose");
|
|
17
17
|
|
|
18
|
-
var _keycodes = require("@wordpress/keycodes");
|
|
19
|
-
|
|
20
18
|
var _i18n = require("@wordpress/i18n");
|
|
21
19
|
|
|
22
20
|
var _icons = require("@wordpress/icons");
|
|
@@ -101,7 +99,7 @@ function Modal(props, forwardedRef) {
|
|
|
101
99
|
}, [bodyOpenClassName]);
|
|
102
100
|
|
|
103
101
|
function handleEscapeKeyDown(event) {
|
|
104
|
-
if (shouldCloseOnEsc && event.
|
|
102
|
+
if (shouldCloseOnEsc && event.code === 'Escape' && !event.defaultPrevented) {
|
|
105
103
|
event.preventDefault();
|
|
106
104
|
|
|
107
105
|
if (onRequestClose) {
|
package/build/modal/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/modal/index.js"],"names":["openModalCount","Modal","props","forwardedRef","bodyOpenClassName","role","title","focusOnMount","shouldCloseOnEsc","shouldCloseOnClickOutside","isDismissible","aria","labelledby","describedby","onRequestClose","icon","closeButtonLabel","children","style","overlayClassName","className","contentLabel","onKeyDown","isFullScreen","__experimentalHideHeader","ref","instanceId","headingId","focusOnMountRef","constrainedTabbingRef","focusReturnRef","focusOutsideProps","hasScrolledContent","setHasScrolledContent","ariaHelper","hideApp","current","document","body","classList","add","remove","showApp","handleEscapeKeyDown","event","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/modal/index.js"],"names":["openModalCount","Modal","props","forwardedRef","bodyOpenClassName","role","title","focusOnMount","shouldCloseOnEsc","shouldCloseOnClickOutside","isDismissible","aria","labelledby","describedby","onRequestClose","icon","closeButtonLabel","children","style","overlayClassName","className","contentLabel","onKeyDown","isFullScreen","__experimentalHideHeader","ref","instanceId","headingId","focusOnMountRef","constrainedTabbingRef","focusReturnRef","focusOutsideProps","hasScrolledContent","setHasScrolledContent","ariaHelper","hideApp","current","document","body","classList","add","remove","showApp","handleEscapeKeyDown","event","code","defaultPrevented","preventDefault","onContentContainerScroll","e","scrollY","target","scrollTop","close"],"mappings":"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","sourcesContent":["// @ts-nocheck\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreatePortal,\n\tuseCallback,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tforwardRef,\n} from '@wordpress/element';\nimport {\n\tuseInstanceId,\n\tuseFocusReturn,\n\tuseFocusOnMount,\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseConstrainedTabbing,\n\tuseMergeRefs,\n} from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { close } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport * as ariaHelper from './aria-helper';\nimport Button from '../button';\nimport StyleProvider from '../style-provider';\n\n// Used to count the number of open modals.\nlet openModalCount = 0;\n\nfunction Modal( props, forwardedRef ) {\n\tconst {\n\t\tbodyOpenClassName = 'modal-open',\n\t\trole = 'dialog',\n\t\ttitle = null,\n\t\tfocusOnMount = true,\n\t\tshouldCloseOnEsc = true,\n\t\tshouldCloseOnClickOutside = true,\n\t\tisDismissible = true,\n\t\t/* Accessibility. */\n\t\taria = {\n\t\t\tlabelledby: null,\n\t\t\tdescribedby: null,\n\t\t},\n\t\tonRequestClose,\n\t\ticon,\n\t\tcloseButtonLabel,\n\t\tchildren,\n\t\tstyle,\n\t\toverlayClassName,\n\t\tclassName,\n\t\tcontentLabel,\n\t\tonKeyDown,\n\t\tisFullScreen = false,\n\t\t__experimentalHideHeader = false,\n\t} = props;\n\n\tconst ref = useRef();\n\tconst instanceId = useInstanceId( Modal );\n\tconst headingId = title\n\t\t? `components-modal-header-${ instanceId }`\n\t\t: aria.labelledby;\n\tconst focusOnMountRef = useFocusOnMount( focusOnMount );\n\tconst constrainedTabbingRef = useConstrainedTabbing();\n\tconst focusReturnRef = useFocusReturn();\n\tconst focusOutsideProps = useFocusOutside( onRequestClose );\n\n\tconst [ hasScrolledContent, setHasScrolledContent ] = useState( false );\n\n\tuseEffect( () => {\n\t\topenModalCount++;\n\n\t\tif ( openModalCount === 1 ) {\n\t\t\tariaHelper.hideApp( ref.current );\n\t\t\tdocument.body.classList.add( bodyOpenClassName );\n\t\t}\n\n\t\treturn () => {\n\t\t\topenModalCount--;\n\n\t\t\tif ( openModalCount === 0 ) {\n\t\t\t\tdocument.body.classList.remove( bodyOpenClassName );\n\t\t\t\tariaHelper.showApp();\n\t\t\t}\n\t\t};\n\t}, [ bodyOpenClassName ] );\n\n\tfunction handleEscapeKeyDown( event ) {\n\t\tif (\n\t\t\tshouldCloseOnEsc &&\n\t\t\tevent.code === 'Escape' &&\n\t\t\t! event.defaultPrevented\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tif ( onRequestClose ) {\n\t\t\t\tonRequestClose( event );\n\t\t\t}\n\t\t}\n\t}\n\n\tconst onContentContainerScroll = useCallback(\n\t\t( e ) => {\n\t\t\tconst scrollY = e?.target?.scrollTop ?? -1;\n\n\t\t\tif ( ! hasScrolledContent && scrollY > 0 ) {\n\t\t\t\tsetHasScrolledContent( true );\n\t\t\t} else if ( hasScrolledContent && scrollY <= 0 ) {\n\t\t\t\tsetHasScrolledContent( false );\n\t\t\t}\n\t\t},\n\t\t[ hasScrolledContent ]\n\t);\n\n\treturn createPortal(\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tref={ useMergeRefs( [ ref, forwardedRef ] ) }\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-modal__screen-overlay',\n\t\t\t\toverlayClassName\n\t\t\t) }\n\t\t\tonKeyDown={ handleEscapeKeyDown }\n\t\t>\n\t\t\t<StyleProvider document={ document }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-modal__frame',\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-full-screen': isFullScreen,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\t\tconstrainedTabbingRef,\n\t\t\t\t\t\tfocusReturnRef,\n\t\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\t] ) }\n\t\t\t\t\trole={ role }\n\t\t\t\t\taria-label={ contentLabel }\n\t\t\t\t\taria-labelledby={ contentLabel ? null : headingId }\n\t\t\t\t\taria-describedby={ aria.describedby }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t{ ...( shouldCloseOnClickOutside\n\t\t\t\t\t\t? focusOutsideProps\n\t\t\t\t\t\t: {} ) }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( 'components-modal__content', {\n\t\t\t\t\t\t\t'hide-header': __experimentalHideHeader,\n\t\t\t\t\t\t\t'has-scrolled-content': hasScrolledContent,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\trole=\"document\"\n\t\t\t\t\t\tonScroll={ onContentContainerScroll }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! __experimentalHideHeader && (\n\t\t\t\t\t\t\t<div className=\"components-modal__header\">\n\t\t\t\t\t\t\t\t<div className=\"components-modal__header-heading-container\">\n\t\t\t\t\t\t\t\t\t{ icon && (\n\t\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__icon-container\"\n\t\t\t\t\t\t\t\t\t\t\taria-hidden\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ title && (\n\t\t\t\t\t\t\t\t\t\t<h1\n\t\t\t\t\t\t\t\t\t\t\tid={ headingId }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-modal__header-heading\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t{ isDismissible && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tonClick={ onRequestClose }\n\t\t\t\t\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\t\t\tcloseButtonLabel ||\n\t\t\t\t\t\t\t\t\t\t\t__( 'Close dialog' )\n\t\t\t\t\t\t\t\t\t\t}\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</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</StyleProvider>\n\t\t</div>,\n\t\tdocument.body\n\t);\n}\n\nexport default forwardRef( Modal );\n"]}
|