@wordpress/components 19.4.0 → 19.5.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 +16 -1
- package/CONTRIBUTING.md +69 -2
- package/build/box-control/unit-control.js +2 -2
- package/build/box-control/unit-control.js.map +1 -1
- package/build/card/card/component.js +2 -2
- package/build/card/card/component.js.map +1 -1
- package/build/card/card-body/component.js +1 -1
- package/build/card/card-body/component.js.map +1 -1
- package/build/card/card-divider/component.js +1 -1
- package/build/card/card-divider/component.js.map +1 -1
- package/build/card/card-footer/component.js +1 -1
- package/build/card/card-footer/component.js.map +1 -1
- package/build/card/card-header/component.js +1 -1
- package/build/card/card-header/component.js.map +1 -1
- package/build/card/card-media/component.js +1 -1
- package/build/card/card-media/component.js.map +1 -1
- package/build/color-palette/index.native.js +35 -30
- package/build/color-palette/index.native.js.map +1 -1
- package/build/color-picker/component.js.map +1 -1
- package/build/color-picker/hex-input.js +6 -9
- package/build/color-picker/hex-input.js.map +1 -1
- package/build/confirm-dialog/component.js.map +1 -1
- package/build/divider/component.js.map +1 -1
- package/build/elevation/component.js +1 -1
- package/build/elevation/component.js.map +1 -1
- package/build/flex/flex/component.js +1 -1
- package/build/flex/flex/component.js.map +1 -1
- package/build/flex/flex-block/component.js +1 -1
- package/build/flex/flex-block/component.js.map +1 -1
- package/build/flex/flex-item/component.js +1 -1
- package/build/flex/flex-item/component.js.map +1 -1
- package/build/flyout/flyout/component.js +1 -1
- package/build/flyout/flyout/component.js.map +1 -1
- package/build/flyout/flyout-content/component.js +1 -1
- package/build/flyout/flyout-content/component.js.map +1 -1
- package/build/focal-point-picker/index.js +18 -12
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/font-size-picker/index.js +0 -1
- package/build/font-size-picker/index.js.map +1 -1
- package/build/grid/component.js +1 -1
- package/build/grid/component.js.map +1 -1
- package/build/h-stack/component.js +1 -1
- package/build/h-stack/component.js.map +1 -1
- package/build/heading/component.js.map +1 -1
- package/build/index.js +12 -0
- package/build/index.js.map +1 -1
- package/build/index.native.js +15 -1
- package/build/index.native.js.map +1 -1
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/input-base.js.map +1 -1
- package/build/input-control/input-field.js +7 -7
- package/build/input-control/input-field.js.map +1 -1
- package/build/input-control/reducer/reducer.js +3 -0
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/item-group/item/component.js.map +1 -1
- package/build/item-group/item-group/component.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build/mobile/color-settings/palette.screen.native.js +26 -9
- package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +63 -9
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/mobile/inserter-button/index.native.js +3 -3
- package/build/mobile/inserter-button/index.native.js.map +1 -1
- package/build/mobile/inserter-button/sparkles.js +25 -0
- package/build/mobile/inserter-button/sparkles.js.map +1 -0
- package/build/navigator/index.js +16 -0
- package/build/navigator/index.js.map +1 -1
- package/build/navigator/navigator-back-button/component.js +72 -0
- package/build/navigator/navigator-back-button/component.js.map +1 -0
- package/build/navigator/navigator-back-button/hook.js +49 -0
- package/build/navigator/navigator-back-button/hook.js.map +1 -0
- package/build/navigator/navigator-back-button/index.js +16 -0
- package/build/navigator/navigator-back-button/index.js.map +1 -0
- package/build/navigator/navigator-button/component.js +71 -0
- package/build/navigator/navigator-button/component.js.map +1 -0
- package/build/navigator/navigator-button/hook.js +59 -0
- package/build/navigator/navigator-button/hook.js.map +1 -0
- package/build/navigator/navigator-button/index.js +16 -0
- package/build/navigator/navigator-button/index.js.map +1 -0
- package/build/navigator/navigator-provider/component.js +11 -21
- package/build/navigator/navigator-provider/component.js.map +1 -1
- package/build/navigator/navigator-screen/component.js +14 -22
- package/build/navigator/navigator-screen/component.js.map +1 -1
- package/build/resizable-box/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build/scrollable/component.js +1 -1
- package/build/scrollable/component.js.map +1 -1
- package/build/select-control/index.js.map +1 -1
- package/build/spacer/component.js.map +1 -1
- package/build/surface/component.js +1 -1
- package/build/surface/component.js.map +1 -1
- package/build/text/component.js +1 -1
- package/build/text/component.js.map +1 -1
- package/build/text-control/index.js +2 -2
- package/build/text-control/index.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build/tools-panel/tools-panel/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/tools-panel/tools-panel-item/component.js.map +1 -1
- package/build/tree-grid/index.js +50 -6
- package/build/tree-grid/index.js.map +1 -1
- package/build/truncate/component.js +1 -1
- package/build/truncate/component.js.map +1 -1
- package/build/ui/control-group/component.js +1 -1
- package/build/ui/control-group/component.js.map +1 -1
- package/build/ui/control-label/component.js +1 -1
- package/build/ui/control-label/component.js.map +1 -1
- package/build/ui/form-group/form-group.js +1 -1
- package/build/ui/form-group/form-group.js.map +1 -1
- package/build/ui/shortcut/component.js.map +1 -1
- package/build/ui/spinner/component.js +1 -1
- package/build/ui/spinner/component.js.map +1 -1
- package/build/ui/tooltip/component.js +1 -1
- package/build/ui/tooltip/component.js.map +1 -1
- package/build/ui/tooltip/content.js +1 -1
- package/build/ui/tooltip/content.js.map +1 -1
- package/build/unit-control/index.js.map +1 -1
- package/build/v-stack/component.js +1 -1
- package/build/v-stack/component.js.map +1 -1
- package/build/visually-hidden/component.js +1 -1
- package/build/visually-hidden/component.js.map +1 -1
- package/build/z-stack/component.js.map +1 -1
- package/build-module/box-control/unit-control.js +1 -1
- package/build-module/box-control/unit-control.js.map +1 -1
- package/build-module/card/card/component.js +2 -2
- package/build-module/card/card/component.js.map +1 -1
- package/build-module/card/card-body/component.js +1 -1
- package/build-module/card/card-body/component.js.map +1 -1
- package/build-module/card/card-divider/component.js +1 -1
- package/build-module/card/card-divider/component.js.map +1 -1
- package/build-module/card/card-footer/component.js +1 -1
- package/build-module/card/card-footer/component.js.map +1 -1
- package/build-module/card/card-header/component.js +1 -1
- package/build-module/card/card-header/component.js.map +1 -1
- package/build-module/card/card-media/component.js +1 -1
- package/build-module/card/card-media/component.js.map +1 -1
- package/build-module/color-palette/index.native.js +36 -31
- package/build-module/color-palette/index.native.js.map +1 -1
- package/build-module/color-picker/component.js.map +1 -1
- package/build-module/color-picker/hex-input.js +6 -9
- package/build-module/color-picker/hex-input.js.map +1 -1
- package/build-module/confirm-dialog/component.js.map +1 -1
- package/build-module/divider/component.js.map +1 -1
- package/build-module/elevation/component.js +1 -1
- package/build-module/elevation/component.js.map +1 -1
- package/build-module/flex/flex/component.js +1 -1
- package/build-module/flex/flex/component.js.map +1 -1
- package/build-module/flex/flex-block/component.js +1 -1
- package/build-module/flex/flex-block/component.js.map +1 -1
- package/build-module/flex/flex-item/component.js +1 -1
- package/build-module/flex/flex-item/component.js.map +1 -1
- package/build-module/flyout/flyout/component.js +1 -1
- package/build-module/flyout/flyout/component.js.map +1 -1
- package/build-module/flyout/flyout-content/component.js +1 -1
- package/build-module/flyout/flyout-content/component.js.map +1 -1
- package/build-module/focal-point-picker/index.js +18 -12
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/font-size-picker/index.js +0 -1
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/grid/component.js +1 -1
- package/build-module/grid/component.js.map +1 -1
- package/build-module/h-stack/component.js +1 -1
- package/build-module/h-stack/component.js.map +1 -1
- package/build-module/heading/component.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +1 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/input-base.js.map +1 -1
- package/build-module/input-control/input-field.js +6 -6
- package/build-module/input-control/input-field.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js +3 -0
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/item-group/item/component.js.map +1 -1
- package/build-module/item-group/item-group/component.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build-module/mobile/color-settings/palette.screen.native.js +27 -10
- package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +60 -10
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/mobile/inserter-button/index.native.js +1 -1
- package/build-module/mobile/inserter-button/index.native.js.map +1 -1
- package/build-module/mobile/inserter-button/sparkles.js +16 -0
- package/build-module/mobile/inserter-button/sparkles.js.map +1 -0
- package/build-module/navigator/index.js +2 -0
- package/build-module/navigator/index.js.map +1 -1
- package/build-module/navigator/navigator-back-button/component.js +59 -0
- package/build-module/navigator/navigator-back-button/component.js.map +1 -0
- package/build-module/navigator/navigator-back-button/hook.js +36 -0
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -0
- package/build-module/navigator/navigator-back-button/index.js +2 -0
- package/build-module/navigator/navigator-back-button/index.js.map +1 -0
- package/build-module/navigator/navigator-button/component.js +58 -0
- package/build-module/navigator/navigator-button/component.js.map +1 -0
- package/build-module/navigator/navigator-button/hook.js +46 -0
- package/build-module/navigator/navigator-button/hook.js.map +1 -0
- package/build-module/navigator/navigator-button/index.js +2 -0
- package/build-module/navigator/navigator-button/index.js.map +1 -0
- package/build-module/navigator/navigator-provider/component.js +11 -21
- package/build-module/navigator/navigator-provider/component.js.map +1 -1
- package/build-module/navigator/navigator-screen/component.js +13 -22
- package/build-module/navigator/navigator-screen/component.js.map +1 -1
- package/build-module/resizable-box/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build-module/scrollable/component.js +1 -1
- package/build-module/scrollable/component.js.map +1 -1
- package/build-module/select-control/index.js +1 -1
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/spacer/component.js.map +1 -1
- package/build-module/surface/component.js +1 -1
- package/build-module/surface/component.js.map +1 -1
- package/build-module/text/component.js +1 -1
- package/build-module/text/component.js.map +1 -1
- package/build-module/text-control/index.js +2 -2
- package/build-module/text-control/index.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
- package/build-module/tree-grid/index.js +51 -7
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/truncate/component.js +1 -1
- package/build-module/truncate/component.js.map +1 -1
- package/build-module/ui/control-group/component.js +1 -1
- package/build-module/ui/control-group/component.js.map +1 -1
- package/build-module/ui/control-label/component.js +1 -1
- package/build-module/ui/control-label/component.js.map +1 -1
- package/build-module/ui/form-group/form-group.js +1 -1
- package/build-module/ui/form-group/form-group.js.map +1 -1
- package/build-module/ui/shortcut/component.js.map +1 -1
- package/build-module/ui/spinner/component.js +1 -1
- package/build-module/ui/spinner/component.js.map +1 -1
- package/build-module/ui/tooltip/component.js +1 -1
- package/build-module/ui/tooltip/component.js.map +1 -1
- package/build-module/ui/tooltip/content.js +1 -1
- package/build-module/ui/tooltip/content.js.map +1 -1
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/v-stack/component.js +1 -1
- package/build-module/v-stack/component.js.map +1 -1
- package/build-module/visually-hidden/component.js +1 -1
- package/build-module/visually-hidden/component.js.map +1 -1
- package/build-module/z-stack/component.js.map +1 -1
- package/build-types/card/card-divider/hook.d.ts +0 -1
- package/build-types/card/card-divider/hook.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +2 -4
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/confirm-dialog/component.d.ts +2 -6
- package/build-types/confirm-dialog/component.d.ts.map +1 -1
- package/build-types/flyout/flyout/hook.d.ts +0 -1
- package/build-types/flyout/flyout/hook.d.ts.map +1 -1
- package/build-types/input-control/index.d.ts +3 -3
- package/build-types/input-control/index.d.ts.map +1 -1
- package/build-types/input-control/input-base.d.ts +2 -2
- package/build-types/input-control/input-base.d.ts.map +1 -1
- package/build-types/input-control/input-field.d.ts +1 -3
- package/build-types/input-control/input-field.d.ts.map +1 -1
- package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +1 -1
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/navigator/index.d.ts +2 -0
- package/build-types/navigator/index.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/component.d.ts +38 -0
- package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -0
- package/build-types/navigator/navigator-back-button/hook.d.ts +282 -0
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -0
- package/build-types/navigator/navigator-back-button/index.d.ts +2 -0
- package/build-types/navigator/navigator-back-button/index.d.ts.map +1 -0
- package/build-types/navigator/navigator-button/component.d.ts +37 -0
- package/build-types/navigator/navigator-button/component.d.ts.map +1 -0
- package/build-types/navigator/navigator-button/hook.d.ts +282 -0
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -0
- package/build-types/navigator/navigator-button/index.d.ts +2 -0
- package/build-types/navigator/navigator-button/index.d.ts.map +1 -0
- package/build-types/navigator/navigator-provider/component.d.ts +10 -20
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-screen/component.d.ts +10 -20
- package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
- package/build-types/navigator/types.d.ts +21 -0
- package/build-types/navigator/types.d.ts.map +1 -1
- package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
- package/build-types/resizable-box/index.d.ts +2 -2
- package/build-types/resizable-box/index.d.ts.map +1 -1
- package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
- package/build-types/select-control/index.d.ts +1 -3
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/ui/context/wordpress-component.d.ts +2 -6
- package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +1 -3
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/z-stack/component.d.ts.map +1 -1
- package/package.json +8 -7
- package/src/alignment-matrix-control/README.md +4 -0
- package/src/alignment-matrix-control/stories/index.js +1 -1
- package/src/base-control/stories/index.js +65 -22
- package/src/box-control/stories/index.js +4 -1
- package/src/box-control/unit-control.js +1 -1
- package/src/card/card/component.js +1 -1
- package/src/card/card-body/component.js +1 -1
- package/src/card/card-divider/component.js +1 -1
- package/src/card/card-footer/component.js +1 -1
- package/src/card/card-header/component.js +1 -1
- package/src/card/card-media/component.js +1 -1
- package/src/color-palette/index.native.js +92 -75
- package/src/color-palette/style.native.scss +10 -5
- package/src/color-picker/component.tsx +2 -2
- package/src/color-picker/hex-input.tsx +9 -9
- package/src/confirm-dialog/component.tsx +2 -2
- package/src/divider/component.tsx +2 -2
- package/src/elevation/component.js +1 -1
- package/src/flex/flex/component.js +1 -1
- package/src/flex/flex-block/component.js +1 -1
- package/src/flex/flex-item/component.js +1 -1
- package/src/flyout/flyout/component.js +1 -1
- package/src/flyout/flyout-content/component.js +1 -1
- package/src/focal-point-picker/README.md +7 -0
- package/src/focal-point-picker/index.js +12 -7
- package/src/focal-point-picker/stories/index.js +30 -0
- package/src/focal-point-picker/test/index.js +44 -0
- package/src/font-size-picker/index.js +0 -1
- package/src/form-file-upload/README.md +1 -1
- package/src/form-file-upload/stories/index.js +51 -0
- package/src/grid/component.js +1 -1
- package/src/h-stack/component.js +1 -1
- package/src/heading/component.tsx +2 -2
- package/src/index.js +2 -0
- package/src/index.native.js +5 -1
- package/src/input-control/index.tsx +2 -2
- package/src/input-control/input-base.tsx +2 -2
- package/src/input-control/input-field.tsx +4 -6
- package/src/input-control/reducer/reducer.ts +3 -0
- package/src/input-control/stories/index.js +1 -1
- package/src/input-control/types.ts +1 -1
- package/src/item-group/item/component.tsx +2 -2
- package/src/item-group/item-group/component.tsx +2 -2
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -1
- package/src/mobile/color-settings/palette.screen.native.js +39 -9
- package/src/mobile/color-settings/style.native.scss +4 -0
- package/src/mobile/global-styles-context/test/fixtures/theme.native.js +27 -0
- package/src/mobile/global-styles-context/test/utils.native.js +2 -2
- package/src/mobile/global-styles-context/utils.native.js +75 -6
- package/src/mobile/inserter-button/index.native.js +1 -2
- package/src/mobile/inserter-button/sparkles.js +15 -0
- package/src/navigation/stories/index.js +1 -1
- package/src/navigator/index.ts +2 -0
- package/src/navigator/navigator-back-button/README.md +31 -0
- package/src/navigator/navigator-back-button/component.tsx +62 -0
- package/src/navigator/navigator-back-button/hook.ts +40 -0
- package/src/navigator/navigator-back-button/index.ts +1 -0
- package/src/navigator/navigator-button/README.md +38 -0
- package/src/navigator/navigator-button/component.tsx +61 -0
- package/src/navigator/navigator-button/hook.ts +55 -0
- package/src/navigator/navigator-button/index.ts +1 -0
- package/src/navigator/navigator-provider/README.md +20 -33
- package/src/navigator/navigator-provider/component.tsx +12 -22
- package/src/navigator/navigator-screen/README.md +1 -1
- package/src/navigator/navigator-screen/component.tsx +14 -23
- package/src/navigator/stories/index.js +24 -37
- package/src/navigator/test/index.js +89 -34
- package/src/navigator/types.ts +26 -0
- package/src/number-control/stories/index.js +1 -1
- package/src/radio/stories/index.js +1 -1
- package/src/radio-group/stories/index.js +4 -1
- package/src/resizable-box/index.tsx +2 -2
- package/src/resizable-box/resize-tooltip/index.tsx +2 -2
- package/src/resizable-box/resize-tooltip/label.tsx +2 -2
- package/src/scrollable/component.js +1 -1
- package/src/select-control/index.tsx +2 -3
- package/src/spacer/component.tsx +2 -2
- package/src/surface/component.js +1 -1
- package/src/text/component.js +1 -1
- package/src/text-control/index.js +2 -2
- package/src/toggle-group-control/stories/index.js +1 -1
- package/src/toggle-group-control/toggle-group-control/component.tsx +2 -2
- package/src/toggle-group-control/toggle-group-control-option/component.tsx +2 -2
- package/src/tools-panel/stories/index.js +0 -1
- package/src/tools-panel/tools-panel/component.tsx +2 -2
- package/src/tools-panel/tools-panel-header/component.tsx +2 -2
- package/src/tools-panel/tools-panel-item/component.tsx +2 -2
- package/src/tree-grid/README.md +24 -1
- package/src/tree-grid/index.js +66 -7
- package/src/tree-grid/stories/index.js +4 -1
- package/src/tree-grid/test/__snapshots__/index.js.snap +1 -14
- package/src/tree-grid/test/index.js +226 -7
- package/src/truncate/component.js +1 -1
- package/src/ui/context/wordpress-component.ts +2 -2
- package/src/ui/control-group/component.js +1 -1
- package/src/ui/control-label/component.js +1 -1
- package/src/ui/form-group/form-group.js +1 -1
- package/src/ui/shortcut/component.tsx +2 -2
- package/src/ui/spinner/component.js +1 -1
- package/src/ui/tooltip/component.js +1 -1
- package/src/ui/tooltip/content.js +1 -1
- package/src/unit-control/index.tsx +2 -2
- package/src/unit-control/stories/index.js +1 -1
- package/src/v-stack/component.js +1 -1
- package/src/visually-hidden/component.js +1 -1
- package/src/z-stack/component.tsx +2 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/src/tools-panel/stories/typography-panel.js +0 -215
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/input-control/input-field.tsx"],"names":["noop","useDrag","forwardRef","useRef","UP","DOWN","ENTER","useDragCursor","Input","useInputControlStateReducer","isValueEmpty","useUpdateEffect","InputField","ref","disabled","dragDirection","dragThreshold","id","isDragEnabled","isFocused","isPressEnterToChange","onBlur","onChange","onDrag","onDragEnd","onDragStart","onFocus","onKeyDown","onValidate","size","setIsFocused","stateReducer","state","value","valueProp","type","props","change","commit","drag","dragEnd","dragStart","invalidate","pressDown","pressEnter","pressUp","reset","update","_event","isDragging","isDirty","wasDirtyOnBlur","dragCursor","current","event","handleOnBlur","handleOnCommit","handleOnFocus","handleOnChange","nextValue","target","currentTarget","err","handleOnKeyDown","keyCode","preventDefault","dragGestureProps","dragProps","distance","dragging","persist","stopPropagation","threshold","enabled","handleOnMouseDown","onMouseDown","ownerDocument","activeElement","focus","ForwardedComponent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport { useDrag } from 'react-use-gesture';\nimport type {\n\tSyntheticEvent,\n\tChangeEvent,\n\tKeyboardEvent,\n\tPointerEvent,\n\tFocusEvent,\n\tRef,\n\tMouseEvent,\n} from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useRef } from '@wordpress/element';\nimport { UP, DOWN, ENTER } from '@wordpress/keycodes';\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../ui/context';\nimport { useDragCursor } from './utils';\nimport { Input } from './styles/input-control-styles';\nimport { useInputControlStateReducer } from './reducer/reducer';\nimport { isValueEmpty } from '../utils/values';\nimport { useUpdateEffect } from '../utils';\nimport type { InputFieldProps } from './types';\n\nfunction InputField(\n\t{\n\t\tdisabled = false,\n\t\tdragDirection = 'n',\n\t\tdragThreshold = 10,\n\t\tid,\n\t\tisDragEnabled = false,\n\t\tisFocused,\n\t\tisPressEnterToChange = false,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonDrag = noop,\n\t\tonDragEnd = noop,\n\t\tonDragStart = noop,\n\t\tonFocus = noop,\n\t\tonKeyDown = noop,\n\t\tonValidate = noop,\n\t\tsize = 'default',\n\t\tsetIsFocused,\n\t\tstateReducer = ( state: any ) => state,\n\t\tvalue: valueProp,\n\t\ttype,\n\t\t...props\n\t}: WordPressComponentProps< InputFieldProps, 'input', false >,\n\tref: Ref< HTMLInputElement >\n) {\n\tconst {\n\t\t// State\n\t\tstate,\n\t\t// Actions\n\t\tchange,\n\t\tcommit,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t\tupdate,\n\t} = useInputControlStateReducer( stateReducer, {\n\t\tisDragEnabled,\n\t\tvalue: valueProp,\n\t\tisPressEnterToChange,\n\t} );\n\n\tconst { _event, value, isDragging, isDirty } = state;\n\tconst wasDirtyOnBlur = useRef( false );\n\n\tconst dragCursor = useDragCursor( isDragging, dragDirection );\n\n\t/*\n\t * Handles synchronization of external and internal value state.\n\t * If not focused and did not hold a dirty value[1] on blur\n\t * updates the value from the props. Otherwise if not holding\n\t * a dirty value[1] propagates the value and event through onChange.\n\t * [1] value is only made dirty if isPressEnterToChange is true\n\t */\n\tuseUpdateEffect( () => {\n\t\tif ( valueProp === value ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! isFocused && ! wasDirtyOnBlur.current ) {\n\t\t\tupdate( valueProp, _event as SyntheticEvent );\n\t\t} else if ( ! isDirty ) {\n\t\t\tonChange( value, {\n\t\t\t\tevent: _event as ChangeEvent< HTMLInputElement >,\n\t\t\t} );\n\t\t\twasDirtyOnBlur.current = false;\n\t\t}\n\t}, [ value, isDirty, isFocused, valueProp ] );\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused?.( false );\n\n\t\t/**\n\t\t * If isPressEnterToChange is set, this commits the value to\n\t\t * the onChange callback.\n\t\t */\n\t\tif ( isPressEnterToChange && isDirty ) {\n\t\t\twasDirtyOnBlur.current = true;\n\t\t\tif ( ! isValueEmpty( value ) ) {\n\t\t\t\thandleOnCommit( event );\n\t\t\t} else {\n\t\t\t\treset( valueProp, event );\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused?.( true );\n\t};\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.target.value;\n\t\tchange( nextValue, event );\n\t};\n\n\tconst handleOnCommit = ( event: SyntheticEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.currentTarget.value;\n\n\t\ttry {\n\t\t\tonValidate( nextValue );\n\t\t\tcommit( nextValue, event );\n\t\t} catch ( err ) {\n\t\t\tinvalidate( err, event );\n\t\t}\n\t};\n\n\tconst handleOnKeyDown = ( event: KeyboardEvent< HTMLInputElement > ) => {\n\t\tconst { keyCode } = event;\n\t\tonKeyDown( event );\n\n\t\tswitch ( keyCode ) {\n\t\t\tcase UP:\n\t\t\t\tpressUp( event );\n\t\t\t\tbreak;\n\n\t\t\tcase DOWN:\n\t\t\t\tpressDown( event );\n\t\t\t\tbreak;\n\n\t\t\tcase ENTER:\n\t\t\t\tpressEnter( event );\n\n\t\t\t\tif ( isPressEnterToChange ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\thandleOnCommit( event );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tconst dragGestureProps = useDrag< PointerEvent< HTMLInputElement > >(\n\t\t( dragProps ) => {\n\t\t\tconst { distance, dragging, event } = dragProps;\n\t\t\t// The event is persisted to prevent errors in components using this\n\t\t\t// to check if a modifier key was held while dragging.\n\t\t\tevent.persist();\n\n\t\t\tif ( ! distance ) return;\n\t\t\tevent.stopPropagation();\n\n\t\t\t/**\n\t\t\t * Quick return if no longer dragging.\n\t\t\t * This prevents unnecessary value calculations.\n\t\t\t */\n\t\t\tif ( ! dragging ) {\n\t\t\t\tonDragEnd( dragProps );\n\t\t\t\tdragEnd( dragProps );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonDrag( dragProps );\n\t\t\tdrag( dragProps );\n\n\t\t\tif ( ! isDragging ) {\n\t\t\t\tonDragStart( dragProps );\n\t\t\t\tdragStart( dragProps );\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tthreshold: dragThreshold,\n\t\t\tenabled: isDragEnabled,\n\t\t}\n\t);\n\n\tconst dragProps = isDragEnabled ? dragGestureProps() : {};\n\t/*\n\t * Works around the odd UA (e.g. Firefox) that does not focus inputs of\n\t * type=number when their spinner arrows are pressed.\n\t */\n\tlet handleOnMouseDown;\n\tif ( type === 'number' ) {\n\t\thandleOnMouseDown = ( event: MouseEvent< HTMLInputElement > ) => {\n\t\t\tprops.onMouseDown?.( event );\n\t\t\tif (\n\t\t\t\tevent.currentTarget !==\n\t\t\t\tevent.currentTarget.ownerDocument.activeElement\n\t\t\t) {\n\t\t\t\tevent.currentTarget.focus();\n\t\t\t}\n\t\t};\n\t}\n\n\treturn (\n\t\t<Input\n\t\t\t{ ...props }\n\t\t\t{ ...dragProps }\n\t\t\tclassName=\"components-input-control__input\"\n\t\t\tdisabled={ disabled }\n\t\t\tdragCursor={ dragCursor }\n\t\t\tisDragging={ isDragging }\n\t\t\tid={ id }\n\t\t\tonBlur={ handleOnBlur }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonFocus={ handleOnFocus }\n\t\t\tonKeyDown={ handleOnKeyDown }\n\t\t\tonMouseDown={ handleOnMouseDown }\n\t\t\tref={ ref }\n\t\t\tinputSize={ size }\n\t\t\tvalue={ value }\n\t\t\ttype={ type }\n\t\t/>\n\t);\n}\n\nconst ForwardedComponent = forwardRef( InputField );\n\nexport default ForwardedComponent;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/input-control/input-field.tsx"],"names":["noop","useDrag","forwardRef","useRef","UP","DOWN","ENTER","useDragCursor","Input","useInputControlStateReducer","isValueEmpty","useUpdateEffect","InputField","ref","disabled","dragDirection","dragThreshold","id","isDragEnabled","isFocused","isPressEnterToChange","onBlur","onChange","onDrag","onDragEnd","onDragStart","onFocus","onKeyDown","onValidate","size","setIsFocused","stateReducer","state","value","valueProp","type","props","change","commit","drag","dragEnd","dragStart","invalidate","pressDown","pressEnter","pressUp","reset","update","_event","isDragging","isDirty","wasDirtyOnBlur","dragCursor","current","event","handleOnBlur","handleOnCommit","handleOnFocus","handleOnChange","nextValue","target","currentTarget","err","handleOnKeyDown","keyCode","preventDefault","dragGestureProps","dragProps","distance","dragging","stopPropagation","threshold","enabled","pointer","capture","handleOnMouseDown","onMouseDown","ownerDocument","activeElement","focus","ForwardedComponent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport { useDrag } from '@use-gesture/react';\nimport type {\n\tSyntheticEvent,\n\tChangeEvent,\n\tKeyboardEvent,\n\tPointerEvent,\n\tFocusEvent,\n\tForwardedRef,\n\tMouseEvent,\n} from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useRef } from '@wordpress/element';\nimport { UP, DOWN, ENTER } from '@wordpress/keycodes';\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../ui/context';\nimport { useDragCursor } from './utils';\nimport { Input } from './styles/input-control-styles';\nimport { useInputControlStateReducer } from './reducer/reducer';\nimport { isValueEmpty } from '../utils/values';\nimport { useUpdateEffect } from '../utils';\nimport type { InputFieldProps } from './types';\n\nfunction InputField(\n\t{\n\t\tdisabled = false,\n\t\tdragDirection = 'n',\n\t\tdragThreshold = 10,\n\t\tid,\n\t\tisDragEnabled = false,\n\t\tisFocused,\n\t\tisPressEnterToChange = false,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonDrag = noop,\n\t\tonDragEnd = noop,\n\t\tonDragStart = noop,\n\t\tonFocus = noop,\n\t\tonKeyDown = noop,\n\t\tonValidate = noop,\n\t\tsize = 'default',\n\t\tsetIsFocused,\n\t\tstateReducer = ( state: any ) => state,\n\t\tvalue: valueProp,\n\t\ttype,\n\t\t...props\n\t}: WordPressComponentProps< InputFieldProps, 'input', false >,\n\tref: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t// State\n\t\tstate,\n\t\t// Actions\n\t\tchange,\n\t\tcommit,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t\tupdate,\n\t} = useInputControlStateReducer( stateReducer, {\n\t\tisDragEnabled,\n\t\tvalue: valueProp,\n\t\tisPressEnterToChange,\n\t} );\n\n\tconst { _event, value, isDragging, isDirty } = state;\n\tconst wasDirtyOnBlur = useRef( false );\n\n\tconst dragCursor = useDragCursor( isDragging, dragDirection );\n\n\t/*\n\t * Handles synchronization of external and internal value state.\n\t * If not focused and did not hold a dirty value[1] on blur\n\t * updates the value from the props. Otherwise if not holding\n\t * a dirty value[1] propagates the value and event through onChange.\n\t * [1] value is only made dirty if isPressEnterToChange is true\n\t */\n\tuseUpdateEffect( () => {\n\t\tif ( valueProp === value ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! isFocused && ! wasDirtyOnBlur.current ) {\n\t\t\tupdate( valueProp, _event as SyntheticEvent );\n\t\t} else if ( ! isDirty ) {\n\t\t\tonChange( value, {\n\t\t\t\tevent: _event as ChangeEvent< HTMLInputElement >,\n\t\t\t} );\n\t\t\twasDirtyOnBlur.current = false;\n\t\t}\n\t}, [ value, isDirty, isFocused, valueProp ] );\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused?.( false );\n\n\t\t/**\n\t\t * If isPressEnterToChange is set, this commits the value to\n\t\t * the onChange callback.\n\t\t */\n\t\tif ( isPressEnterToChange && isDirty ) {\n\t\t\twasDirtyOnBlur.current = true;\n\t\t\tif ( ! isValueEmpty( value ) ) {\n\t\t\t\thandleOnCommit( event );\n\t\t\t} else {\n\t\t\t\treset( valueProp, event );\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused?.( true );\n\t};\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.target.value;\n\t\tchange( nextValue, event );\n\t};\n\n\tconst handleOnCommit = ( event: SyntheticEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.currentTarget.value;\n\n\t\ttry {\n\t\t\tonValidate( nextValue );\n\t\t\tcommit( nextValue, event );\n\t\t} catch ( err ) {\n\t\t\tinvalidate( err, event );\n\t\t}\n\t};\n\n\tconst handleOnKeyDown = ( event: KeyboardEvent< HTMLInputElement > ) => {\n\t\tconst { keyCode } = event;\n\t\tonKeyDown( event );\n\n\t\tswitch ( keyCode ) {\n\t\t\tcase UP:\n\t\t\t\tpressUp( event );\n\t\t\t\tbreak;\n\n\t\t\tcase DOWN:\n\t\t\t\tpressDown( event );\n\t\t\t\tbreak;\n\n\t\t\tcase ENTER:\n\t\t\t\tpressEnter( event );\n\n\t\t\t\tif ( isPressEnterToChange ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\thandleOnCommit( event );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tconst dragGestureProps = useDrag< PointerEvent< HTMLInputElement > >(\n\t\t( dragProps ) => {\n\t\t\tconst { distance, dragging, event } = dragProps;\n\n\t\t\tif ( ! distance ) return;\n\t\t\tevent.stopPropagation();\n\n\t\t\t/**\n\t\t\t * Quick return if no longer dragging.\n\t\t\t * This prevents unnecessary value calculations.\n\t\t\t */\n\t\t\tif ( ! dragging ) {\n\t\t\t\tonDragEnd( dragProps );\n\t\t\t\tdragEnd( dragProps );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonDrag( dragProps );\n\t\t\tdrag( dragProps );\n\n\t\t\tif ( ! isDragging ) {\n\t\t\t\tonDragStart( dragProps );\n\t\t\t\tdragStart( dragProps );\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\tthreshold: dragThreshold,\n\t\t\tenabled: isDragEnabled,\n\t\t\tpointer: { capture: false },\n\t\t}\n\t);\n\n\tconst dragProps = isDragEnabled ? dragGestureProps() : {};\n\t/*\n\t * Works around the odd UA (e.g. Firefox) that does not focus inputs of\n\t * type=number when their spinner arrows are pressed.\n\t */\n\tlet handleOnMouseDown;\n\tif ( type === 'number' ) {\n\t\thandleOnMouseDown = ( event: MouseEvent< HTMLInputElement > ) => {\n\t\t\tprops.onMouseDown?.( event );\n\t\t\tif (\n\t\t\t\tevent.currentTarget !==\n\t\t\t\tevent.currentTarget.ownerDocument.activeElement\n\t\t\t) {\n\t\t\t\tevent.currentTarget.focus();\n\t\t\t}\n\t\t};\n\t}\n\n\treturn (\n\t\t<Input\n\t\t\t{ ...props }\n\t\t\t{ ...dragProps }\n\t\t\tclassName=\"components-input-control__input\"\n\t\t\tdisabled={ disabled }\n\t\t\tdragCursor={ dragCursor }\n\t\t\tisDragging={ isDragging }\n\t\t\tid={ id }\n\t\t\tonBlur={ handleOnBlur }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonFocus={ handleOnFocus }\n\t\t\tonKeyDown={ handleOnKeyDown }\n\t\t\tonMouseDown={ handleOnMouseDown }\n\t\t\tref={ ref }\n\t\t\tinputSize={ size }\n\t\t\tvalue={ value }\n\t\t\ttype={ type }\n\t\t/>\n\t);\n}\n\nconst ForwardedComponent = forwardRef( InputField );\n\nexport default ForwardedComponent;\n"]}
|
|
@@ -50,6 +50,9 @@ export const composeStateReducers = function () {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
return fns.reduceRight((state, fn) => {
|
|
53
|
+
// TODO: Assess whether this can be replaced with a more standard `compose` implementation
|
|
54
|
+
// like wp.data.compose() (aka lodash flowRight) or Redux compose().
|
|
55
|
+
// The current implementation only works by functions mutating the original state object.
|
|
53
56
|
const fnState = fn(...args);
|
|
54
57
|
return isEmpty(fnState) ? state : { ...state,
|
|
55
58
|
...fnState
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/input-control/reducer/reducer.ts"],"names":["isEmpty","useReducer","initialInputControlState","initialStateReducer","actions","mergeInitialState","initialState","value","initialValue","composeStateReducers","fns","args","reduceRight","state","fn","fnState","inputControlStateReducer","composedStateReducers","action","nextState","type","PRESS_UP","isDirty","PRESS_DOWN","DRAG_START","isDragging","DRAG_END","CHANGE","error","payload","isPressEnterToChange","COMMIT","RESET","UPDATE","INVALIDATE","event","_event","useInputControlStateReducer","stateReducer","dispatch","createChangeEvent","nextValue","persist","createKeyEvent","createDragEvent","change","invalidate","reset","commit","update","dragStart","drag","DRAG","dragEnd","pressUp","pressDown","pressEnter","PRESS_ENTER"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\nimport type { SyntheticEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useReducer } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tInputState,\n\tStateReducer,\n\tinitialInputControlState,\n\tinitialStateReducer,\n} from './state';\nimport * as actions from './actions';\n\n/**\n * Prepares initialState for the reducer.\n *\n * @param initialState The initial state.\n * @return Prepared initialState for the reducer\n */\nfunction mergeInitialState(\n\tinitialState: Partial< InputState > = initialInputControlState\n): InputState {\n\tconst { value } = initialState;\n\n\treturn {\n\t\t...initialInputControlState,\n\t\t...initialState,\n\t\tinitialValue: value,\n\t} as InputState;\n}\n\n/**\n * Composes multiple stateReducers into a single stateReducer, building\n * the pipeline to control the flow for state and actions.\n *\n * @param fns State reducers.\n * @return The single composed stateReducer.\n */\nexport const composeStateReducers = (\n\t...fns: StateReducer[]\n): StateReducer => {\n\treturn ( ...args ) => {\n\t\treturn fns.reduceRight( ( state, fn ) => {\n\t\t\tconst fnState = fn( ...args );\n\t\t\treturn isEmpty( fnState ) ? state : { ...state, ...fnState };\n\t\t}, {} as InputState );\n\t};\n};\n\n/**\n * Creates a reducer that opens the channel for external state subscription\n * and modification.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param composedStateReducers A custom reducer that can subscribe and modify state.\n * @return The reducer.\n */\nfunction inputControlStateReducer(\n\tcomposedStateReducers: StateReducer\n): StateReducer {\n\treturn ( state, action ) => {\n\t\tconst nextState = { ...state };\n\n\t\tswitch ( action.type ) {\n\t\t\t/**\n\t\t\t * Keyboard events\n\t\t\t */\n\t\t\tcase actions.PRESS_UP:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.PRESS_DOWN:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Drag events\n\t\t\t */\n\t\t\tcase actions.DRAG_START:\n\t\t\t\tnextState.isDragging = true;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.DRAG_END:\n\t\t\t\tnextState.isDragging = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Input events\n\t\t\t */\n\t\t\tcase actions.CHANGE:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.value = action.payload.value;\n\n\t\t\t\tif ( state.isPressEnterToChange ) {\n\t\t\t\t\tnextState.isDirty = true;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase actions.COMMIT:\n\t\t\t\tnextState.value = action.payload.value;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.RESET:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tnextState.value = action.payload.value || state.initialValue;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.UPDATE:\n\t\t\t\tnextState.value = action.payload.value;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Validation\n\t\t\t */\n\t\t\tcase actions.INVALIDATE:\n\t\t\t\tnextState.error = action.payload.error;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( action.payload.event ) {\n\t\t\tnextState._event = action.payload.event;\n\t\t}\n\n\t\t/**\n\t\t * Send the nextState + action to the composedReducers via\n\t\t * this \"bridge\" mechanism. This allows external stateReducers\n\t\t * to hook into actions, and modify state if needed.\n\t\t */\n\t\treturn composedStateReducers( nextState, action );\n\t};\n}\n\n/**\n * A custom hook that connects and external stateReducer with an internal\n * reducer. This hook manages the internal state of InputControl.\n * However, by connecting an external stateReducer function, other\n * components can react to actions as well as modify state before it is\n * applied.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param stateReducer An external state reducer.\n * @param initialState The initial state for the reducer.\n * @return State, dispatch, and a collection of actions.\n */\nexport function useInputControlStateReducer(\n\tstateReducer: StateReducer = initialStateReducer,\n\tinitialState: Partial< InputState > = initialInputControlState\n) {\n\tconst [ state, dispatch ] = useReducer< StateReducer >(\n\t\tinputControlStateReducer( stateReducer ),\n\t\tmergeInitialState( initialState )\n\t);\n\n\tconst createChangeEvent = ( type: actions.ChangeEventAction[ 'type' ] ) => (\n\t\tnextValue: actions.ChangeEventAction[ 'payload' ][ 'value' ],\n\t\tevent: actions.ChangeEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\t/**\n\t\t * Persist allows for the (Synthetic) event to be used outside of\n\t\t * this function call.\n\t\t * https://reactjs.org/docs/events.html#event-pooling\n\t\t */\n\t\tif ( event && event.persist ) {\n\t\t\tevent.persist();\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype,\n\t\t\tpayload: { value: nextValue, event },\n\t\t} as actions.InputAction );\n\t};\n\n\tconst createKeyEvent = ( type: actions.KeyEventAction[ 'type' ] ) => (\n\t\tevent: actions.KeyEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\t/**\n\t\t * Persist allows for the (Synthetic) event to be used outside of\n\t\t * this function call.\n\t\t * https://reactjs.org/docs/events.html#event-pooling\n\t\t */\n\t\tif ( event && event.persist ) {\n\t\t\tevent.persist();\n\t\t}\n\n\t\tdispatch( { type, payload: { event } } );\n\t};\n\n\tconst createDragEvent = ( type: actions.DragEventAction[ 'type' ] ) => (\n\t\tpayload: actions.DragEventAction[ 'payload' ]\n\t) => {\n\t\tdispatch( { type, payload } );\n\t};\n\n\t/**\n\t * Actions for the reducer\n\t */\n\tconst change = createChangeEvent( actions.CHANGE );\n\tconst invalidate = ( error: unknown, event: SyntheticEvent ) =>\n\t\tdispatch( { type: actions.INVALIDATE, payload: { error, event } } );\n\tconst reset = createChangeEvent( actions.RESET );\n\tconst commit = createChangeEvent( actions.COMMIT );\n\tconst update = createChangeEvent( actions.UPDATE );\n\n\tconst dragStart = createDragEvent( actions.DRAG_START );\n\tconst drag = createDragEvent( actions.DRAG );\n\tconst dragEnd = createDragEvent( actions.DRAG_END );\n\n\tconst pressUp = createKeyEvent( actions.PRESS_UP );\n\tconst pressDown = createKeyEvent( actions.PRESS_DOWN );\n\tconst pressEnter = createKeyEvent( actions.PRESS_ENTER );\n\n\treturn {\n\t\tchange,\n\t\tcommit,\n\t\tdispatch,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t\tstate,\n\t\tupdate,\n\t} as const;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/input-control/reducer/reducer.ts"],"names":["isEmpty","useReducer","initialInputControlState","initialStateReducer","actions","mergeInitialState","initialState","value","initialValue","composeStateReducers","fns","args","reduceRight","state","fn","fnState","inputControlStateReducer","composedStateReducers","action","nextState","type","PRESS_UP","isDirty","PRESS_DOWN","DRAG_START","isDragging","DRAG_END","CHANGE","error","payload","isPressEnterToChange","COMMIT","RESET","UPDATE","INVALIDATE","event","_event","useInputControlStateReducer","stateReducer","dispatch","createChangeEvent","nextValue","persist","createKeyEvent","createDragEvent","change","invalidate","reset","commit","update","dragStart","drag","DRAG","dragEnd","pressUp","pressDown","pressEnter","PRESS_ENTER"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;;AAGA;AACA;AACA;AACA,SAASC,UAAT,QAA2B,oBAA3B;AAEA;AACA;AACA;;AACA,SAGCC,wBAHD,EAICC,mBAJD,QAKO,SALP;AAMA,OAAO,KAAKC,OAAZ,MAAyB,WAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,iBAAT,GAEc;AAAA,MADbC,YACa,uEADyBJ,wBACzB;AACb,QAAM;AAAEK,IAAAA;AAAF,MAAYD,YAAlB;AAEA,SAAO,EACN,GAAGJ,wBADG;AAEN,OAAGI,YAFG;AAGNE,IAAAA,YAAY,EAAED;AAHR,GAAP;AAKA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAME,oBAAoB,GAAG,YAEjB;AAAA,oCADfC,GACe;AADfA,IAAAA,GACe;AAAA;;AAClB,SAAO,YAAe;AAAA,uCAAVC,IAAU;AAAVA,MAAAA,IAAU;AAAA;;AACrB,WAAOD,GAAG,CAACE,WAAJ,CAAiB,CAAEC,KAAF,EAASC,EAAT,KAAiB;AACxC;AACA;AACA;AACA,YAAMC,OAAO,GAAGD,EAAE,CAAE,GAAGH,IAAL,CAAlB;AACA,aAAOX,OAAO,CAAEe,OAAF,CAAP,GAAqBF,KAArB,GAA6B,EAAE,GAAGA,KAAL;AAAY,WAAGE;AAAf,OAApC;AACA,KANM,EAMJ,EANI,CAAP;AAOA,GARD;AASA,CAZM;AAcP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,wBAAT,CACCC,qBADD,EAEgB;AACf,SAAO,CAAEJ,KAAF,EAASK,MAAT,KAAqB;AAC3B,UAAMC,SAAS,GAAG,EAAE,GAAGN;AAAL,KAAlB;;AAEA,YAASK,MAAM,CAACE,IAAhB;AACC;AACH;AACA;AACG,WAAKhB,OAAO,CAACiB,QAAb;AACCF,QAAAA,SAAS,CAACG,OAAV,GAAoB,KAApB;AACA;;AAED,WAAKlB,OAAO,CAACmB,UAAb;AACCJ,QAAAA,SAAS,CAACG,OAAV,GAAoB,KAApB;AACA;;AAED;AACH;AACA;;AACG,WAAKlB,OAAO,CAACoB,UAAb;AACCL,QAAAA,SAAS,CAACM,UAAV,GAAuB,IAAvB;AACA;;AAED,WAAKrB,OAAO,CAACsB,QAAb;AACCP,QAAAA,SAAS,CAACM,UAAV,GAAuB,KAAvB;AACA;;AAED;AACH;AACA;;AACG,WAAKrB,OAAO,CAACuB,MAAb;AACCR,QAAAA,SAAS,CAACS,KAAV,GAAkB,IAAlB;AACAT,QAAAA,SAAS,CAACZ,KAAV,GAAkBW,MAAM,CAACW,OAAP,CAAetB,KAAjC;;AAEA,YAAKM,KAAK,CAACiB,oBAAX,EAAkC;AACjCX,UAAAA,SAAS,CAACG,OAAV,GAAoB,IAApB;AACA;;AAED;;AAED,WAAKlB,OAAO,CAAC2B,MAAb;AACCZ,QAAAA,SAAS,CAACZ,KAAV,GAAkBW,MAAM,CAACW,OAAP,CAAetB,KAAjC;AACAY,QAAAA,SAAS,CAACG,OAAV,GAAoB,KAApB;AACA;;AAED,WAAKlB,OAAO,CAAC4B,KAAb;AACCb,QAAAA,SAAS,CAACS,KAAV,GAAkB,IAAlB;AACAT,QAAAA,SAAS,CAACG,OAAV,GAAoB,KAApB;AACAH,QAAAA,SAAS,CAACZ,KAAV,GAAkBW,MAAM,CAACW,OAAP,CAAetB,KAAf,IAAwBM,KAAK,CAACL,YAAhD;AACA;;AAED,WAAKJ,OAAO,CAAC6B,MAAb;AACCd,QAAAA,SAAS,CAACZ,KAAV,GAAkBW,MAAM,CAACW,OAAP,CAAetB,KAAjC;AACAY,QAAAA,SAAS,CAACG,OAAV,GAAoB,KAApB;AACA;;AAED;AACH;AACA;;AACG,WAAKlB,OAAO,CAAC8B,UAAb;AACCf,QAAAA,SAAS,CAACS,KAAV,GAAkBV,MAAM,CAACW,OAAP,CAAeD,KAAjC;AACA;AAzDF;;AA4DA,QAAKV,MAAM,CAACW,OAAP,CAAeM,KAApB,EAA4B;AAC3BhB,MAAAA,SAAS,CAACiB,MAAV,GAAmBlB,MAAM,CAACW,OAAP,CAAeM,KAAlC;AACA;AAED;AACF;AACA;AACA;AACA;;;AACE,WAAOlB,qBAAqB,CAAEE,SAAF,EAAaD,MAAb,CAA5B;AACA,GAzED;AA0EA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,SAASmB,2BAAT,GAGL;AAAA,MAFDC,YAEC,uEAF4BnC,mBAE5B;AAAA,MADDG,YACC,uEADqCJ,wBACrC;AACD,QAAM,CAAEW,KAAF,EAAS0B,QAAT,IAAsBtC,UAAU,CACrCe,wBAAwB,CAAEsB,YAAF,CADa,EAErCjC,iBAAiB,CAAEC,YAAF,CAFoB,CAAtC;;AAKA,QAAMkC,iBAAiB,GAAKpB,IAAF,IAAiD,CAC1EqB,SAD0E,EAE1EN,KAF0E,KAGtE;AACJ;AACF;AACA;AACA;AACA;AACE,QAAKA,KAAK,IAAIA,KAAK,CAACO,OAApB,EAA8B;AAC7BP,MAAAA,KAAK,CAACO,OAAN;AACA;;AAEDH,IAAAA,QAAQ,CAAE;AACTnB,MAAAA,IADS;AAETS,MAAAA,OAAO,EAAE;AAAEtB,QAAAA,KAAK,EAAEkC,SAAT;AAAoBN,QAAAA;AAApB;AAFA,KAAF,CAAR;AAIA,GAjBD;;AAmBA,QAAMQ,cAAc,GAAKvB,IAAF,IACtBe,KADoE,IAEhE;AACJ;AACF;AACA;AACA;AACA;AACE,QAAKA,KAAK,IAAIA,KAAK,CAACO,OAApB,EAA8B;AAC7BP,MAAAA,KAAK,CAACO,OAAN;AACA;;AAEDH,IAAAA,QAAQ,CAAE;AAAEnB,MAAAA,IAAF;AAAQS,MAAAA,OAAO,EAAE;AAAEM,QAAAA;AAAF;AAAjB,KAAF,CAAR;AACA,GAbD;;AAeA,QAAMS,eAAe,GAAKxB,IAAF,IACvBS,OADsE,IAElE;AACJU,IAAAA,QAAQ,CAAE;AAAEnB,MAAAA,IAAF;AAAQS,MAAAA;AAAR,KAAF,CAAR;AACA,GAJD;AAMA;AACD;AACA;;;AACC,QAAMgB,MAAM,GAAGL,iBAAiB,CAAEpC,OAAO,CAACuB,MAAV,CAAhC;;AACA,QAAMmB,UAAU,GAAG,CAAElB,KAAF,EAAkBO,KAAlB,KAClBI,QAAQ,CAAE;AAAEnB,IAAAA,IAAI,EAAEhB,OAAO,CAAC8B,UAAhB;AAA4BL,IAAAA,OAAO,EAAE;AAAED,MAAAA,KAAF;AAASO,MAAAA;AAAT;AAArC,GAAF,CADT;;AAEA,QAAMY,KAAK,GAAGP,iBAAiB,CAAEpC,OAAO,CAAC4B,KAAV,CAA/B;AACA,QAAMgB,MAAM,GAAGR,iBAAiB,CAAEpC,OAAO,CAAC2B,MAAV,CAAhC;AACA,QAAMkB,MAAM,GAAGT,iBAAiB,CAAEpC,OAAO,CAAC6B,MAAV,CAAhC;AAEA,QAAMiB,SAAS,GAAGN,eAAe,CAAExC,OAAO,CAACoB,UAAV,CAAjC;AACA,QAAM2B,IAAI,GAAGP,eAAe,CAAExC,OAAO,CAACgD,IAAV,CAA5B;AACA,QAAMC,OAAO,GAAGT,eAAe,CAAExC,OAAO,CAACsB,QAAV,CAA/B;AAEA,QAAM4B,OAAO,GAAGX,cAAc,CAAEvC,OAAO,CAACiB,QAAV,CAA9B;AACA,QAAMkC,SAAS,GAAGZ,cAAc,CAAEvC,OAAO,CAACmB,UAAV,CAAhC;AACA,QAAMiC,UAAU,GAAGb,cAAc,CAAEvC,OAAO,CAACqD,WAAV,CAAjC;AAEA,SAAO;AACNZ,IAAAA,MADM;AAENG,IAAAA,MAFM;AAGNT,IAAAA,QAHM;AAINY,IAAAA,IAJM;AAKNE,IAAAA,OALM;AAMNH,IAAAA,SANM;AAONJ,IAAAA,UAPM;AAQNS,IAAAA,SARM;AASNC,IAAAA,UATM;AAUNF,IAAAA,OAVM;AAWNP,IAAAA,KAXM;AAYNlC,IAAAA,KAZM;AAaNoC,IAAAA;AAbM,GAAP;AAeA","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\nimport type { SyntheticEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useReducer } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tInputState,\n\tStateReducer,\n\tinitialInputControlState,\n\tinitialStateReducer,\n} from './state';\nimport * as actions from './actions';\n\n/**\n * Prepares initialState for the reducer.\n *\n * @param initialState The initial state.\n * @return Prepared initialState for the reducer\n */\nfunction mergeInitialState(\n\tinitialState: Partial< InputState > = initialInputControlState\n): InputState {\n\tconst { value } = initialState;\n\n\treturn {\n\t\t...initialInputControlState,\n\t\t...initialState,\n\t\tinitialValue: value,\n\t} as InputState;\n}\n\n/**\n * Composes multiple stateReducers into a single stateReducer, building\n * the pipeline to control the flow for state and actions.\n *\n * @param fns State reducers.\n * @return The single composed stateReducer.\n */\nexport const composeStateReducers = (\n\t...fns: StateReducer[]\n): StateReducer => {\n\treturn ( ...args ) => {\n\t\treturn fns.reduceRight( ( state, fn ) => {\n\t\t\t// TODO: Assess whether this can be replaced with a more standard `compose` implementation\n\t\t\t// like wp.data.compose() (aka lodash flowRight) or Redux compose().\n\t\t\t// The current implementation only works by functions mutating the original state object.\n\t\t\tconst fnState = fn( ...args );\n\t\t\treturn isEmpty( fnState ) ? state : { ...state, ...fnState };\n\t\t}, {} as InputState );\n\t};\n};\n\n/**\n * Creates a reducer that opens the channel for external state subscription\n * and modification.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param composedStateReducers A custom reducer that can subscribe and modify state.\n * @return The reducer.\n */\nfunction inputControlStateReducer(\n\tcomposedStateReducers: StateReducer\n): StateReducer {\n\treturn ( state, action ) => {\n\t\tconst nextState = { ...state };\n\n\t\tswitch ( action.type ) {\n\t\t\t/**\n\t\t\t * Keyboard events\n\t\t\t */\n\t\t\tcase actions.PRESS_UP:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.PRESS_DOWN:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Drag events\n\t\t\t */\n\t\t\tcase actions.DRAG_START:\n\t\t\t\tnextState.isDragging = true;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.DRAG_END:\n\t\t\t\tnextState.isDragging = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Input events\n\t\t\t */\n\t\t\tcase actions.CHANGE:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.value = action.payload.value;\n\n\t\t\t\tif ( state.isPressEnterToChange ) {\n\t\t\t\t\tnextState.isDirty = true;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase actions.COMMIT:\n\t\t\t\tnextState.value = action.payload.value;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.RESET:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tnextState.value = action.payload.value || state.initialValue;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.UPDATE:\n\t\t\t\tnextState.value = action.payload.value;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Validation\n\t\t\t */\n\t\t\tcase actions.INVALIDATE:\n\t\t\t\tnextState.error = action.payload.error;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( action.payload.event ) {\n\t\t\tnextState._event = action.payload.event;\n\t\t}\n\n\t\t/**\n\t\t * Send the nextState + action to the composedReducers via\n\t\t * this \"bridge\" mechanism. This allows external stateReducers\n\t\t * to hook into actions, and modify state if needed.\n\t\t */\n\t\treturn composedStateReducers( nextState, action );\n\t};\n}\n\n/**\n * A custom hook that connects and external stateReducer with an internal\n * reducer. This hook manages the internal state of InputControl.\n * However, by connecting an external stateReducer function, other\n * components can react to actions as well as modify state before it is\n * applied.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param stateReducer An external state reducer.\n * @param initialState The initial state for the reducer.\n * @return State, dispatch, and a collection of actions.\n */\nexport function useInputControlStateReducer(\n\tstateReducer: StateReducer = initialStateReducer,\n\tinitialState: Partial< InputState > = initialInputControlState\n) {\n\tconst [ state, dispatch ] = useReducer< StateReducer >(\n\t\tinputControlStateReducer( stateReducer ),\n\t\tmergeInitialState( initialState )\n\t);\n\n\tconst createChangeEvent = ( type: actions.ChangeEventAction[ 'type' ] ) => (\n\t\tnextValue: actions.ChangeEventAction[ 'payload' ][ 'value' ],\n\t\tevent: actions.ChangeEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\t/**\n\t\t * Persist allows for the (Synthetic) event to be used outside of\n\t\t * this function call.\n\t\t * https://reactjs.org/docs/events.html#event-pooling\n\t\t */\n\t\tif ( event && event.persist ) {\n\t\t\tevent.persist();\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype,\n\t\t\tpayload: { value: nextValue, event },\n\t\t} as actions.InputAction );\n\t};\n\n\tconst createKeyEvent = ( type: actions.KeyEventAction[ 'type' ] ) => (\n\t\tevent: actions.KeyEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\t/**\n\t\t * Persist allows for the (Synthetic) event to be used outside of\n\t\t * this function call.\n\t\t * https://reactjs.org/docs/events.html#event-pooling\n\t\t */\n\t\tif ( event && event.persist ) {\n\t\t\tevent.persist();\n\t\t}\n\n\t\tdispatch( { type, payload: { event } } );\n\t};\n\n\tconst createDragEvent = ( type: actions.DragEventAction[ 'type' ] ) => (\n\t\tpayload: actions.DragEventAction[ 'payload' ]\n\t) => {\n\t\tdispatch( { type, payload } );\n\t};\n\n\t/**\n\t * Actions for the reducer\n\t */\n\tconst change = createChangeEvent( actions.CHANGE );\n\tconst invalidate = ( error: unknown, event: SyntheticEvent ) =>\n\t\tdispatch( { type: actions.INVALIDATE, payload: { error, event } } );\n\tconst reset = createChangeEvent( actions.RESET );\n\tconst commit = createChangeEvent( actions.COMMIT );\n\tconst update = createChangeEvent( actions.UPDATE );\n\n\tconst dragStart = createDragEvent( actions.DRAG_START );\n\tconst drag = createDragEvent( actions.DRAG );\n\tconst dragEnd = createDragEvent( actions.DRAG_END );\n\n\tconst pressUp = createKeyEvent( actions.PRESS_UP );\n\tconst pressDown = createKeyEvent( actions.PRESS_DOWN );\n\tconst pressEnter = createKeyEvent( actions.PRESS_ENTER );\n\n\treturn {\n\t\tchange,\n\t\tcommit,\n\t\tdispatch,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t\tstate,\n\t\tupdate,\n\t} as const;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/item-group/item/component.tsx"],"names":["useItem","contextConnect","View","Item","props","forwardedRef","role","wrapperClassName","otherProps"],"mappings":";;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AAEA,SAASA,OAAT,QAAwB,QAAxB;AACA,SAASC,cAAT,QAAwD,kBAAxD;AACA,SAASC,IAAT,QAAqB,YAArB;;AAEA,SAASC,IAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,gBAAR;AAA0B,OAAGC;AAA7B,MAA4CR,OAAO,CAAEI,KAAF,CAAzD;AAEA,SACC;AAAK,IAAA,IAAI,EAAGE,IAAZ;AAAmB,IAAA,SAAS,EAAGC;AAA/B,KACC,cAAC,IAAD,eAAWC,UAAX;AAAwB,IAAA,GAAG,EAAGH;AAA9B,KADD,CADD;AAKA;;AAED,eAAeJ,cAAc,CAAEE,IAAF,EAAQ,MAAR,CAA7B","sourcesContent":["/**\n * External dependencies\n */\nimport type {
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/item-group/item/component.tsx"],"names":["useItem","contextConnect","View","Item","props","forwardedRef","role","wrapperClassName","otherProps"],"mappings":";;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AAEA,SAASA,OAAT,QAAwB,QAAxB;AACA,SAASC,cAAT,QAAwD,kBAAxD;AACA,SAASC,IAAT,QAAqB,YAArB;;AAEA,SAASC,IAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,gBAAR;AAA0B,OAAGC;AAA7B,MAA4CR,OAAO,CAAEI,KAAF,CAAzD;AAEA,SACC;AAAK,IAAA,IAAI,EAAGE,IAAZ;AAAmB,IAAA,SAAS,EAAGC;AAA/B,KACC,cAAC,IAAD,eAAWC,UAAX;AAAwB,IAAA,GAAG,EAAGH;AAA9B,KADD,CADD;AAKA;;AAED,eAAeJ,cAAc,CAAEE,IAAF,EAAQ,MAAR,CAA7B","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { ItemProps } from '../types';\nimport { useItem } from './hook';\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { View } from '../../view';\n\nfunction Item(\n\tprops: WordPressComponentProps< ItemProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst { role, wrapperClassName, ...otherProps } = useItem( props );\n\n\treturn (\n\t\t<div role={ role } className={ wrapperClassName }>\n\t\t\t<View { ...otherProps } ref={ forwardedRef } />\n\t\t</div>\n\t);\n}\n\nexport default contextConnect( Item, 'Item' );\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/item-group/item-group/component.tsx"],"names":["contextConnect","useItemGroup","ItemGroupContext","useItemGroupContext","View","ItemGroup","props","forwardedRef","isBordered","isSeparated","size","sizeProp","otherProps","contextSize","spacedAround","contextValue"],"mappings":";;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,cAAT,QAAwD,kBAAxD;AACA,SAASC,YAAT,QAA6B,QAA7B;AACA,SAASC,gBAAT,EAA2BC,mBAA3B,QAAsD,YAAtD;AACA,SAASC,IAAT,QAAqB,YAArB;;AAGA,SAASC,SAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAM;AACLC,IAAAA,UADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,IAAI,EAAEC,QAHD;AAIL,OAAGC;AAJE,MAKFX,YAAY,CAAEK,KAAF,CALhB;AAOA,QAAM;AAAEI,IAAAA,IAAI,EAAEG;AAAR,MAAwBV,mBAAmB,EAAjD;AAEA,QAAMW,YAAY,GAAG,CAAEN,UAAF,IAAgB,CAAEC,WAAvC;AACA,QAAMC,IAAI,GAAGC,QAAQ,IAAIE,WAAzB;AAEA,QAAME,YAAY,GAAG;AACpBD,IAAAA,YADoB;AAEpBJ,IAAAA;AAFoB,GAArB;AAKA,SACC,cAAC,gBAAD,CAAkB,QAAlB;AAA2B,IAAA,KAAK,EAAGK;AAAnC,KACC,cAAC,IAAD,eAAWH,UAAX;AAAwB,IAAA,GAAG,EAAGL;AAA9B,KADD,CADD;AAKA;;AAED,eAAeP,cAAc,CAAEK,SAAF,EAAa,WAAb,CAA7B","sourcesContent":["/**\n * External dependencies\n */\nimport type {
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/item-group/item-group/component.tsx"],"names":["contextConnect","useItemGroup","ItemGroupContext","useItemGroupContext","View","ItemGroup","props","forwardedRef","isBordered","isSeparated","size","sizeProp","otherProps","contextSize","spacedAround","contextValue"],"mappings":";;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,cAAT,QAAwD,kBAAxD;AACA,SAASC,YAAT,QAA6B,QAA7B;AACA,SAASC,gBAAT,EAA2BC,mBAA3B,QAAsD,YAAtD;AACA,SAASC,IAAT,QAAqB,YAArB;;AAGA,SAASC,SAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAM;AACLC,IAAAA,UADK;AAELC,IAAAA,WAFK;AAGLC,IAAAA,IAAI,EAAEC,QAHD;AAIL,OAAGC;AAJE,MAKFX,YAAY,CAAEK,KAAF,CALhB;AAOA,QAAM;AAAEI,IAAAA,IAAI,EAAEG;AAAR,MAAwBV,mBAAmB,EAAjD;AAEA,QAAMW,YAAY,GAAG,CAAEN,UAAF,IAAgB,CAAEC,WAAvC;AACA,QAAMC,IAAI,GAAGC,QAAQ,IAAIE,WAAzB;AAEA,QAAME,YAAY,GAAG;AACpBD,IAAAA,YADoB;AAEpBJ,IAAAA;AAFoB,GAArB;AAKA,SACC,cAAC,gBAAD,CAAkB,QAAlB;AAA2B,IAAA,KAAK,EAAGK;AAAnC,KACC,cAAC,IAAD,eAAWH,UAAX;AAAwB,IAAA,GAAG,EAAGL;AAA9B,KADD,CADD;AAKA;;AAED,eAAeP,cAAc,CAAEK,SAAF,EAAa,WAAb,CAA7B","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport { contextConnect, WordPressComponentProps } from '../../ui/context';\nimport { useItemGroup } from './hook';\nimport { ItemGroupContext, useItemGroupContext } from '../context';\nimport { View } from '../../view';\nimport type { ItemGroupProps } from '../types';\n\nfunction ItemGroup(\n\tprops: WordPressComponentProps< ItemGroupProps, 'div' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\tisBordered,\n\t\tisSeparated,\n\t\tsize: sizeProp,\n\t\t...otherProps\n\t} = useItemGroup( props );\n\n\tconst { size: contextSize } = useItemGroupContext();\n\n\tconst spacedAround = ! isBordered && ! isSeparated;\n\tconst size = sizeProp || contextSize;\n\n\tconst contextValue = {\n\t\tspacedAround,\n\t\tsize,\n\t};\n\n\treturn (\n\t\t<ItemGroupContext.Provider value={ contextValue }>\n\t\t\t<View { ...otherProps } ref={ forwardedRef } />\n\t\t</ItemGroupContext.Provider>\n\t);\n}\n\nexport default contextConnect( ItemGroup, 'ItemGroup' );\n"]}
|
package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js
CHANGED
|
@@ -114,7 +114,7 @@ const BottomSheetNavigationScreen = _ref => {
|
|
|
114
114
|
height: safeAreaBottomInset || styles.scrollableContent.paddingBottom
|
|
115
115
|
}
|
|
116
116
|
}))));
|
|
117
|
-
}, [children, isFocused, safeAreaBottomInset, listProps]);
|
|
117
|
+
}, [children, isFocused, safeAreaBottomInset, listProps, name, isScrollable, isNested, onLayout]);
|
|
118
118
|
};
|
|
119
119
|
|
|
120
120
|
export default BottomSheetNavigationScreen;
|
package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js"],"names":["useIsFocused","useNavigation","useFocusEffect","View","ScrollView","TouchableHighlight","debounce","BottomSheetContext","useRef","useCallback","useContext","useMemo","BottomSheetNavigationContext","styles","BottomSheetNavigationScreen","children","fullScreen","isScrollable","isNested","name","navigation","heightRef","maxHeight","isFocused","onHandleHardwareButtonPress","shouldEnableBottomSheetMaxHeight","setIsFullScreen","listProps","safeAreaBottomInset","setHeight","setHeightDebounce","canGoBack","goBack","current","onLayout","nativeEvent","height","layout","scrollableContent","paddingBottom"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js"],"names":["useIsFocused","useNavigation","useFocusEffect","View","ScrollView","TouchableHighlight","debounce","BottomSheetContext","useRef","useCallback","useContext","useMemo","BottomSheetNavigationContext","styles","BottomSheetNavigationScreen","children","fullScreen","isScrollable","isNested","name","navigation","heightRef","maxHeight","isFocused","onHandleHardwareButtonPress","shouldEnableBottomSheetMaxHeight","setIsFullScreen","listProps","safeAreaBottomInset","setHeight","setHeightDebounce","canGoBack","goBack","current","onLayout","nativeEvent","height","layout","scrollableContent","paddingBottom"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tuseIsFocused,\n\tuseNavigation,\n\tuseFocusEffect,\n} from '@react-navigation/native';\nimport { View, ScrollView, TouchableHighlight } from 'react-native';\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { BottomSheetContext } from '@wordpress/components';\n\nimport { useRef, useCallback, useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { BottomSheetNavigationContext } from './bottom-sheet-navigation-context';\nimport styles from './styles.scss';\n\nconst BottomSheetNavigationScreen = ( {\n\tchildren,\n\tfullScreen,\n\tisScrollable,\n\tisNested,\n\tname,\n} ) => {\n\tconst navigation = useNavigation();\n\tconst heightRef = useRef( { maxHeight: 0 } );\n\tconst isFocused = useIsFocused();\n\tconst {\n\t\tonHandleHardwareButtonPress,\n\t\tshouldEnableBottomSheetMaxHeight,\n\t\tsetIsFullScreen,\n\t\tlistProps,\n\t\tsafeAreaBottomInset,\n\t} = useContext( BottomSheetContext );\n\n\tconst { setHeight } = useContext( BottomSheetNavigationContext );\n\n\tconst setHeightDebounce = useCallback( debounce( setHeight, 10 ), [\n\t\tsetHeight,\n\t] );\n\n\tuseFocusEffect(\n\t\tuseCallback( () => {\n\t\t\tonHandleHardwareButtonPress( () => {\n\t\t\t\tif ( navigation.canGoBack() ) {\n\t\t\t\t\tshouldEnableBottomSheetMaxHeight( true );\n\t\t\t\t\tnavigation.goBack();\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tonHandleHardwareButtonPress( null );\n\t\t\t\treturn false;\n\t\t\t} );\n\t\t\t/**\n\t\t\t * TODO: onHandleHardwareButtonPress stores a single value, which means\n\t\t\t * future invocations from sibling screens can replace the callback for\n\t\t\t * the currently active screen. Currently, the empty dependency array\n\t\t\t * passed to useCallback here is what prevents erroneous callback\n\t\t\t * replacements, but leveraging memoization to achieve this is brittle and\n\t\t\t * explicitly discouraged in the React documentation.\n\t\t\t * https://reactjs.org/docs/hooks-reference.html#usememo\n\t\t\t *\n\t\t\t * Ideally, we refactor onHandleHardwareButtonPress to manage multiple\n\t\t\t * callbacks triggered based upon which screen is currently active.\n\t\t\t *\n\t\t\t * Related: https://git.io/JD2no\n\t\t\t */\n\t\t}, [] )\n\t);\n\n\tuseFocusEffect(\n\t\tuseCallback( () => {\n\t\t\tif ( fullScreen ) {\n\t\t\t\tsetHeight( '100%' );\n\t\t\t\tsetIsFullScreen( true );\n\t\t\t} else if ( heightRef.current.maxHeight !== 0 ) {\n\t\t\t\tsetIsFullScreen( false );\n\t\t\t\tsetHeight( heightRef.current.maxHeight );\n\t\t\t}\n\t\t\treturn () => {};\n\t\t}, [ setHeight ] )\n\t);\n\n\tconst onLayout = ( { nativeEvent } ) => {\n\t\tif ( fullScreen ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { height } = nativeEvent.layout;\n\n\t\tif ( heightRef.current.maxHeight !== height && isFocused ) {\n\t\t\theightRef.current.maxHeight = height;\n\t\t\tsetHeightDebounce( height );\n\t\t}\n\t};\n\n\treturn useMemo( () => {\n\t\treturn isScrollable || isNested ? (\n\t\t\t<View\n\t\t\t\tonLayout={ onLayout }\n\t\t\t\ttestID={ `navigation-screen-${ name }` }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t) : (\n\t\t\t<ScrollView { ...listProps }>\n\t\t\t\t<TouchableHighlight accessible={ false }>\n\t\t\t\t\t<View\n\t\t\t\t\t\tonLayout={ onLayout }\n\t\t\t\t\t\ttestID={ `navigation-screen-${ name }` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t{ ! isNested && (\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</View>\n\t\t\t\t</TouchableHighlight>\n\t\t\t</ScrollView>\n\t\t);\n\t}, [\n\t\tchildren,\n\t\tisFocused,\n\t\tsafeAreaBottomInset,\n\t\tlistProps,\n\t\tname,\n\t\tisScrollable,\n\t\tisNested,\n\t\tonLayout,\n\t] );\n};\n\nexport default BottomSheetNavigationScreen;\n"]}
|
|
@@ -11,7 +11,7 @@ import { View, Text, TouchableWithoutFeedback } from 'react-native';
|
|
|
11
11
|
import { __ } from '@wordpress/i18n';
|
|
12
12
|
import { useState, useContext } from '@wordpress/element';
|
|
13
13
|
import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
14
|
-
import { ColorControl, PanelBody, BottomSheetContext } from '@wordpress/components';
|
|
14
|
+
import { ColorControl, PanelBody, BottomSheetContext, useMobileGlobalStylesColors } from '@wordpress/components';
|
|
15
15
|
import { useRoute, useNavigation } from '@react-navigation/native';
|
|
16
16
|
/**
|
|
17
17
|
* Internal dependencies
|
|
@@ -29,6 +29,7 @@ const HIT_SLOP = {
|
|
|
29
29
|
left: 8,
|
|
30
30
|
right: 8
|
|
31
31
|
};
|
|
32
|
+
const THEME_PALETTE_NAME = 'Theme';
|
|
32
33
|
|
|
33
34
|
const PaletteScreen = () => {
|
|
34
35
|
const route = useRoute();
|
|
@@ -52,7 +53,10 @@ const PaletteScreen = () => {
|
|
|
52
53
|
const [currentValue, setCurrentValue] = useState(colorValue);
|
|
53
54
|
const isGradientColor = isGradient(currentValue);
|
|
54
55
|
const selectedSegmentIndex = isGradientColor ? 1 : 0;
|
|
56
|
+
const allAvailableColors = useMobileGlobalStylesColors();
|
|
55
57
|
const [currentSegment, setCurrentSegment] = useState(segments[selectedSegmentIndex]);
|
|
58
|
+
const isGradientSegment = currentSegment === colorsUtils.segments[1];
|
|
59
|
+
const currentSegmentColors = !isGradientSegment ? defaultSettings.colors : defaultSettings.gradients;
|
|
56
60
|
const horizontalSeparatorStyle = usePreferredColorSchemeStyle(styles.horizontalSeparator, styles.horizontalSeparatorDark);
|
|
57
61
|
const clearButtonStyle = usePreferredColorSchemeStyle(styles.clearButton, styles.clearButtonDark);
|
|
58
62
|
const selectedColorTextStyle = usePreferredColorSchemeStyle(styles.colorText, styles.colorTextDark);
|
|
@@ -148,15 +152,28 @@ const PaletteScreen = () => {
|
|
|
148
152
|
|
|
149
153
|
return createElement(View, null, !hideNavigation && createElement(NavBar, null, createElement(NavBar.BackButton, {
|
|
150
154
|
onPress: navigation.goBack
|
|
151
|
-
}), createElement(NavBar.Heading, null, label, " ")), createElement(
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
155
|
+
}), createElement(NavBar.Heading, null, label, " ")), createElement(View, {
|
|
156
|
+
style: styles.colorPalettes
|
|
157
|
+
}, currentSegmentColors.map((palette, paletteKey) => {
|
|
158
|
+
const paletteSettings = {
|
|
159
|
+
colors: palette.colors,
|
|
160
|
+
gradients: palette.gradients,
|
|
161
|
+
allColors: allAvailableColors
|
|
162
|
+
};
|
|
163
|
+
const enableCustomColor = !isGradientSegment && palette.name === THEME_PALETTE_NAME;
|
|
164
|
+
return createElement(ColorPalette, {
|
|
165
|
+
enableCustomColor: enableCustomColor,
|
|
166
|
+
label: palette.name,
|
|
167
|
+
key: paletteKey,
|
|
168
|
+
setColor: setColor,
|
|
169
|
+
activeColor: currentValue,
|
|
170
|
+
isGradientColor: isGradientColor,
|
|
171
|
+
currentSegment: currentSegment,
|
|
172
|
+
onCustomPress: onCustomPress,
|
|
173
|
+
shouldEnableBottomSheetScroll: shouldEnableBottomSheetScroll,
|
|
174
|
+
defaultSettings: paletteSettings
|
|
175
|
+
});
|
|
176
|
+
})), isCustomGadientShown && createElement(Fragment, null, createElement(View, {
|
|
160
177
|
style: horizontalSeparatorStyle
|
|
161
178
|
}), createElement(PanelBody, null, createElement(ColorControl, {
|
|
162
179
|
label: __('Customize Gradient'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/color-settings/palette.screen.native.js"],"names":["View","Text","TouchableWithoutFeedback","__","useState","useContext","usePreferredColorSchemeStyle","ColorControl","PanelBody","BottomSheetContext","useRoute","useNavigation","ColorPalette","ColorIndicator","NavBar","SegmentedControls","colorsUtils","styles","HIT_SLOP","top","bottom","left","right","PaletteScreen","route","navigation","shouldEnableBottomSheetScroll","label","onColorChange","onGradientChange","onColorCleared","colorValue","defaultSettings","hideNavigation","params","segments","isGradient","currentValue","setCurrentValue","isGradientColor","selectedSegmentIndex","currentSegment","setCurrentSegment","horizontalSeparatorStyle","horizontalSeparator","horizontalSeparatorDark","clearButtonStyle","clearButton","clearButtonDark","selectedColorTextStyle","colorText","colorTextDark","isSolidSegment","isCustomGadientShown","setColor","color","onClear","undefined","onCustomPress","navigate","screens","picker","gradientPicker","getClearButton","clearButtonContainer","getFooter","indexOf","colorIndicator","footer","flex","toUpperCase","selectColorText","goBack"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useContext } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport {\n\tColorControl,\n\tPanelBody,\n\tBottomSheetContext,\n} from '@wordpress/components';\nimport { useRoute, useNavigation } from '@react-navigation/native';\n/**\n * Internal dependencies\n */\nimport ColorPalette from '../../color-palette';\nimport ColorIndicator from '../../color-indicator';\nimport NavBar from '../bottom-sheet/nav-bar';\nimport SegmentedControls from '../segmented-control';\nimport { colorsUtils } from './utils';\n\nimport styles from './style.scss';\n\nconst HIT_SLOP = { top: 8, bottom: 8, left: 8, right: 8 };\n\nconst PaletteScreen = () => {\n\tconst route = useRoute();\n\tconst navigation = useNavigation();\n\tconst { shouldEnableBottomSheetScroll } = useContext( BottomSheetContext );\n\tconst {\n\t\tlabel,\n\t\tonColorChange,\n\t\tonGradientChange,\n\t\tonColorCleared,\n\t\tcolorValue,\n\t\tdefaultSettings,\n\t\thideNavigation = false,\n\t} = route.params || {};\n\tconst { segments, isGradient } = colorsUtils;\n\tconst [ currentValue, setCurrentValue ] = useState( colorValue );\n\tconst isGradientColor = isGradient( currentValue );\n\tconst selectedSegmentIndex = isGradientColor ? 1 : 0;\n\n\tconst [ currentSegment, setCurrentSegment ] = useState(\n\t\tsegments[ selectedSegmentIndex ]\n\t);\n\n\tconst horizontalSeparatorStyle = usePreferredColorSchemeStyle(\n\t\tstyles.horizontalSeparator,\n\t\tstyles.horizontalSeparatorDark\n\t);\n\tconst clearButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.clearButton,\n\t\tstyles.clearButtonDark\n\t);\n\tconst selectedColorTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.colorText,\n\t\tstyles.colorTextDark\n\t);\n\n\tconst isSolidSegment = currentSegment === segments[ 0 ];\n\tconst isCustomGadientShown = ! isSolidSegment && isGradientColor;\n\n\tconst setColor = ( color ) => {\n\t\tsetCurrentValue( color );\n\t\tif ( isSolidSegment && onColorChange && onGradientChange ) {\n\t\t\tonColorChange( color );\n\t\t\tonGradientChange( '' );\n\t\t} else if ( isSolidSegment && onColorChange ) {\n\t\t\tonColorChange( color );\n\t\t} else if ( ! isSolidSegment && onGradientChange ) {\n\t\t\tonGradientChange( color );\n\t\t\tonColorChange( '' );\n\t\t}\n\t};\n\n\tfunction onClear() {\n\t\tsetCurrentValue( undefined );\n\t\tif ( isSolidSegment ) {\n\t\t\tonColorChange( '' );\n\t\t} else {\n\t\t\tonGradientChange( '' );\n\t\t}\n\n\t\tif ( onColorCleared ) {\n\t\t\tonColorCleared();\n\t\t}\n\t}\n\n\tfunction onCustomPress() {\n\t\tif ( isSolidSegment ) {\n\t\t\tnavigation.navigate( colorsUtils.screens.picker, {\n\t\t\t\tcurrentValue,\n\t\t\t\tsetColor,\n\t\t\t} );\n\t\t} else {\n\t\t\tnavigation.navigate( colorsUtils.screens.gradientPicker, {\n\t\t\t\tsetColor,\n\t\t\t\tisGradientColor,\n\t\t\t\tcurrentValue,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction getClearButton() {\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback onPress={ onClear } hitSlop={ HIT_SLOP }>\n\t\t\t\t<View style={ styles.clearButtonContainer }>\n\t\t\t\t\t<Text style={ clearButtonStyle }>{ __( 'Reset' ) }</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n\n\tfunction getFooter() {\n\t\tif ( onGradientChange ) {\n\t\t\treturn (\n\t\t\t\t<SegmentedControls\n\t\t\t\t\tsegments={ segments }\n\t\t\t\t\tsegmentHandler={ setCurrentSegment }\n\t\t\t\t\tselectedIndex={ segments.indexOf( currentSegment ) }\n\t\t\t\t\taddonLeft={\n\t\t\t\t\t\tcurrentValue && (\n\t\t\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\t\t\tcolor={ currentValue }\n\t\t\t\t\t\t\t\tstyle={ styles.colorIndicator }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\taddonRight={ currentValue && getClearButton() }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View style={ styles.footer }>\n\t\t\t\t<View style={ styles.flex }>\n\t\t\t\t\t{ currentValue && (\n\t\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\t\tcolor={ currentValue }\n\t\t\t\t\t\t\tstyle={ styles.colorIndicator }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t\t{ currentValue ? (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ selectedColorTextStyle }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t\tselectable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ currentValue.toUpperCase() }\n\t\t\t\t\t</Text>\n\t\t\t\t) : (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ styles.selectColorText }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Select a color above' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t\t<View style={ styles.flex }>\n\t\t\t\t\t{ currentValue && getClearButton() }\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\treturn (\n\t\t<View>\n\t\t\t{ ! hideNavigation && (\n\t\t\t\t<NavBar>\n\t\t\t\t\t<NavBar.BackButton onPress={ navigation.goBack } />\n\t\t\t\t\t<NavBar.Heading>{ label } </NavBar.Heading>\n\t\t\t\t</NavBar>\n\t\t\t) }\n\t\t\t<ColorPalette\n\t\t\t\tsetColor={ setColor }\n\t\t\t\tactiveColor={ currentValue }\n\t\t\t\tisGradientColor={ isGradientColor }\n\t\t\t\tcurrentSegment={ currentSegment }\n\t\t\t\tonCustomPress={ onCustomPress }\n\t\t\t\tshouldEnableBottomSheetScroll={ shouldEnableBottomSheetScroll }\n\t\t\t\tdefaultSettings={ defaultSettings }\n\t\t\t/>\n\t\t\t{ isCustomGadientShown && (\n\t\t\t\t<>\n\t\t\t\t\t<View style={ horizontalSeparatorStyle } />\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ColorControl\n\t\t\t\t\t\t\tlabel={ __( 'Customize Gradient' ) }\n\t\t\t\t\t\t\tonPress={ onCustomPress }\n\t\t\t\t\t\t\twithColorIndicator={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ horizontalSeparatorStyle } />\n\t\t\t{ getFooter() }\n\t\t</View>\n\t);\n};\n\nexport default PaletteScreen;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/color-settings/palette.screen.native.js"],"names":["View","Text","TouchableWithoutFeedback","__","useState","useContext","usePreferredColorSchemeStyle","ColorControl","PanelBody","BottomSheetContext","useMobileGlobalStylesColors","useRoute","useNavigation","ColorPalette","ColorIndicator","NavBar","SegmentedControls","colorsUtils","styles","HIT_SLOP","top","bottom","left","right","THEME_PALETTE_NAME","PaletteScreen","route","navigation","shouldEnableBottomSheetScroll","label","onColorChange","onGradientChange","onColorCleared","colorValue","defaultSettings","hideNavigation","params","segments","isGradient","currentValue","setCurrentValue","isGradientColor","selectedSegmentIndex","allAvailableColors","currentSegment","setCurrentSegment","isGradientSegment","currentSegmentColors","colors","gradients","horizontalSeparatorStyle","horizontalSeparator","horizontalSeparatorDark","clearButtonStyle","clearButton","clearButtonDark","selectedColorTextStyle","colorText","colorTextDark","isSolidSegment","isCustomGadientShown","setColor","color","onClear","undefined","onCustomPress","navigate","screens","picker","gradientPicker","getClearButton","clearButtonContainer","getFooter","indexOf","colorIndicator","footer","flex","toUpperCase","selectColorText","goBack","colorPalettes","map","palette","paletteKey","paletteSettings","allColors","enableCustomColor","name"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useContext } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport {\n\tColorControl,\n\tPanelBody,\n\tBottomSheetContext,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport { useRoute, useNavigation } from '@react-navigation/native';\n\n/**\n * Internal dependencies\n */\nimport ColorPalette from '../../color-palette';\nimport ColorIndicator from '../../color-indicator';\nimport NavBar from '../bottom-sheet/nav-bar';\nimport SegmentedControls from '../segmented-control';\nimport { colorsUtils } from './utils';\n\nimport styles from './style.scss';\n\nconst HIT_SLOP = { top: 8, bottom: 8, left: 8, right: 8 };\nconst THEME_PALETTE_NAME = 'Theme';\n\nconst PaletteScreen = () => {\n\tconst route = useRoute();\n\tconst navigation = useNavigation();\n\tconst { shouldEnableBottomSheetScroll } = useContext( BottomSheetContext );\n\tconst {\n\t\tlabel,\n\t\tonColorChange,\n\t\tonGradientChange,\n\t\tonColorCleared,\n\t\tcolorValue,\n\t\tdefaultSettings,\n\t\thideNavigation = false,\n\t} = route.params || {};\n\tconst { segments, isGradient } = colorsUtils;\n\tconst [ currentValue, setCurrentValue ] = useState( colorValue );\n\tconst isGradientColor = isGradient( currentValue );\n\tconst selectedSegmentIndex = isGradientColor ? 1 : 0;\n\tconst allAvailableColors = useMobileGlobalStylesColors();\n\n\tconst [ currentSegment, setCurrentSegment ] = useState(\n\t\tsegments[ selectedSegmentIndex ]\n\t);\n\tconst isGradientSegment = currentSegment === colorsUtils.segments[ 1 ];\n\tconst currentSegmentColors = ! isGradientSegment\n\t\t? defaultSettings.colors\n\t\t: defaultSettings.gradients;\n\n\tconst horizontalSeparatorStyle = usePreferredColorSchemeStyle(\n\t\tstyles.horizontalSeparator,\n\t\tstyles.horizontalSeparatorDark\n\t);\n\tconst clearButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.clearButton,\n\t\tstyles.clearButtonDark\n\t);\n\tconst selectedColorTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.colorText,\n\t\tstyles.colorTextDark\n\t);\n\n\tconst isSolidSegment = currentSegment === segments[ 0 ];\n\tconst isCustomGadientShown = ! isSolidSegment && isGradientColor;\n\n\tconst setColor = ( color ) => {\n\t\tsetCurrentValue( color );\n\t\tif ( isSolidSegment && onColorChange && onGradientChange ) {\n\t\t\tonColorChange( color );\n\t\t\tonGradientChange( '' );\n\t\t} else if ( isSolidSegment && onColorChange ) {\n\t\t\tonColorChange( color );\n\t\t} else if ( ! isSolidSegment && onGradientChange ) {\n\t\t\tonGradientChange( color );\n\t\t\tonColorChange( '' );\n\t\t}\n\t};\n\n\tfunction onClear() {\n\t\tsetCurrentValue( undefined );\n\t\tif ( isSolidSegment ) {\n\t\t\tonColorChange( '' );\n\t\t} else {\n\t\t\tonGradientChange( '' );\n\t\t}\n\n\t\tif ( onColorCleared ) {\n\t\t\tonColorCleared();\n\t\t}\n\t}\n\n\tfunction onCustomPress() {\n\t\tif ( isSolidSegment ) {\n\t\t\tnavigation.navigate( colorsUtils.screens.picker, {\n\t\t\t\tcurrentValue,\n\t\t\t\tsetColor,\n\t\t\t} );\n\t\t} else {\n\t\t\tnavigation.navigate( colorsUtils.screens.gradientPicker, {\n\t\t\t\tsetColor,\n\t\t\t\tisGradientColor,\n\t\t\t\tcurrentValue,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction getClearButton() {\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback onPress={ onClear } hitSlop={ HIT_SLOP }>\n\t\t\t\t<View style={ styles.clearButtonContainer }>\n\t\t\t\t\t<Text style={ clearButtonStyle }>{ __( 'Reset' ) }</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n\n\tfunction getFooter() {\n\t\tif ( onGradientChange ) {\n\t\t\treturn (\n\t\t\t\t<SegmentedControls\n\t\t\t\t\tsegments={ segments }\n\t\t\t\t\tsegmentHandler={ setCurrentSegment }\n\t\t\t\t\tselectedIndex={ segments.indexOf( currentSegment ) }\n\t\t\t\t\taddonLeft={\n\t\t\t\t\t\tcurrentValue && (\n\t\t\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\t\t\tcolor={ currentValue }\n\t\t\t\t\t\t\t\tstyle={ styles.colorIndicator }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\taddonRight={ currentValue && getClearButton() }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<View style={ styles.footer }>\n\t\t\t\t<View style={ styles.flex }>\n\t\t\t\t\t{ currentValue && (\n\t\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\t\tcolor={ currentValue }\n\t\t\t\t\t\t\tstyle={ styles.colorIndicator }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t\t{ currentValue ? (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ selectedColorTextStyle }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t\tselectable\n\t\t\t\t\t>\n\t\t\t\t\t\t{ currentValue.toUpperCase() }\n\t\t\t\t\t</Text>\n\t\t\t\t) : (\n\t\t\t\t\t<Text\n\t\t\t\t\t\tstyle={ styles.selectColorText }\n\t\t\t\t\t\tmaxFontSizeMultiplier={ 2 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Select a color above' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\t\t\t\t<View style={ styles.flex }>\n\t\t\t\t\t{ currentValue && getClearButton() }\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t);\n\t}\n\treturn (\n\t\t<View>\n\t\t\t{ ! hideNavigation && (\n\t\t\t\t<NavBar>\n\t\t\t\t\t<NavBar.BackButton onPress={ navigation.goBack } />\n\t\t\t\t\t<NavBar.Heading>{ label } </NavBar.Heading>\n\t\t\t\t</NavBar>\n\t\t\t) }\n\n\t\t\t<View style={ styles.colorPalettes }>\n\t\t\t\t{ currentSegmentColors.map( ( palette, paletteKey ) => {\n\t\t\t\t\tconst paletteSettings = {\n\t\t\t\t\t\tcolors: palette.colors,\n\t\t\t\t\t\tgradients: palette.gradients,\n\t\t\t\t\t\tallColors: allAvailableColors,\n\t\t\t\t\t};\n\t\t\t\t\tconst enableCustomColor =\n\t\t\t\t\t\t! isGradientSegment &&\n\t\t\t\t\t\tpalette.name === THEME_PALETTE_NAME;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\tenableCustomColor={ enableCustomColor }\n\t\t\t\t\t\t\tlabel={ palette.name }\n\t\t\t\t\t\t\tkey={ paletteKey }\n\t\t\t\t\t\t\tsetColor={ setColor }\n\t\t\t\t\t\t\tactiveColor={ currentValue }\n\t\t\t\t\t\t\tisGradientColor={ isGradientColor }\n\t\t\t\t\t\t\tcurrentSegment={ currentSegment }\n\t\t\t\t\t\t\tonCustomPress={ onCustomPress }\n\t\t\t\t\t\t\tshouldEnableBottomSheetScroll={\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdefaultSettings={ paletteSettings }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</View>\n\n\t\t\t{ isCustomGadientShown && (\n\t\t\t\t<>\n\t\t\t\t\t<View style={ horizontalSeparatorStyle } />\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ColorControl\n\t\t\t\t\t\t\tlabel={ __( 'Customize Gradient' ) }\n\t\t\t\t\t\t\tonPress={ onCustomPress }\n\t\t\t\t\t\t\twithColorIndicator={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View style={ horizontalSeparatorStyle } />\n\t\t\t{ getFooter() }\n\t\t</View>\n\t);\n};\n\nexport default PaletteScreen;\n"]}
|
|
@@ -7,7 +7,7 @@ import { Dimensions } from 'react-native';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { getPxFromCssUnit } from '@wordpress/block-editor';
|
|
10
|
+
import { getPxFromCssUnit, useSetting, useMultipleOriginColorsAndGradients } from '@wordpress/block-editor';
|
|
11
11
|
export const BLOCK_STYLE_ATTRIBUTES = ['textColor', 'backgroundColor', 'style', 'color', 'fontSize']; // Mapping style properties name to native
|
|
12
12
|
|
|
13
13
|
const BLOCK_STYLE_ATTRIBUTES_MAPPING = {
|
|
@@ -156,7 +156,7 @@ export function getBlockTypography(blockStyleAttributes, fontSizes, blockName, b
|
|
|
156
156
|
}
|
|
157
157
|
export function parseStylesVariables(styles, mappedValues, customValues) {
|
|
158
158
|
let stylesBase = styles;
|
|
159
|
-
const variables = ['preset', 'custom'];
|
|
159
|
+
const variables = ['preset', 'custom', 'var'];
|
|
160
160
|
|
|
161
161
|
if (!stylesBase) {
|
|
162
162
|
return styles;
|
|
@@ -166,7 +166,9 @@ export function parseStylesVariables(styles, mappedValues, customValues) {
|
|
|
166
166
|
// Examples
|
|
167
167
|
// var(--wp--preset--color--gray)
|
|
168
168
|
// var(--wp--custom--body--typography--font-family)
|
|
169
|
+
// var:preset|color|custom-color-2
|
|
169
170
|
const regex = new RegExp(`var\\(--wp--${variable}--(.*?)\\)`, 'g');
|
|
171
|
+
const varRegex = /\"var:preset\|color\|(.*?)\"/gm;
|
|
170
172
|
|
|
171
173
|
if (variable === 'preset') {
|
|
172
174
|
stylesBase = stylesBase.replace(regex, (_$1, $2) => {
|
|
@@ -197,6 +199,21 @@ export function parseStylesVariables(styles, mappedValues, customValues) {
|
|
|
197
199
|
return get(customValuesData, [...path.slice(0, path.length - 1), camelCase(path[path.length - 1])]);
|
|
198
200
|
});
|
|
199
201
|
}
|
|
202
|
+
|
|
203
|
+
if (variable === 'var') {
|
|
204
|
+
stylesBase = stylesBase.replace(varRegex, (_$1, $2) => {
|
|
205
|
+
if (mappedValues !== null && mappedValues !== void 0 && mappedValues.color) {
|
|
206
|
+
var _mappedValues$color;
|
|
207
|
+
|
|
208
|
+
const matchedValue = find((_mappedValues$color = mappedValues.color) === null || _mappedValues$color === void 0 ? void 0 : _mappedValues$color.values, {
|
|
209
|
+
slug: $2
|
|
210
|
+
});
|
|
211
|
+
return `"${matchedValue === null || matchedValue === void 0 ? void 0 : matchedValue.color}"`;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
return UNKNOWN_VALUE;
|
|
215
|
+
});
|
|
216
|
+
}
|
|
200
217
|
});
|
|
201
218
|
return JSON.parse(stylesBase);
|
|
202
219
|
}
|
|
@@ -204,9 +221,7 @@ export function getMappedValues(features, palette) {
|
|
|
204
221
|
var _typography$fontSizes, _typography$fontSizes2;
|
|
205
222
|
|
|
206
223
|
const typography = features === null || features === void 0 ? void 0 : features.typography;
|
|
207
|
-
const colors =
|
|
208
|
-
...(palette === null || palette === void 0 ? void 0 : palette.custom)
|
|
209
|
-
};
|
|
224
|
+
const colors = [...((palette === null || palette === void 0 ? void 0 : palette.theme) || []), ...((palette === null || palette === void 0 ? void 0 : palette.custom) || []), ...((palette === null || palette === void 0 ? void 0 : palette.default) || [])];
|
|
210
225
|
const fontSizes = { ...(typography === null || typography === void 0 ? void 0 : (_typography$fontSizes = typography.fontSizes) === null || _typography$fontSizes === void 0 ? void 0 : _typography$fontSizes.theme),
|
|
211
226
|
...(typography === null || typography === void 0 ? void 0 : (_typography$fontSizes2 = typography.fontSizes) === null || _typography$fontSizes2 === void 0 ? void 0 : _typography$fontSizes2.custom)
|
|
212
227
|
};
|
|
@@ -237,7 +252,7 @@ function normalizeFontSizes(fontSizes) {
|
|
|
237
252
|
|
|
238
253
|
const normalizedFontSizes = {};
|
|
239
254
|
const dimensions = Dimensions.get('window');
|
|
240
|
-
['default', 'theme', '
|
|
255
|
+
['default', 'theme', 'custom'].forEach(key => {
|
|
241
256
|
if (fontSizes[key]) {
|
|
242
257
|
var _fontSizes$key;
|
|
243
258
|
|
|
@@ -254,8 +269,43 @@ function normalizeFontSizes(fontSizes) {
|
|
|
254
269
|
return normalizedFontSizes;
|
|
255
270
|
}
|
|
256
271
|
|
|
272
|
+
export function useMobileGlobalStylesColors() {
|
|
273
|
+
var _colorGradientSetting;
|
|
274
|
+
|
|
275
|
+
let type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'colors';
|
|
276
|
+
const colorGradientSettings = useMultipleOriginColorsAndGradients();
|
|
277
|
+
const availableThemeColors = colorGradientSettings === null || colorGradientSettings === void 0 ? void 0 : (_colorGradientSetting = colorGradientSettings[type]) === null || _colorGradientSetting === void 0 ? void 0 : _colorGradientSetting.reduce((colors, origin) => colors.concat(origin === null || origin === void 0 ? void 0 : origin[type]), []); // Default editor colors/gradients if it's not a block-based theme.
|
|
278
|
+
|
|
279
|
+
const colorPalette = type === 'colors' ? 'color.palette' : 'color.gradients';
|
|
280
|
+
const editorDefaultPalette = useSetting(colorPalette);
|
|
281
|
+
return availableThemeColors.length >= 1 ? availableThemeColors : editorDefaultPalette;
|
|
282
|
+
}
|
|
283
|
+
export function getColorsAndGradients() {
|
|
284
|
+
let defaultEditorColors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
285
|
+
let defaultEditorGradients = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
286
|
+
let rawFeatures = arguments.length > 2 ? arguments[2] : undefined;
|
|
287
|
+
const features = rawFeatures ? JSON.parse(rawFeatures) : {};
|
|
288
|
+
return {
|
|
289
|
+
__experimentalGlobalStylesBaseStyles: null,
|
|
290
|
+
__experimentalFeatures: {
|
|
291
|
+
color: { ...(!(features !== null && features !== void 0 && features.color) ? {
|
|
292
|
+
text: true,
|
|
293
|
+
background: true,
|
|
294
|
+
palette: {
|
|
295
|
+
default: defaultEditorColors
|
|
296
|
+
},
|
|
297
|
+
gradients: {
|
|
298
|
+
default: defaultEditorGradients
|
|
299
|
+
}
|
|
300
|
+
} : features === null || features === void 0 ? void 0 : features.color),
|
|
301
|
+
defaultPalette: (defaultEditorColors === null || defaultEditorColors === void 0 ? void 0 : defaultEditorColors.length) > 0,
|
|
302
|
+
defaultGradients: (defaultEditorGradients === null || defaultEditorGradients === void 0 ? void 0 : defaultEditorGradients.length) > 0
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
};
|
|
306
|
+
}
|
|
257
307
|
export function getGlobalStyles(rawStyles, rawFeatures) {
|
|
258
|
-
var _features$color, _features$color2, _features$typography, _features$color$text, _features$color3, _features$color$backg, _features$color4, _features$custom;
|
|
308
|
+
var _features$color, _features$color2, _features$typography, _features$color$text, _features$color3, _features$color$backg, _features$color4, _features$color$defau, _features$color5, _features$color$defau2, _features$color6, _features$custom;
|
|
259
309
|
|
|
260
310
|
const features = rawFeatures ? JSON.parse(rawFeatures) : {};
|
|
261
311
|
const mappedValues = getMappedValues(features, features === null || features === void 0 ? void 0 : (_features$color = features.color) === null || _features$color === void 0 ? void 0 : _features$color.palette);
|
|
@@ -265,14 +315,14 @@ export function getGlobalStyles(rawStyles, rawFeatures) {
|
|
|
265
315
|
const globalStyles = parseStylesVariables(rawStyles, mappedValues, customValues);
|
|
266
316
|
const fontSizes = normalizeFontSizes(features === null || features === void 0 ? void 0 : (_features$typography = features.typography) === null || _features$typography === void 0 ? void 0 : _features$typography.fontSizes);
|
|
267
317
|
return {
|
|
268
|
-
colors,
|
|
269
|
-
gradients,
|
|
270
318
|
__experimentalFeatures: {
|
|
271
319
|
color: {
|
|
272
320
|
palette: colors === null || colors === void 0 ? void 0 : colors.palette,
|
|
273
321
|
gradients,
|
|
274
322
|
text: (_features$color$text = features === null || features === void 0 ? void 0 : (_features$color3 = features.color) === null || _features$color3 === void 0 ? void 0 : _features$color3.text) !== null && _features$color$text !== void 0 ? _features$color$text : true,
|
|
275
|
-
background: (_features$color$backg = features === null || features === void 0 ? void 0 : (_features$color4 = features.color) === null || _features$color4 === void 0 ? void 0 : _features$color4.background) !== null && _features$color$backg !== void 0 ? _features$color$backg : true
|
|
323
|
+
background: (_features$color$backg = features === null || features === void 0 ? void 0 : (_features$color4 = features.color) === null || _features$color4 === void 0 ? void 0 : _features$color4.background) !== null && _features$color$backg !== void 0 ? _features$color$backg : true,
|
|
324
|
+
defaultPalette: (_features$color$defau = features === null || features === void 0 ? void 0 : (_features$color5 = features.color) === null || _features$color5 === void 0 ? void 0 : _features$color5.defaultPalette) !== null && _features$color$defau !== void 0 ? _features$color$defau : true,
|
|
325
|
+
defaultGradients: (_features$color$defau2 = features === null || features === void 0 ? void 0 : (_features$color6 = features.color) === null || _features$color6 === void 0 ? void 0 : _features$color6.defaultGradients) !== null && _features$color$defau2 !== void 0 ? _features$color$defau2 : true
|
|
276
326
|
},
|
|
277
327
|
typography: {
|
|
278
328
|
fontSizes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"names":["find","startsWith","get","camelCase","has","Dimensions","getPxFromCssUnit","BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","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","mappedColor","slug","getBlockTypography","fontSizes","typographyStyles","typography","fontSize","lineHeight","parseInt","mappedFontSize","size","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","slice","length","getMappedValues","features","palette","colors","theme","custom","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","width","height","getGlobalStyles","rawStyles","rawFeatures","stringify","gradients","globalStyles","__experimentalFeatures","customLineHeight","__experimentalGlobalStylesBaseStyles"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { find, startsWith, get, camelCase, has } from 'lodash';\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { getPxFromCssUnit } 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';\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 = startsWith( value, '#' );\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' ];\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\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\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\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = { ...palette?.theme, ...palette?.custom };\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', 'user' ].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: 16,\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 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\tcolors,\n\t\tgradients,\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},\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":["find","startsWith","get","camelCase","has","Dimensions","getPxFromCssUnit","useSetting","useMultipleOriginColorsAndGradients","BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","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","mappedColor","slug","getBlockTypography","fontSizes","typographyStyles","typography","fontSize","lineHeight","parseInt","mappedFontSize","size","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","slice","length","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","width","height","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, startsWith, 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';\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 = startsWith( value, '#' );\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' ];\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\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\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: 16,\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"]}
|