@wordpress/components 20.0.1-next.d6164808d3.0 → 20.0.2-next.957ca95e4c.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 +29 -1
- package/CONTRIBUTING.md +12 -12
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js +12 -12
- package/build/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build/autocomplete/get-default-use-items.js +7 -1
- package/build/autocomplete/get-default-use-items.js.map +1 -1
- package/build/autocomplete/index.js +3 -1
- package/build/autocomplete/index.js.map +1 -1
- package/build/card/card/component.js +6 -11
- package/build/card/card/component.js.map +1 -1
- package/build/card/card/hook.js +0 -10
- package/build/card/card/hook.js.map +1 -1
- package/build/card/card/index.js.map +1 -1
- package/build/card/card-body/component.js +7 -8
- package/build/card/card-body/component.js.map +1 -1
- package/build/card/card-body/hook.js +0 -4
- package/build/card/card-body/hook.js.map +1 -1
- package/build/card/card-body/index.js.map +1 -1
- package/build/card/card-divider/component.js +7 -8
- package/build/card/card-divider/component.js.map +1 -1
- package/build/card/card-divider/hook.js +0 -4
- package/build/card/card-divider/hook.js.map +1 -1
- package/build/card/card-divider/index.js.map +1 -1
- package/build/card/card-footer/component.js +7 -8
- package/build/card/card-footer/component.js.map +1 -1
- package/build/card/card-footer/hook.js +0 -4
- package/build/card/card-footer/hook.js.map +1 -1
- package/build/card/card-footer/index.js.map +1 -1
- package/build/card/card-header/component.js +7 -8
- package/build/card/card-header/component.js.map +1 -1
- package/build/card/card-header/hook.js +0 -4
- package/build/card/card-header/hook.js.map +1 -1
- package/build/card/card-header/index.js.map +1 -1
- package/build/card/card-media/component.js +7 -7
- package/build/card/card-media/component.js.map +1 -1
- package/build/card/card-media/hook.js +0 -4
- package/build/card/card-media/hook.js.map +1 -1
- package/build/card/card-media/index.js.map +1 -1
- package/build/card/context.js.map +1 -1
- package/build/card/index.js.map +1 -1
- package/build/card/styles.js +17 -17
- package/build/card/styles.js.map +1 -1
- package/build/clipboard-button/index.js +16 -1
- package/build/clipboard-button/index.js.map +1 -1
- package/build/color-palette/index.js +6 -2
- package/build/color-palette/index.js.map +1 -1
- package/build/custom-gradient-picker/index.js +11 -0
- package/build/custom-gradient-picker/index.js.map +1 -1
- package/build/date-time/date/index.js +25 -6
- package/build/date-time/date/index.js.map +1 -1
- package/build/date-time/date/styles.js +22 -12
- package/build/date-time/date/styles.js.map +1 -1
- package/build/date-time/date-time/index.js +1 -3
- package/build/date-time/date-time/index.js.map +1 -1
- package/build/date-time/date-time/styles.js +19 -5
- package/build/date-time/date-time/styles.js.map +1 -1
- package/build/date-time/time/styles.js +12 -12
- package/build/date-time/time/styles.js.map +1 -1
- package/build/drop-zone/index.js +2 -4
- package/build/drop-zone/index.js.map +1 -1
- package/build/dropdown-menu/index.js +1 -3
- package/build/dropdown-menu/index.js.map +1 -1
- package/build/dropdown-menu/index.native.js +0 -17
- package/build/dropdown-menu/index.native.js.map +1 -1
- package/build/focal-point-picker/controls.js +4 -4
- package/build/focal-point-picker/controls.js.map +1 -1
- package/build/focal-point-picker/focal-point.js +4 -6
- package/build/focal-point-picker/focal-point.js.map +1 -1
- package/build/focal-point-picker/grid.js +6 -35
- package/build/focal-point-picker/grid.js.map +1 -1
- package/build/focal-point-picker/index.js +160 -330
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/media.js +4 -34
- package/build/focal-point-picker/media.js.map +1 -1
- package/build/focal-point-picker/styles/focal-point-picker-style.js +14 -14
- package/build/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build/focal-point-picker/utils.js +2 -6
- package/build/focal-point-picker/utils.js.map +1 -1
- package/build/focusable-iframe/index.js +6 -0
- package/build/focusable-iframe/index.js.map +1 -1
- package/build/form-token-field/index.js +18 -15
- package/build/form-token-field/index.js.map +1 -1
- package/build/gradient-picker/index.js +12 -1
- package/build/gradient-picker/index.js.map +1 -1
- package/build/guide/index.js +8 -6
- package/build/guide/index.js.map +1 -1
- package/build/higher-order/with-constrained-tabbing/index.js +1 -1
- package/build/higher-order/with-constrained-tabbing/index.js.map +1 -1
- package/build/higher-order/with-spoken-messages/index.js +2 -0
- package/build/higher-order/with-spoken-messages/index.js.map +1 -1
- package/build/isolated-event-container/index.js +4 -0
- package/build/isolated-event-container/index.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +1 -1
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/navigable-container/menu.js +3 -9
- package/build/navigable-container/menu.js.map +1 -1
- package/build/navigation/menu/menu-title-search.js +1 -3
- package/build/navigation/menu/menu-title-search.js.map +1 -1
- package/build/palette-edit/index.js +6 -2
- package/build/palette-edit/index.js.map +1 -1
- package/build/popover/index.js +15 -35
- package/build/popover/index.js.map +1 -1
- package/build/text-highlight/index.js +4 -4
- package/build/text-highlight/index.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/styles.js +23 -8
- package/build/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build/tooltip/index.js +1 -7
- package/build/tooltip/index.js.map +1 -1
- package/build/tree-grid/index.js +4 -10
- package/build/tree-grid/index.js.map +1 -1
- package/build/utils/strings.js +13 -0
- package/build/utils/strings.js.map +1 -1
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js +12 -12
- package/build-module/alignment-matrix-control/styles/alignment-matrix-control-styles.js.map +1 -1
- package/build-module/autocomplete/get-default-use-items.js +6 -1
- package/build-module/autocomplete/get-default-use-items.js.map +1 -1
- package/build-module/autocomplete/index.js +2 -1
- package/build-module/autocomplete/index.js.map +1 -1
- package/build-module/card/card/component.js +5 -10
- package/build-module/card/card/component.js.map +1 -1
- package/build-module/card/card/hook.js +0 -9
- package/build-module/card/card/hook.js.map +1 -1
- package/build-module/card/card/index.js.map +1 -1
- package/build-module/card/card-body/component.js +7 -8
- package/build-module/card/card-body/component.js.map +1 -1
- package/build-module/card/card-body/hook.js +0 -4
- package/build-module/card/card-body/hook.js.map +1 -1
- package/build-module/card/card-body/index.js.map +1 -1
- package/build-module/card/card-divider/component.js +7 -8
- package/build-module/card/card-divider/component.js.map +1 -1
- package/build-module/card/card-divider/hook.js +0 -4
- package/build-module/card/card-divider/hook.js.map +1 -1
- package/build-module/card/card-divider/index.js.map +1 -1
- package/build-module/card/card-footer/component.js +7 -8
- package/build-module/card/card-footer/component.js.map +1 -1
- package/build-module/card/card-footer/hook.js +0 -4
- package/build-module/card/card-footer/hook.js.map +1 -1
- package/build-module/card/card-footer/index.js.map +1 -1
- package/build-module/card/card-header/component.js +7 -8
- package/build-module/card/card-header/component.js.map +1 -1
- package/build-module/card/card-header/hook.js +0 -4
- package/build-module/card/card-header/hook.js.map +1 -1
- package/build-module/card/card-header/index.js.map +1 -1
- package/build-module/card/card-media/component.js +7 -7
- package/build-module/card/card-media/component.js.map +1 -1
- package/build-module/card/card-media/hook.js +0 -4
- package/build-module/card/card-media/hook.js.map +1 -1
- package/build-module/card/card-media/index.js.map +1 -1
- package/build-module/card/context.js.map +1 -1
- package/build-module/card/index.js.map +1 -1
- package/build-module/card/styles.js +17 -17
- package/build-module/card/styles.js.map +1 -1
- package/build-module/clipboard-button/index.js +17 -1
- package/build-module/clipboard-button/index.js.map +1 -1
- package/build-module/color-palette/index.js +5 -2
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/custom-gradient-picker/index.js +10 -0
- package/build-module/custom-gradient-picker/index.js.map +1 -1
- package/build-module/date-time/date/index.js +27 -8
- package/build-module/date-time/date/index.js.map +1 -1
- package/build-module/date-time/date/styles.js +21 -5
- package/build-module/date-time/date/styles.js.map +1 -1
- package/build-module/date-time/date-time/index.js +2 -3
- package/build-module/date-time/date-time/index.js.map +1 -1
- package/build-module/date-time/date-time/styles.js +20 -1
- package/build-module/date-time/date-time/styles.js.map +1 -1
- package/build-module/date-time/time/styles.js +12 -12
- package/build-module/date-time/time/styles.js.map +1 -1
- package/build-module/drop-zone/index.js +2 -3
- package/build-module/drop-zone/index.js.map +1 -1
- package/build-module/dropdown-menu/index.js +1 -2
- package/build-module/dropdown-menu/index.js.map +1 -1
- package/build-module/dropdown-menu/index.native.js +0 -16
- package/build-module/dropdown-menu/index.native.js.map +1 -1
- package/build-module/focal-point-picker/controls.js +4 -4
- package/build-module/focal-point-picker/controls.js.map +1 -1
- package/build-module/focal-point-picker/focal-point.js +4 -6
- package/build-module/focal-point-picker/focal-point.js.map +1 -1
- package/build-module/focal-point-picker/grid.js +6 -34
- package/build-module/focal-point-picker/grid.js.map +1 -1
- package/build-module/focal-point-picker/index.js +158 -325
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/media.js +4 -36
- package/build-module/focal-point-picker/media.js.map +1 -1
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js +13 -14
- package/build-module/focal-point-picker/styles/focal-point-picker-style.js.map +1 -1
- package/build-module/focal-point-picker/utils.js +2 -6
- package/build-module/focal-point-picker/utils.js.map +1 -1
- package/build-module/focusable-iframe/index.js +6 -0
- package/build-module/focusable-iframe/index.js.map +1 -1
- package/build-module/form-token-field/index.js +18 -14
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/gradient-picker/index.js +11 -1
- package/build-module/gradient-picker/index.js.map +1 -1
- package/build-module/guide/index.js +8 -5
- package/build-module/guide/index.js.map +1 -1
- package/build-module/higher-order/with-constrained-tabbing/index.js +1 -1
- package/build-module/higher-order/with-constrained-tabbing/index.js.map +1 -1
- package/build-module/higher-order/with-spoken-messages/index.js +2 -0
- package/build-module/higher-order/with-spoken-messages/index.js.map +1 -1
- package/build-module/isolated-event-container/index.js +3 -0
- package/build-module/isolated-event-container/index.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +2 -2
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/navigable-container/menu.js +3 -8
- package/build-module/navigable-container/menu.js.map +1 -1
- package/build-module/navigation/menu/menu-title-search.js +1 -2
- package/build-module/navigation/menu/menu-title-search.js.map +1 -1
- package/build-module/palette-edit/index.js +6 -2
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/popover/index.js +15 -35
- package/build-module/popover/index.js.map +1 -1
- package/build-module/text-highlight/index.js +2 -5
- package/build-module/text-highlight/index.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +2 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/styles.js +20 -6
- package/build-module/toggle-group-control/toggle-group-control/styles.js.map +1 -1
- package/build-module/tooltip/index.js +1 -6
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tree-grid/index.js +4 -9
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/utils/strings.js +11 -0
- package/build-module/utils/strings.js.map +1 -1
- package/build-style/style-rtl.css +2 -21
- package/build-style/style.css +2 -21
- package/build-types/animation/index.d.ts +2 -0
- package/build-types/animation/index.d.ts.map +1 -0
- package/build-types/card/card/component.d.ts +3 -3
- package/build-types/card/card/component.d.ts.map +1 -1
- package/build-types/card/card/hook.d.ts +7 -2
- package/build-types/card/card/hook.d.ts.map +1 -1
- package/build-types/card/card/index.d.ts +2 -2
- package/build-types/card/card/index.d.ts.map +1 -1
- package/build-types/card/card-body/component.d.ts +3 -3
- package/build-types/card/card-body/component.d.ts.map +1 -1
- package/build-types/card/card-body/hook.d.ts +5 -2
- package/build-types/card/card-body/hook.d.ts.map +1 -1
- package/build-types/card/card-body/index.d.ts +2 -2
- package/build-types/card/card-body/index.d.ts.map +1 -1
- package/build-types/card/card-divider/component.d.ts +3 -3
- package/build-types/card/card-divider/component.d.ts.map +1 -1
- package/build-types/card/card-divider/hook.d.ts +5 -2
- package/build-types/card/card-divider/hook.d.ts.map +1 -1
- package/build-types/card/card-divider/index.d.ts +2 -2
- package/build-types/card/card-divider/index.d.ts.map +1 -1
- package/build-types/card/card-footer/component.d.ts +3 -3
- package/build-types/card/card-footer/component.d.ts.map +1 -1
- package/build-types/card/card-footer/hook.d.ts +5 -2
- package/build-types/card/card-footer/hook.d.ts.map +1 -1
- package/build-types/card/card-footer/index.d.ts +2 -2
- package/build-types/card/card-footer/index.d.ts.map +1 -1
- package/build-types/card/card-header/component.d.ts +3 -3
- package/build-types/card/card-header/component.d.ts.map +1 -1
- package/build-types/card/card-header/hook.d.ts +5 -2
- package/build-types/card/card-header/hook.d.ts.map +1 -1
- package/build-types/card/card-header/index.d.ts +2 -2
- package/build-types/card/card-header/index.d.ts.map +1 -1
- package/build-types/card/card-media/component.d.ts +3 -4
- package/build-types/card/card-media/component.d.ts.map +1 -1
- package/build-types/card/card-media/hook.d.ts +6 -5
- package/build-types/card/card-media/hook.d.ts.map +1 -1
- package/build-types/card/card-media/index.d.ts +2 -2
- package/build-types/card/card-media/index.d.ts.map +1 -1
- package/build-types/card/context.d.ts +3 -2
- package/build-types/card/context.d.ts.map +1 -1
- package/build-types/card/index.d.ts +6 -6
- package/build-types/card/index.d.ts.map +1 -1
- package/build-types/card/stories/index.d.ts +12 -0
- package/build-types/card/stories/index.d.ts.map +1 -0
- package/build-types/card/styles.d.ts +20 -22
- package/build-types/card/styles.d.ts.map +1 -1
- package/build-types/card/test/index.d.ts +2 -0
- package/build-types/card/test/index.d.ts.map +1 -0
- package/build-types/card/types.d.ts +7 -1
- package/build-types/card/types.d.ts.map +1 -1
- package/build-types/clipboard-button/index.d.ts +16 -0
- package/build-types/clipboard-button/index.d.ts.map +1 -0
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/composite/index.d.ts +2 -0
- package/build-types/composite/index.d.ts.map +1 -0
- package/build-types/date-time/date/index.d.ts +1 -1
- package/build-types/date-time/date/index.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +4 -0
- package/build-types/date-time/date/styles.d.ts.map +1 -1
- package/build-types/date-time/date-time/index.d.ts.map +1 -1
- package/build-types/date-time/date-time/styles.d.ts +13 -0
- package/build-types/date-time/date-time/styles.d.ts.map +1 -1
- package/build-types/date-time/time/styles.d.ts.map +1 -1
- package/build-types/disclosure/index.d.ts +2 -0
- package/build-types/disclosure/index.d.ts.map +1 -0
- package/build-types/dropdown-menu/index.d.ts.map +1 -1
- package/build-types/focusable-iframe/index.d.ts +8 -0
- package/build-types/focusable-iframe/index.d.ts.map +1 -0
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/test/index.d.ts +2 -0
- package/build-types/form-token-field/test/index.d.ts.map +1 -0
- package/build-types/higher-order/with-constrained-tabbing/index.d.ts +3 -0
- package/build-types/higher-order/with-constrained-tabbing/index.d.ts.map +1 -0
- package/build-types/higher-order/with-spoken-messages/index.d.ts +4 -0
- package/build-types/higher-order/with-spoken-messages/index.d.ts.map +1 -0
- package/build-types/isolated-event-container/index.d.ts +3 -0
- package/build-types/isolated-event-container/index.d.ts.map +1 -0
- package/build-types/mobile/inserter-button/sparkles.d.ts +3 -0
- package/build-types/mobile/inserter-button/sparkles.d.ts.map +1 -0
- package/build-types/navigable-container/menu.d.ts.map +1 -1
- package/build-types/popover/index.d.ts +0 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/radio-context/index.d.ts +6 -0
- package/build-types/radio-context/index.d.ts.map +1 -0
- package/build-types/text-highlight/index.d.ts +0 -3
- package/build-types/text-highlight/index.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts +4 -0
- package/build-types/toggle-group-control/toggle-group-control/styles.d.ts.map +1 -1
- package/build-types/tooltip/index.d.ts.map +1 -1
- package/build-types/utils/strings.d.ts +8 -0
- package/build-types/utils/strings.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/alignment-matrix-control/styles/alignment-matrix-control-styles.js +1 -0
- package/src/autocomplete/get-default-use-items.js +6 -1
- package/src/autocomplete/index.js +2 -1
- package/src/card/card/{component.js → component.tsx} +13 -9
- package/src/card/card/{hook.js → hook.ts} +11 -11
- package/src/card/card/{index.js → index.ts} +0 -0
- package/src/card/card-body/{component.js → component.tsx} +13 -9
- package/src/card/card-body/{hook.js → hook.ts} +5 -5
- package/src/card/card-body/{index.js → index.ts} +0 -0
- package/src/card/card-divider/{component.js → component.tsx} +16 -10
- package/src/card/card-divider/{hook.js → hook.ts} +5 -5
- package/src/card/card-divider/{index.js → index.ts} +0 -0
- package/src/card/card-footer/{component.js → component.tsx} +13 -9
- package/src/card/card-footer/{hook.js → hook.ts} +5 -5
- package/src/card/card-footer/{index.js → index.ts} +0 -0
- package/src/card/card-header/{component.js → component.tsx} +13 -9
- package/src/card/card-header/{hook.js → hook.ts} +5 -5
- package/src/card/card-header/{index.js → index.ts} +0 -0
- package/src/card/card-media/{component.js → component.tsx} +13 -8
- package/src/card/card-media/{hook.js → hook.ts} +5 -5
- package/src/card/card-media/{index.js → index.ts} +0 -0
- package/src/card/{context.js → context.ts} +0 -0
- package/src/card/{index.js → index.ts} +0 -0
- package/src/card/stories/index.tsx +75 -0
- package/src/card/{styles.js → styles.ts} +0 -0
- package/src/card/test/__snapshots__/{index.js.snap → index.tsx.snap} +0 -0
- package/src/card/test/{index.js → index.tsx} +3 -3
- package/src/card/types.ts +8 -1
- package/src/clipboard-button/index.js +13 -0
- package/src/color-palette/index.js +8 -5
- package/src/color-palette/style.scss +0 -14
- package/src/color-palette/test/__snapshots__/index.js.snap +11 -4
- package/src/custom-gradient-picker/index.js +12 -0
- package/src/custom-gradient-picker/stories/index.js +3 -0
- package/src/date-time/date/index.tsx +26 -6
- package/src/date-time/date/styles.ts +6 -0
- package/src/date-time/date/test/index.tsx +6 -2
- package/src/date-time/date-time/index.tsx +3 -4
- package/src/date-time/date-time/styles.ts +9 -0
- package/src/date-time/time/styles.ts +1 -0
- package/src/drop-zone/index.js +2 -3
- package/src/dropdown-menu/index.js +1 -2
- package/src/dropdown-menu/index.native.js +0 -13
- package/src/dropdown-menu/test/index.js +54 -58
- package/src/focal-point-picker/README.md +3 -6
- package/src/focal-point-picker/controls.js +4 -4
- package/src/focal-point-picker/focal-point.js +2 -8
- package/src/focal-point-picker/grid.js +5 -41
- package/src/focal-point-picker/index.js +161 -303
- package/src/focal-point-picker/media.js +4 -28
- package/src/focal-point-picker/styles/focal-point-picker-style.js +5 -8
- package/src/focal-point-picker/test/index.js +1 -1
- package/src/focal-point-picker/utils.js +2 -6
- package/src/focusable-iframe/index.js +5 -0
- package/src/form-token-field/index.tsx +17 -23
- package/src/form-token-field/test/index.tsx +2106 -0
- package/src/gradient-picker/README.md +9 -0
- package/src/gradient-picker/index.js +9 -0
- package/src/gradient-picker/stories/index.js +1 -0
- package/src/guide/index.js +6 -3
- package/src/guide/test/index.js +138 -1
- package/src/higher-order/with-constrained-tabbing/index.js +1 -1
- package/src/higher-order/with-spoken-messages/index.js +2 -0
- package/src/isolated-event-container/index.js +3 -0
- package/src/mobile/global-styles-context/utils.native.js +7 -2
- package/src/navigable-container/menu.js +3 -7
- package/src/navigation/menu/menu-title-search.js +1 -2
- package/src/palette-edit/index.js +14 -10
- package/src/palette-edit/style.scss +3 -11
- package/src/placeholder/style.scss +1 -4
- package/src/popover/index.js +17 -35
- package/src/popover/stories/index.js +0 -1
- package/src/text-highlight/index.tsx +1 -5
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +62 -44
- package/src/toggle-group-control/toggle-group-control/component.tsx +3 -2
- package/src/toggle-group-control/toggle-group-control/styles.ts +5 -0
- package/src/tooltip/index.js +1 -5
- package/src/tree-grid/index.js +4 -9
- package/src/utils/strings.ts +11 -0
- package/tsconfig.json +45 -76
- package/tsconfig.tsbuildinfo +1 -1
- package/build/ui/__storybook-utils/example-grid.js +0 -88
- package/build/ui/__storybook-utils/example-grid.js.map +0 -1
- package/build/ui/__storybook-utils/index.js +0 -19
- package/build/ui/__storybook-utils/index.js.map +0 -1
- package/build/ui/__storybook-utils/page.js +0 -43
- package/build/ui/__storybook-utils/page.js.map +0 -1
- package/build/utils/keyboard.js +0 -41
- package/build/utils/keyboard.js.map +0 -1
- package/build-module/ui/__storybook-utils/example-grid.js +0 -69
- package/build-module/ui/__storybook-utils/example-grid.js.map +0 -1
- package/build-module/ui/__storybook-utils/index.js +0 -2
- package/build-module/ui/__storybook-utils/index.js.map +0 -1
- package/build-module/ui/__storybook-utils/page.js +0 -32
- package/build-module/ui/__storybook-utils/page.js.map +0 -1
- package/build-module/utils/keyboard.js +0 -33
- package/build-module/utils/keyboard.js.map +0 -1
- package/build-types/form-token-field/test/lib/fixtures.d.ts +0 -26
- package/build-types/form-token-field/test/lib/fixtures.d.ts.map +0 -1
- package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts +0 -21
- package/build-types/form-token-field/test/lib/token-field-wrapper.d.ts.map +0 -1
- package/build-types/utils/keyboard.d.ts +0 -12
- package/build-types/utils/keyboard.d.ts.map +0 -1
- package/src/card/stories/index.js +0 -209
- package/src/form-token-field/test/index.js +0 -442
- package/src/form-token-field/test/lib/fixtures.js +0 -89
- package/src/form-token-field/test/lib/token-field-wrapper.tsx +0 -71
- package/src/guide/test/page-control.js +0 -40
- package/src/ui/__storybook-utils/example-grid.js +0 -61
- package/src/ui/__storybook-utils/index.js +0 -1
- package/src/ui/__storybook-utils/page.js +0 -29
- package/src/utils/keyboard.js +0 -28
- package/src/utils/test/keyboard.js +0 -34
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/navigable-container/menu.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/navigable-container/menu.js"],"names":["forwardRef","UP","DOWN","LEFT","RIGHT","NavigableContainer","NavigableMenu","ref","role","orientation","rest","eventToOffset","evt","keyCode","next","previous","includes"],"mappings":";;AAAA;;AAEA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,SAASC,EAAT,EAAaC,IAAb,EAAmBC,IAAnB,EAAyBC,KAAzB,QAAsC,qBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,aAA/B;AAEA,OAAO,SAASC,aAAT,OAENC,GAFM,EAGL;AAAA,MAFD;AAAEC,IAAAA,IAAI,GAAG,MAAT;AAAiBC,IAAAA,WAAW,GAAG,UAA/B;AAA2C,OAAGC;AAA9C,GAEC;;AACD,QAAMC,aAAa,GAAKC,GAAF,IAAW;AAChC,UAAM;AAAEC,MAAAA;AAAF,QAAcD,GAApB;AAEA,QAAIE,IAAI,GAAG,CAAEZ,IAAF,CAAX;AACA,QAAIa,QAAQ,GAAG,CAAEd,EAAF,CAAf;;AAEA,QAAKQ,WAAW,KAAK,YAArB,EAAoC;AACnCK,MAAAA,IAAI,GAAG,CAAEV,KAAF,CAAP;AACAW,MAAAA,QAAQ,GAAG,CAAEZ,IAAF,CAAX;AACA;;AAED,QAAKM,WAAW,KAAK,MAArB,EAA8B;AAC7BK,MAAAA,IAAI,GAAG,CAAEV,KAAF,EAASF,IAAT,CAAP;AACAa,MAAAA,QAAQ,GAAG,CAAEZ,IAAF,EAAQF,EAAR,CAAX;AACA;;AAED,QAAKa,IAAI,CAACE,QAAL,CAAeH,OAAf,CAAL,EAAgC;AAC/B,aAAO,CAAP;AACA,KAFD,MAEO,IAAKE,QAAQ,CAACC,QAAT,CAAmBH,OAAnB,CAAL,EAAoC;AAC1C,aAAO,CAAC,CAAR;AACA,KAFM,MAEA,IAAK,CAAEX,IAAF,EAAQD,EAAR,EAAYE,IAAZ,EAAkBC,KAAlB,EAA0BY,QAA1B,CAAoCH,OAApC,CAAL,EAAqD;AAC3D;AACA;AACA;AACA,aAAO,CAAP;AACA;AACD,GA1BD;;AA4BA,SACC,cAAC,kBAAD;AACC,IAAA,GAAG,EAAGN,GADP;AAEC,IAAA,oBAAoB,MAFrB;AAGC,IAAA,mBAAmB,EAAG,KAHvB;AAIC,IAAA,IAAI,EAAGC,IAJR;AAKC,wBAAmBA,IAAI,KAAK,cAAT,GAA0B,IAA1B,GAAiCC,WALrD;AAMC,IAAA,aAAa,EAAGE;AANjB,KAOMD,IAPN,EADD;AAWA;AAED,eAAeV,UAAU,CAAEM,aAAF,CAAzB","sourcesContent":["// @ts-nocheck\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport NavigableContainer from './container';\n\nexport function NavigableMenu(\n\t{ role = 'menu', orientation = 'vertical', ...rest },\n\tref\n) {\n\tconst eventToOffset = ( evt ) => {\n\t\tconst { keyCode } = evt;\n\n\t\tlet next = [ DOWN ];\n\t\tlet previous = [ UP ];\n\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tnext = [ RIGHT ];\n\t\t\tprevious = [ LEFT ];\n\t\t}\n\n\t\tif ( orientation === 'both' ) {\n\t\t\tnext = [ RIGHT, DOWN ];\n\t\t\tprevious = [ LEFT, UP ];\n\t\t}\n\n\t\tif ( next.includes( keyCode ) ) {\n\t\t\treturn 1;\n\t\t} else if ( previous.includes( keyCode ) ) {\n\t\t\treturn -1;\n\t\t} else if ( [ DOWN, UP, LEFT, RIGHT ].includes( keyCode ) ) {\n\t\t\t// Key press should be handled, e.g. have event propagation and\n\t\t\t// default behavior handled by NavigableContainer but not result\n\t\t\t// in an offset.\n\t\t\treturn 0;\n\t\t}\n\t};\n\n\treturn (\n\t\t<NavigableContainer\n\t\t\tref={ ref }\n\t\t\tstopNavigationEvents\n\t\t\tonlyBrowserTabstops={ false }\n\t\t\trole={ role }\n\t\t\taria-orientation={ role === 'presentation' ? null : orientation }\n\t\t\teventToOffset={ eventToOffset }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( NavigableMenu );\n"]}
|
|
@@ -5,7 +5,6 @@ import { createElement } from "@wordpress/element";
|
|
|
5
5
|
*/
|
|
6
6
|
import { useEffect, useRef } from '@wordpress/element';
|
|
7
7
|
import { __, _n, sprintf } from '@wordpress/i18n';
|
|
8
|
-
import { ESCAPE } from '@wordpress/keycodes';
|
|
9
8
|
/**
|
|
10
9
|
* Internal dependencies
|
|
11
10
|
*/
|
|
@@ -61,7 +60,7 @@ function MenuTitleSearch(_ref) {
|
|
|
61
60
|
};
|
|
62
61
|
|
|
63
62
|
function onKeyDown(event) {
|
|
64
|
-
if (event.
|
|
63
|
+
if (event.code === 'Escape' && !event.defaultPrevented) {
|
|
65
64
|
event.preventDefault();
|
|
66
65
|
onClose();
|
|
67
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/navigation/menu/menu-title-search.js"],"names":["useEffect","useRef","__","_n","sprintf","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/navigation/menu/menu-title-search.js"],"names":["useEffect","useRef","__","_n","sprintf","withSpokenMessages","useNavigationMenuContext","useNavigationContext","MenuTitleSearchUI","SEARCH_FOCUS_DELAY","MenuTitleSearch","debouncedSpeak","onCloseSearch","onSearch","search","title","navigationTree","items","menu","inputRef","delayedFocus","setTimeout","current","focus","clearTimeout","count","Object","values","filter","item","_isVisible","length","resultsFoundMessage","onClose","onKeyDown","event","code","defaultPrevented","preventDefault","inputId","placeholder","toLowerCase","trim","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport withSpokenMessages from '../../higher-order/with-spoken-messages';\nimport { useNavigationMenuContext } from './context';\nimport { useNavigationContext } from '../context';\nimport { MenuTitleSearchUI } from '../styles/navigation-styles';\nimport { SEARCH_FOCUS_DELAY } from '../constants';\n\nfunction MenuTitleSearch( {\n\tdebouncedSpeak,\n\tonCloseSearch,\n\tonSearch,\n\tsearch,\n\ttitle,\n} ) {\n\tconst {\n\t\tnavigationTree: { items },\n\t} = useNavigationContext();\n\tconst { menu } = useNavigationMenuContext();\n\tconst inputRef = useRef();\n\n\t// Wait for the slide-in animation to complete before autofocusing the input.\n\t// This prevents scrolling to the input during the animation.\n\tuseEffect( () => {\n\t\tconst delayedFocus = setTimeout( () => {\n\t\t\tinputRef.current.focus();\n\t\t}, SEARCH_FOCUS_DELAY );\n\n\t\treturn () => {\n\t\t\tclearTimeout( delayedFocus );\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! search ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst count = Object.values( items ).filter(\n\t\t\t( item ) => item._isVisible\n\t\t).length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ items, search ] );\n\n\tconst onClose = () => {\n\t\tonSearch( '' );\n\t\tonCloseSearch();\n\t};\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.code === 'Escape' && ! event.defaultPrevented ) {\n\t\t\tevent.preventDefault();\n\t\t\tonClose();\n\t\t}\n\t}\n\n\tconst inputId = `components-navigation__menu-title-search-${ menu }`;\n\tconst placeholder = sprintf(\n\t\t/* translators: placeholder for menu search box. %s: menu title */\n\t\t__( 'Search %s' ),\n\t\ttitle?.toLowerCase()\n\t).trim();\n\n\treturn (\n\t\t<div className=\"components-navigation__menu-title-search\">\n\t\t\t<MenuTitleSearchUI\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tclassName=\"components-navigation__menu-search-input\"\n\t\t\t\tid={ inputId }\n\t\t\t\tonChange={ ( value ) => onSearch( value ) }\n\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tonClose={ onClose }\n\t\t\t\tref={ inputRef }\n\t\t\t\ttype=\"search\"\n\t\t\t\tvalue={ search }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default withSpokenMessages( MenuTitleSearch );\n"]}
|
|
@@ -133,13 +133,16 @@ function Option(_ref2) {
|
|
|
133
133
|
onChange: newColor => onChange({ ...element,
|
|
134
134
|
color: newColor
|
|
135
135
|
})
|
|
136
|
-
}), isGradient && createElement(
|
|
136
|
+
}), isGradient && createElement("div", {
|
|
137
|
+
className: "components-palette-edit__popover-gradient-picker"
|
|
138
|
+
}, createElement(CustomGradientPicker, {
|
|
139
|
+
__nextHasNoMargin: true,
|
|
137
140
|
__experimentalIsRenderedInSidebar: true,
|
|
138
141
|
value: value,
|
|
139
142
|
onChange: newGradient => onChange({ ...element,
|
|
140
143
|
gradient: newGradient
|
|
141
144
|
})
|
|
142
|
-
})));
|
|
145
|
+
}))));
|
|
143
146
|
}
|
|
144
147
|
|
|
145
148
|
function isTemporaryElement(slugPrefix, _ref3) {
|
|
@@ -308,6 +311,7 @@ export default function PaletteEdit(_ref5) {
|
|
|
308
311
|
slugPrefix: slugPrefix,
|
|
309
312
|
isGradient: isGradient
|
|
310
313
|
}), !isEditing && (isGradient ? createElement(GradientPicker, {
|
|
314
|
+
__nextHasNoMargin: true,
|
|
311
315
|
gradients: gradients,
|
|
312
316
|
onChange: () => {},
|
|
313
317
|
clearable: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/palette-edit/index.js"],"names":["kebabCase","useState","useRef","useEffect","__","sprintf","lineSolid","moreVertical","plus","__experimentalUseFocusOutside","useFocusOutside","useDebounce","Button","ColorPicker","FlexItem","HStack","ItemGroup","VStack","GradientPicker","ColorPalette","DropdownMenu","Popover","PaletteActionsContainer","PaletteEditStyles","PaletteHeading","PaletteHStackHeader","IndicatorStyled","PaletteItem","NameContainer","NameInputControl","DoneButton","RemoveButton","NavigableMenu","DEFAULT_GRADIENT","CustomGradientPicker","DEFAULT_COLOR","NameInput","value","onChange","label","getNameForPosition","elements","slugPrefix","temporaryNameRegex","RegExp","position","reduce","previousValue","currentValue","slug","matches","match","id","parseInt","Option","canOnlyChangeValues","element","isEditing","onStartEditing","onRemove","onStopEditing","isGradient","focusOutsideProps","gradient","color","undefined","style","cursor","background","name","nextName","newColor","newGradient","isTemporaryElement","regex","test","PaletteEditListView","editingElement","setEditingElement","elementsReference","current","some","index","newElements","filter","length","debounceOnChange","map","newElement","currentElement","currentIndex","_currentElement","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","emptyMessage","canReset","setIsEditing","isAdding","elementsLength","hasElements","tempOptionName","isSmall","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport {\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseDebounce,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tPaletteHStackHeader,\n\tIndicatorStyled,\n\tPaletteItem,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\n\nconst DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label } ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Returns a temporary name for a palette item in the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs for temporary names.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param {string} elements An array of color palette items.\n * @param {string} slugPrefix The slug prefix used to match the element slug.\n *\n * @return {string} A unique name for a palette item.\n */\nexport function getNameForPosition( elements, slugPrefix ) {\n\tconst temporaryNameRegex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\tconst position = elements.reduce( ( previousValue, currentValue ) => {\n\t\tif ( typeof currentValue?.slug === 'string' ) {\n\t\t\tconst matches = currentValue?.slug.match( temporaryNameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id >= previousValue ) {\n\t\t\t\t\treturn id + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn previousValue;\n\t}, 1 );\n\n\treturn sprintf(\n\t\t/* translators: %s: is a temporary id for a custom color */\n\t\t__( 'Color %s' ),\n\t\tposition\n\t);\n}\n\nfunction Option( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tisEditing,\n\tonStartEditing,\n\tonRemove,\n\tonStopEditing,\n\tslugPrefix,\n\tisGradient,\n} ) {\n\tconst focusOutsideProps = useFocusOutside( onStopEditing );\n\tconst value = isGradient ? element.gradient : element.color;\n\n\treturn (\n\t\t<PaletteItem\n\t\t\tclassName={ isEditing ? 'is-selected' : undefined }\n\t\t\tas=\"div\"\n\t\t\tonClick={ onStartEditing }\n\t\t\t{ ...( isEditing\n\t\t\t\t? { ...focusOutsideProps }\n\t\t\t\t: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t},\n\t\t\t\t } ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<IndicatorStyled\n\t\t\t\t\t\tstyle={ { background: value, color: 'transparent' } }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ isEditing && ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug: slugPrefix + kebabCase( nextName ),\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) : (\n\t\t\t\t\t\t<NameContainer>{ element.name }</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isEditing && ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ __( 'Remove color' ) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditing && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"left-start\"\n\t\t\t\t\toffset={ 20 }\n\t\t\t\t\tclassName=\"components-palette-edit__popover\"\n\t\t\t\t>\n\t\t\t\t\t{ ! isGradient && (\n\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\tcolor={ value }\n\t\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\t\tonChange={ ( newColor ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tcolor: newColor,\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) }\n\t\t\t\t\t{ isGradient && (\n\t\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\tonChange={ ( newGradient ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tgradient: newGradient,\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) }\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</PaletteItem>\n\t);\n}\n\nfunction isTemporaryElement( slugPrefix, { slug, color, gradient } ) {\n\tconst regex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\treturn (\n\t\tregex.test( slug ) &&\n\t\t( ( !! color && color === DEFAULT_COLOR ) ||\n\t\t\t( !! gradient && gradient === DEFAULT_GRADIENT ) )\n\t);\n}\n\nfunction PaletteEditListView( {\n\telements,\n\tonChange,\n\teditingElement,\n\tsetEditingElement,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n} ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReference = useRef();\n\tuseEffect( () => {\n\t\telementsReference.current = elements;\n\t}, [ elements ] );\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\telementsReference.current.some( ( element, index ) =>\n\t\t\t\t\tisTemporaryElement( slugPrefix, element, index )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tconst newElements = elementsReference.current.filter(\n\t\t\t\t\t( element ) => ! isTemporaryElement( slugPrefix, element )\n\t\t\t\t);\n\t\t\t\tonChange( newElements.length ? newElements : undefined );\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonStartEditing={ () => {\n\t\t\t\t\t\t\tif ( editingElement !== index ) {\n\t\t\t\t\t\t\t\tsetEditingElement( index );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisEditing={ index === editingElement }\n\t\t\t\t\t\tonStopEditing={ () => {\n\t\t\t\t\t\t\tif ( index === editingElement ) {\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\n\nexport default function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n} ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\teditingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<PaletteHStackHeader>\n\t\t\t\t<PaletteHeading>{ paletteLabel }</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst tempOptionName = getNameForPosition(\n\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t\tslugPrefix\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t...elements,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t...( isGradient\n\t\t\t\t\t\t\t\t\t\t\t? { gradient: DEFAULT_GRADIENT }\n\t\t\t\t\t\t\t\t\t\t\t: { color: DEFAULT_COLOR } ),\n\t\t\t\t\t\t\t\t\t\tname: tempOptionName,\n\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\tkebabCase( tempOptionName ),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Edit gradients' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Edit colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all gradients'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</PaletteHStackHeader>\n\t\t\t{ hasElements && (\n\t\t\t\t<>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\teditingElement={ editingElement }\n\t\t\t\t\t\t\tsetEditingElement={ setEditingElement }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ () => {} }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ () => {} }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage }\n\t\t</PaletteEditStyles>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/palette-edit/index.js"],"names":["kebabCase","useState","useRef","useEffect","__","sprintf","lineSolid","moreVertical","plus","__experimentalUseFocusOutside","useFocusOutside","useDebounce","Button","ColorPicker","FlexItem","HStack","ItemGroup","VStack","GradientPicker","ColorPalette","DropdownMenu","Popover","PaletteActionsContainer","PaletteEditStyles","PaletteHeading","PaletteHStackHeader","IndicatorStyled","PaletteItem","NameContainer","NameInputControl","DoneButton","RemoveButton","NavigableMenu","DEFAULT_GRADIENT","CustomGradientPicker","DEFAULT_COLOR","NameInput","value","onChange","label","getNameForPosition","elements","slugPrefix","temporaryNameRegex","RegExp","position","reduce","previousValue","currentValue","slug","matches","match","id","parseInt","Option","canOnlyChangeValues","element","isEditing","onStartEditing","onRemove","onStopEditing","isGradient","focusOutsideProps","gradient","color","undefined","style","cursor","background","name","nextName","newColor","newGradient","isTemporaryElement","regex","test","PaletteEditListView","editingElement","setEditingElement","elementsReference","current","some","index","newElements","filter","length","debounceOnChange","map","newElement","currentElement","currentIndex","_currentElement","EMPTY_ARRAY","PaletteEdit","gradients","colors","paletteLabel","emptyMessage","canReset","setIsEditing","isAdding","elementsLength","hasElements","tempOptionName","isSmall","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { lineSolid, moreVertical, plus } from '@wordpress/icons';\nimport {\n\t__experimentalUseFocusOutside as useFocusOutside,\n\tuseDebounce,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { ColorPicker } from '../color-picker';\nimport { FlexItem } from '../flex';\nimport { HStack } from '../h-stack';\nimport { ItemGroup } from '../item-group';\nimport { VStack } from '../v-stack';\nimport GradientPicker from '../gradient-picker';\nimport ColorPalette from '../color-palette';\nimport DropdownMenu from '../dropdown-menu';\nimport Popover from '../popover';\nimport {\n\tPaletteActionsContainer,\n\tPaletteEditStyles,\n\tPaletteHeading,\n\tPaletteHStackHeader,\n\tIndicatorStyled,\n\tPaletteItem,\n\tNameContainer,\n\tNameInputControl,\n\tDoneButton,\n\tRemoveButton,\n} from './styles';\nimport { NavigableMenu } from '../navigable-container';\nimport { DEFAULT_GRADIENT } from '../custom-gradient-picker/constants';\nimport CustomGradientPicker from '../custom-gradient-picker';\n\nconst DEFAULT_COLOR = '#000';\n\nfunction NameInput( { value, onChange, label } ) {\n\treturn (\n\t\t<NameInputControl\n\t\t\tlabel={ label }\n\t\t\thideLabelFromVision\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\n/**\n * Returns a temporary name for a palette item in the format \"Color + id\".\n * To ensure there are no duplicate ids, this function checks all slugs for temporary names.\n * It expects slugs to be in the format: slugPrefix + color- + number.\n * It then sets the id component of the new name based on the incremented id of the highest existing slug id.\n *\n * @param {string} elements An array of color palette items.\n * @param {string} slugPrefix The slug prefix used to match the element slug.\n *\n * @return {string} A unique name for a palette item.\n */\nexport function getNameForPosition( elements, slugPrefix ) {\n\tconst temporaryNameRegex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\tconst position = elements.reduce( ( previousValue, currentValue ) => {\n\t\tif ( typeof currentValue?.slug === 'string' ) {\n\t\t\tconst matches = currentValue?.slug.match( temporaryNameRegex );\n\t\t\tif ( matches ) {\n\t\t\t\tconst id = parseInt( matches[ 1 ], 10 );\n\t\t\t\tif ( id >= previousValue ) {\n\t\t\t\t\treturn id + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn previousValue;\n\t}, 1 );\n\n\treturn sprintf(\n\t\t/* translators: %s: is a temporary id for a custom color */\n\t\t__( 'Color %s' ),\n\t\tposition\n\t);\n}\n\nfunction Option( {\n\tcanOnlyChangeValues,\n\telement,\n\tonChange,\n\tisEditing,\n\tonStartEditing,\n\tonRemove,\n\tonStopEditing,\n\tslugPrefix,\n\tisGradient,\n} ) {\n\tconst focusOutsideProps = useFocusOutside( onStopEditing );\n\tconst value = isGradient ? element.gradient : element.color;\n\n\treturn (\n\t\t<PaletteItem\n\t\t\tclassName={ isEditing ? 'is-selected' : undefined }\n\t\t\tas=\"div\"\n\t\t\tonClick={ onStartEditing }\n\t\t\t{ ...( isEditing\n\t\t\t\t? { ...focusOutsideProps }\n\t\t\t\t: {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcursor: 'pointer',\n\t\t\t\t\t\t},\n\t\t\t\t } ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<IndicatorStyled\n\t\t\t\t\t\tstyle={ { background: value, color: 'transparent' } }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ isEditing && ! canOnlyChangeValues ? (\n\t\t\t\t\t\t<NameInput\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Gradient name' )\n\t\t\t\t\t\t\t\t\t: __( 'Color name' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ element.name }\n\t\t\t\t\t\t\tonChange={ ( nextName ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tname: nextName,\n\t\t\t\t\t\t\t\t\tslug: slugPrefix + kebabCase( nextName ),\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) : (\n\t\t\t\t\t\t<NameContainer>{ element.name }</NameContainer>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ isEditing && ! canOnlyChangeValues && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<RemoveButton\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\ticon={ lineSolid }\n\t\t\t\t\t\t\tlabel={ __( 'Remove color' ) }\n\t\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ isEditing && (\n\t\t\t\t<Popover\n\t\t\t\t\tplacement=\"left-start\"\n\t\t\t\t\toffset={ 20 }\n\t\t\t\t\tclassName=\"components-palette-edit__popover\"\n\t\t\t\t>\n\t\t\t\t\t{ ! isGradient && (\n\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\tcolor={ value }\n\t\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\t\tonChange={ ( newColor ) =>\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\tcolor: newColor,\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) }\n\t\t\t\t\t{ isGradient && (\n\t\t\t\t\t\t<div className=\"components-palette-edit__popover-gradient-picker\">\n\t\t\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t\t\t__nextHasNoMargin\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\tonChange={ ( newGradient ) =>\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...element,\n\t\t\t\t\t\t\t\t\t\tgradient: newGradient,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</PaletteItem>\n\t);\n}\n\nfunction isTemporaryElement( slugPrefix, { slug, color, gradient } ) {\n\tconst regex = new RegExp( `^${ slugPrefix }color-([\\\\d]+)$` );\n\treturn (\n\t\tregex.test( slug ) &&\n\t\t( ( !! color && color === DEFAULT_COLOR ) ||\n\t\t\t( !! gradient && gradient === DEFAULT_GRADIENT ) )\n\t);\n}\n\nfunction PaletteEditListView( {\n\telements,\n\tonChange,\n\teditingElement,\n\tsetEditingElement,\n\tcanOnlyChangeValues,\n\tslugPrefix,\n\tisGradient,\n} ) {\n\t// When unmounting the component if there are empty elements (the user did not complete the insertion) clean them.\n\tconst elementsReference = useRef();\n\tuseEffect( () => {\n\t\telementsReference.current = elements;\n\t}, [ elements ] );\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\telementsReference.current.some( ( element, index ) =>\n\t\t\t\t\tisTemporaryElement( slugPrefix, element, index )\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tconst newElements = elementsReference.current.filter(\n\t\t\t\t\t( element ) => ! isTemporaryElement( slugPrefix, element )\n\t\t\t\t);\n\t\t\t\tonChange( newElements.length ? newElements : undefined );\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\tconst debounceOnChange = useDebounce( onChange, 100 );\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t<ItemGroup isRounded>\n\t\t\t\t{ elements.map( ( element, index ) => (\n\t\t\t\t\t<Option\n\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\telement={ element }\n\t\t\t\t\t\tonStartEditing={ () => {\n\t\t\t\t\t\t\tif ( editingElement !== index ) {\n\t\t\t\t\t\t\t\tsetEditingElement( index );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( newElement ) => {\n\t\t\t\t\t\t\tdebounceOnChange(\n\t\t\t\t\t\t\t\telements.map(\n\t\t\t\t\t\t\t\t\t( currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\t\treturn newElement;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn currentElement;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\tconst newElements = elements.filter(\n\t\t\t\t\t\t\t\t( _currentElement, currentIndex ) => {\n\t\t\t\t\t\t\t\t\tif ( currentIndex === index ) {\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tnewElements.length ? newElements : undefined\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisEditing={ index === editingElement }\n\t\t\t\t\t\tonStopEditing={ () => {\n\t\t\t\t\t\t\tif ( index === editingElement ) {\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</VStack>\n\t);\n}\n\nconst EMPTY_ARRAY = [];\n\nexport default function PaletteEdit( {\n\tgradients,\n\tcolors = EMPTY_ARRAY,\n\tonChange,\n\tpaletteLabel,\n\temptyMessage,\n\tcanOnlyChangeValues,\n\tcanReset,\n\tslugPrefix = '',\n} ) {\n\tconst isGradient = !! gradients;\n\tconst elements = isGradient ? gradients : colors;\n\tconst [ isEditing, setIsEditing ] = useState( false );\n\tconst [ editingElement, setEditingElement ] = useState( null );\n\tconst isAdding =\n\t\tisEditing &&\n\t\teditingElement &&\n\t\telements[ editingElement ] &&\n\t\t! elements[ editingElement ].slug;\n\tconst elementsLength = elements.length;\n\tconst hasElements = elementsLength > 0;\n\n\treturn (\n\t\t<PaletteEditStyles>\n\t\t\t<PaletteHStackHeader>\n\t\t\t\t<PaletteHeading>{ paletteLabel }</PaletteHeading>\n\t\t\t\t<PaletteActionsContainer>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<DoneButton\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\tsetEditingElement( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</DoneButton>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\tisPressed={ isAdding }\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t? __( 'Add gradient' )\n\t\t\t\t\t\t\t\t\t: __( 'Add color' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst tempOptionName = getNameForPosition(\n\t\t\t\t\t\t\t\t\telements,\n\t\t\t\t\t\t\t\t\tslugPrefix\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\tonChange( [\n\t\t\t\t\t\t\t\t\t...elements,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t...( isGradient\n\t\t\t\t\t\t\t\t\t\t\t? { gradient: DEFAULT_GRADIENT }\n\t\t\t\t\t\t\t\t\t\t\t: { color: DEFAULT_COLOR } ),\n\t\t\t\t\t\t\t\t\t\tname: tempOptionName,\n\t\t\t\t\t\t\t\t\t\tslug:\n\t\t\t\t\t\t\t\t\t\t\tslugPrefix +\n\t\t\t\t\t\t\t\t\t\t\tkebabCase( tempOptionName ),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\tsetEditingElement( elements.length );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ hasElements &&\n\t\t\t\t\t\t( ! isEditing ||\n\t\t\t\t\t\t\t! canOnlyChangeValues ||\n\t\t\t\t\t\t\tcanReset ) && (\n\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tisGradient\n\t\t\t\t\t\t\t\t\t\t? __( 'Gradient options' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Color options' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\t\tisSmall: true,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<NavigableMenu role=\"menu\">\n\t\t\t\t\t\t\t\t\t\t\t{ ! isEditing && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( true );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Edit gradients' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Edit colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ ! canOnlyChangeValues && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsEditing( false );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"components-palette-edit__menu-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all gradients'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Remove all colors'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t{ canReset && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetEditingElement(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonChange();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isGradient\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Reset gradient' )\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Reset colors' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t\t) }\n\t\t\t\t</PaletteActionsContainer>\n\t\t\t</PaletteHStackHeader>\n\t\t\t{ hasElements && (\n\t\t\t\t<>\n\t\t\t\t\t{ isEditing && (\n\t\t\t\t\t\t<PaletteEditListView\n\t\t\t\t\t\t\tcanOnlyChangeValues={ canOnlyChangeValues }\n\t\t\t\t\t\t\telements={ elements }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\teditingElement={ editingElement }\n\t\t\t\t\t\t\tsetEditingElement={ setEditingElement }\n\t\t\t\t\t\t\tslugPrefix={ slugPrefix }\n\t\t\t\t\t\t\tisGradient={ isGradient }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditing &&\n\t\t\t\t\t\t( isGradient ? (\n\t\t\t\t\t\t\t<GradientPicker\n\t\t\t\t\t\t\t\t__nextHasNoMargin\n\t\t\t\t\t\t\t\tgradients={ gradients }\n\t\t\t\t\t\t\t\tonChange={ () => {} }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tcolors={ colors }\n\t\t\t\t\t\t\t\tonChange={ () => {} }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ ! hasElements && emptyMessage }\n\t\t</PaletteEditStyles>\n\t);\n}\n"]}
|
|
@@ -102,7 +102,6 @@ const Popover = (_ref2, forwardedRef) => {
|
|
|
102
102
|
expandOnMobile,
|
|
103
103
|
onFocusOutside,
|
|
104
104
|
__unstableSlotName = SLOT_NAME,
|
|
105
|
-
__unstableObserveElement,
|
|
106
105
|
__unstableForcePosition = false,
|
|
107
106
|
__unstableShift = false,
|
|
108
107
|
...contentProps
|
|
@@ -316,31 +315,22 @@ const Popover = (_ref2, forwardedRef) => {
|
|
|
316
315
|
return;
|
|
317
316
|
}
|
|
318
317
|
|
|
319
|
-
return autoUpdate(resultingReferenceRef, refs.floating.current, update
|
|
318
|
+
return autoUpdate(resultingReferenceRef, refs.floating.current, update, {
|
|
319
|
+
animationFrame: true
|
|
320
|
+
}); // 'reference' and 'refs.floating' are refs and don't need to be listed
|
|
320
321
|
// as dependencies (see https://github.com/WordPress/gutenberg/pull/41612)
|
|
321
322
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
322
|
-
}, [anchorRef, anchorRect, getAnchorRect, update]); //
|
|
323
|
-
|
|
324
|
-
useLayoutEffect(() => {
|
|
325
|
-
if (!__unstableObserveElement) {
|
|
326
|
-
return;
|
|
327
|
-
}
|
|
328
|
-
|
|
329
|
-
const observer = new window.MutationObserver(update);
|
|
330
|
-
observer.observe(__unstableObserveElement, {
|
|
331
|
-
attributes: true
|
|
332
|
-
});
|
|
333
|
-
return () => {
|
|
334
|
-
observer.disconnect();
|
|
335
|
-
};
|
|
336
|
-
}, [__unstableObserveElement, update]); // If the reference element is in a different ownerDocument (e.g. iFrame),
|
|
323
|
+
}, [anchorRef, anchorRect, getAnchorRect, update]); // If the reference element is in a different ownerDocument (e.g. iFrame),
|
|
337
324
|
// we need to manually update the floating's position as the reference's owner
|
|
338
325
|
// document scrolls. Also update the frame offset if the view resizes.
|
|
339
326
|
|
|
340
327
|
useLayoutEffect(() => {
|
|
341
328
|
var _referenceOwnerDocume;
|
|
342
329
|
|
|
343
|
-
|
|
330
|
+
const referenceAndFloatingHaveSameDocument = referenceOwnerDocument === document;
|
|
331
|
+
const hasFrameElement = !!(referenceOwnerDocument !== null && referenceOwnerDocument !== void 0 && (_referenceOwnerDocume = referenceOwnerDocument.defaultView) !== null && _referenceOwnerDocume !== void 0 && _referenceOwnerDocume.frameElement);
|
|
332
|
+
|
|
333
|
+
if (referenceAndFloatingHaveSameDocument || !hasFrameElement) {
|
|
344
334
|
frameOffsetRef.current = undefined;
|
|
345
335
|
return;
|
|
346
336
|
}
|
|
@@ -348,26 +338,16 @@ const Popover = (_ref2, forwardedRef) => {
|
|
|
348
338
|
const {
|
|
349
339
|
defaultView
|
|
350
340
|
} = referenceOwnerDocument;
|
|
351
|
-
referenceOwnerDocument.addEventListener('scroll', update);
|
|
352
|
-
let updateFrameOffset;
|
|
353
|
-
const hasFrameElement = !!(referenceOwnerDocument !== null && referenceOwnerDocument !== void 0 && (_referenceOwnerDocume = referenceOwnerDocument.defaultView) !== null && _referenceOwnerDocume !== void 0 && _referenceOwnerDocume.frameElement);
|
|
354
|
-
|
|
355
|
-
if (hasFrameElement) {
|
|
356
|
-
updateFrameOffset = () => {
|
|
357
|
-
frameOffsetRef.current = getFrameOffset(referenceOwnerDocument);
|
|
358
|
-
update();
|
|
359
|
-
};
|
|
360
341
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
342
|
+
const updateFrameOffset = () => {
|
|
343
|
+
frameOffsetRef.current = getFrameOffset(referenceOwnerDocument);
|
|
344
|
+
update();
|
|
345
|
+
};
|
|
364
346
|
|
|
347
|
+
defaultView.addEventListener('resize', updateFrameOffset);
|
|
348
|
+
updateFrameOffset();
|
|
365
349
|
return () => {
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
if (updateFrameOffset) {
|
|
369
|
-
defaultView.removeEventListener('resize', updateFrameOffset);
|
|
370
|
-
}
|
|
350
|
+
defaultView.removeEventListener('resize', updateFrameOffset);
|
|
371
351
|
};
|
|
372
352
|
}, [referenceOwnerDocument, update]);
|
|
373
353
|
const mergedFloatingRef = useMergeRefs([floating, dialogRef, forwardedRef]); // Disable reason: We care to capture the _bubbled_ events from inputs
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/popover/index.js"],"names":["classnames","useFloating","flip","shift","autoUpdate","arrow","offset","offsetMiddleware","limitShift","size","motion","useReducedMotion","useRef","useLayoutEffect","forwardRef","createContext","useContext","useMemo","useEffect","useViewportMatch","useMergeRefs","__experimentalUseDialog","useDialog","close","deprecated","Path","SVG","Button","ScrollLock","Slot","Fill","useSlot","getFrameOffset","positionToPlacement","placementToMotionAnimationProps","SLOT_NAME","ArrowTriangle","props","MaybeAnimatedWrapper","forwardedRef","style","receivedInlineStyles","placement","shouldAnimate","shouldReduceMotion","motionInlineStyles","otherMotionProps","slotNameContext","Popover","range","animate","headerTitle","onClose","children","className","noArrow","isAlternate","position","placementProp","offsetProp","focusOnMount","anchorRef","anchorRect","getAnchorRect","expandOnMobile","onFocusOutside","__unstableSlotName","__unstableObserveElement","__unstableForcePosition","__unstableShift","contentProps","since","version","arrowRef","anchorRefFallback","isMobileViewport","isExpanded","hasArrow","normalizedPlacementFromProps","referenceOwnerDocument","documentToReturn","top","ownerDocument","startContainer","current","document","frameOffsetRef","offsetRef","middleware","currentPlacement","isTopBottomPlacement","includes","mainAxis","crossAxis","hasBeforePlacement","mainAxisModifier","undefined","apply","sizeProps","availableHeight","refs","floating","Object","assign","firstChild","maxHeight","overflow","limiter","padding","element","filter","m","slotName","slot","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","x","y","reference","strategy","update","computedPlacement","middlewareData","arrowData","resultingReferenceRef","getBoundingClientRect","topRect","bottomRect","bottom","window","DOMRect","width","rect","left","right","height","parentNode","observer","MutationObserver","observe","attributes","disconnect","defaultView","addEventListener","updateFrameOffset","hasFrameElement","frameElement","removeEventListener","mergedFloatingRef","content","Number","isNaN","split","join","isFinite","ref","PopoverContainer","PopoverSlot","name","__unstableSlotNameProvider","Provider"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport {\n\tuseFloating,\n\tflip,\n\tshift,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tlimitShift,\n\tsize,\n} from '@floating-ui/react-dom';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, useReducedMotion } from 'framer-motion';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport {\n\tgetFrameOffset,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n} from './utils';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nconst SLOT_NAME = 'Popover';\n\n// An SVG displaying a triangle facing down, filled with a solid\n// color and bordered in such a way to create an arrow-like effect.\n// Keeping the SVG's viewbox squared simplify the arrow positioning\n// calculations.\nconst ArrowTriangle = ( props ) => (\n\t<SVG\n\t\t{ ...props }\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox={ `0 0 100 100` }\n\t\tclassName=\"components-popover__triangle\"\n\t\trole=\"presentation\"\n\t>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-bg\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t/>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-border\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t/>\n\t</SVG>\n);\n\nconst MaybeAnimatedWrapper = forwardRef(\n\t(\n\t\t{\n\t\t\tstyle: receivedInlineStyles,\n\t\t\tplacement,\n\t\t\tshouldAnimate = false,\n\t\t\t...props\n\t\t},\n\t\tforwardedRef\n\t) => {\n\t\tconst shouldReduceMotion = useReducedMotion();\n\n\t\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t\t() => placementToMotionAnimationProps( placement ),\n\t\t\t[ placement ]\n\t\t);\n\n\t\tif ( shouldAnimate && ! shouldReduceMotion ) {\n\t\t\treturn (\n\t\t\t\t<motion.div\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t\t...receivedInlineStyles,\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...otherMotionProps }\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tref={ forwardedRef }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={ receivedInlineStyles }\n\t\t\t\t{ ...props }\n\t\t\t\tref={ forwardedRef }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nconst slotNameContext = createContext();\n\nconst Popover = (\n\t{\n\t\trange,\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tisAlternate,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset: offsetProp = 0,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\texpandOnMobile,\n\t\tonFocusOutside,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\t__unstableObserveElement,\n\t\t__unstableForcePosition = false,\n\t\t__unstableShift = false,\n\t\t...contentProps\n\t},\n\tforwardedRef\n) => {\n\tif ( range ) {\n\t\tdeprecated( 'range prop in Popover component', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef( null );\n\tconst anchorRefFallback = useRef( null );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst hasArrow = ! isExpanded && ! noArrow;\n\tconst normalizedPlacementFromProps = position\n\t\t? positionToPlacement( position )\n\t\t: placementProp;\n\n\tconst referenceOwnerDocument = useMemo( () => {\n\t\tlet documentToReturn;\n\n\t\tif ( anchorRef?.top ) {\n\t\t\tdocumentToReturn = anchorRef?.top.ownerDocument;\n\t\t} else if ( anchorRef?.startContainer ) {\n\t\t\tdocumentToReturn = anchorRef.startContainer.ownerDocument;\n\t\t} else if ( anchorRef?.current ) {\n\t\t\tdocumentToReturn = anchorRef.current.ownerDocument;\n\t\t} else if ( anchorRef ) {\n\t\t\t// This one should be deprecated.\n\t\t\tdocumentToReturn = anchorRef.ownerDocument;\n\t\t} else if ( anchorRect && anchorRect?.ownerDocument ) {\n\t\t\tdocumentToReturn = anchorRect.ownerDocument;\n\t\t} else if ( getAnchorRect ) {\n\t\t\tdocumentToReturn = getAnchorRect(\n\t\t\t\tanchorRefFallback.current\n\t\t\t)?.ownerDocument;\n\t\t}\n\n\t\treturn documentToReturn ?? document;\n\t}, [ anchorRef, anchorRect, getAnchorRect ] );\n\n\t/**\n\t * Offsets the position of the popover when the anchor is inside an iframe.\n\t *\n\t * Store the offset in a ref, due to constraints with floating-ui:\n\t * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.\n\t */\n\tconst frameOffsetRef = useRef( getFrameOffset( referenceOwnerDocument ) );\n\t/**\n\t * Store the offset prop in a ref, due to constraints with floating-ui:\n\t * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.\n\t */\n\tconst offsetRef = useRef( offsetProp );\n\n\tconst middleware = [\n\t\toffsetMiddleware( ( { placement: currentPlacement } ) => {\n\t\t\tif ( ! frameOffsetRef.current ) {\n\t\t\t\treturn offsetRef.current;\n\t\t\t}\n\n\t\t\tconst isTopBottomPlacement =\n\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\tcurrentPlacement.includes( 'bottom' );\n\n\t\t\t// The main axis should represent the gap between the\n\t\t\t// floating element and the reference element. The cross\n\t\t\t// axis is always perpendicular to the main axis.\n\t\t\tconst mainAxis = isTopBottomPlacement ? 'y' : 'x';\n\t\t\tconst crossAxis = mainAxis === 'x' ? 'y' : 'x';\n\n\t\t\t// When the popover is before the reference, subtract the offset,\n\t\t\t// of the main axis else add it.\n\t\t\tconst hasBeforePlacement =\n\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\tcurrentPlacement.includes( 'left' );\n\t\t\tconst mainAxisModifier = hasBeforePlacement ? -1 : 1;\n\n\t\t\treturn {\n\t\t\t\tmainAxis:\n\t\t\t\t\toffsetRef.current +\n\t\t\t\t\tframeOffsetRef.current[ mainAxis ] * mainAxisModifier,\n\t\t\t\tcrossAxis: frameOffsetRef.current[ crossAxis ],\n\t\t\t};\n\t\t} ),\n\t\t__unstableForcePosition ? undefined : flip(),\n\t\t__unstableForcePosition\n\t\t\t? undefined\n\t\t\t: size( {\n\t\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\t\tconst { availableHeight } = sizeProps;\n\t\t\t\t\t\tif ( ! refs.floating.current ) return;\n\t\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\t\tObject.assign( refs.floating.current.firstChild.style, {\n\t\t\t\t\t\t\tmaxHeight: `${ availableHeight }px`,\n\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t} );\n\t\t\t\t\t},\n\t\t\t } ),\n\t\t__unstableShift\n\t\t\t? shift( {\n\t\t\t\t\tcrossAxis: true,\n\t\t\t\t\tlimiter: limitShift(),\n\t\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t } )\n\t\t\t: undefined,\n\t\thasArrow ? arrow( { element: arrowRef } ) : undefined,\n\t].filter( ( m ) => !! m );\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type, event ) => {\n\t\t\t// Ideally the popover should have just a single onClose prop and\n\t\t\t// not three props that potentially do the same thing.\n\t\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\t\tonFocusOutside( event );\n\t\t\t} else if ( onClose ) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst {\n\t\t// Positioning coordinates\n\t\tx,\n\t\ty,\n\t\t// Callback refs (not regular refs). This allows the position to be updated.\n\t\t// when either elements change.\n\t\treference,\n\t\tfloating,\n\t\t// Object with \"regular\" refs to both \"reference\" and \"floating\"\n\t\trefs,\n\t\t// Type of CSS position property to use (absolute or fixed)\n\t\tstrategy,\n\t\tupdate,\n\t\tplacement: computedPlacement,\n\t\tmiddlewareData: { arrow: arrowData = {} },\n\t} = useFloating( { placement: normalizedPlacementFromProps, middleware } );\n\n\tuseEffect( () => {\n\t\toffsetRef.current = offsetProp;\n\t\tupdate();\n\t}, [ offsetProp, update ] );\n\n\t// Update the `reference`'s ref.\n\t//\n\t// In floating-ui's terms:\n\t// - \"reference\" refers to the popover's anchor element.\n\t// - \"floating\" refers the floating popover's element.\n\t// A floating element can also be positioned relative to a virtual element,\n\t// instead of a real one. A virtual element is represented by an object\n\t// with the `getBoundingClientRect()` function (like real elements).\n\t// See https://floating-ui.com/docs/virtual-elements for more info.\n\tuseLayoutEffect( () => {\n\t\tlet resultingReferenceRef;\n\n\t\tif ( anchorRef?.top ) {\n\t\t\t// Create a virtual element for the ref. The expectation is that\n\t\t\t// if anchorRef.top is defined, then anchorRef.bottom is defined too.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\tconst topRect = anchorRef.top.getBoundingClientRect();\n\t\t\t\t\tconst bottomRect = anchorRef.bottom.getBoundingClientRect();\n\t\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\t\ttopRect.x,\n\t\t\t\t\t\ttopRect.y,\n\t\t\t\t\t\ttopRect.width,\n\t\t\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( anchorRef?.current ) {\n\t\t\t// Standard React ref.\n\t\t\tresultingReferenceRef = anchorRef.current;\n\t\t} else if ( anchorRef ) {\n\t\t\t// If `anchorRef` holds directly the element's value (no `current` key)\n\t\t\t// This is a weird scenario and should be deprecated.\n\t\t\tresultingReferenceRef = anchorRef;\n\t\t} else if ( anchorRect ) {\n\t\t\t// Create a virtual element for the ref.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\treturn anchorRect;\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( getAnchorRect ) {\n\t\t\t// Create a virtual element for the ref.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\tconst rect = getAnchorRect( anchorRefFallback.current );\n\t\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\t\trect.x ?? rect.left,\n\t\t\t\t\t\trect.y ?? rect.top,\n\t\t\t\t\t\trect.width ?? rect.right - rect.left,\n\t\t\t\t\t\trect.height ?? rect.bottom - rect.top\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( anchorRefFallback.current ) {\n\t\t\t// If no explicit ref is passed via props, fall back to\n\t\t\t// anchoring to the popover's parent node.\n\t\t\tresultingReferenceRef = anchorRefFallback.current.parentNode;\n\t\t}\n\n\t\tif ( ! resultingReferenceRef ) {\n\t\t\treturn;\n\t\t}\n\n\t\treference( resultingReferenceRef );\n\n\t\tif ( ! refs.floating.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn autoUpdate(\n\t\t\tresultingReferenceRef,\n\t\t\trefs.floating.current,\n\t\t\tupdate\n\t\t);\n\t\t// 'reference' and 'refs.floating' are refs and don't need to be listed\n\t\t// as dependencies (see https://github.com/WordPress/gutenberg/pull/41612)\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ anchorRef, anchorRect, getAnchorRect, update ] );\n\n\t// This is only needed for a smooth transition when moving blocks.\n\tuseLayoutEffect( () => {\n\t\tif ( ! __unstableObserveElement ) {\n\t\t\treturn;\n\t\t}\n\t\tconst observer = new window.MutationObserver( update );\n\t\tobserver.observe( __unstableObserveElement, { attributes: true } );\n\n\t\treturn () => {\n\t\t\tobserver.disconnect();\n\t\t};\n\t}, [ __unstableObserveElement, update ] );\n\n\t// If the reference element is in a different ownerDocument (e.g. iFrame),\n\t// we need to manually update the floating's position as the reference's owner\n\t// document scrolls. Also update the frame offset if the view resizes.\n\tuseLayoutEffect( () => {\n\t\tif ( referenceOwnerDocument === document ) {\n\t\t\tframeOffsetRef.current = undefined;\n\t\t\treturn;\n\t\t}\n\n\t\tconst { defaultView } = referenceOwnerDocument;\n\n\t\treferenceOwnerDocument.addEventListener( 'scroll', update );\n\n\t\tlet updateFrameOffset;\n\t\tconst hasFrameElement =\n\t\t\t!! referenceOwnerDocument?.defaultView?.frameElement;\n\t\tif ( hasFrameElement ) {\n\t\t\tupdateFrameOffset = () => {\n\t\t\t\tframeOffsetRef.current = getFrameOffset(\n\t\t\t\t\treferenceOwnerDocument\n\t\t\t\t);\n\t\t\t\tupdate();\n\t\t\t};\n\t\t\tupdateFrameOffset();\n\t\t\tdefaultView.addEventListener( 'resize', updateFrameOffset );\n\t\t}\n\n\t\treturn () => {\n\t\t\treferenceOwnerDocument.removeEventListener( 'scroll', update );\n\n\t\t\tif ( updateFrameOffset ) {\n\t\t\t\tdefaultView.removeEventListener( 'resize', updateFrameOffset );\n\t\t\t}\n\t\t};\n\t}, [ referenceOwnerDocument, update ] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\tfloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t// within popover as inferring close intent.\n\n\tlet content = (\n\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<MaybeAnimatedWrapper\n\t\t\tshouldAnimate={ animate && ! isExpanded }\n\t\t\tplacement={ computedPlacement }\n\t\t\tclassName={ classnames( 'components-popover', className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-alternate': isAlternate,\n\t\t\t} ) }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex=\"-1\"\n\t\t\tstyle={\n\t\t\t\tisExpanded\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tposition: strategy,\n\t\t\t\t\t\t\tleft: Number.isNaN( x ) ? 0 : x,\n\t\t\t\t\t\t\ttop: Number.isNaN( y ) ? 0 : y,\n\t\t\t\t\t }\n\t\t\t}\n\t\t>\n\t\t\t{ /* Prevents scroll on the document */ }\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"components-popover__content\">{ children }</div>\n\t\t\t{ hasArrow && (\n\t\t\t\t<div\n\t\t\t\t\tref={ arrowRef }\n\t\t\t\t\tclassName={ [\n\t\t\t\t\t\t'components-popover__arrow',\n\t\t\t\t\t\t`is-${ computedPlacement.split( '-' )[ 0 ] }`,\n\t\t\t\t\t].join( ' ' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft: Number.isFinite( arrowData?.x )\n\t\t\t\t\t\t\t? `${ arrowData.x }px`\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop: Number.isFinite( arrowData?.y )\n\t\t\t\t\t\t\t? `${ arrowData.y }px`\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ArrowTriangle />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</MaybeAnimatedWrapper>\n\t);\n\n\tif ( slot.ref ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t}\n\n\tif ( anchorRef || anchorRect ) {\n\t\treturn content;\n\t}\n\n\treturn <span ref={ anchorRefFallback }>{ content }</span>;\n};\n\nconst PopoverContainer = forwardRef( Popover );\n\nfunction PopoverSlot( { name = SLOT_NAME }, ref ) {\n\treturn (\n\t\t<Slot\n\t\t\tbubblesVirtually\n\t\t\tname={ name }\n\t\t\tclassName=\"popover-slot\"\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nPopoverContainer.Slot = forwardRef( PopoverSlot );\nPopoverContainer.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default PopoverContainer;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/popover/index.js"],"names":["classnames","useFloating","flip","shift","autoUpdate","arrow","offset","offsetMiddleware","limitShift","size","motion","useReducedMotion","useRef","useLayoutEffect","forwardRef","createContext","useContext","useMemo","useEffect","useViewportMatch","useMergeRefs","__experimentalUseDialog","useDialog","close","deprecated","Path","SVG","Button","ScrollLock","Slot","Fill","useSlot","getFrameOffset","positionToPlacement","placementToMotionAnimationProps","SLOT_NAME","ArrowTriangle","props","MaybeAnimatedWrapper","forwardedRef","style","receivedInlineStyles","placement","shouldAnimate","shouldReduceMotion","motionInlineStyles","otherMotionProps","slotNameContext","Popover","range","animate","headerTitle","onClose","children","className","noArrow","isAlternate","position","placementProp","offsetProp","focusOnMount","anchorRef","anchorRect","getAnchorRect","expandOnMobile","onFocusOutside","__unstableSlotName","__unstableForcePosition","__unstableShift","contentProps","since","version","arrowRef","anchorRefFallback","isMobileViewport","isExpanded","hasArrow","normalizedPlacementFromProps","referenceOwnerDocument","documentToReturn","top","ownerDocument","startContainer","current","document","frameOffsetRef","offsetRef","middleware","currentPlacement","isTopBottomPlacement","includes","mainAxis","crossAxis","hasBeforePlacement","mainAxisModifier","undefined","apply","sizeProps","availableHeight","refs","floating","Object","assign","firstChild","maxHeight","overflow","limiter","padding","element","filter","m","slotName","slot","onDialogClose","type","event","dialogRef","dialogProps","__unstableOnClose","x","y","reference","strategy","update","computedPlacement","middlewareData","arrowData","resultingReferenceRef","getBoundingClientRect","topRect","bottomRect","bottom","window","DOMRect","width","rect","left","right","height","parentNode","animationFrame","referenceAndFloatingHaveSameDocument","hasFrameElement","defaultView","frameElement","updateFrameOffset","addEventListener","removeEventListener","mergedFloatingRef","content","Number","isNaN","split","join","isFinite","ref","PopoverContainer","PopoverSlot","name","__unstableSlotNameProvider","Provider"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport {\n\tuseFloating,\n\tflip,\n\tshift,\n\tautoUpdate,\n\tarrow,\n\toffset as offsetMiddleware,\n\tlimitShift,\n\tsize,\n} from '@floating-ui/react-dom';\n// eslint-disable-next-line no-restricted-imports\nimport { motion, useReducedMotion } from 'framer-motion';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseLayoutEffect,\n\tforwardRef,\n\tcreateContext,\n\tuseContext,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tuseViewportMatch,\n\tuseMergeRefs,\n\t__experimentalUseDialog as useDialog,\n} from '@wordpress/compose';\nimport { close } from '@wordpress/icons';\nimport deprecated from '@wordpress/deprecated';\nimport { Path, SVG } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, useSlot } from '../slot-fill';\nimport {\n\tgetFrameOffset,\n\tpositionToPlacement,\n\tplacementToMotionAnimationProps,\n} from './utils';\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {string}\n */\nconst SLOT_NAME = 'Popover';\n\n// An SVG displaying a triangle facing down, filled with a solid\n// color and bordered in such a way to create an arrow-like effect.\n// Keeping the SVG's viewbox squared simplify the arrow positioning\n// calculations.\nconst ArrowTriangle = ( props ) => (\n\t<SVG\n\t\t{ ...props }\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox={ `0 0 100 100` }\n\t\tclassName=\"components-popover__triangle\"\n\t\trole=\"presentation\"\n\t>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-bg\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t/>\n\t\t<Path\n\t\t\tclassName=\"components-popover__triangle-border\"\n\t\t\td=\"M 0 0 L 50 50 L 100 0\"\n\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t/>\n\t</SVG>\n);\n\nconst MaybeAnimatedWrapper = forwardRef(\n\t(\n\t\t{\n\t\t\tstyle: receivedInlineStyles,\n\t\t\tplacement,\n\t\t\tshouldAnimate = false,\n\t\t\t...props\n\t\t},\n\t\tforwardedRef\n\t) => {\n\t\tconst shouldReduceMotion = useReducedMotion();\n\n\t\tconst { style: motionInlineStyles, ...otherMotionProps } = useMemo(\n\t\t\t() => placementToMotionAnimationProps( placement ),\n\t\t\t[ placement ]\n\t\t);\n\n\t\tif ( shouldAnimate && ! shouldReduceMotion ) {\n\t\t\treturn (\n\t\t\t\t<motion.div\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...motionInlineStyles,\n\t\t\t\t\t\t...receivedInlineStyles,\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...otherMotionProps }\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tref={ forwardedRef }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={ receivedInlineStyles }\n\t\t\t\t{ ...props }\n\t\t\t\tref={ forwardedRef }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nconst slotNameContext = createContext();\n\nconst Popover = (\n\t{\n\t\trange,\n\t\tanimate = true,\n\t\theaderTitle,\n\t\tonClose,\n\t\tchildren,\n\t\tclassName,\n\t\tnoArrow = true,\n\t\tisAlternate,\n\t\tposition,\n\t\tplacement: placementProp = 'bottom-start',\n\t\toffset: offsetProp = 0,\n\t\tfocusOnMount = 'firstElement',\n\t\tanchorRef,\n\t\tanchorRect,\n\t\tgetAnchorRect,\n\t\texpandOnMobile,\n\t\tonFocusOutside,\n\t\t__unstableSlotName = SLOT_NAME,\n\t\t__unstableForcePosition = false,\n\t\t__unstableShift = false,\n\t\t...contentProps\n\t},\n\tforwardedRef\n) => {\n\tif ( range ) {\n\t\tdeprecated( 'range prop in Popover component', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t} );\n\t}\n\n\tconst arrowRef = useRef( null );\n\tconst anchorRefFallback = useRef( null );\n\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isExpanded = expandOnMobile && isMobileViewport;\n\tconst hasArrow = ! isExpanded && ! noArrow;\n\tconst normalizedPlacementFromProps = position\n\t\t? positionToPlacement( position )\n\t\t: placementProp;\n\n\tconst referenceOwnerDocument = useMemo( () => {\n\t\tlet documentToReturn;\n\n\t\tif ( anchorRef?.top ) {\n\t\t\tdocumentToReturn = anchorRef?.top.ownerDocument;\n\t\t} else if ( anchorRef?.startContainer ) {\n\t\t\tdocumentToReturn = anchorRef.startContainer.ownerDocument;\n\t\t} else if ( anchorRef?.current ) {\n\t\t\tdocumentToReturn = anchorRef.current.ownerDocument;\n\t\t} else if ( anchorRef ) {\n\t\t\t// This one should be deprecated.\n\t\t\tdocumentToReturn = anchorRef.ownerDocument;\n\t\t} else if ( anchorRect && anchorRect?.ownerDocument ) {\n\t\t\tdocumentToReturn = anchorRect.ownerDocument;\n\t\t} else if ( getAnchorRect ) {\n\t\t\tdocumentToReturn = getAnchorRect(\n\t\t\t\tanchorRefFallback.current\n\t\t\t)?.ownerDocument;\n\t\t}\n\n\t\treturn documentToReturn ?? document;\n\t}, [ anchorRef, anchorRect, getAnchorRect ] );\n\n\t/**\n\t * Offsets the position of the popover when the anchor is inside an iframe.\n\t *\n\t * Store the offset in a ref, due to constraints with floating-ui:\n\t * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.\n\t */\n\tconst frameOffsetRef = useRef( getFrameOffset( referenceOwnerDocument ) );\n\t/**\n\t * Store the offset prop in a ref, due to constraints with floating-ui:\n\t * https://floating-ui.com/docs/react-dom#variables-inside-middleware-functions.\n\t */\n\tconst offsetRef = useRef( offsetProp );\n\n\tconst middleware = [\n\t\toffsetMiddleware( ( { placement: currentPlacement } ) => {\n\t\t\tif ( ! frameOffsetRef.current ) {\n\t\t\t\treturn offsetRef.current;\n\t\t\t}\n\n\t\t\tconst isTopBottomPlacement =\n\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\tcurrentPlacement.includes( 'bottom' );\n\n\t\t\t// The main axis should represent the gap between the\n\t\t\t// floating element and the reference element. The cross\n\t\t\t// axis is always perpendicular to the main axis.\n\t\t\tconst mainAxis = isTopBottomPlacement ? 'y' : 'x';\n\t\t\tconst crossAxis = mainAxis === 'x' ? 'y' : 'x';\n\n\t\t\t// When the popover is before the reference, subtract the offset,\n\t\t\t// of the main axis else add it.\n\t\t\tconst hasBeforePlacement =\n\t\t\t\tcurrentPlacement.includes( 'top' ) ||\n\t\t\t\tcurrentPlacement.includes( 'left' );\n\t\t\tconst mainAxisModifier = hasBeforePlacement ? -1 : 1;\n\n\t\t\treturn {\n\t\t\t\tmainAxis:\n\t\t\t\t\toffsetRef.current +\n\t\t\t\t\tframeOffsetRef.current[ mainAxis ] * mainAxisModifier,\n\t\t\t\tcrossAxis: frameOffsetRef.current[ crossAxis ],\n\t\t\t};\n\t\t} ),\n\t\t__unstableForcePosition ? undefined : flip(),\n\t\t__unstableForcePosition\n\t\t\t? undefined\n\t\t\t: size( {\n\t\t\t\t\tapply( sizeProps ) {\n\t\t\t\t\t\tconst { availableHeight } = sizeProps;\n\t\t\t\t\t\tif ( ! refs.floating.current ) return;\n\t\t\t\t\t\t// Reduce the height of the popover to the available space.\n\t\t\t\t\t\tObject.assign( refs.floating.current.firstChild.style, {\n\t\t\t\t\t\t\tmaxHeight: `${ availableHeight }px`,\n\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t} );\n\t\t\t\t\t},\n\t\t\t } ),\n\t\t__unstableShift\n\t\t\t? shift( {\n\t\t\t\t\tcrossAxis: true,\n\t\t\t\t\tlimiter: limitShift(),\n\t\t\t\t\tpadding: 1, // Necessary to avoid flickering at the edge of the viewport.\n\t\t\t } )\n\t\t\t: undefined,\n\t\thasArrow ? arrow( { element: arrowRef } ) : undefined,\n\t].filter( ( m ) => !! m );\n\tconst slotName = useContext( slotNameContext ) || __unstableSlotName;\n\tconst slot = useSlot( slotName );\n\n\tlet onDialogClose;\n\n\tif ( onClose || onFocusOutside ) {\n\t\tonDialogClose = ( type, event ) => {\n\t\t\t// Ideally the popover should have just a single onClose prop and\n\t\t\t// not three props that potentially do the same thing.\n\t\t\tif ( type === 'focus-outside' && onFocusOutside ) {\n\t\t\t\tonFocusOutside( event );\n\t\t\t} else if ( onClose ) {\n\t\t\t\tonClose();\n\t\t\t}\n\t\t};\n\t}\n\n\tconst [ dialogRef, dialogProps ] = useDialog( {\n\t\tfocusOnMount,\n\t\t__unstableOnClose: onDialogClose,\n\t\tonClose: onDialogClose,\n\t} );\n\n\tconst {\n\t\t// Positioning coordinates\n\t\tx,\n\t\ty,\n\t\t// Callback refs (not regular refs). This allows the position to be updated.\n\t\t// when either elements change.\n\t\treference,\n\t\tfloating,\n\t\t// Object with \"regular\" refs to both \"reference\" and \"floating\"\n\t\trefs,\n\t\t// Type of CSS position property to use (absolute or fixed)\n\t\tstrategy,\n\t\tupdate,\n\t\tplacement: computedPlacement,\n\t\tmiddlewareData: { arrow: arrowData = {} },\n\t} = useFloating( { placement: normalizedPlacementFromProps, middleware } );\n\n\tuseEffect( () => {\n\t\toffsetRef.current = offsetProp;\n\t\tupdate();\n\t}, [ offsetProp, update ] );\n\n\t// Update the `reference`'s ref.\n\t//\n\t// In floating-ui's terms:\n\t// - \"reference\" refers to the popover's anchor element.\n\t// - \"floating\" refers the floating popover's element.\n\t// A floating element can also be positioned relative to a virtual element,\n\t// instead of a real one. A virtual element is represented by an object\n\t// with the `getBoundingClientRect()` function (like real elements).\n\t// See https://floating-ui.com/docs/virtual-elements for more info.\n\tuseLayoutEffect( () => {\n\t\tlet resultingReferenceRef;\n\n\t\tif ( anchorRef?.top ) {\n\t\t\t// Create a virtual element for the ref. The expectation is that\n\t\t\t// if anchorRef.top is defined, then anchorRef.bottom is defined too.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\tconst topRect = anchorRef.top.getBoundingClientRect();\n\t\t\t\t\tconst bottomRect = anchorRef.bottom.getBoundingClientRect();\n\t\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\t\ttopRect.x,\n\t\t\t\t\t\ttopRect.y,\n\t\t\t\t\t\ttopRect.width,\n\t\t\t\t\t\tbottomRect.bottom - topRect.top\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( anchorRef?.current ) {\n\t\t\t// Standard React ref.\n\t\t\tresultingReferenceRef = anchorRef.current;\n\t\t} else if ( anchorRef ) {\n\t\t\t// If `anchorRef` holds directly the element's value (no `current` key)\n\t\t\t// This is a weird scenario and should be deprecated.\n\t\t\tresultingReferenceRef = anchorRef;\n\t\t} else if ( anchorRect ) {\n\t\t\t// Create a virtual element for the ref.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\treturn anchorRect;\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( getAnchorRect ) {\n\t\t\t// Create a virtual element for the ref.\n\t\t\tresultingReferenceRef = {\n\t\t\t\tgetBoundingClientRect() {\n\t\t\t\t\tconst rect = getAnchorRect( anchorRefFallback.current );\n\t\t\t\t\treturn new window.DOMRect(\n\t\t\t\t\t\trect.x ?? rect.left,\n\t\t\t\t\t\trect.y ?? rect.top,\n\t\t\t\t\t\trect.width ?? rect.right - rect.left,\n\t\t\t\t\t\trect.height ?? rect.bottom - rect.top\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t};\n\t\t} else if ( anchorRefFallback.current ) {\n\t\t\t// If no explicit ref is passed via props, fall back to\n\t\t\t// anchoring to the popover's parent node.\n\t\t\tresultingReferenceRef = anchorRefFallback.current.parentNode;\n\t\t}\n\n\t\tif ( ! resultingReferenceRef ) {\n\t\t\treturn;\n\t\t}\n\n\t\treference( resultingReferenceRef );\n\n\t\tif ( ! refs.floating.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn autoUpdate(\n\t\t\tresultingReferenceRef,\n\t\t\trefs.floating.current,\n\t\t\tupdate,\n\t\t\t{\n\t\t\t\tanimationFrame: true,\n\t\t\t}\n\t\t);\n\t\t// 'reference' and 'refs.floating' are refs and don't need to be listed\n\t\t// as dependencies (see https://github.com/WordPress/gutenberg/pull/41612)\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ anchorRef, anchorRect, getAnchorRect, update ] );\n\n\t// If the reference element is in a different ownerDocument (e.g. iFrame),\n\t// we need to manually update the floating's position as the reference's owner\n\t// document scrolls. Also update the frame offset if the view resizes.\n\tuseLayoutEffect( () => {\n\t\tconst referenceAndFloatingHaveSameDocument =\n\t\t\treferenceOwnerDocument === document;\n\t\tconst hasFrameElement =\n\t\t\t!! referenceOwnerDocument?.defaultView?.frameElement;\n\n\t\tif ( referenceAndFloatingHaveSameDocument || ! hasFrameElement ) {\n\t\t\tframeOffsetRef.current = undefined;\n\t\t\treturn;\n\t\t}\n\n\t\tconst { defaultView } = referenceOwnerDocument;\n\n\t\tconst updateFrameOffset = () => {\n\t\t\tframeOffsetRef.current = getFrameOffset( referenceOwnerDocument );\n\t\t\tupdate();\n\t\t};\n\t\tdefaultView.addEventListener( 'resize', updateFrameOffset );\n\n\t\tupdateFrameOffset();\n\n\t\treturn () => {\n\t\t\tdefaultView.removeEventListener( 'resize', updateFrameOffset );\n\t\t};\n\t}, [ referenceOwnerDocument, update ] );\n\n\tconst mergedFloatingRef = useMergeRefs( [\n\t\tfloating,\n\t\tdialogRef,\n\t\tforwardedRef,\n\t] );\n\n\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t// within popover as inferring close intent.\n\n\tlet content = (\n\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<MaybeAnimatedWrapper\n\t\t\tshouldAnimate={ animate && ! isExpanded }\n\t\t\tplacement={ computedPlacement }\n\t\t\tclassName={ classnames( 'components-popover', className, {\n\t\t\t\t'is-expanded': isExpanded,\n\t\t\t\t'is-alternate': isAlternate,\n\t\t\t} ) }\n\t\t\t{ ...contentProps }\n\t\t\tref={ mergedFloatingRef }\n\t\t\t{ ...dialogProps }\n\t\t\ttabIndex=\"-1\"\n\t\t\tstyle={\n\t\t\t\tisExpanded\n\t\t\t\t\t? undefined\n\t\t\t\t\t: {\n\t\t\t\t\t\t\tposition: strategy,\n\t\t\t\t\t\t\tleft: Number.isNaN( x ) ? 0 : x,\n\t\t\t\t\t\t\ttop: Number.isNaN( y ) ? 0 : y,\n\t\t\t\t\t }\n\t\t\t}\n\t\t>\n\t\t\t{ /* Prevents scroll on the document */ }\n\t\t\t{ isExpanded && <ScrollLock /> }\n\t\t\t{ isExpanded && (\n\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-popover__close\"\n\t\t\t\t\t\ticon={ close }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<div className=\"components-popover__content\">{ children }</div>\n\t\t\t{ hasArrow && (\n\t\t\t\t<div\n\t\t\t\t\tref={ arrowRef }\n\t\t\t\t\tclassName={ [\n\t\t\t\t\t\t'components-popover__arrow',\n\t\t\t\t\t\t`is-${ computedPlacement.split( '-' )[ 0 ] }`,\n\t\t\t\t\t].join( ' ' ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tleft: Number.isFinite( arrowData?.x )\n\t\t\t\t\t\t\t? `${ arrowData.x }px`\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\ttop: Number.isFinite( arrowData?.y )\n\t\t\t\t\t\t\t? `${ arrowData.y }px`\n\t\t\t\t\t\t\t: '',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<ArrowTriangle />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</MaybeAnimatedWrapper>\n\t);\n\n\tif ( slot.ref ) {\n\t\tcontent = <Fill name={ slotName }>{ content }</Fill>;\n\t}\n\n\tif ( anchorRef || anchorRect ) {\n\t\treturn content;\n\t}\n\n\treturn <span ref={ anchorRefFallback }>{ content }</span>;\n};\n\nconst PopoverContainer = forwardRef( Popover );\n\nfunction PopoverSlot( { name = SLOT_NAME }, ref ) {\n\treturn (\n\t\t<Slot\n\t\t\tbubblesVirtually\n\t\t\tname={ name }\n\t\t\tclassName=\"popover-slot\"\n\t\t\tref={ ref }\n\t\t/>\n\t);\n}\n\nPopoverContainer.Slot = forwardRef( PopoverSlot );\nPopoverContainer.__unstableSlotNameProvider = slotNameContext.Provider;\n\nexport default PopoverContainer;\n"]}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import { createElement, Fragment } from "@wordpress/element";
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* External dependencies
|
|
5
|
-
*/
|
|
6
|
-
import { escapeRegExp } from 'lodash';
|
|
7
3
|
/**
|
|
8
4
|
* WordPress dependencies
|
|
9
5
|
*/
|
|
10
|
-
|
|
11
6
|
import { createInterpolateElement } from '@wordpress/element';
|
|
12
7
|
/**
|
|
13
8
|
* Internal dependencies
|
|
14
9
|
*/
|
|
15
10
|
|
|
11
|
+
import { escapeRegExp } from '../utils/strings';
|
|
12
|
+
|
|
16
13
|
/**
|
|
17
14
|
* Highlights occurrences of a given string within another string of text. Wraps
|
|
18
15
|
* each match with a `<mark>` tag which provides browser default styling.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/text-highlight/index.tsx"],"names":["
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/text-highlight/index.tsx"],"names":["createInterpolateElement","escapeRegExp","TextHighlight","props","text","highlight","trimmedHighlightText","trim","regex","RegExp","replace","mark"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,wBAAT,QAAyC,oBAAzC;AAEA;AACA;AACA;;AACA,SAASC,YAAT,QAA6B,kBAA7B;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAKC,KAAF,IAAiC;AAC7D,QAAM;AAAEC,IAAAA,IAAI,GAAG,EAAT;AAAaC,IAAAA,SAAS,GAAG;AAAzB,MAAgCF,KAAtC;AACA,QAAMG,oBAAoB,GAAGD,SAAS,CAACE,IAAV,EAA7B;;AAEA,MAAK,CAAED,oBAAP,EAA8B;AAC7B,WAAO,8BAAIF,IAAJ,CAAP;AACA;;AAED,QAAMI,KAAK,GAAG,IAAIC,MAAJ,CACZ,IAAIR,YAAY,CAAEK,oBAAF,CAA0B,GAD9B,EAEb,IAFa,CAAd;AAKA,SAAON,wBAAwB,CAAEI,IAAI,CAACM,OAAL,CAAcF,KAAd,EAAqB,iBAArB,CAAF,EAA4C;AAC1EG,IAAAA,IAAI,EAAE;AADoE,GAA5C,CAA/B;AAGA,CAhBM;AAkBP,eAAeT,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { escapeRegExp } from '../utils/strings';\nimport type { TextHighlightProps } from './types';\n\n/**\n * Highlights occurrences of a given string within another string of text. Wraps\n * each match with a `<mark>` tag which provides browser default styling.\n *\n * ```jsx\n * import { TextHighlight } from '@wordpress/components';\n *\n * const MyTextHighlight = () => (\n * <TextHighlight\n * text=\"Why do we like Gutenberg? Because Gutenberg is the best!\"\n * highlight=\"Gutenberg\"\n * />\n * );\n * ```\n */\nexport const TextHighlight = ( props: TextHighlightProps ) => {\n\tconst { text = '', highlight = '' } = props;\n\tconst trimmedHighlightText = highlight.trim();\n\n\tif ( ! trimmedHighlightText ) {\n\t\treturn <>{ text }</>;\n\t}\n\n\tconst regex = new RegExp(\n\t\t`(${ escapeRegExp( trimmedHighlightText ) })`,\n\t\t'gi'\n\t);\n\n\treturn createInterpolateElement( text.replace( regex, '<mark>$&</mark>' ), {\n\t\tmark: <mark />,\n\t} );\n};\n\nexport default TextHighlight;\n"]}
|
|
@@ -22,6 +22,7 @@ import { View } from '../../view';
|
|
|
22
22
|
import BaseControl from '../../base-control';
|
|
23
23
|
import ToggleGroupControlBackdrop from './toggle-group-control-backdrop';
|
|
24
24
|
import ToggleGroupControlContext from '../context';
|
|
25
|
+
import { VisualLabelWrapper } from './styles';
|
|
25
26
|
import * as styles from './styles';
|
|
26
27
|
|
|
27
28
|
const noop = () => {};
|
|
@@ -76,7 +77,7 @@ function UnconnectedToggleGroupControl(props, forwardedRef) {
|
|
|
76
77
|
isBlock: !isAdaptiveWidth,
|
|
77
78
|
size
|
|
78
79
|
}
|
|
79
|
-
}, !hideLabelFromVision && createElement(
|
|
80
|
+
}, !hideLabelFromVision && createElement(VisualLabelWrapper, null, createElement(BaseControl.VisualLabel, null, label)), createElement(RadioGroup, _extends({}, radio, {
|
|
80
81
|
"aria-label": label,
|
|
81
82
|
as: View,
|
|
82
83
|
className: classes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control/component.tsx"],"names":["RadioGroup","useRadioState","useRef","useMemo","useMergeRefs","useInstanceId","usePrevious","useResizeObserver","contextConnect","useContextSystem","useUpdateEffect","useCx","View","BaseControl","ToggleGroupControlBackdrop","ToggleGroupControlContext","styles","noop","UnconnectedToggleGroupControl","props","forwardedRef","__nextHasNoMarginBottom","className","isAdaptiveWidth","isBlock","__experimentalIsIconGroup","label","hideLabelFromVision","help","onChange","size","value","children","otherProps","cx","containerRef","resizeListener","sizes","baseId","ToggleGroupControl","toString","radio","state","previousValue","setState","classes","border","block","width"],"mappings":";;;AAAA;AACA;AACA;AAEA;AACA,SAASA,UAAT,EAAqBC,aAArB,QAA0C,QAA1C;AAEA;AACA;AACA;;AAEA,SAASC,MAAT,EAAiBC,OAAjB,QAAgC,oBAAhC;AACA,SACCC,YADD,EAECC,aAFD,EAGCC,WAHD,EAICC,iBAJD,QAKO,oBALP;AAOA;AACA;AACA;;AACA,SACCC,cADD,EAECC,gBAFD,QAIO,kBAJP;AAKA,SAASC,eAAT,EAA0BC,KAA1B,QAAuC,mBAAvC;AACA,SAASC,IAAT,QAAqB,YAArB;AACA,OAAOC,WAAP,MAAwB,oBAAxB;AAEA,OAAOC,0BAAP,MAAuC,iCAAvC;AACA,OAAOC,yBAAP,MAAsC,YAAtC;AACA,OAAO,KAAKC,MAAZ,MAAwB,UAAxB;;AAEA,MAAMC,IAAI,GAAG,MAAM,CAAE,CAArB;;AAEA,SAASC,6BAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAM;AACLC,IAAAA,uBAAuB,GAAG,KADrB;AAELC,IAAAA,SAFK;AAGLC,IAAAA,eAAe,GAAG,KAHb;AAILC,IAAAA,OAAO,GAAG,KAJL;AAKLC,IAAAA,yBAAyB,GAAG,KALvB;AAMLC,IAAAA,KANK;AAOLC,IAAAA,mBAAmB,GAAG,KAPjB;AAQLC,IAAAA,IARK;AASLC,IAAAA,QAAQ,GAAGZ,IATN;AAULa,IAAAA,IAAI,GAAG,SAVF;AAWLC,IAAAA,KAXK;AAYLC,IAAAA,QAZK;AAaL,OAAGC;AAbE,
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/toggle-group-control/toggle-group-control/component.tsx"],"names":["RadioGroup","useRadioState","useRef","useMemo","useMergeRefs","useInstanceId","usePrevious","useResizeObserver","contextConnect","useContextSystem","useUpdateEffect","useCx","View","BaseControl","ToggleGroupControlBackdrop","ToggleGroupControlContext","VisualLabelWrapper","styles","noop","UnconnectedToggleGroupControl","props","forwardedRef","__nextHasNoMarginBottom","className","isAdaptiveWidth","isBlock","__experimentalIsIconGroup","label","hideLabelFromVision","help","onChange","size","value","children","otherProps","cx","containerRef","resizeListener","sizes","baseId","ToggleGroupControl","toString","radio","state","previousValue","setState","classes","border","block","width"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { RadioGroup, useRadioState } from 'reakit';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useMemo } from '@wordpress/element';\nimport {\n\tuseMergeRefs,\n\tuseInstanceId,\n\tusePrevious,\n\tuseResizeObserver,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tcontextConnect,\n\tuseContextSystem,\n\tWordPressComponentProps,\n} from '../../ui/context';\nimport { useUpdateEffect, useCx } from '../../utils/hooks';\nimport { View } from '../../view';\nimport BaseControl from '../../base-control';\nimport type { ToggleGroupControlProps } from '../types';\nimport ToggleGroupControlBackdrop from './toggle-group-control-backdrop';\nimport ToggleGroupControlContext from '../context';\nimport { VisualLabelWrapper } from './styles';\nimport * as styles from './styles';\n\nconst noop = () => {};\n\nfunction UnconnectedToggleGroupControl(\n\tprops: WordPressComponentProps< ToggleGroupControlProps, 'input', false >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\tclassName,\n\t\tisAdaptiveWidth = false,\n\t\tisBlock = false,\n\t\t__experimentalIsIconGroup = false,\n\t\tlabel,\n\t\thideLabelFromVision = false,\n\t\thelp,\n\t\tonChange = noop,\n\t\tsize = 'default',\n\t\tvalue,\n\t\tchildren,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToggleGroupControl' );\n\tconst cx = useCx();\n\tconst containerRef = useRef();\n\tconst [ resizeListener, sizes ] = useResizeObserver();\n\tconst baseId = useInstanceId(\n\t\tToggleGroupControl,\n\t\t'toggle-group-control'\n\t).toString();\n\tconst radio = useRadioState( {\n\t\tbaseId,\n\t\tstate: value,\n\t} );\n\tconst previousValue = usePrevious( value );\n\n\t// Propagate radio.state change.\n\tuseUpdateEffect( () => {\n\t\t// Avoid calling onChange if radio state changed\n\t\t// from incoming value.\n\t\tif ( previousValue !== radio.state ) {\n\t\t\tonChange( radio.state );\n\t\t}\n\t}, [ radio.state ] );\n\n\t// Sync incoming value with radio.state.\n\tuseUpdateEffect( () => {\n\t\tif ( value !== radio.state ) {\n\t\t\tradio.setState( value );\n\t\t}\n\t}, [ value ] );\n\n\tconst classes = useMemo(\n\t\t() =>\n\t\t\tcx(\n\t\t\t\tstyles.ToggleGroupControl( { size } ),\n\t\t\t\t! __experimentalIsIconGroup && styles.border,\n\t\t\t\tisBlock && styles.block,\n\t\t\t\tclassName\n\t\t\t),\n\t\t[ className, cx, isBlock, __experimentalIsIconGroup, size ]\n\t);\n\treturn (\n\t\t<BaseControl\n\t\t\thelp={ help }\n\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t>\n\t\t\t<ToggleGroupControlContext.Provider\n\t\t\t\tvalue={ { ...radio, isBlock: ! isAdaptiveWidth, size } }\n\t\t\t>\n\t\t\t\t{ ! hideLabelFromVision && (\n\t\t\t\t\t<VisualLabelWrapper>\n\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t</VisualLabelWrapper>\n\t\t\t\t) }\n\t\t\t\t<RadioGroup\n\t\t\t\t\t{ ...radio }\n\t\t\t\t\taria-label={ label }\n\t\t\t\t\tas={ View }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\t{ ...otherProps }\n\t\t\t\t\tref={ useMergeRefs( [ containerRef, forwardedRef ] ) }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<ToggleGroupControlBackdrop\n\t\t\t\t\t\t{ ...radio }\n\t\t\t\t\t\tcontainerRef={ containerRef }\n\t\t\t\t\t\tcontainerWidth={ sizes.width }\n\t\t\t\t\t\tisAdaptiveWidth={ isAdaptiveWidth }\n\t\t\t\t\t/>\n\t\t\t\t\t{ children }\n\t\t\t\t</RadioGroup>\n\t\t\t</ToggleGroupControlContext.Provider>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * `ToggleGroupControl` is a form component that lets users choose options\n * represented in horizontal segments. To render options for this control use\n * `ToggleGroupControlOption` component.\n *\n * This component is intended for selecting a single persistent value from a set of options,\n * similar to a how a radio button group would work. If you simply want a toggle to switch between views,\n * use a `TabPanel` instead.\n *\n * Only use this control when you know for sure the labels of items inside won't\n * wrap. For items with longer labels, you can consider a `SelectControl` or a\n * `CustomSelectControl` component instead.\n *\n * ```jsx\n * import {\n * __experimentalToggleGroupControl as ToggleGroupControl,\n * __experimentalToggleGroupControlOption as ToggleGroupControlOption,\n * } from '@wordpress/components';\n *\n * function Example() {\n * return (\n * <ToggleGroupControl label=\"my label\" value=\"vertical\" isBlock>\n * <ToggleGroupControlOption value=\"horizontal\" label=\"Horizontal\" />\n * <ToggleGroupControlOption value=\"vertical\" label=\"Vertical\" />\n * </ToggleGroupControl>\n * );\n * }\n * ```\n */\nexport const ToggleGroupControl = contextConnect(\n\tUnconnectedToggleGroupControl,\n\t'ToggleGroupControl'\n);\n\nexport default ToggleGroupControl;\n"]}
|