@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/form-token-field/index.tsx"],"names":["last","clone","map","some","classnames","useEffect","useRef","useState","__","_n","sprintf","useDebounce","useInstanceId","usePrevious","speak","BACKSPACE","ENTER","UP","DOWN","LEFT","RIGHT","SPACE","DELETE","ESCAPE","isShallowEqual","Token","TokenInput","TokensAndInputWrapperFlex","SuggestionsList","FlexItem","StyledLabel","identity","value","FormTokenField","props","autoCapitalize","autoComplete","maxLength","placeholder","label","className","suggestions","maxSuggestions","displayTransform","saveTransform","token","trim","onChange","onInputChange","onFocus","undefined","isBorderless","disabled","tokenizeOnSpace","messages","added","removed","remove","__experimentalInvalid","__experimentalRenderItem","__experimentalExpandOnFocus","__experimentalValidateInput","__experimentalShowHowTo","__next36pxDefaultSize","__experimentalAutoSelectFirstMatch","instanceId","incompleteTokenValue","setIncompleteTokenValue","inputOffsetFromEnd","setInputOffsetFromEnd","isActive","setIsActive","isExpanded","setIsExpanded","selectedSuggestionIndex","setSelectedSuggestionIndex","selectedSuggestionScroll","setSelectedSuggestionScroll","prevSuggestions","prevValue","input","tokensAndInput","debouncedSpeak","hasFocus","focus","suggestionsDidUpdate","updateSuggestions","current","ownerDocument","activeElement","onFocusHandler","event","target","onBlur","inputHasValidValue","onKeyDown","preventDefault","defaultPrevented","keyCode","handleDeleteKey","deleteTokenBeforeInput","addCurrentToken","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","deleteTokenAfterInput","handleEscapeKey","onKeyPress","charCode","handleCommaKey","onContainerTouched","onTokenClickRemove","deleteToken","onSuggestionHovered","suggestion","index","getMatchingSuggestions","indexOf","onSuggestionSelected","addNewToken","onInputChangeHandler","text","separator","items","split","tokenValue","length","addNewTokens","slice","_deleteToken","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","HTMLInputElement","moveInputToIndex","Math","max","prevInputOffsetFromEnd","min","getIndexOfInput","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","Set","filter","Boolean","valueContainsToken","newValue","splice","newTokens","item","getTokenValue","searchValue","_suggestions","_value","_maxSuggestions","_saveTransform","match","startsWithMatch","containsMatch","normalizedValue","includes","toLocaleLowerCase","forEach","push","concat","resetSelectedSuggestion","inputHasMinimumChars","matchingSuggestions","hasMatchingSuggestions","message","renderTokensAndInput","components","renderToken","renderInput","status","termPosition","termsCount","title","onMouseEnter","onMouseLeave","inputProps","key","classes","tokenFieldProps","tabIndex","Object","assign"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,IAAT,EAAeC,KAAf,EAAsBC,GAAtB,EAA2BC,IAA3B,QAAuC,QAAvC;AACA,OAAOC,UAAP,MAAuB,YAAvB;;AAGA;AACA;AACA;AACA,SAASC,SAAT,EAAoBC,MAApB,EAA4BC,QAA5B,QAA4C,oBAA5C;AACA,SAASC,EAAT,EAAaC,EAAb,EAAiBC,OAAjB,QAAgC,iBAAhC;AACA,SAASC,WAAT,EAAsBC,aAAtB,EAAqCC,WAArC,QAAwD,oBAAxD;AACA,SAASC,KAAT,QAAsB,iBAAtB;AACA,SACCC,SADD,EAECC,KAFD,EAGCC,EAHD,EAICC,IAJD,EAKCC,IALD,EAMCC,KAND,EAOCC,KAPD,EAQCC,MARD,EASCC,MATD,QAUO,qBAVP;AAWA,OAAOC,cAAP,MAA2B,6BAA3B;AAEA;AACA;AACA;;AACA,OAAOC,KAAP,MAAkB,SAAlB;AACA,OAAOC,UAAP,MAAuB,eAAvB;AACA,SAASC,yBAAT,QAA0C,UAA1C;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AAEA,SAASC,QAAT,QAAyB,SAAzB;AACA,SAASC,WAAT,QAA4B,4CAA5B;;AAEA,MAAMC,QAAQ,GAAKC,KAAF,IAAqBA,KAAtC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,SAASC,cAAT,CAAyBC,KAAzB,EAAsD;AAC5D,QAAM;AACLC,IAAAA,cADK;AAELC,IAAAA,YAFK;AAGLC,IAAAA,SAHK;AAILC,IAAAA,WAJK;AAKLC,IAAAA,KAAK,GAAG/B,EAAE,CAAE,UAAF,CALL;AAMLgC,IAAAA,SANK;AAOLC,IAAAA,WAAW,GAAG,EAPT;AAQLC,IAAAA,cAAc,GAAG,GARZ;AASLV,IAAAA,KAAK,GAAG,EATH;AAULW,IAAAA,gBAAgB,GAAGZ,QAVd;AAWLa,IAAAA,aAAa,GAAKC,KAAF,IAAaA,KAAK,CAACC,IAAN,EAXxB;AAYLC,IAAAA,QAAQ,GAAG,MAAM,CAAE,CAZd;AAaLC,IAAAA,aAAa,GAAG,MAAM,CAAE,CAbnB;AAcLC,IAAAA,OAAO,GAAGC,SAdL;AAeLC,IAAAA,YAAY,GAAG,KAfV;AAgBLC,IAAAA,QAAQ,GAAG,KAhBN;AAiBLC,IAAAA,eAAe,GAAG,KAjBb;AAkBLC,IAAAA,QAAQ,GAAG;AACVC,MAAAA,KAAK,EAAE/C,EAAE,CAAE,aAAF,CADC;AAEVgD,MAAAA,OAAO,EAAEhD,EAAE,CAAE,eAAF,CAFD;AAGViD,MAAAA,MAAM,EAAEjD,EAAE,CAAE,aAAF,CAHA;AAIVkD,MAAAA,qBAAqB,EAAElD,EAAE,CAAE,cAAF;AAJf,KAlBN;AAwBLmD,IAAAA,wBAxBK;AAyBLC,IAAAA,2BAA2B,GAAG,KAzBzB;AA0BLC,IAAAA,2BAA2B,GAAG,MAAM,IA1B/B;AA2BLC,IAAAA,uBAAuB,GAAG,IA3BrB;AA4BLC,IAAAA,qBAAqB,GAAG,KA5BnB;AA6BLC,IAAAA,kCAAkC,GAAG;AA7BhC,MA8BF9B,KA9BJ;AAgCA,QAAM+B,UAAU,GAAGrD,aAAa,CAAEqB,cAAF,CAAhC,CAjC4D,CAmC5D;;AACA,QAAM,CAAEiC,oBAAF,EAAwBC,uBAAxB,IAAoD5D,QAAQ,CAAE,EAAF,CAAlE;AACA,QAAM,CAAE6D,kBAAF,EAAsBC,qBAAtB,IAAgD9D,QAAQ,CAAE,CAAF,CAA9D;AACA,QAAM,CAAE+D,QAAF,EAAYC,WAAZ,IAA4BhE,QAAQ,CAAE,KAAF,CAA1C;AACA,QAAM,CAAEiE,UAAF,EAAcC,aAAd,IAAgClE,QAAQ,CAAE,KAAF,CAA9C;AACA,QAAM,CAAEmE,uBAAF,EAA2BC,0BAA3B,IACLpE,QAAQ,CAAE,CAAC,CAAH,CADT;AAEA,QAAM,CAAEqE,wBAAF,EAA4BC,2BAA5B,IACLtE,QAAQ,CAAE,KAAF,CADT;AAGA,QAAMuE,eAAe,GAAGjE,WAAW,CAAc4B,WAAd,CAAnC;AACA,QAAMsC,SAAS,GAAGlE,WAAW,CAA8BmB,KAA9B,CAA7B;AAEA,QAAMgD,KAAK,GAAG1E,MAAM,CAAsB,IAAtB,CAApB;AACA,QAAM2E,cAAc,GAAG3E,MAAM,CAAsB,IAAtB,CAA7B;AAEA,QAAM4E,cAAc,GAAGvE,WAAW,CAAEG,KAAF,EAAS,GAAT,CAAlC;AAEAT,EAAAA,SAAS,CAAE,MAAM;AAChB;AACA,QAAKiE,QAAQ,IAAI,CAAEa,QAAQ,EAA3B,EAAgC;AAC/BC,MAAAA,KAAK;AACL;AACD,GALQ,EAKN,CAAEd,QAAF,CALM,CAAT;AAOAjE,EAAAA,SAAS,CAAE,MAAM;AAChB,UAAMgF,oBAAoB,GAAG,CAAE7D,cAAc,CAC5CiB,WAD4C,EAE5CqC,eAAe,IAAI,EAFyB,CAA7C;;AAKA,QAAKO,oBAAoB,IAAIrD,KAAK,KAAK+C,SAAvC,EAAmD;AAClDO,MAAAA,iBAAiB,CAAED,oBAAF,CAAjB;AACA,KARe,CAUhB;AACA;;AACA,GAZQ,EAYN,CAAE5C,WAAF,EAAeqC,eAAf,EAAgC9C,KAAhC,EAAuC+C,SAAvC,CAZM,CAAT;AAcA1E,EAAAA,SAAS,CAAE,MAAM;AAChBiF,IAAAA,iBAAiB,GADD,CAEhB;AACA,GAHQ,EAGN,CAAEpB,oBAAF,CAHM,CAAT;;AAKA,MAAKd,QAAQ,IAAIkB,QAAjB,EAA4B;AAC3BC,IAAAA,WAAW,CAAE,KAAF,CAAX;AACAJ,IAAAA,uBAAuB,CAAE,EAAF,CAAvB;AACA;;AAED,WAASiB,KAAT,GAAiB;AAAA;;AAChB,sBAAAJ,KAAK,CAACO,OAAN,kEAAeH,KAAf;AACA;;AAED,WAASD,QAAT,GAAoB;AAAA;;AACnB,WAAOH,KAAK,CAACO,OAAN,yBAAkBP,KAAK,CAACO,OAAxB,oDAAkB,gBAAeC,aAAf,CAA6BC,aAA/C,CAAP;AACA;;AAED,WAASC,cAAT,CAAyBC,KAAzB,EAA6C;AAC5C;AACA,QAAKR,QAAQ,MAAMQ,KAAK,CAACC,MAAN,KAAiBX,cAAc,CAACM,OAAnD,EAA6D;AAC5DhB,MAAAA,WAAW,CAAE,IAAF,CAAX;AACAE,MAAAA,aAAa,CAAEb,2BAA2B,IAAIY,UAAjC,CAAb;AACA,KAHD,MAGO;AACN;AACH;AACA;AACA;AACA;AACGD,MAAAA,WAAW,CAAE,KAAF,CAAX;AACA;;AAED,QAAK,eAAe,OAAOtB,OAA3B,EAAqC;AACpCA,MAAAA,OAAO,CAAE0C,KAAF,CAAP;AACA;AACD;;AAED,WAASE,MAAT,GAAkB;AACjB,QAAKC,kBAAkB,EAAvB,EAA4B;AAC3BvB,MAAAA,WAAW,CAAE,KAAF,CAAX;AACA,KAFD,MAEO;AACN;AACAJ,MAAAA,uBAAuB,CAAE,EAAF,CAAvB;AACAE,MAAAA,qBAAqB,CAAE,CAAF,CAArB;AACAE,MAAAA,WAAW,CAAE,KAAF,CAAX;AACAE,MAAAA,aAAa,CAAE,KAAF,CAAb;AACAE,MAAAA,0BAA0B,CAAE,CAAC,CAAH,CAA1B;AACAE,MAAAA,2BAA2B,CAAE,KAAF,CAA3B;AACA;AACD;;AAED,WAASkB,SAAT,CAAoBJ,KAApB,EAA2C;AAC1C,QAAIK,cAAc,GAAG,KAArB;;AAEA,QAAKL,KAAK,CAACM,gBAAX,EAA8B;AAC7B;AACA,KALyC,CAM1C;;;AACA,YAASN,KAAK,CAACO,OAAf;AACC,WAAKnF,SAAL;AACCiF,QAAAA,cAAc,GAAGG,eAAe,CAAEC,sBAAF,CAAhC;AACA;;AACD,WAAKpF,KAAL;AACCgF,QAAAA,cAAc,GAAGK,eAAe,EAAhC;AACA;;AACD,WAAKlF,IAAL;AACC6E,QAAAA,cAAc,GAAGM,kBAAkB,EAAnC;AACA;;AACD,WAAKrF,EAAL;AACC+E,QAAAA,cAAc,GAAGO,gBAAgB,EAAjC;AACA;;AACD,WAAKnF,KAAL;AACC4E,QAAAA,cAAc,GAAGQ,mBAAmB,EAApC;AACA;;AACD,WAAKtF,IAAL;AACC8E,QAAAA,cAAc,GAAGS,kBAAkB,EAAnC;AACA;;AACD,WAAKnF,MAAL;AACC0E,QAAAA,cAAc,GAAGG,eAAe,CAAEO,qBAAF,CAAhC;AACA;;AACD,WAAKrF,KAAL;AACC,YAAKgC,eAAL,EAAuB;AACtB2C,UAAAA,cAAc,GAAGK,eAAe,EAAhC;AACA;;AACD;;AACD,WAAK9E,MAAL;AACCyE,QAAAA,cAAc,GAAGW,eAAe,CAAEhB,KAAF,CAAhC;AACA;;AACD;AACC;AA/BF;;AAkCA,QAAKK,cAAL,EAAsB;AACrBL,MAAAA,KAAK,CAACK,cAAN;AACA;AACD;;AAED,WAASY,UAAT,CAAqBjB,KAArB,EAA4C;AAC3C,QAAIK,cAAc,GAAG,KAArB,CAD2C,CAE3C;;AACA,YAASL,KAAK,CAACkB,QAAf;AACC,WAAK,EAAL;AAAS;AACRb,QAAAA,cAAc,GAAGc,cAAc,EAA/B;AACA;;AACD;AACC;AALF;;AAQA,QAAKd,cAAL,EAAsB;AACrBL,MAAAA,KAAK,CAACK,cAAN;AACA;AACD;;AAED,WAASe,kBAAT,CAA6BpB,KAA7B,EAA8D;AAC7D;AACA;AACA,QAAKA,KAAK,CAACC,MAAN,KAAiBX,cAAc,CAACM,OAAhC,IAA2CjB,QAAhD,EAA2D;AAC1DqB,MAAAA,KAAK,CAACK,cAAN;AACA;AACD;;AAED,WAASgB,kBAAT,CAA6BrB,KAA7B,EAAwD;AACvDsB,IAAAA,WAAW,CAAEtB,KAAK,CAAC3D,KAAR,CAAX;AACAoD,IAAAA,KAAK;AACL;;AAED,WAAS8B,mBAAT,CAA8BC,UAA9B,EAAmD;AAClD,UAAMC,KAAK,GAAGC,sBAAsB,GAAGC,OAAzB,CAAkCH,UAAlC,CAAd;;AAEA,QAAKC,KAAK,IAAI,CAAd,EAAkB;AACjBzC,MAAAA,0BAA0B,CAAEyC,KAAF,CAA1B;AACAvC,MAAAA,2BAA2B,CAAE,KAAF,CAA3B;AACA;AACD;;AAED,WAAS0C,oBAAT,CAA+BJ,UAA/B,EAAoD;AACnDK,IAAAA,WAAW,CAAEL,UAAF,CAAX;AACA;;AAED,WAASM,oBAAT,CAA+B9B,KAA/B,EAA0D;AACzD,UAAM+B,IAAI,GAAG/B,KAAK,CAAC3D,KAAnB;AACA,UAAM2F,SAAS,GAAGtE,eAAe,GAAG,SAAH,GAAe,QAAhD;AACA,UAAMuE,KAAK,GAAGF,IAAI,CAACG,KAAL,CAAYF,SAAZ,CAAd;AACA,UAAMG,UAAU,GAAG9H,IAAI,CAAE4H,KAAF,CAAJ,IAAiB,EAApC;;AAEA,QAAKA,KAAK,CAACG,MAAN,GAAe,CAApB,EAAwB;AACvBC,MAAAA,YAAY,CAAEJ,KAAK,CAACK,KAAN,CAAa,CAAb,EAAgB,CAAC,CAAjB,CAAF,CAAZ;AACA;;AACD9D,IAAAA,uBAAuB,CAAE2D,UAAF,CAAvB;AACA9E,IAAAA,aAAa,CAAE8E,UAAF,CAAb;AACA;;AAED,WAAS3B,eAAT,CAA0B+B,YAA1B,EAAqD;AACpD,QAAIlC,cAAc,GAAG,KAArB;;AACA,QAAKb,QAAQ,MAAMgD,YAAY,EAA/B,EAAoC;AACnCD,MAAAA,YAAY;;AACZlC,MAAAA,cAAc,GAAG,IAAjB;AACA;;AAED,WAAOA,cAAP;AACA;;AAED,WAASM,kBAAT,GAA8B;AAC7B,QAAIN,cAAc,GAAG,KAArB;;AACA,QAAKmC,YAAY,EAAjB,EAAsB;AACrBC,MAAAA,4BAA4B;AAC5BpC,MAAAA,cAAc,GAAG,IAAjB;AACA;;AAED,WAAOA,cAAP;AACA;;AAED,WAASQ,mBAAT,GAA+B;AAC9B,QAAIR,cAAc,GAAG,KAArB;;AACA,QAAKmC,YAAY,EAAjB,EAAsB;AACrBE,MAAAA,uBAAuB;AACvBrC,MAAAA,cAAc,GAAG,IAAjB;AACA;;AAED,WAAOA,cAAP;AACA;;AAED,WAASO,gBAAT,GAA4B;AAC3B5B,IAAAA,0BAA0B,CAAIyC,KAAF,IAAa;AACxC,aACC,CAAEA,KAAK,KAAK,CAAV,GACCC,sBAAsB,CACtBnD,oBADsB,EAEtBzB,WAFsB,EAGtBT,KAHsB,EAItBU,cAJsB,EAKtBE,aALsB,CAAtB,CAMEmF,MAPH,GAQCX,KARH,IAQa,CATd;AAWA,KAZyB,CAA1B;AAaAvC,IAAAA,2BAA2B,CAAE,IAAF,CAA3B;AAEA,WAAO,IAAP,CAhB2B,CAgBd;AACb;;AAED,WAAS4B,kBAAT,GAA8B;AAC7B9B,IAAAA,0BAA0B,CAAIyC,KAAF,IAAa;AACxC,aACC,CAAEA,KAAK,GAAG,CAAV,IACAC,sBAAsB,CACrBnD,oBADqB,EAErBzB,WAFqB,EAGrBT,KAHqB,EAIrBU,cAJqB,EAKrBE,aALqB,CAAtB,CAMEmF,MARH;AAUA,KAXyB,CAA1B;AAaAlD,IAAAA,2BAA2B,CAAE,IAAF,CAA3B;AACA,WAAO,IAAP,CAf6B,CAehB;AACb;;AAED,WAAS8B,eAAT,CAA0BhB,KAA1B,EAAiD;AAChD,QAAKA,KAAK,CAACC,MAAN,YAAwB0C,gBAA7B,EAAgD;AAC/CnE,MAAAA,uBAAuB,CAAEwB,KAAK,CAACC,MAAN,CAAa5D,KAAf,CAAvB;AACAyC,MAAAA,aAAa,CAAE,KAAF,CAAb;AACAE,MAAAA,0BAA0B,CAAE,CAAC,CAAH,CAA1B;AACAE,MAAAA,2BAA2B,CAAE,KAAF,CAA3B;AACA;;AAED,WAAO,IAAP,CARgD,CAQnC;AACb;;AAED,WAASiC,cAAT,GAA0B;AACzB,QAAKhB,kBAAkB,EAAvB,EAA4B;AAC3B0B,MAAAA,WAAW,CAAEtD,oBAAF,CAAX;AACA;;AAED,WAAO,IAAP,CALyB,CAKZ;AACb;;AAED,WAASqE,gBAAT,CAA2BnB,KAA3B,EAA2C;AAC1C/C,IAAAA,qBAAqB,CAAErC,KAAK,CAAC+F,MAAN,GAAeS,IAAI,CAACC,GAAL,CAAUrB,KAAV,EAAiB,CAAC,CAAlB,CAAf,GAAuC,CAAzC,CAArB;AACA;;AAED,WAASgB,4BAAT,GAAwC;AACvC/D,IAAAA,qBAAqB,CAAIqE,sBAAF,IAA8B;AACpD,aAAOF,IAAI,CAACG,GAAL,CAAUD,sBAAsB,GAAG,CAAnC,EAAsC1G,KAAK,CAAC+F,MAA5C,CAAP;AACA,KAFoB,CAArB;AAGA;;AAED,WAASM,uBAAT,GAAmC;AAClChE,IAAAA,qBAAqB,CAAIqE,sBAAF,IAA8B;AACpD,aAAOF,IAAI,CAACC,GAAL,CAAUC,sBAAsB,GAAG,CAAnC,EAAsC,CAAtC,CAAP;AACA,KAFoB,CAArB;AAGA;;AAED,WAAStC,sBAAT,GAAkC;AACjC,UAAMgB,KAAK,GAAGwB,eAAe,KAAK,CAAlC;;AAEA,QAAKxB,KAAK,GAAG,CAAC,CAAd,EAAkB;AACjBH,MAAAA,WAAW,CAAEjF,KAAK,CAAEoF,KAAF,CAAP,CAAX;AACA;AACD;;AAED,WAASV,qBAAT,GAAiC;AAChC,UAAMU,KAAK,GAAGwB,eAAe,EAA7B;;AAEA,QAAKxB,KAAK,GAAGpF,KAAK,CAAC+F,MAAnB,EAA4B;AAC3Bd,MAAAA,WAAW,CAAEjF,KAAK,CAAEoF,KAAF,CAAP,CAAX,CAD2B,CAE3B;;AACAmB,MAAAA,gBAAgB,CAAEnB,KAAF,CAAhB;AACA;AACD;;AAED,WAASf,eAAT,GAA2B;AAC1B,QAAIL,cAAc,GAAG,KAArB;AACA,UAAM6C,kBAAkB,GAAGC,qBAAqB,EAAhD;;AAEA,QAAKD,kBAAL,EAA0B;AACzBrB,MAAAA,WAAW,CAAEqB,kBAAF,CAAX;AACA7C,MAAAA,cAAc,GAAG,IAAjB;AACA,KAHD,MAGO,IAAKF,kBAAkB,EAAvB,EAA4B;AAClC0B,MAAAA,WAAW,CAAEtD,oBAAF,CAAX;AACA8B,MAAAA,cAAc,GAAG,IAAjB;AACA;;AAED,WAAOA,cAAP;AACA;;AAED,WAASgC,YAAT,CAAuBe,MAAvB,EAA0C;AACzC,UAAMC,WAAW,GAAG,CACnB,GAAG,IAAIC,GAAJ,CACFF,MAAM,CACJ7I,GADF,CACO0C,aADP,EAEEsG,MAFF,CAEUC,OAFV,EAGED,MAHF,CAGYrG,KAAF,IAAa,CAAEuG,kBAAkB,CAAEvG,KAAF,CAH3C,CADE,CADgB,CAApB;;AASA,QAAKmG,WAAW,CAACjB,MAAZ,GAAqB,CAA1B,EAA8B;AAC7B,YAAMsB,QAAQ,GAAGpJ,KAAK,CAAE+B,KAAF,CAAtB;AACAqH,MAAAA,QAAQ,CAACC,MAAT,CAAiBV,eAAe,EAAhC,EAAoC,CAApC,EAAuC,GAAGI,WAA1C;AACAjG,MAAAA,QAAQ,CAAEsG,QAAF,CAAR;AACA;AACD;;AAED,WAAS7B,WAAT,CAAsB3E,KAAtB,EAAsC;AACrC,QAAK,CAAEgB,2BAA2B,CAAEhB,KAAF,CAAlC,EAA8C;AAC7C/B,MAAAA,KAAK,CAAEwC,QAAQ,CAACI,qBAAX,EAAkC,WAAlC,CAAL;AACA;AACA;;AACDsE,IAAAA,YAAY,CAAE,CAAEnF,KAAF,CAAF,CAAZ;AACA/B,IAAAA,KAAK,CAAEwC,QAAQ,CAACC,KAAX,EAAkB,WAAlB,CAAL;AAEAY,IAAAA,uBAAuB,CAAE,EAAF,CAAvB;AACAQ,IAAAA,0BAA0B,CAAE,CAAC,CAAH,CAA1B;AACAE,IAAAA,2BAA2B,CAAE,KAAF,CAA3B;AACAJ,IAAAA,aAAa,CAAE,CAAEb,2BAAJ,CAAb;;AAEA,QAAKU,QAAL,EAAgB;AACfc,MAAAA,KAAK;AACL;AACD;;AAED,WAAS6B,WAAT,CAAsBpE,KAAtB,EAAkD;AACjD,UAAM0G,SAAS,GAAGvH,KAAK,CAACkH,MAAN,CAAgBM,IAAF,IAAY;AAC3C,aAAOC,aAAa,CAAED,IAAF,CAAb,KAA0BC,aAAa,CAAE5G,KAAF,CAA9C;AACA,KAFiB,CAAlB;AAGAE,IAAAA,QAAQ,CAAEwG,SAAF,CAAR;AACAzI,IAAAA,KAAK,CAAEwC,QAAQ,CAACE,OAAX,EAAoB,WAApB,CAAL;AACA;;AAED,WAASiG,aAAT,CAAwB5G,KAAxB,EAA4D;AAC3D,QAAK,aAAa,OAAOA,KAAzB,EAAiC;AAChC,aAAOA,KAAK,CAACb,KAAb;AACA;;AAED,WAAOa,KAAP;AACA;;AAED,WAASwE,sBAAT,GAME;AAAA,QALDqC,WAKC,uEALaxF,oBAKb;;AAAA,QAJDyF,YAIC,uEAJclH,WAId;;AAAA,QAHDmH,MAGC,uEAHQ5H,KAGR;;AAAA,QAFD6H,eAEC,uEAFiBnH,cAEjB;;AAAA,QADDoH,cACC,uEADgBlH,aAChB;;AACD,QAAImH,KAAK,GAAGD,cAAc,CAAEJ,WAAF,CAA1B;;AACA,UAAMM,eAAyB,GAAG,EAAlC;AACA,UAAMC,aAAuB,GAAG,EAAhC;;AACA,UAAMC,eAAe,GAAGN,MAAM,CAAC1J,GAAP,CAAcsJ,IAAF,IAAY;AAC/C,UAAK,OAAOA,IAAP,KAAgB,QAArB,EAAgC;AAC/B,eAAOA,IAAP;AACA;;AACD,aAAOA,IAAI,CAACxH,KAAZ;AACA,KALuB,CAAxB;;AAOA,QAAK+H,KAAK,CAAChC,MAAN,KAAiB,CAAtB,EAA0B;AACzB4B,MAAAA,YAAY,GAAGA,YAAY,CAACT,MAAb,CACZ/B,UAAF,IAAkB,CAAE+C,eAAe,CAACC,QAAhB,CAA0BhD,UAA1B,CADN,CAAf;AAGA,KAJD,MAIO;AACN4C,MAAAA,KAAK,GAAGA,KAAK,CAACK,iBAAN,EAAR;;AAEAT,MAAAA,YAAY,CAACU,OAAb,CAAwBlD,UAAF,IAAkB;AACvC,cAAMC,KAAK,GAAGD,UAAU,CAACiD,iBAAX,GAA+B9C,OAA/B,CAAwCyC,KAAxC,CAAd;;AACA,YAAKG,eAAe,CAAC5C,OAAhB,CAAyBH,UAAzB,MAA0C,CAAC,CAAhD,EAAoD;AACnD,cAAKC,KAAK,KAAK,CAAf,EAAmB;AAClB4C,YAAAA,eAAe,CAACM,IAAhB,CAAsBnD,UAAtB;AACA,WAFD,MAEO,IAAKC,KAAK,GAAG,CAAb,EAAiB;AACvB6C,YAAAA,aAAa,CAACK,IAAd,CAAoBnD,UAApB;AACA;AACD;AACD,OATD;;AAWAwC,MAAAA,YAAY,GAAGK,eAAe,CAACO,MAAhB,CAAwBN,aAAxB,CAAf;AACA;;AAED,WAAON,YAAY,CAAC1B,KAAb,CAAoB,CAApB,EAAuB4B,eAAvB,CAAP;AACA;;AAED,WAASf,qBAAT,GAAiC;AAChC,QAAKpE,uBAAuB,KAAK,CAAC,CAAlC,EAAsC;AACrC,aAAO2C,sBAAsB,GAAI3C,uBAAJ,CAA7B;AACA;;AAED,WAAOxB,SAAP;AACA;;AAED,WAASkG,kBAAT,CAA6BvG,KAA7B,EAA6C;AAC5C,WAAO1C,IAAI,CAAE6B,KAAF,EAAWwH,IAAF,IAAY;AAC/B,aAAOC,aAAa,CAAE5G,KAAF,CAAb,KAA2B4G,aAAa,CAAED,IAAF,CAA/C;AACA,KAFU,CAAX;AAGA;;AAED,WAASZ,eAAT,GAA2B;AAC1B,WAAO5G,KAAK,CAAC+F,MAAN,GAAe3D,kBAAtB;AACA;;AAED,WAAS+D,YAAT,GAAwB;AACvB,WAAOjE,oBAAoB,CAAC6D,MAArB,KAAgC,CAAvC;AACA;;AAED,WAASjC,kBAAT,GAA8B;AAC7B,WAAOlD,aAAa,CAAEsB,oBAAF,CAAb,CAAsC6D,MAAtC,GAA+C,CAAtD;AACA;;AAED,WAASzC,iBAAT,GAA6D;AAAA,QAAjCkF,uBAAiC,uEAAP,IAAO;AAC5D,UAAMC,oBAAoB,GAAGvG,oBAAoB,CAACpB,IAArB,GAA4BiF,MAA5B,GAAqC,CAAlE;AACA,UAAM2C,mBAAmB,GACxBrD,sBAAsB,CAAEnD,oBAAF,CADvB;AAEA,UAAMyG,sBAAsB,GAAGD,mBAAmB,CAAC3C,MAApB,GAA6B,CAA5D;AAEAtD,IAAAA,aAAa,CACZb,2BAA2B,IACxB6G,oBAAoB,IAAIE,sBAFf,CAAb;;AAKA,QAAKH,uBAAL,EAA+B;AAC9B,UACCxG,kCAAkC,IAClCyG,oBADA,IAEAE,sBAHD,EAIE;AACDhG,QAAAA,0BAA0B,CAAE,CAAF,CAA1B;AACAE,QAAAA,2BAA2B,CAAE,IAAF,CAA3B;AACA,OAPD,MAOO;AACNF,QAAAA,0BAA0B,CAAE,CAAC,CAAH,CAA1B;AACAE,QAAAA,2BAA2B,CAAE,KAAF,CAA3B;AACA;AACD;;AAED,QAAK4F,oBAAL,EAA4B;AAC3B,YAAMG,OAAO,GAAGD,sBAAsB,GACnCjK,OAAO;AACP;AACAD,MAAAA,EAAE,CACD,0DADC,EAED,2DAFC,EAGDiK,mBAAmB,CAAC3C,MAHnB,CAFK,EAOP2C,mBAAmB,CAAC3C,MAPb,CAD4B,GAUnCvH,EAAE,CAAE,aAAF,CAVL;AAYA0E,MAAAA,cAAc,CAAE0F,OAAF,EAAW,WAAX,CAAd;AACA;AACD;;AAED,WAASC,oBAAT,GAAgC;AAC/B,UAAMC,UAAU,GAAG5K,GAAG,CAAE8B,KAAF,EAAS+I,WAAT,CAAtB;AACAD,IAAAA,UAAU,CAACxB,MAAX,CAAmBV,eAAe,EAAlC,EAAsC,CAAtC,EAAyCoC,WAAW,EAApD;AAEA,WAAOF,UAAP;AACA;;AAED,WAASC,WAAT,CACClI,KADD,EAECuE,KAFD,EAGC2B,MAHD,EAIE;AACD,UAAMa,MAAM,GAAGH,aAAa,CAAE5G,KAAF,CAA5B;;AACA,UAAMoI,MAAM,GAAG,OAAOpI,KAAP,KAAiB,QAAjB,GAA4BA,KAAK,CAACoI,MAAlC,GAA2C/H,SAA1D;AACA,UAAMgI,YAAY,GAAG9D,KAAK,GAAG,CAA7B;AACA,UAAM+D,UAAU,GAAGpC,MAAM,CAAChB,MAA1B;AAEA,WACC,cAAC,QAAD;AAAU,MAAA,GAAG,EAAG,WAAW6B;AAA3B,OACC,cAAC,KAAD;AACC,MAAA,KAAK,EAAGA,MADT;AAEC,MAAA,MAAM,EAAGqB,MAFV;AAGC,MAAA,KAAK,EACJ,OAAOpI,KAAP,KAAiB,QAAjB,GAA4BA,KAAK,CAACuI,KAAlC,GAA0ClI,SAJ5C;AAMC,MAAA,gBAAgB,EAAGP,gBANpB;AAOC,MAAA,aAAa,EAAGqE,kBAPjB;AAQC,MAAA,YAAY,EACT,OAAOnE,KAAP,KAAiB,QAAjB,IAA6BA,KAAK,CAACM,YAArC,IACAA,YAVF;AAYC,MAAA,YAAY,EACX,OAAON,KAAP,KAAiB,QAAjB,GACGA,KAAK,CAACwI,YADT,GAEGnI,SAfL;AAiBC,MAAA,YAAY,EACX,OAAOL,KAAP,KAAiB,QAAjB,GACGA,KAAK,CAACyI,YADT,GAEGpI,SApBL;AAsBC,MAAA,QAAQ,EAAG,YAAY+H,MAAZ,IAAsB7H,QAtBlC;AAuBC,MAAA,QAAQ,EAAGE,QAvBZ;AAwBC,MAAA,UAAU,EAAG6H,UAxBd;AAyBC,MAAA,YAAY,EAAGD;AAzBhB,MADD,CADD;AA+BA;;AAED,WAASF,WAAT,GAAuB;AACtB,UAAMO,UAAU,GAAG;AAClBtH,MAAAA,UADkB;AAElB9B,MAAAA,cAFkB;AAGlBC,MAAAA,YAHkB;AAIlBE,MAAAA,WAAW,EAAEN,KAAK,CAAC+F,MAAN,KAAiB,CAAjB,GAAqBzF,WAArB,GAAmC,EAJ9B;AAKlBkJ,MAAAA,GAAG,EAAE,OALa;AAMlBpI,MAAAA,QANkB;AAOlBpB,MAAAA,KAAK,EAAEkC,oBAPW;AAQlB2B,MAAAA,MARkB;AASlBrB,MAAAA,UATkB;AAUlBE,MAAAA;AAVkB,KAAnB;AAaA,WACC,cAAC,UAAD,eACM6G,UADN;AAEC,MAAA,QAAQ,EACP,EAAIlJ,SAAS,IAAIL,KAAK,CAAC+F,MAAN,IAAgB1F,SAAjC,IACGoF,oBADH,GAEGvE,SALL;AAOC,MAAA,GAAG,EAAG8B;AAPP,OADD;AAWA;;AAED,QAAMyG,OAAO,GAAGrL,UAAU,CACzBoC,SADyB,EAEzB,8CAFyB,EAGzB;AACC,iBAAa8B,QADd;AAEC,mBAAelB;AAFhB,GAHyB,CAA1B;AASA,MAAIsI,eAAe,GAAG;AACrBlJ,IAAAA,SAAS,EAAE,6BADU;AAErBmJ,IAAAA,QAAQ,EAAE,CAAC;AAFU,GAAtB;AAIA,QAAMjB,mBAAmB,GAAGrD,sBAAsB,EAAlD;;AAEA,MAAK,CAAEjE,QAAP,EAAkB;AACjBsI,IAAAA,eAAe,GAAGE,MAAM,CAACC,MAAP,CAAe,EAAf,EAAmBH,eAAnB,EAAoC;AACrD3F,MAAAA,SADqD;AAErDa,MAAAA,UAFqD;AAGrD3D,MAAAA,OAAO,EAAEyC;AAH4C,KAApC,CAAlB;AAKA,GA3mB2D,CA6mB5D;AACA;AACA;;AACA;;;AACA,SACC,qBAAUgG,eAAV,EACC,cAAC,WAAD;AACC,IAAA,OAAO,EAAI,+BAA+BzH,UAAY,EADvD;AAEC,IAAA,SAAS,EAAC;AAFX,KAIG1B,KAJH,CADD,EAOC;AACC,IAAA,GAAG,EAAG0C,cADP;AAEC,IAAA,SAAS,EAAGwG,OAFb;AAGC,IAAA,QAAQ,EAAG,CAAC,CAHb;AAIC,IAAA,WAAW,EAAG1E,kBAJf;AAKC,IAAA,YAAY,EAAGA;AALhB,KAOC,cAAC,yBAAD;AACC,IAAA,OAAO,EAAC,YADT;AAEC,IAAA,KAAK,EAAC,QAFP;AAGC,IAAA,GAAG,EAAG,CAHP;AAIC,IAAA,IAAI,EAAG,IAJR;AAKC,IAAA,qBAAqB,EAAGhD,qBALzB;AAMC,IAAA,SAAS,EAAG,CAAC,CAAE/B,KAAK,CAAC+F;AANtB,KAQG8C,oBAAoB,EARvB,CAPD,EAiBGrG,UAAU,IACX,cAAC,eAAD;AACC,IAAA,UAAU,EAAGP,UADd;AAEC,IAAA,KAAK,EAAGrB,aAAa,CAAEsB,oBAAF,CAFtB;AAGC,IAAA,gBAAgB,EAAGvB,gBAHpB;AAIC,IAAA,WAAW,EAAG+H,mBAJf;AAKC,IAAA,aAAa,EAAGhG,uBALjB;AAMC,IAAA,cAAc,EAAGE,wBANlB;AAOC,IAAA,OAAO,EAAGsC,mBAPX;AAQC,IAAA,QAAQ,EAAGK,oBARZ;AASC,IAAA,wBAAwB,EAAG5D;AAT5B,IAlBF,CAPD,EAsCGG,uBAAuB,IACxB;AACC,IAAA,EAAE,EAAI,2CAA2CG,UAAY,EAD9D;AAEC,IAAA,SAAS,EAAC;AAFX,KAIGZ,eAAe,GACd7C,EAAE,CACF,iDADE,CADY,GAIdA,EAAE,CAAE,wCAAF,CARN,CAvCF,CADD;AAqDA;AACA;AAED,eAAeyB,cAAf","sourcesContent":["/**\n * External dependencies\n */\nimport { last, clone, map, some } from 'lodash';\nimport classnames from 'classnames';\nimport type { KeyboardEvent, MouseEvent, TouchEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useDebounce, useInstanceId, usePrevious } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport {\n\tBACKSPACE,\n\tENTER,\n\tUP,\n\tDOWN,\n\tLEFT,\n\tRIGHT,\n\tSPACE,\n\tDELETE,\n\tESCAPE,\n} from '@wordpress/keycodes';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport { TokensAndInputWrapperFlex } from './styles';\nimport SuggestionsList from './suggestions-list';\nimport type { FormTokenFieldProps, TokenItem } from './types';\nimport { FlexItem } from '../flex';\nimport { StyledLabel } from '../base-control/styles/base-control-styles';\n\nconst identity = ( value: string ) => value;\n\n/**\n * A `FormTokenField` is a field similar to the tags and categories fields in the interim editor chrome,\n * or the \"to\" field in Mail on OS X. Tokens can be entered by typing them or selecting them from a list of suggested tokens.\n *\n * Up to one hundred suggestions that match what the user has typed so far will be shown from which the user can pick from (auto-complete).\n * Tokens are separated by the \",\" character. Suggestions can be selected with the up or down arrows and added with the tab or enter key.\n *\n * The `value` property is handled in a manner similar to controlled form components.\n * See [Forms](http://facebook.github.io/react/docs/forms.html) in the React Documentation for more information.\n */\nexport function FormTokenField( props: FormTokenFieldProps ) {\n\tconst {\n\t\tautoCapitalize,\n\t\tautoComplete,\n\t\tmaxLength,\n\t\tplaceholder,\n\t\tlabel = __( 'Add item' ),\n\t\tclassName,\n\t\tsuggestions = [],\n\t\tmaxSuggestions = 100,\n\t\tvalue = [],\n\t\tdisplayTransform = identity,\n\t\tsaveTransform = ( token ) => token.trim(),\n\t\tonChange = () => {},\n\t\tonInputChange = () => {},\n\t\tonFocus = undefined,\n\t\tisBorderless = false,\n\t\tdisabled = false,\n\t\ttokenizeOnSpace = false,\n\t\tmessages = {\n\t\t\tadded: __( 'Item added.' ),\n\t\t\tremoved: __( 'Item removed.' ),\n\t\t\tremove: __( 'Remove item' ),\n\t\t\t__experimentalInvalid: __( 'Invalid item' ),\n\t\t},\n\t\t__experimentalRenderItem,\n\t\t__experimentalExpandOnFocus = false,\n\t\t__experimentalValidateInput = () => true,\n\t\t__experimentalShowHowTo = true,\n\t\t__next36pxDefaultSize = false,\n\t\t__experimentalAutoSelectFirstMatch = false,\n\t} = props;\n\n\tconst instanceId = useInstanceId( FormTokenField );\n\n\t// We reset to these initial values again in the onBlur\n\tconst [ incompleteTokenValue, setIncompleteTokenValue ] = useState( '' );\n\tconst [ inputOffsetFromEnd, setInputOffsetFromEnd ] = useState( 0 );\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ selectedSuggestionIndex, setSelectedSuggestionIndex ] =\n\t\tuseState( -1 );\n\tconst [ selectedSuggestionScroll, setSelectedSuggestionScroll ] =\n\t\tuseState( false );\n\n\tconst prevSuggestions = usePrevious< string[] >( suggestions );\n\tconst prevValue = usePrevious< ( string | TokenItem )[] >( value );\n\n\tconst input = useRef< HTMLInputElement >( null );\n\tconst tokensAndInput = useRef< HTMLInputElement >( null );\n\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tuseEffect( () => {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( isActive && ! hasFocus() ) {\n\t\t\tfocus();\n\t\t}\n\t}, [ isActive ] );\n\n\tuseEffect( () => {\n\t\tconst suggestionsDidUpdate = ! isShallowEqual(\n\t\t\tsuggestions,\n\t\t\tprevSuggestions || []\n\t\t);\n\n\t\tif ( suggestionsDidUpdate || value !== prevValue ) {\n\t\t\tupdateSuggestions( suggestionsDidUpdate );\n\t\t}\n\n\t\t// TODO: updateSuggestions() should first be refactored so its actual deps are clearer.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ suggestions, prevSuggestions, value, prevValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ incompleteTokenValue ] );\n\n\tif ( disabled && isActive ) {\n\t\tsetIsActive( false );\n\t\tsetIncompleteTokenValue( '' );\n\t}\n\n\tfunction focus() {\n\t\tinput.current?.focus();\n\t}\n\n\tfunction hasFocus() {\n\t\treturn input.current === input.current?.ownerDocument.activeElement;\n\t}\n\n\tfunction onFocusHandler( event: FocusEvent ) {\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( hasFocus() || event.target === tokensAndInput.current ) {\n\t\t\tsetIsActive( true );\n\t\t\tsetIsExpanded( __experimentalExpandOnFocus || isExpanded );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tsetIsActive( false );\n\t\t}\n\n\t\tif ( 'function' === typeof onFocus ) {\n\t\t\tonFocus( event );\n\t\t}\n\t}\n\n\tfunction onBlur() {\n\t\tif ( inputHasValidValue() ) {\n\t\t\tsetIsActive( false );\n\t\t} else {\n\t\t\t// Reset to initial state\n\t\t\tsetIncompleteTokenValue( '' );\n\t\t\tsetInputOffsetFromEnd( 0 );\n\t\t\tsetIsActive( false );\n\t\t\tsetIsExpanded( false );\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onKeyDown( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\t\t// TODO: replace to event.code;\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase BACKSPACE:\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenBeforeInput );\n\t\t\t\tbreak;\n\t\t\tcase ENTER:\n\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase LEFT:\n\t\t\t\tpreventDefault = handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase UP:\n\t\t\t\tpreventDefault = handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase RIGHT:\n\t\t\t\tpreventDefault = handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DOWN:\n\t\t\t\tpreventDefault = handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DELETE:\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenAfterInput );\n\t\t\t\tbreak;\n\t\t\tcase SPACE:\n\t\t\t\tif ( tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ESCAPE:\n\t\t\t\tpreventDefault = handleEscapeKey( event );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onKeyPress( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\t\t// TODO: replace to event.code;\n\t\tswitch ( event.charCode ) {\n\t\t\tcase 44: // Comma.\n\t\t\t\tpreventDefault = handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onContainerTouched( event: MouseEvent | TouchEvent ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === tokensAndInput.current && isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onTokenClickRemove( event: { value: string } ) {\n\t\tdeleteToken( event.value );\n\t\tfocus();\n\t}\n\n\tfunction onSuggestionHovered( suggestion: string ) {\n\t\tconst index = getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tsetSelectedSuggestionIndex( index );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onSuggestionSelected( suggestion: string ) {\n\t\taddNewToken( suggestion );\n\t}\n\n\tfunction onInputChangeHandler( event: { value: string } ) {\n\t\tconst text = event.value;\n\t\tconst separator = tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = last( items ) || '';\n\n\t\tif ( items.length > 1 ) {\n\t\t\taddNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\t\tsetIncompleteTokenValue( tokenValue );\n\t\tonInputChange( tokenValue );\n\t}\n\n\tfunction handleDeleteKey( _deleteToken: () => void ) {\n\t\tlet preventDefault = false;\n\t\tif ( hasFocus() && isInputEmpty() ) {\n\t\t\t_deleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleUpArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index === 0\n\t\t\t\t\t? getMatchingSuggestions(\n\t\t\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\t\t\tsuggestions,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\t\t\tsaveTransform\n\t\t\t\t\t ).length\n\t\t\t\t\t: index ) - 1\n\t\t\t);\n\t\t} );\n\t\tsetSelectedSuggestionScroll( true );\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleDownArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index + 1 ) %\n\t\t\t\tgetMatchingSuggestions(\n\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\tsuggestions,\n\t\t\t\t\tvalue,\n\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\tsaveTransform\n\t\t\t\t).length\n\t\t\t);\n\t\t} );\n\n\t\tsetSelectedSuggestionScroll( true );\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleEscapeKey( event: KeyboardEvent ) {\n\t\tif ( event.target instanceof HTMLInputElement ) {\n\t\t\tsetIncompleteTokenValue( event.target.value );\n\t\t\tsetIsExpanded( false );\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleCommaKey() {\n\t\tif ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction moveInputToIndex( index: number ) {\n\t\tsetInputOffsetFromEnd( value.length - Math.max( index, -1 ) - 1 );\n\t}\n\n\tfunction moveInputBeforePreviousToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.min( prevInputOffsetFromEnd + 1, value.length );\n\t\t} );\n\t}\n\n\tfunction moveInputAfterNextToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.max( prevInputOffsetFromEnd - 1, 0 );\n\t\t} );\n\t}\n\n\tfunction deleteTokenBeforeInput() {\n\t\tconst index = getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t}\n\t}\n\n\tfunction deleteTokenAfterInput() {\n\t\tconst index = getIndexOfInput();\n\n\t\tif ( index < value.length ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t\t// Update input offset since it's the offset from the last token.\n\t\t\tmoveInputToIndex( index );\n\t\t}\n\t}\n\n\tfunction addCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\taddNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction addNewTokens( tokens: string[] ) {\n\t\tconst tokensToAdd = [\n\t\t\t...new Set(\n\t\t\t\ttokens\n\t\t\t\t\t.map( saveTransform )\n\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t.filter( ( token ) => ! valueContainsToken( token ) )\n\t\t\t),\n\t\t];\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = clone( value );\n\t\t\tnewValue.splice( getIndexOfInput(), 0, ...tokensToAdd );\n\t\t\tonChange( newValue );\n\t\t}\n\t}\n\n\tfunction addNewToken( token: string ) {\n\t\tif ( ! __experimentalValidateInput( token ) ) {\n\t\t\tspeak( messages.__experimentalInvalid, 'assertive' );\n\t\t\treturn;\n\t\t}\n\t\taddNewTokens( [ token ] );\n\t\tspeak( messages.added, 'assertive' );\n\n\t\tsetIncompleteTokenValue( '' );\n\t\tsetSelectedSuggestionIndex( -1 );\n\t\tsetSelectedSuggestionScroll( false );\n\t\tsetIsExpanded( ! __experimentalExpandOnFocus );\n\n\t\tif ( isActive ) {\n\t\t\tfocus();\n\t\t}\n\t}\n\n\tfunction deleteToken( token: string | TokenItem ) {\n\t\tconst newTokens = value.filter( ( item ) => {\n\t\t\treturn getTokenValue( item ) !== getTokenValue( token );\n\t\t} );\n\t\tonChange( newTokens );\n\t\tspeak( messages.removed, 'assertive' );\n\t}\n\n\tfunction getTokenValue( token: { value: string } | string ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tfunction getMatchingSuggestions(\n\t\tsearchValue = incompleteTokenValue,\n\t\t_suggestions = suggestions,\n\t\t_value = value,\n\t\t_maxSuggestions = maxSuggestions,\n\t\t_saveTransform = saveTransform\n\t) {\n\t\tlet match = _saveTransform( searchValue );\n\t\tconst startsWithMatch: string[] = [];\n\t\tconst containsMatch: string[] = [];\n\t\tconst normalizedValue = _value.map( ( item ) => {\n\t\t\tif ( typeof item === 'string' ) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t\treturn item.value;\n\t\t} );\n\n\t\tif ( match.length === 0 ) {\n\t\t\t_suggestions = _suggestions.filter(\n\t\t\t\t( suggestion ) => ! normalizedValue.includes( suggestion )\n\t\t\t);\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\t_suggestions.forEach( ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( normalizedValue.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t_suggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn _suggestions.slice( 0, _maxSuggestions );\n\t}\n\n\tfunction getSelectedSuggestion() {\n\t\tif ( selectedSuggestionIndex !== -1 ) {\n\t\t\treturn getMatchingSuggestions()[ selectedSuggestionIndex ];\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tfunction valueContainsToken( token: string ) {\n\t\treturn some( value, ( item ) => {\n\t\t\treturn getTokenValue( token ) === getTokenValue( item );\n\t\t} );\n\t}\n\n\tfunction getIndexOfInput() {\n\t\treturn value.length - inputOffsetFromEnd;\n\t}\n\n\tfunction isInputEmpty() {\n\t\treturn incompleteTokenValue.length === 0;\n\t}\n\n\tfunction inputHasValidValue() {\n\t\treturn saveTransform( incompleteTokenValue ).length > 0;\n\t}\n\n\tfunction updateSuggestions( resetSelectedSuggestion = true ) {\n\t\tconst inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n\t\tconst matchingSuggestions =\n\t\t\tgetMatchingSuggestions( incompleteTokenValue );\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\n\t\tsetIsExpanded(\n\t\t\t__experimentalExpandOnFocus ||\n\t\t\t\t( inputHasMinimumChars && hasMatchingSuggestions )\n\t\t);\n\n\t\tif ( resetSelectedSuggestion ) {\n\t\t\tif (\n\t\t\t\t__experimentalAutoSelectFirstMatch &&\n\t\t\t\tinputHasMinimumChars &&\n\t\t\t\thasMatchingSuggestions\n\t\t\t) {\n\t\t\t\tsetSelectedSuggestionIndex( 0 );\n\t\t\t\tsetSelectedSuggestionScroll( true );\n\t\t\t} else {\n\t\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\t\tsetSelectedSuggestionScroll( false );\n\t\t\t}\n\t\t}\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tdebouncedSpeak( message, 'assertive' );\n\t\t}\n\t}\n\n\tfunction renderTokensAndInput() {\n\t\tconst components = map( value, renderToken );\n\t\tcomponents.splice( getIndexOfInput(), 0, renderInput() );\n\n\t\treturn components;\n\t}\n\n\tfunction renderToken(\n\t\ttoken: string | TokenItem,\n\t\tindex: number,\n\t\ttokens: ( string | TokenItem )[]\n\t) {\n\t\tconst _value = getTokenValue( token );\n\t\tconst status = typeof token !== 'string' ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<FlexItem key={ 'token-' + _value }>\n\t\t\t\t<Token\n\t\t\t\t\tvalue={ _value }\n\t\t\t\t\tstatus={ status }\n\t\t\t\t\ttitle={\n\t\t\t\t\t\ttypeof token !== 'string' ? token.title : undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\tonClickRemove={ onTokenClickRemove }\n\t\t\t\t\tisBorderless={\n\t\t\t\t\t\t( typeof token !== 'string' && token.isBorderless ) ||\n\t\t\t\t\t\tisBorderless\n\t\t\t\t\t}\n\t\t\t\t\tonMouseEnter={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseEnter\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tonMouseLeave={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseLeave\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={ 'error' !== status && disabled }\n\t\t\t\t\tmessages={ messages }\n\t\t\t\t\ttermsCount={ termsCount }\n\t\t\t\t\ttermPosition={ termPosition }\n\t\t\t\t/>\n\t\t\t</FlexItem>\n\t\t);\n\t}\n\n\tfunction renderInput() {\n\t\tconst inputProps = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tplaceholder: value.length === 0 ? placeholder : '',\n\t\t\tkey: 'input',\n\t\t\tdisabled,\n\t\t\tvalue: incompleteTokenValue,\n\t\t\tonBlur,\n\t\t\tisExpanded,\n\t\t\tselectedSuggestionIndex,\n\t\t};\n\n\t\treturn (\n\t\t\t<TokenInput\n\t\t\t\t{ ...inputProps }\n\t\t\t\tonChange={\n\t\t\t\t\t! ( maxLength && value.length >= maxLength )\n\t\t\t\t\t\t? onInputChangeHandler\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tref={ input }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\tclassName,\n\t\t'components-form-token-field__input-container',\n\t\t{\n\t\t\t'is-active': isActive,\n\t\t\t'is-disabled': disabled,\n\t\t}\n\t);\n\n\tlet tokenFieldProps = {\n\t\tclassName: 'components-form-token-field',\n\t\ttabIndex: -1,\n\t};\n\tconst matchingSuggestions = getMatchingSuggestions();\n\n\tif ( ! disabled ) {\n\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonFocus: onFocusHandler,\n\t\t} );\n\t}\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<div { ...tokenFieldProps }>\n\t\t\t<StyledLabel\n\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</StyledLabel>\n\t\t\t<div\n\t\t\t\tref={ tokensAndInput }\n\t\t\t\tclassName={ classes }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonMouseDown={ onContainerTouched }\n\t\t\t\tonTouchStart={ onContainerTouched }\n\t\t\t>\n\t\t\t\t<TokensAndInputWrapperFlex\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tgap={ 1 }\n\t\t\t\t\twrap={ true }\n\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\thasTokens={ !! value.length }\n\t\t\t\t>\n\t\t\t\t\t{ renderTokensAndInput() }\n\t\t\t\t</TokensAndInputWrapperFlex>\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\tmatch={ saveTransform( incompleteTokenValue ) }\n\t\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\tselectedIndex={ selectedSuggestionIndex }\n\t\t\t\t\t\tscrollIntoView={ selectedSuggestionScroll }\n\t\t\t\t\t\tonHover={ onSuggestionHovered }\n\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t__experimentalRenderItem={ __experimentalRenderItem }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ __experimentalShowHowTo && (\n\t\t\t\t<p\n\t\t\t\t\tid={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__help\"\n\t\t\t\t>\n\t\t\t\t\t{ tokenizeOnSpace\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Separate with commas, spaces, or the Enter key.'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Separate with commas or the Enter key.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t</div>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default FormTokenField;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/form-token-field/index.tsx"],"names":["last","clone","map","some","classnames","useEffect","useRef","useState","__","_n","sprintf","useDebounce","useInstanceId","usePrevious","speak","isShallowEqual","Token","TokenInput","TokensAndInputWrapperFlex","SuggestionsList","FlexItem","StyledLabel","identity","value","FormTokenField","props","autoCapitalize","autoComplete","maxLength","placeholder","label","className","suggestions","maxSuggestions","displayTransform","saveTransform","token","trim","onChange","onInputChange","onFocus","undefined","isBorderless","disabled","tokenizeOnSpace","messages","added","removed","remove","__experimentalInvalid","__experimentalRenderItem","__experimentalExpandOnFocus","__experimentalValidateInput","__experimentalShowHowTo","__next36pxDefaultSize","__experimentalAutoSelectFirstMatch","instanceId","incompleteTokenValue","setIncompleteTokenValue","inputOffsetFromEnd","setInputOffsetFromEnd","isActive","setIsActive","isExpanded","setIsExpanded","selectedSuggestionIndex","setSelectedSuggestionIndex","selectedSuggestionScroll","setSelectedSuggestionScroll","prevSuggestions","prevValue","input","tokensAndInput","debouncedSpeak","hasFocus","focus","suggestionsDidUpdate","updateSuggestions","current","ownerDocument","activeElement","onFocusHandler","event","target","onBlur","inputHasValidValue","onKeyDown","preventDefault","defaultPrevented","code","handleDeleteKey","deleteTokenBeforeInput","addCurrentToken","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","deleteTokenAfterInput","handleEscapeKey","onKeyPress","charCode","handleCommaKey","onContainerTouched","onTokenClickRemove","deleteToken","onSuggestionHovered","suggestion","index","getMatchingSuggestions","indexOf","onSuggestionSelected","addNewToken","onInputChangeHandler","text","separator","items","split","tokenValue","length","addNewTokens","slice","_deleteToken","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","HTMLInputElement","moveInputToIndex","Math","max","prevInputOffsetFromEnd","min","getIndexOfInput","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","Set","filter","Boolean","valueContainsToken","newValue","splice","newTokens","item","getTokenValue","searchValue","_suggestions","_value","_maxSuggestions","_saveTransform","match","startsWithMatch","containsMatch","normalizedValue","includes","toLocaleLowerCase","forEach","push","concat","resetSelectedSuggestion","inputHasMinimumChars","matchingSuggestions","hasMatchingSuggestions","shouldExpandIfFocuses","message","renderTokensAndInput","components","renderToken","renderInput","status","termPosition","termsCount","title","onMouseEnter","onMouseLeave","inputProps","key","classes","tokenFieldProps","tabIndex","Object","assign"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { last, clone, map, some } from 'lodash';\nimport classnames from 'classnames';\nimport type { KeyboardEvent, MouseEvent, TouchEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useDebounce, useInstanceId, usePrevious } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport { TokensAndInputWrapperFlex } from './styles';\nimport SuggestionsList from './suggestions-list';\nimport type { FormTokenFieldProps, TokenItem } from './types';\nimport { FlexItem } from '../flex';\nimport { StyledLabel } from '../base-control/styles/base-control-styles';\n\nconst identity = ( value: string ) => value;\n\n/**\n * A `FormTokenField` is a field similar to the tags and categories fields in the interim editor chrome,\n * or the \"to\" field in Mail on OS X. Tokens can be entered by typing them or selecting them from a list of suggested tokens.\n *\n * Up to one hundred suggestions that match what the user has typed so far will be shown from which the user can pick from (auto-complete).\n * Tokens are separated by the \",\" character. Suggestions can be selected with the up or down arrows and added with the tab or enter key.\n *\n * The `value` property is handled in a manner similar to controlled form components.\n * See [Forms](http://facebook.github.io/react/docs/forms.html) in the React Documentation for more information.\n */\nexport function FormTokenField( props: FormTokenFieldProps ) {\n\tconst {\n\t\tautoCapitalize,\n\t\tautoComplete,\n\t\tmaxLength,\n\t\tplaceholder,\n\t\tlabel = __( 'Add item' ),\n\t\tclassName,\n\t\tsuggestions = [],\n\t\tmaxSuggestions = 100,\n\t\tvalue = [],\n\t\tdisplayTransform = identity,\n\t\tsaveTransform = ( token ) => token.trim(),\n\t\tonChange = () => {},\n\t\tonInputChange = () => {},\n\t\tonFocus = undefined,\n\t\tisBorderless = false,\n\t\tdisabled = false,\n\t\ttokenizeOnSpace = false,\n\t\tmessages = {\n\t\t\tadded: __( 'Item added.' ),\n\t\t\tremoved: __( 'Item removed.' ),\n\t\t\tremove: __( 'Remove item' ),\n\t\t\t__experimentalInvalid: __( 'Invalid item' ),\n\t\t},\n\t\t__experimentalRenderItem,\n\t\t__experimentalExpandOnFocus = false,\n\t\t__experimentalValidateInput = () => true,\n\t\t__experimentalShowHowTo = true,\n\t\t__next36pxDefaultSize = false,\n\t\t__experimentalAutoSelectFirstMatch = false,\n\t} = props;\n\n\tconst instanceId = useInstanceId( FormTokenField );\n\n\t// We reset to these initial values again in the onBlur\n\tconst [ incompleteTokenValue, setIncompleteTokenValue ] = useState( '' );\n\tconst [ inputOffsetFromEnd, setInputOffsetFromEnd ] = useState( 0 );\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ selectedSuggestionIndex, setSelectedSuggestionIndex ] =\n\t\tuseState( -1 );\n\tconst [ selectedSuggestionScroll, setSelectedSuggestionScroll ] =\n\t\tuseState( false );\n\n\tconst prevSuggestions = usePrevious< string[] >( suggestions );\n\tconst prevValue = usePrevious< ( string | TokenItem )[] >( value );\n\n\tconst input = useRef< HTMLInputElement >( null );\n\tconst tokensAndInput = useRef< HTMLInputElement >( null );\n\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tuseEffect( () => {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( isActive && ! hasFocus() ) {\n\t\t\tfocus();\n\t\t}\n\t}, [ isActive ] );\n\n\tuseEffect( () => {\n\t\tconst suggestionsDidUpdate = ! isShallowEqual(\n\t\t\tsuggestions,\n\t\t\tprevSuggestions || []\n\t\t);\n\n\t\tif ( suggestionsDidUpdate || value !== prevValue ) {\n\t\t\tupdateSuggestions( suggestionsDidUpdate );\n\t\t}\n\n\t\t// TODO: updateSuggestions() should first be refactored so its actual deps are clearer.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ suggestions, prevSuggestions, value, prevValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ incompleteTokenValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ __experimentalAutoSelectFirstMatch ] );\n\n\tif ( disabled && isActive ) {\n\t\tsetIsActive( false );\n\t\tsetIncompleteTokenValue( '' );\n\t}\n\n\tfunction focus() {\n\t\tinput.current?.focus();\n\t}\n\n\tfunction hasFocus() {\n\t\treturn input.current === input.current?.ownerDocument.activeElement;\n\t}\n\n\tfunction onFocusHandler( event: FocusEvent ) {\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( hasFocus() || event.target === tokensAndInput.current ) {\n\t\t\tsetIsActive( true );\n\t\t\tsetIsExpanded( __experimentalExpandOnFocus || isExpanded );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tsetIsActive( false );\n\t\t}\n\n\t\tif ( 'function' === typeof onFocus ) {\n\t\t\tonFocus( event );\n\t\t}\n\t}\n\n\tfunction onBlur() {\n\t\tif ( inputHasValidValue() ) {\n\t\t\tsetIsActive( false );\n\t\t} else {\n\t\t\t// Reset to initial state\n\t\t\tsetIncompleteTokenValue( '' );\n\t\t\tsetInputOffsetFromEnd( 0 );\n\t\t\tsetIsActive( false );\n\t\t\tsetIsExpanded( false );\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onKeyDown( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\t\tswitch ( event.code ) {\n\t\t\tcase 'Backspace':\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenBeforeInput );\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tpreventDefault = handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tpreventDefault = handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tpreventDefault = handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tpreventDefault = handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'Delete':\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenAfterInput );\n\t\t\t\tbreak;\n\t\t\tcase 'Space':\n\t\t\t\tif ( tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tpreventDefault = handleEscapeKey( event );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onKeyPress( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\t\t// TODO: replace to event.code;\n\t\tswitch ( event.charCode ) {\n\t\t\tcase 44: // Comma.\n\t\t\t\tpreventDefault = handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onContainerTouched( event: MouseEvent | TouchEvent ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === tokensAndInput.current && isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onTokenClickRemove( event: { value: string } ) {\n\t\tdeleteToken( event.value );\n\t\tfocus();\n\t}\n\n\tfunction onSuggestionHovered( suggestion: string ) {\n\t\tconst index = getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tsetSelectedSuggestionIndex( index );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onSuggestionSelected( suggestion: string ) {\n\t\taddNewToken( suggestion );\n\t}\n\n\tfunction onInputChangeHandler( event: { value: string } ) {\n\t\tconst text = event.value;\n\t\tconst separator = tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = last( items ) || '';\n\n\t\tif ( items.length > 1 ) {\n\t\t\taddNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\t\tsetIncompleteTokenValue( tokenValue );\n\t\tonInputChange( tokenValue );\n\t}\n\n\tfunction handleDeleteKey( _deleteToken: () => void ) {\n\t\tlet preventDefault = false;\n\t\tif ( hasFocus() && isInputEmpty() ) {\n\t\t\t_deleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleUpArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index === 0\n\t\t\t\t\t? getMatchingSuggestions(\n\t\t\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\t\t\tsuggestions,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\t\t\tsaveTransform\n\t\t\t\t\t ).length\n\t\t\t\t\t: index ) - 1\n\t\t\t);\n\t\t} );\n\t\tsetSelectedSuggestionScroll( true );\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleDownArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index + 1 ) %\n\t\t\t\tgetMatchingSuggestions(\n\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\tsuggestions,\n\t\t\t\t\tvalue,\n\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\tsaveTransform\n\t\t\t\t).length\n\t\t\t);\n\t\t} );\n\n\t\tsetSelectedSuggestionScroll( true );\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleEscapeKey( event: KeyboardEvent ) {\n\t\tif ( event.target instanceof HTMLInputElement ) {\n\t\t\tsetIncompleteTokenValue( event.target.value );\n\t\t\tsetIsExpanded( false );\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleCommaKey() {\n\t\tif ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction moveInputToIndex( index: number ) {\n\t\tsetInputOffsetFromEnd( value.length - Math.max( index, -1 ) - 1 );\n\t}\n\n\tfunction moveInputBeforePreviousToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.min( prevInputOffsetFromEnd + 1, value.length );\n\t\t} );\n\t}\n\n\tfunction moveInputAfterNextToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.max( prevInputOffsetFromEnd - 1, 0 );\n\t\t} );\n\t}\n\n\tfunction deleteTokenBeforeInput() {\n\t\tconst index = getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t}\n\t}\n\n\tfunction deleteTokenAfterInput() {\n\t\tconst index = getIndexOfInput();\n\n\t\tif ( index < value.length ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t\t// Update input offset since it's the offset from the last token.\n\t\t\tmoveInputToIndex( index );\n\t\t}\n\t}\n\n\tfunction addCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\taddNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction addNewTokens( tokens: string[] ) {\n\t\tconst tokensToAdd = [\n\t\t\t...new Set(\n\t\t\t\ttokens\n\t\t\t\t\t.map( saveTransform )\n\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t.filter( ( token ) => ! valueContainsToken( token ) )\n\t\t\t),\n\t\t];\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = clone( value );\n\t\t\tnewValue.splice( getIndexOfInput(), 0, ...tokensToAdd );\n\t\t\tonChange( newValue );\n\t\t}\n\t}\n\n\tfunction addNewToken( token: string ) {\n\t\tif ( ! __experimentalValidateInput( token ) ) {\n\t\t\tspeak( messages.__experimentalInvalid, 'assertive' );\n\t\t\treturn;\n\t\t}\n\t\taddNewTokens( [ token ] );\n\t\tspeak( messages.added, 'assertive' );\n\n\t\tsetIncompleteTokenValue( '' );\n\t\tsetSelectedSuggestionIndex( -1 );\n\t\tsetSelectedSuggestionScroll( false );\n\t\tsetIsExpanded( ! __experimentalExpandOnFocus );\n\n\t\tif ( isActive ) {\n\t\t\tfocus();\n\t\t}\n\t}\n\n\tfunction deleteToken( token: string | TokenItem ) {\n\t\tconst newTokens = value.filter( ( item ) => {\n\t\t\treturn getTokenValue( item ) !== getTokenValue( token );\n\t\t} );\n\t\tonChange( newTokens );\n\t\tspeak( messages.removed, 'assertive' );\n\t}\n\n\tfunction getTokenValue( token: { value: string } | string ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tfunction getMatchingSuggestions(\n\t\tsearchValue = incompleteTokenValue,\n\t\t_suggestions = suggestions,\n\t\t_value = value,\n\t\t_maxSuggestions = maxSuggestions,\n\t\t_saveTransform = saveTransform\n\t) {\n\t\tlet match = _saveTransform( searchValue );\n\t\tconst startsWithMatch: string[] = [];\n\t\tconst containsMatch: string[] = [];\n\t\tconst normalizedValue = _value.map( ( item ) => {\n\t\t\tif ( typeof item === 'string' ) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t\treturn item.value;\n\t\t} );\n\n\t\tif ( match.length === 0 ) {\n\t\t\t_suggestions = _suggestions.filter(\n\t\t\t\t( suggestion ) => ! normalizedValue.includes( suggestion )\n\t\t\t);\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\t_suggestions.forEach( ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( normalizedValue.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t_suggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn _suggestions.slice( 0, _maxSuggestions );\n\t}\n\n\tfunction getSelectedSuggestion() {\n\t\tif ( selectedSuggestionIndex !== -1 ) {\n\t\t\treturn getMatchingSuggestions()[ selectedSuggestionIndex ];\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tfunction valueContainsToken( token: string ) {\n\t\treturn some( value, ( item ) => {\n\t\t\treturn getTokenValue( token ) === getTokenValue( item );\n\t\t} );\n\t}\n\n\tfunction getIndexOfInput() {\n\t\treturn value.length - inputOffsetFromEnd;\n\t}\n\n\tfunction isInputEmpty() {\n\t\treturn incompleteTokenValue.length === 0;\n\t}\n\n\tfunction inputHasValidValue() {\n\t\treturn saveTransform( incompleteTokenValue ).length > 0;\n\t}\n\n\tfunction updateSuggestions( resetSelectedSuggestion = true ) {\n\t\tconst inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n\t\tconst matchingSuggestions =\n\t\t\tgetMatchingSuggestions( incompleteTokenValue );\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\n\t\tconst shouldExpandIfFocuses = hasFocus() && __experimentalExpandOnFocus;\n\t\tsetIsExpanded(\n\t\t\tshouldExpandIfFocuses ||\n\t\t\t\t( inputHasMinimumChars && hasMatchingSuggestions )\n\t\t);\n\n\t\tif ( resetSelectedSuggestion ) {\n\t\t\tif (\n\t\t\t\t__experimentalAutoSelectFirstMatch &&\n\t\t\t\tinputHasMinimumChars &&\n\t\t\t\thasMatchingSuggestions\n\t\t\t) {\n\t\t\t\tsetSelectedSuggestionIndex( 0 );\n\t\t\t\tsetSelectedSuggestionScroll( true );\n\t\t\t} else {\n\t\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\t\tsetSelectedSuggestionScroll( false );\n\t\t\t}\n\t\t}\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tdebouncedSpeak( message, 'assertive' );\n\t\t}\n\t}\n\n\tfunction renderTokensAndInput() {\n\t\tconst components = map( value, renderToken );\n\t\tcomponents.splice( getIndexOfInput(), 0, renderInput() );\n\n\t\treturn components;\n\t}\n\n\tfunction renderToken(\n\t\ttoken: string | TokenItem,\n\t\tindex: number,\n\t\ttokens: ( string | TokenItem )[]\n\t) {\n\t\tconst _value = getTokenValue( token );\n\t\tconst status = typeof token !== 'string' ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<FlexItem key={ 'token-' + _value }>\n\t\t\t\t<Token\n\t\t\t\t\tvalue={ _value }\n\t\t\t\t\tstatus={ status }\n\t\t\t\t\ttitle={\n\t\t\t\t\t\ttypeof token !== 'string' ? token.title : undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\tonClickRemove={ onTokenClickRemove }\n\t\t\t\t\tisBorderless={\n\t\t\t\t\t\t( typeof token !== 'string' && token.isBorderless ) ||\n\t\t\t\t\t\tisBorderless\n\t\t\t\t\t}\n\t\t\t\t\tonMouseEnter={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseEnter\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tonMouseLeave={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseLeave\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={ 'error' !== status && disabled }\n\t\t\t\t\tmessages={ messages }\n\t\t\t\t\ttermsCount={ termsCount }\n\t\t\t\t\ttermPosition={ termPosition }\n\t\t\t\t/>\n\t\t\t</FlexItem>\n\t\t);\n\t}\n\n\tfunction renderInput() {\n\t\tconst inputProps = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tplaceholder: value.length === 0 ? placeholder : '',\n\t\t\tkey: 'input',\n\t\t\tdisabled,\n\t\t\tvalue: incompleteTokenValue,\n\t\t\tonBlur,\n\t\t\tisExpanded,\n\t\t\tselectedSuggestionIndex,\n\t\t};\n\n\t\treturn (\n\t\t\t<TokenInput\n\t\t\t\t{ ...inputProps }\n\t\t\t\tonChange={\n\t\t\t\t\t! ( maxLength && value.length >= maxLength )\n\t\t\t\t\t\t? onInputChangeHandler\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tref={ input }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\tclassName,\n\t\t'components-form-token-field__input-container',\n\t\t{\n\t\t\t'is-active': isActive,\n\t\t\t'is-disabled': disabled,\n\t\t}\n\t);\n\n\tlet tokenFieldProps = {\n\t\tclassName: 'components-form-token-field',\n\t\ttabIndex: -1,\n\t};\n\tconst matchingSuggestions = getMatchingSuggestions();\n\n\tif ( ! disabled ) {\n\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonFocus: onFocusHandler,\n\t\t} );\n\t}\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<div { ...tokenFieldProps }>\n\t\t\t<StyledLabel\n\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</StyledLabel>\n\t\t\t<div\n\t\t\t\tref={ tokensAndInput }\n\t\t\t\tclassName={ classes }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonMouseDown={ onContainerTouched }\n\t\t\t\tonTouchStart={ onContainerTouched }\n\t\t\t>\n\t\t\t\t<TokensAndInputWrapperFlex\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tgap={ 1 }\n\t\t\t\t\twrap={ true }\n\t\t\t\t\t__next36pxDefaultSize={ __next36pxDefaultSize }\n\t\t\t\t\thasTokens={ !! value.length }\n\t\t\t\t>\n\t\t\t\t\t{ renderTokensAndInput() }\n\t\t\t\t</TokensAndInputWrapperFlex>\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\tmatch={ saveTransform( incompleteTokenValue ) }\n\t\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\tselectedIndex={ selectedSuggestionIndex }\n\t\t\t\t\t\tscrollIntoView={ selectedSuggestionScroll }\n\t\t\t\t\t\tonHover={ onSuggestionHovered }\n\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t__experimentalRenderItem={ __experimentalRenderItem }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ __experimentalShowHowTo && (\n\t\t\t\t<p\n\t\t\t\t\tid={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__help\"\n\t\t\t\t>\n\t\t\t\t\t{ tokenizeOnSpace\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Separate with commas, spaces, or the Enter key.'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Separate with commas or the Enter key.' ) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t</div>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default FormTokenField;\n"]}
|
|
@@ -11,6 +11,7 @@ import { map } from 'lodash';
|
|
|
11
11
|
|
|
12
12
|
import { __, sprintf } from '@wordpress/i18n';
|
|
13
13
|
import { useCallback, useMemo } from '@wordpress/element';
|
|
14
|
+
import deprecated from '@wordpress/deprecated';
|
|
14
15
|
/**
|
|
15
16
|
* Internal dependencies
|
|
16
17
|
*/
|
|
@@ -108,7 +109,16 @@ export default function GradientPicker(_ref5) {
|
|
|
108
109
|
__experimentalIsRenderedInSidebar
|
|
109
110
|
} = _ref5;
|
|
110
111
|
const clearGradient = useCallback(() => onChange(undefined), [onChange]);
|
|
111
|
-
const Component = __experimentalHasMultipleOrigins && gradients !== null && gradients !== void 0 && gradients.length ? MultipleOrigin : SingleOrigin;
|
|
112
|
+
const Component = __experimentalHasMultipleOrigins && gradients !== null && gradients !== void 0 && gradients.length ? MultipleOrigin : SingleOrigin;
|
|
113
|
+
|
|
114
|
+
if (!__nextHasNoMargin) {
|
|
115
|
+
deprecated('Outer margin styles for wp.components.GradientPicker', {
|
|
116
|
+
since: '6.1',
|
|
117
|
+
version: '6.4',
|
|
118
|
+
hint: 'Set the `__nextHasNoMargin` prop to true to start opting into the new styles, which will become the default in a future version'
|
|
119
|
+
});
|
|
120
|
+
} // Can be removed when deprecation period is over
|
|
121
|
+
|
|
112
122
|
|
|
113
123
|
const deprecatedMarginSpacerProps = !__nextHasNoMargin ? {
|
|
114
124
|
marginTop: 3
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/gradient-picker/index.js"],"names":["map","__","sprintf","useCallback","useMemo","CircularOptionPicker","CustomGradientPicker","VStack","ColorHeading","Spacer","SingleOrigin","className","clearGradient","gradients","onChange","value","actions","content","gradientOptions","gradient","name","color","background","MultipleOrigin","index","gradientSet","length","GradientPicker","__nextHasNoMargin","clearable","disableCustomGradients","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","undefined","Component","deprecatedMarginSpacerProps","marginTop"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,WAAT,EAAsBC,OAAtB,QAAqC,oBAArC;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,OAAOC,oBAAP,MAAiC,2BAAjC;AACA,SAASC,MAAT,QAAuB,YAAvB;AACA,SAASC,YAAT,QAA6B,yBAA7B;AACA,SAASC,MAAT,QAAuB,WAAvB;;AAEA,SAASC,YAAT,OAQI;AAAA,MARmB;AACtBC,IAAAA,SADsB;AAEtBC,IAAAA,aAFsB;AAGtBC,IAAAA,SAHsB;AAItBC,IAAAA,QAJsB;AAKtBC,IAAAA,KALsB;AAMtBC,IAAAA,OANsB;AAOtBC,IAAAA;AAPsB,GAQnB;AACH,QAAMC,eAAe,
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/gradient-picker/index.js"],"names":["map","__","sprintf","useCallback","useMemo","deprecated","CircularOptionPicker","CustomGradientPicker","VStack","ColorHeading","Spacer","SingleOrigin","className","clearGradient","gradients","onChange","value","actions","content","gradientOptions","gradient","name","color","background","MultipleOrigin","index","gradientSet","length","GradientPicker","__nextHasNoMargin","clearable","disableCustomGradients","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","undefined","Component","since","version","hint","deprecatedMarginSpacerProps","marginTop"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport CircularOptionPicker from '../circular-option-picker';\nimport CustomGradientPicker from '../custom-gradient-picker';\nimport { VStack } from '../v-stack';\nimport { ColorHeading } from '../color-palette/styles';\nimport { Spacer } from '../spacer';\n\nfunction SingleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\tactions,\n\tcontent,\n} ) {\n\tconst gradientOptions = useMemo( () => {\n\t\treturn map( gradients, ( { gradient, name } ) => (\n\t\t\t<CircularOptionPicker.Option\n\t\t\t\tkey={ gradient }\n\t\t\t\tvalue={ gradient }\n\t\t\t\tisSelected={ value === gradient }\n\t\t\t\ttooltipText={\n\t\t\t\t\tname ||\n\t\t\t\t\t// translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\tsprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t\tstyle={ { color: 'rgba( 0,0,0,0 )', background: gradient } }\n\t\t\t\tonClick={\n\t\t\t\t\tvalue === gradient\n\t\t\t\t\t\t? clearGradient\n\t\t\t\t\t\t: () => onChange( gradient )\n\t\t\t\t}\n\t\t\t\taria-label={\n\t\t\t\t\tname\n\t\t\t\t\t\t? // translators: %s: The name of the gradient e.g: \"Angular red to blue\".\n\t\t\t\t\t\t sprintf( __( 'Gradient: %s' ), name )\n\t\t\t\t\t\t: // translators: %s: gradient code e.g: \"linear-gradient(90deg, rgba(98,16,153,1) 0%, rgba(172,110,22,1) 100%);\".\n\t\t\t\t\t\t sprintf( __( 'Gradient code: %s' ), gradient )\n\t\t\t\t}\n\t\t\t/>\n\t\t) );\n\t}, [ gradients, value, onChange, clearGradient ] );\n\treturn (\n\t\t<CircularOptionPicker\n\t\t\tclassName={ className }\n\t\t\toptions={ gradientOptions }\n\t\t\tactions={ actions }\n\t\t>\n\t\t\t{ content }\n\t\t</CircularOptionPicker>\n\t);\n}\n\nfunction MultipleOrigin( {\n\tclassName,\n\tclearGradient,\n\tgradients,\n\tonChange,\n\tvalue,\n\tactions,\n\tcontent,\n} ) {\n\treturn (\n\t\t<VStack spacing={ 3 } className={ className }>\n\t\t\t{ gradients.map( ( { name, gradients: gradientSet }, index ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<VStack spacing={ 2 } key={ index }>\n\t\t\t\t\t\t<ColorHeading>{ name }</ColorHeading>\n\t\t\t\t\t\t<SingleOrigin\n\t\t\t\t\t\t\tclearGradient={ clearGradient }\n\t\t\t\t\t\t\tgradients={ gradientSet }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t{ ...( gradients.length === index + 1\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\tactions,\n\t\t\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: {} ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\nexport default function GradientPicker( {\n\t/** Start opting into the new margin-free styles that will become the default in a future version. */\n\t__nextHasNoMargin = false,\n\tclassName,\n\tgradients,\n\tonChange,\n\tvalue,\n\tclearable = true,\n\tdisableCustomGradients = false,\n\t__experimentalHasMultipleOrigins,\n\t__experimentalIsRenderedInSidebar,\n} ) {\n\tconst clearGradient = useCallback(\n\t\t() => onChange( undefined ),\n\t\t[ onChange ]\n\t);\n\tconst Component =\n\t\t__experimentalHasMultipleOrigins && gradients?.length\n\t\t\t? MultipleOrigin\n\t\t\t: SingleOrigin;\n\n\tif ( ! __nextHasNoMargin ) {\n\t\tdeprecated( 'Outer margin styles for wp.components.GradientPicker', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.4',\n\t\t\thint: 'Set the `__nextHasNoMargin` prop to true to start opting into the new styles, which will become the default in a future version',\n\t\t} );\n\t}\n\n\t// Can be removed when deprecation period is over\n\tconst deprecatedMarginSpacerProps = ! __nextHasNoMargin\n\t\t? { marginTop: 3 }\n\t\t: {};\n\n\treturn (\n\t\t<Component\n\t\t\tclassName={ className }\n\t\t\tclearable={ clearable }\n\t\t\tclearGradient={ clearGradient }\n\t\t\tgradients={ gradients }\n\t\t\tonChange={ onChange }\n\t\t\tvalue={ value }\n\t\t\tactions={\n\t\t\t\tclearable &&\n\t\t\t\t( gradients?.length || ! disableCustomGradients ) && (\n\t\t\t\t\t<CircularOptionPicker.ButtonAction\n\t\t\t\t\t\tonClick={ clearGradient }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</CircularOptionPicker.ButtonAction>\n\t\t\t\t)\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t! disableCustomGradients && (\n\t\t\t\t\t<Spacer\n\t\t\t\t\t\tmarginTop={ gradients?.length ? 3 : 0 }\n\t\t\t\t\t\tmarginBottom={ 0 }\n\t\t\t\t\t\t{ ...deprecatedMarginSpacerProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<CustomGradientPicker\n\t\t\t\t\t\t\t__nextHasNoMargin={ __nextHasNoMargin }\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Spacer>\n\t\t\t\t)\n\t\t\t}\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -11,7 +11,6 @@ import classnames from 'classnames';
|
|
|
11
11
|
import { useState, useEffect, Children, useRef } from '@wordpress/element';
|
|
12
12
|
import deprecated from '@wordpress/deprecated';
|
|
13
13
|
import { __ } from '@wordpress/i18n';
|
|
14
|
-
import { LEFT, RIGHT } from '@wordpress/keycodes';
|
|
15
14
|
import { focus } from '@wordpress/dom';
|
|
16
15
|
/**
|
|
17
16
|
* Internal dependencies
|
|
@@ -79,10 +78,14 @@ export default function Guide(_ref) {
|
|
|
79
78
|
contentLabel: contentLabel,
|
|
80
79
|
onRequestClose: onFinish,
|
|
81
80
|
onKeyDown: event => {
|
|
82
|
-
if (event.
|
|
83
|
-
goBack();
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
if (event.code === 'ArrowLeft') {
|
|
82
|
+
goBack(); // Do not scroll the modal's contents.
|
|
83
|
+
|
|
84
|
+
event.preventDefault();
|
|
85
|
+
} else if (event.code === 'ArrowRight') {
|
|
86
|
+
goForward(); // Do not scroll the modal's contents.
|
|
87
|
+
|
|
88
|
+
event.preventDefault();
|
|
86
89
|
}
|
|
87
90
|
},
|
|
88
91
|
ref: guideContainer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/guide/index.js"],"names":["classnames","useState","useEffect","Children","useRef","deprecated","__","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/guide/index.js"],"names":["classnames","useState","useEffect","Children","useRef","deprecated","__","focus","Modal","Button","PageControl","Guide","children","className","contentLabel","finishButtonText","onFinish","pages","guideContainer","currentPage","setCurrentPage","count","since","alternative","current","tabbable","find","map","child","content","canGoBack","canGoForward","length","goBack","goForward","event","code","preventDefault","image"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, Children, useRef } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\nimport { __ } from '@wordpress/i18n';\nimport { focus } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport Modal from '../modal';\nimport Button from '../button';\nimport PageControl from './page-control';\n\nexport default function Guide( {\n\tchildren,\n\tclassName,\n\tcontentLabel,\n\tfinishButtonText,\n\tonFinish,\n\tpages = [],\n} ) {\n\tconst guideContainer = useRef();\n\tconst [ currentPage, setCurrentPage ] = useState( 0 );\n\n\tuseEffect( () => {\n\t\tif ( Children.count( children ) ) {\n\t\t\tdeprecated( 'Passing children to <Guide>', {\n\t\t\t\tsince: '5.5',\n\t\t\t\talternative: 'the `pages` prop',\n\t\t\t} );\n\t\t}\n\t}, [ children ] );\n\n\tuseEffect( () => {\n\t\t// Each time we change the current page, start from the first element of the page.\n\t\t// This also solves any focus loss that can happen.\n\t\tif ( guideContainer.current ) {\n\t\t\tfocus.tabbable.find( guideContainer.current )?.[ 0 ]?.focus();\n\t\t}\n\t}, [ currentPage ] );\n\n\tif ( Children.count( children ) ) {\n\t\tpages = Children.map( children, ( child ) => ( { content: child } ) );\n\t}\n\n\tconst canGoBack = currentPage > 0;\n\tconst canGoForward = currentPage < pages.length - 1;\n\n\tconst goBack = () => {\n\t\tif ( canGoBack ) {\n\t\t\tsetCurrentPage( currentPage - 1 );\n\t\t}\n\t};\n\n\tconst goForward = () => {\n\t\tif ( canGoForward ) {\n\t\t\tsetCurrentPage( currentPage + 1 );\n\t\t}\n\t};\n\n\tif ( pages.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName={ classnames( 'components-guide', className ) }\n\t\t\tcontentLabel={ contentLabel }\n\t\t\tonRequestClose={ onFinish }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\tif ( event.code === 'ArrowLeft' ) {\n\t\t\t\t\tgoBack();\n\t\t\t\t\t// Do not scroll the modal's contents.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} else if ( event.code === 'ArrowRight' ) {\n\t\t\t\t\tgoForward();\n\t\t\t\t\t// Do not scroll the modal's contents.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t} }\n\t\t\tref={ guideContainer }\n\t\t>\n\t\t\t<div className=\"components-guide__container\">\n\t\t\t\t<div className=\"components-guide__page\">\n\t\t\t\t\t{ pages[ currentPage ].image }\n\n\t\t\t\t\t{ pages.length > 1 && (\n\t\t\t\t\t\t<PageControl\n\t\t\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\t\t\tnumberOfPages={ pages.length }\n\t\t\t\t\t\t\tsetCurrentPage={ setCurrentPage }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ pages[ currentPage ].content }\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"components-guide__footer\">\n\t\t\t\t\t{ canGoBack && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__back-button\"\n\t\t\t\t\t\t\tonClick={ goBack }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Previous' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canGoForward && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__forward-button\"\n\t\t\t\t\t\t\tonClick={ goForward }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Next' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! canGoForward && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-guide__finish-button\"\n\t\t\t\t\t\t\tonClick={ onFinish }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ finishButtonText || __( 'Finish' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n"]}
|
|
@@ -8,7 +8,7 @@ const withConstrainedTabbing = createHigherOrderComponent(WrappedComponent => fu
|
|
|
8
8
|
const ref = useConstrainedTabbing();
|
|
9
9
|
return createElement("div", {
|
|
10
10
|
ref: ref,
|
|
11
|
-
tabIndex:
|
|
11
|
+
tabIndex: -1
|
|
12
12
|
}, createElement(WrappedComponent, props));
|
|
13
13
|
}, 'withConstrainedTabbing');
|
|
14
14
|
export default withConstrainedTabbing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/higher-order/with-constrained-tabbing/index.js"],"names":["createHigherOrderComponent","useConstrainedTabbing","withConstrainedTabbing","WrappedComponent","ComponentWithConstrainedTabbing","props","ref"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,0BADD,EAECC,qBAFD,QAGO,oBAHP;AAKA,MAAMC,sBAAsB,GAAGF,0BAA0B,CACtDG,gBAAF,IACC,SAASC,+BAAT,CAA0CC,KAA1C,EAAkD;AACjD,QAAMC,GAAG,GAAGL,qBAAqB,EAAjC;AACA,SACC;AAAK,IAAA,GAAG,EAAGK,GAAX;AAAiB,IAAA,QAAQ,
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/higher-order/with-constrained-tabbing/index.js"],"names":["createHigherOrderComponent","useConstrainedTabbing","withConstrainedTabbing","WrappedComponent","ComponentWithConstrainedTabbing","props","ref"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,0BADD,EAECC,qBAFD,QAGO,oBAHP;AAKA,MAAMC,sBAAsB,GAAGF,0BAA0B,CACtDG,gBAAF,IACC,SAASC,+BAAT,CAA0CC,KAA1C,EAAkD;AACjD,QAAMC,GAAG,GAAGL,qBAAqB,EAAjC;AACA,SACC;AAAK,IAAA,GAAG,EAAGK,GAAX;AAAiB,IAAA,QAAQ,EAAG,CAAC;AAA7B,KACC,cAAC,gBAAD,EAAuBD,KAAvB,CADD,CADD;AAKA,CATsD,EAUxD,wBAVwD,CAAzD;AAaA,eAAeH,sBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateHigherOrderComponent,\n\tuseConstrainedTabbing,\n} from '@wordpress/compose';\n\nconst withConstrainedTabbing = createHigherOrderComponent(\n\t( WrappedComponent ) =>\n\t\tfunction ComponentWithConstrainedTabbing( props ) {\n\t\t\tconst ref = useConstrainedTabbing();\n\t\t\treturn (\n\t\t\t\t<div ref={ ref } tabIndex={ -1 }>\n\t\t\t\t\t<WrappedComponent { ...props } />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t'withConstrainedTabbing'\n);\n\nexport default withConstrainedTabbing;\n"]}
|
|
@@ -6,6 +6,8 @@ import { createElement } from "@wordpress/element";
|
|
|
6
6
|
*/
|
|
7
7
|
import { createHigherOrderComponent, useDebounce } from '@wordpress/compose';
|
|
8
8
|
import { speak } from '@wordpress/a11y';
|
|
9
|
+
/** @typedef {import('@wordpress/element').WPComponent} WPComponent */
|
|
10
|
+
|
|
9
11
|
/**
|
|
10
12
|
* A Higher Order Component used to be provide speak and debounced speak
|
|
11
13
|
* functions.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/higher-order/with-spoken-messages/index.js"],"names":["createHigherOrderComponent","useDebounce","speak","Component","props"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,0BAAT,EAAqCC,WAArC,QAAwD,oBAAxD;AACA,SAASC,KAAT,QAAsB,iBAAtB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAeF,0BAA0B,CACtCG,SAAF,IAAmBC,KAAF,IAEf,cAAC,SAAD,eACMA,KADN;AAEC,EAAA,KAAK,EAAGF,KAFT;AAGC,EAAA,cAAc,EAAGD,WAAW,CAAEC,KAAF,EAAS,GAAT;AAH7B,GAHsC,EASxC,oBATwC,CAAzC","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * A Higher Order Component used to be provide speak and debounced speak\n * functions.\n *\n * @see https://developer.wordpress.org/block-editor/packages/packages-a11y/#speak\n *\n * @param {WPComponent} Component The component to be wrapped.\n *\n * @return {WPComponent} The wrapped component.\n */\nexport default createHigherOrderComponent(\n\t( Component ) => ( props ) =>\n\t\t(\n\t\t\t<Component\n\t\t\t\t{ ...props }\n\t\t\t\tspeak={ speak }\n\t\t\t\tdebouncedSpeak={ useDebounce( speak, 500 ) }\n\t\t\t/>\n\t\t),\n\t'withSpokenMessages'\n);\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/higher-order/with-spoken-messages/index.js"],"names":["createHigherOrderComponent","useDebounce","speak","Component","props"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,0BAAT,EAAqCC,WAArC,QAAwD,oBAAxD;AACA,SAASC,KAAT,QAAsB,iBAAtB;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAeF,0BAA0B,CACtCG,SAAF,IAAmBC,KAAF,IAEf,cAAC,SAAD,eACMA,KADN;AAEC,EAAA,KAAK,EAAGF,KAFT;AAGC,EAAA,cAAc,EAAGD,WAAW,CAAEC,KAAF,EAAS,GAAT;AAH7B,GAHsC,EASxC,oBATwC,CAAzC","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/** @typedef {import('@wordpress/element').WPComponent} WPComponent */\n\n/**\n * A Higher Order Component used to be provide speak and debounced speak\n * functions.\n *\n * @see https://developer.wordpress.org/block-editor/packages/packages-a11y/#speak\n *\n * @param {WPComponent} Component The component to be wrapped.\n *\n * @return {WPComponent} The wrapped component.\n */\nexport default createHigherOrderComponent(\n\t( Component ) => ( props ) =>\n\t\t(\n\t\t\t<Component\n\t\t\t\t{ ...props }\n\t\t\t\tspeak={ speak }\n\t\t\t\tdebouncedSpeak={ useDebounce( speak, 500 ) }\n\t\t\t/>\n\t\t),\n\t'withSpokenMessages'\n);\n"]}
|
|
@@ -6,6 +6,9 @@ import { createElement } from "@wordpress/element";
|
|
|
6
6
|
*/
|
|
7
7
|
import { forwardRef } from '@wordpress/element';
|
|
8
8
|
import deprecated from '@wordpress/deprecated';
|
|
9
|
+
/**
|
|
10
|
+
* @type {import('react').MouseEventHandler<HTMLDivElement>}
|
|
11
|
+
*/
|
|
9
12
|
|
|
10
13
|
function stopPropagation(event) {
|
|
11
14
|
event.stopPropagation();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/isolated-event-container/index.js"],"names":["forwardRef","deprecated","stopPropagation","event","ref","children","props","since"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,OAAOC,UAAP,MAAuB,uBAAvB;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/isolated-event-container/index.js"],"names":["forwardRef","deprecated","stopPropagation","event","ref","children","props","since"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,UAAT,QAA2B,oBAA3B;AACA,OAAOC,UAAP,MAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,SAASC,eAAT,CAA0BC,KAA1B,EAAkC;AACjCA,EAAAA,KAAK,CAACD,eAAN;AACA;;AAED,eAAeF,UAAU,CAAE,OAA0BI,GAA1B,KAAmC;AAAA,MAAjC;AAAEC,IAAAA,QAAF;AAAY,OAAGC;AAAf,GAAiC;AAC7DL,EAAAA,UAAU,CAAE,sCAAF,EAA0C;AACnDM,IAAAA,KAAK,EAAE;AAD4C,GAA1C,CAAV,CAD6D,CAK7D;AACA;;AACA;;AACA,SACC,kCAAUD,KAAV;AAAkB,IAAA,GAAG,EAAGF,GAAxB;AAA8B,IAAA,WAAW,EAAGF;AAA5C,MACGG,QADH,CADD;AAKA;AACA,CAdwB,CAAzB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * @type {import('react').MouseEventHandler<HTMLDivElement>}\n */\nfunction stopPropagation( event ) {\n\tevent.stopPropagation();\n}\n\nexport default forwardRef( ( { children, ...props }, ref ) => {\n\tdeprecated( 'wp.components.IsolatedEventContainer', {\n\t\tsince: '5.7',\n\t} );\n\n\t// Disable reason: this stops certain events from propagating outside of the component.\n\t// - onMouseDown is disabled as this can cause interactions with other DOM elements.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<div { ...props } ref={ ref } onMouseDown={ stopPropagation }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n} );\n"]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { camelCase } from 'change-case';
|
|
5
|
-
import { find, get
|
|
5
|
+
import { find, get } from 'lodash';
|
|
6
6
|
import { Dimensions } from 'react-native';
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
@@ -196,7 +196,7 @@ export function parseStylesVariables(styles, mappedValues, customValues) {
|
|
|
196
196
|
stylesBase = stylesBase.replace(regex, (_$1, $2) => {
|
|
197
197
|
const path = $2.split('--');
|
|
198
198
|
|
|
199
|
-
if (
|
|
199
|
+
if (path.reduce((prev, curr) => prev && prev[curr], customValuesData)) {
|
|
200
200
|
return get(customValuesData, path);
|
|
201
201
|
} // Check for camelcase properties.
|
|
202
202
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"names":["camelCase","find","get","has","Dimensions","getPxFromCssUnit","useSetting","useMultipleOriginColorsAndGradients","BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","slug","getBlockTypography","fontSizes","typographyStyles","typography","fontSize","lineHeight","parseInt","mappedFontSize","size","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","slice","length","width","height","parsedFontSize","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","availableThemeColors","reduce","origin","concat","colorPalette","editorDefaultPalette","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultPalette","defaultGradients","getGlobalStyles","rawStyles","stringify","globalStyles","customLineHeight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { find, get, has } from 'lodash';\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetPxFromCssUnit,\n\tuseSetting,\n\tuseMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = find( defaultColors, {\n\t\t\t\tslug: value,\n\t\t\t} );\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\t\t\tslug: fontSize,\n\t\t\t\t} );\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\tslug: blockStyleAttributes?.fontSize,\n\t\t} );\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = find( mappedPresetValue.values, {\n\t\t\t\t\t\tslug: path[ 1 ],\n\t\t\t\t\t} );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif ( has( customValuesData, path ) ) {\n\t\t\t\t\treturn get( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn get( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = find( mappedValues.color?.values, {\n\t\t\t\t\t\tslug: $2,\n\t\t\t\t\t} );\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys.\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'default', 'theme', 'custom' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst colorPalette =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst editorDefaultPalette = useSetting( colorPalette );\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: editorDefaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/mobile/global-styles-context/utils.native.js"],"names":["camelCase","find","get","Dimensions","getPxFromCssUnit","useSetting","useMultipleOriginColorsAndGradients","BLOCK_STYLE_ATTRIBUTES","BLOCK_STYLE_ATTRIBUTES_MAPPING","textColor","text","background","link","placeholder","PADDING","UNKNOWN_VALUE","DEFAULT_FONT_SIZE","getBlockPaddings","mergedStyle","wrapperPropsStyle","blockStyleAttributes","blockColors","blockPaddings","padding","backgroundColor","undefined","getBlockColors","defaultColors","blockName","baseGlobalStyles","blockStyles","customBlockStyles","style","color","blockGlobalStyles","blocks","Object","entries","forEach","key","value","styleKey","styles","elements","linkColor","isCustomColor","startsWith","mappedColor","slug","getBlockTypography","fontSizes","typographyStyles","typography","fontSize","lineHeight","parseInt","mappedFontSize","size","parseStylesVariables","mappedValues","customValues","stylesBase","variables","variable","regex","RegExp","varRegex","fontSizeRegex","replace","_$1","$2","path","split","mappedPresetValue","matchedValue","values","customValuesData","JSON","parse","reduce","prev","curr","slice","length","width","height","parsedFontSize","getMappedValues","features","palette","colors","theme","custom","default","normalizeFontSizes","normalizedFontSizes","dimensions","map","fontSizeObject","sizePx","useMobileGlobalStylesColors","type","colorGradientSettings","availableThemeColors","origin","concat","colorPalette","editorDefaultPalette","getColorsAndGradients","defaultEditorColors","defaultEditorGradients","rawFeatures","__experimentalGlobalStylesBaseStyles","__experimentalFeatures","gradients","defaultPalette","defaultGradients","getGlobalStyles","rawStyles","stringify","globalStyles","customLineHeight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { camelCase } from 'change-case';\nimport { find, get } from 'lodash';\nimport { Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetPxFromCssUnit,\n\tuseSetting,\n\tuseMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\n\nexport const BLOCK_STYLE_ATTRIBUTES = [\n\t'textColor',\n\t'backgroundColor',\n\t'style',\n\t'color',\n\t'fontSize',\n];\n\n// Mapping style properties name to native.\nconst BLOCK_STYLE_ATTRIBUTES_MAPPING = {\n\ttextColor: 'color',\n\ttext: 'color',\n\tbackground: 'backgroundColor',\n\tlink: 'linkColor',\n\tplaceholder: 'placeholderColor',\n};\n\nconst PADDING = 12; // $solid-border-space\nconst UNKNOWN_VALUE = 'undefined';\nconst DEFAULT_FONT_SIZE = 16;\n\nexport function getBlockPaddings(\n\tmergedStyle,\n\twrapperPropsStyle,\n\tblockStyleAttributes,\n\tblockColors\n) {\n\tconst blockPaddings = {};\n\n\tif (\n\t\t! mergedStyle.padding &&\n\t\t( wrapperPropsStyle?.backgroundColor ||\n\t\t\tblockStyleAttributes?.backgroundColor ||\n\t\t\tblockColors?.backgroundColor )\n\t) {\n\t\tblockPaddings.padding = PADDING;\n\t\treturn blockPaddings;\n\t}\n\n\t// Prevent adding extra paddings to inner blocks without background colors.\n\tif (\n\t\tmergedStyle?.padding &&\n\t\t! wrapperPropsStyle?.backgroundColor &&\n\t\t! blockStyleAttributes?.backgroundColor &&\n\t\t! blockColors?.backgroundColor\n\t) {\n\t\tblockPaddings.padding = undefined;\n\t}\n\n\treturn blockPaddings;\n}\n\nexport function getBlockColors(\n\tblockStyleAttributes,\n\tdefaultColors,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst blockStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.color || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles colors.\n\tif ( blockGlobalStyles?.color ) {\n\t\tObject.entries( blockGlobalStyles.color ).forEach(\n\t\t\t( [ key, value ] ) => {\n\t\t\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ key ];\n\n\t\t\t\tif ( styleKey && value !== UNKNOWN_VALUE ) {\n\t\t\t\t\tconst color = customBlockStyles[ key ] ?? value;\n\t\t\t\t\tblockStyles[ styleKey ] = color;\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t} else if ( baseGlobalStyles?.styles?.color?.text ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.text ] =\n\t\t\tbaseGlobalStyles?.styles?.color?.text;\n\t}\n\n\t// Global styles elements.\n\tif ( blockGlobalStyles?.elements ) {\n\t\tconst linkColor = blockGlobalStyles.elements?.link?.color?.text;\n\t\tconst styleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING.link;\n\n\t\tif ( styleKey && linkColor && linkColor !== UNKNOWN_VALUE ) {\n\t\t\tblockStyles[ styleKey ] = linkColor;\n\t\t}\n\t}\n\n\t// Custom colors.\n\tObject.entries( blockStyleAttributes ).forEach( ( [ key, value ] ) => {\n\t\tconst isCustomColor = value?.startsWith?.( '#' );\n\t\tlet styleKey = key;\n\n\t\tif ( BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ] ) {\n\t\t\tstyleKey = BLOCK_STYLE_ATTRIBUTES_MAPPING[ styleKey ];\n\t\t}\n\n\t\tif ( ! isCustomColor ) {\n\t\t\tconst mappedColor = find( defaultColors, {\n\t\t\t\tslug: value,\n\t\t\t} );\n\n\t\t\tif ( mappedColor ) {\n\t\t\t\tblockStyles[ styleKey ] = mappedColor.color;\n\t\t\t}\n\t\t} else {\n\t\t\tblockStyles[ styleKey ] = value;\n\t\t}\n\t} );\n\n\t// Color placeholder.\n\tif ( blockStyles?.color ) {\n\t\tblockStyles[ BLOCK_STYLE_ATTRIBUTES_MAPPING.placeholder ] =\n\t\t\tblockStyles.color;\n\t}\n\n\treturn blockStyles;\n}\n\nexport function getBlockTypography(\n\tblockStyleAttributes,\n\tfontSizes,\n\tblockName,\n\tbaseGlobalStyles\n) {\n\tconst typographyStyles = {};\n\tconst customBlockStyles = blockStyleAttributes?.style?.typography || {};\n\tconst blockGlobalStyles = baseGlobalStyles?.blocks?.[ blockName ];\n\n\t// Global styles.\n\tif ( blockGlobalStyles?.typography ) {\n\t\tconst fontSize = blockGlobalStyles?.typography?.fontSize;\n\t\tconst lineHeight = blockGlobalStyles?.typography?.lineHeight;\n\n\t\tif ( fontSize ) {\n\t\t\tif ( parseInt( fontSize, 10 ) ) {\n\t\t\t\ttypographyStyles.fontSize = fontSize;\n\t\t\t} else {\n\t\t\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\t\t\tslug: fontSize,\n\t\t\t\t} );\n\n\t\t\t\tif ( mappedFontSize ) {\n\t\t\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( lineHeight ) {\n\t\t\ttypographyStyles.lineHeight = lineHeight;\n\t\t}\n\t}\n\n\tif ( blockStyleAttributes?.fontSize && baseGlobalStyles ) {\n\t\tconst mappedFontSize = find( fontSizes, {\n\t\t\tslug: blockStyleAttributes?.fontSize,\n\t\t} );\n\n\t\tif ( mappedFontSize ) {\n\t\t\ttypographyStyles.fontSize = mappedFontSize?.size;\n\t\t}\n\t}\n\n\t// Custom styles.\n\tif ( customBlockStyles?.fontSize ) {\n\t\ttypographyStyles.fontSize = customBlockStyles?.fontSize;\n\t}\n\n\tif ( customBlockStyles?.lineHeight ) {\n\t\ttypographyStyles.lineHeight = customBlockStyles?.lineHeight;\n\t}\n\n\treturn typographyStyles;\n}\n\nexport function parseStylesVariables( styles, mappedValues, customValues ) {\n\tlet stylesBase = styles;\n\tconst variables = [ 'preset', 'custom', 'var', 'fontSize' ];\n\n\tif ( ! stylesBase ) {\n\t\treturn styles;\n\t}\n\n\tvariables.forEach( ( variable ) => {\n\t\t// Examples\n\t\t// var(--wp--preset--color--gray)\n\t\t// var(--wp--custom--body--typography--font-family)\n\t\t// var:preset|color|custom-color-2\n\t\tconst regex = new RegExp( `var\\\\(--wp--${ variable }--(.*?)\\\\)`, 'g' );\n\t\tconst varRegex = /\\\"var:preset\\|color\\|(.*?)\\\"/gm;\n\t\tconst fontSizeRegex = /\"fontSize\":\"(.*?)\"/gm;\n\n\t\tif ( variable === 'preset' ) {\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tconst mappedPresetValue = mappedValues[ path[ 0 ] ];\n\t\t\t\tif ( mappedPresetValue && mappedPresetValue.slug ) {\n\t\t\t\t\tconst matchedValue = find( mappedPresetValue.values, {\n\t\t\t\t\t\tslug: path[ 1 ],\n\t\t\t\t\t} );\n\t\t\t\t\treturn matchedValue?.[ mappedPresetValue.slug ];\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\t\tif ( variable === 'custom' ) {\n\t\t\tconst customValuesData = customValues ?? JSON.parse( stylesBase );\n\t\t\tstylesBase = stylesBase.replace( regex, ( _$1, $2 ) => {\n\t\t\t\tconst path = $2.split( '--' );\n\t\t\t\tif (\n\t\t\t\t\tpath.reduce(\n\t\t\t\t\t\t( prev, curr ) => prev && prev[ curr ],\n\t\t\t\t\t\tcustomValuesData\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn get( customValuesData, path );\n\t\t\t\t}\n\n\t\t\t\t// Check for camelcase properties.\n\t\t\t\treturn get( customValuesData, [\n\t\t\t\t\t...path.slice( 0, path.length - 1 ),\n\t\t\t\t\tcamelCase( path[ path.length - 1 ] ),\n\t\t\t\t] );\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'var' ) {\n\t\t\tstylesBase = stylesBase.replace( varRegex, ( _$1, $2 ) => {\n\t\t\t\tif ( mappedValues?.color ) {\n\t\t\t\t\tconst matchedValue = find( mappedValues.color?.values, {\n\t\t\t\t\t\tslug: $2,\n\t\t\t\t\t} );\n\t\t\t\t\treturn `\"${ matchedValue?.color }\"`;\n\t\t\t\t}\n\t\t\t\treturn UNKNOWN_VALUE;\n\t\t\t} );\n\t\t}\n\n\t\tif ( variable === 'fontSize' ) {\n\t\t\tconst { width, height } = Dimensions.get( 'window' );\n\n\t\t\tstylesBase = stylesBase.replace( fontSizeRegex, ( _$1, $2 ) => {\n\t\t\t\tconst parsedFontSize =\n\t\t\t\t\tgetPxFromCssUnit( $2, {\n\t\t\t\t\t\twidth,\n\t\t\t\t\t\theight,\n\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t} ) || `${ DEFAULT_FONT_SIZE }px`;\n\n\t\t\t\treturn `\"fontSize\":\"${ parsedFontSize }\"`;\n\t\t\t} );\n\t\t}\n\t} );\n\n\treturn JSON.parse( stylesBase );\n}\n\nexport function getMappedValues( features, palette ) {\n\tconst typography = features?.typography;\n\tconst colors = [\n\t\t...( palette?.theme || [] ),\n\t\t...( palette?.custom || [] ),\n\t\t...( palette?.default || [] ),\n\t];\n\n\tconst fontSizes = {\n\t\t...typography?.fontSizes?.theme,\n\t\t...typography?.fontSizes?.custom,\n\t};\n\tconst mappedValues = {\n\t\tcolor: {\n\t\t\tvalues: colors,\n\t\t\tslug: 'color',\n\t\t},\n\t\t'font-size': {\n\t\t\tvalues: fontSizes,\n\t\t\tslug: 'size',\n\t\t},\n\t};\n\treturn mappedValues;\n}\n\n/**\n * Returns the normalized fontSizes to include the sizePx value for each of the different sizes.\n *\n * @param {Object} fontSizes found in global styles.\n * @return {Object} normalized sizes.\n */\nfunction normalizeFontSizes( fontSizes ) {\n\t// Adds normalized PX values for each of the different keys.\n\tif ( ! fontSizes ) {\n\t\treturn fontSizes;\n\t}\n\tconst normalizedFontSizes = {};\n\tconst dimensions = Dimensions.get( 'window' );\n\n\t[ 'default', 'theme', 'custom' ].forEach( ( key ) => {\n\t\tif ( fontSizes[ key ] ) {\n\t\t\tnormalizedFontSizes[ key ] = fontSizes[ key ]?.map(\n\t\t\t\t( fontSizeObject ) => {\n\t\t\t\t\tfontSizeObject.sizePx = getPxFromCssUnit(\n\t\t\t\t\t\tfontSizeObject.size,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\twidth: dimensions.width,\n\t\t\t\t\t\t\theight: dimensions.height,\n\t\t\t\t\t\t\tfontSize: DEFAULT_FONT_SIZE,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\treturn fontSizeObject;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t} );\n\n\treturn normalizedFontSizes;\n}\n\nexport function useMobileGlobalStylesColors( type = 'colors' ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst availableThemeColors = colorGradientSettings?.[ type ]?.reduce(\n\t\t( colors, origin ) => colors.concat( origin?.[ type ] ),\n\t\t[]\n\t);\n\t// Default editor colors/gradients if it's not a block-based theme.\n\tconst colorPalette =\n\t\ttype === 'colors' ? 'color.palette' : 'color.gradients';\n\tconst editorDefaultPalette = useSetting( colorPalette );\n\n\treturn availableThemeColors.length >= 1\n\t\t? availableThemeColors\n\t\t: editorDefaultPalette;\n}\n\nexport function getColorsAndGradients(\n\tdefaultEditorColors = [],\n\tdefaultEditorGradients = [],\n\trawFeatures\n) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\n\treturn {\n\t\t__experimentalGlobalStylesBaseStyles: null,\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\t...( ! features?.color\n\t\t\t\t\t? {\n\t\t\t\t\t\t\ttext: true,\n\t\t\t\t\t\t\tbackground: true,\n\t\t\t\t\t\t\tpalette: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorColors,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgradients: {\n\t\t\t\t\t\t\t\tdefault: defaultEditorGradients,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t }\n\t\t\t\t\t: features?.color ),\n\t\t\t\tdefaultPalette: defaultEditorColors?.length > 0,\n\t\t\t\tdefaultGradients: defaultEditorGradients?.length > 0,\n\t\t\t},\n\t\t},\n\t};\n}\n\nexport function getGlobalStyles( rawStyles, rawFeatures ) {\n\tconst features = rawFeatures ? JSON.parse( rawFeatures ) : {};\n\tconst mappedValues = getMappedValues( features, features?.color?.palette );\n\tconst colors = parseStylesVariables(\n\t\tJSON.stringify( features?.color ),\n\t\tmappedValues\n\t);\n\tconst gradients = parseStylesVariables(\n\t\tJSON.stringify( features?.color?.gradients ),\n\t\tmappedValues\n\t);\n\tconst customValues = parseStylesVariables(\n\t\tJSON.stringify( features?.custom ),\n\t\tmappedValues\n\t);\n\tconst globalStyles = parseStylesVariables(\n\t\trawStyles,\n\t\tmappedValues,\n\t\tcustomValues\n\t);\n\n\tconst fontSizes = normalizeFontSizes( features?.typography?.fontSizes );\n\n\treturn {\n\t\t__experimentalFeatures: {\n\t\t\tcolor: {\n\t\t\t\tpalette: colors?.palette,\n\t\t\t\tgradients,\n\t\t\t\ttext: features?.color?.text ?? true,\n\t\t\t\tbackground: features?.color?.background ?? true,\n\t\t\t\tdefaultPalette: features?.color?.defaultPalette ?? true,\n\t\t\t\tdefaultGradients: features?.color?.defaultGradients ?? true,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSizes,\n\t\t\t\tcustomLineHeight: features?.custom?.[ 'line-height' ],\n\t\t\t},\n\t\t},\n\t\t__experimentalGlobalStylesBaseStyles: globalStyles,\n\t};\n}\n"]}
|
|
@@ -2,14 +2,9 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import { createElement } from "@wordpress/element";
|
|
3
3
|
// @ts-nocheck
|
|
4
4
|
|
|
5
|
-
/**
|
|
6
|
-
* External dependencies
|
|
7
|
-
*/
|
|
8
|
-
import { includes } from 'lodash';
|
|
9
5
|
/**
|
|
10
6
|
* WordPress dependencies
|
|
11
7
|
*/
|
|
12
|
-
|
|
13
8
|
import { forwardRef } from '@wordpress/element';
|
|
14
9
|
import { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';
|
|
15
10
|
/**
|
|
@@ -41,11 +36,11 @@ export function NavigableMenu(_ref, ref) {
|
|
|
41
36
|
previous = [LEFT, UP];
|
|
42
37
|
}
|
|
43
38
|
|
|
44
|
-
if (includes(
|
|
39
|
+
if (next.includes(keyCode)) {
|
|
45
40
|
return 1;
|
|
46
|
-
} else if (includes(
|
|
41
|
+
} else if (previous.includes(keyCode)) {
|
|
47
42
|
return -1;
|
|
48
|
-
} else if (
|
|
43
|
+
} else if ([DOWN, UP, LEFT, RIGHT].includes(keyCode)) {
|
|
49
44
|
// Key press should be handled, e.g. have event propagation and
|
|
50
45
|
// default behavior handled by NavigableContainer but not result
|
|
51
46
|
// in an offset.
|