@wordpress/components 19.4.1-next.f435e9e01b.0 → 19.6.1-next.a55ed9455a.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 +35 -4
- package/CONTRIBUTING.md +69 -2
- package/build/alignment-matrix-control/utils.js +1 -1
- package/build/alignment-matrix-control/utils.js.map +1 -1
- package/build/angle-picker-control/angle-circle.js +1 -1
- package/build/angle-picker-control/angle-circle.js.map +1 -1
- package/build/animation/index.js +0 -6
- package/build/animation/index.js.map +1 -1
- package/build/autocomplete/get-default-use-items.js +3 -3
- package/build/autocomplete/get-default-use-items.js.map +1 -1
- package/build/base-field/hook.js +1 -1
- package/build/base-field/hook.js.map +1 -1
- package/build/box-control/icon.js +1 -1
- package/build/box-control/icon.js.map +1 -1
- package/build/box-control/index.js +4 -4
- package/build/box-control/index.js.map +1 -1
- package/build/box-control/unit-control.js +2 -2
- package/build/box-control/unit-control.js.map +1 -1
- package/build/box-control/utils.js +12 -8
- package/build/box-control/utils.js.map +1 -1
- package/build/button/index.js +5 -5
- package/build/button/index.js.map +1 -1
- package/build/button/index.native.js +7 -7
- package/build/button/index.native.js.map +1 -1
- package/build/card/card/component.js +2 -2
- package/build/card/card/component.js.map +1 -1
- package/build/card/card-body/component.js +1 -1
- package/build/card/card-body/component.js.map +1 -1
- package/build/card/card-divider/component.js +1 -1
- package/build/card/card-divider/component.js.map +1 -1
- package/build/card/card-footer/component.js +1 -1
- package/build/card/card-footer/component.js.map +1 -1
- package/build/card/card-header/component.js +1 -1
- package/build/card/card-header/component.js.map +1 -1
- package/build/card/card-media/component.js +1 -1
- package/build/card/card-media/component.js.map +1 -1
- package/build/color-palette/index.native.js +35 -30
- package/build/color-palette/index.native.js.map +1 -1
- package/build/color-picker/color-display.js +1 -1
- package/build/color-picker/color-display.js.map +1 -1
- package/build/color-picker/component.js.map +1 -1
- package/build/color-picker/hex-input.js +6 -9
- package/build/color-picker/hex-input.js.map +1 -1
- package/build/color-picker/styles.js +8 -8
- package/build/color-picker/styles.js.map +1 -1
- package/build/combobox-control/index.js +1 -1
- package/build/combobox-control/index.js.map +1 -1
- package/build/confirm-dialog/component.js +4 -2
- package/build/confirm-dialog/component.js.map +1 -1
- package/build/date-time/time.js +7 -4
- package/build/date-time/time.js.map +1 -1
- package/build/divider/component.js +5 -4
- package/build/divider/component.js.map +1 -1
- package/build/draggable/index.js +3 -3
- package/build/draggable/index.js.map +1 -1
- package/build/elevation/component.js +1 -1
- package/build/elevation/component.js.map +1 -1
- package/build/flex/flex/component.js +1 -1
- package/build/flex/flex/component.js.map +1 -1
- package/build/flex/flex-block/component.js +1 -1
- package/build/flex/flex-block/component.js.map +1 -1
- package/build/flex/flex-item/component.js +1 -1
- package/build/flex/flex-item/component.js.map +1 -1
- package/build/flyout/flyout/component.js +1 -1
- package/build/flyout/flyout/component.js.map +1 -1
- package/build/flyout/flyout-content/component.js +1 -1
- package/build/flyout/flyout-content/component.js.map +1 -1
- package/build/focal-point-picker/index.js +18 -12
- package/build/focal-point-picker/index.js.map +1 -1
- package/build/focal-point-picker/index.native.js +7 -7
- package/build/focal-point-picker/index.native.js.map +1 -1
- package/build/focal-point-picker/tooltip/index.native.js +1 -1
- package/build/focal-point-picker/tooltip/index.native.js.map +1 -1
- package/build/font-size-picker/index.js +1 -2
- package/build/font-size-picker/index.js.map +1 -1
- package/build/form-token-field/index.js +6 -6
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/suggestions-list.js +2 -2
- package/build/form-token-field/suggestions-list.js.map +1 -1
- package/build/grid/component.js +1 -1
- package/build/grid/component.js.map +1 -1
- package/build/h-stack/component.js +1 -1
- package/build/h-stack/component.js.map +1 -1
- package/build/heading/component.js +6 -5
- package/build/heading/component.js.map +1 -1
- package/build/heading/hook.js +1 -1
- package/build/heading/hook.js.map +1 -1
- package/build/higher-order/with-notices/index.js +1 -1
- package/build/higher-order/with-notices/index.js.map +1 -1
- package/build/index.js +14 -2
- package/build/index.js.map +1 -1
- package/build/index.native.js +15 -1
- package/build/index.native.js.map +1 -1
- package/build/input-control/index.js.map +1 -1
- package/build/input-control/input-base.js +1 -1
- package/build/input-control/input-base.js.map +1 -1
- package/build/input-control/input-field.js +19 -17
- package/build/input-control/input-field.js.map +1 -1
- package/build/input-control/reducer/reducer.js +3 -0
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/input-control/styles/input-control-styles.js +25 -25
- package/build/input-control/styles/input-control-styles.js.map +1 -1
- package/build/isolated-event-container/index.js +1 -1
- package/build/isolated-event-container/index.js.map +1 -1
- package/build/item-group/item/component.js.map +1 -1
- package/build/item-group/item-group/component.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
- package/build/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
- package/build/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build/mobile/bottom-sheet/cell.native.js +1 -1
- package/build/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js +11 -11
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/link-cell.native.js +1 -1
- package/build/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
- package/build/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
- package/build/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
- package/build/mobile/color-settings/palette.screen.native.js +26 -9
- package/build/mobile/color-settings/palette.screen.native.js.map +1 -1
- package/build/mobile/global-styles-context/utils.native.js +73 -19
- package/build/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build/mobile/gradient/index.native.js +2 -2
- package/build/mobile/gradient/index.native.js.map +1 -1
- package/build/mobile/html-text-input/container.ios.js +3 -3
- package/build/mobile/html-text-input/container.ios.js.map +1 -1
- package/build/mobile/html-text-input/index.native.js +1 -1
- package/build/mobile/html-text-input/index.native.js.map +1 -1
- package/build/mobile/image/index.native.js +1 -1
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/inserter-button/index.native.js +3 -3
- package/build/mobile/inserter-button/index.native.js.map +1 -1
- package/build/mobile/inserter-button/sparkles.js +25 -0
- package/build/mobile/inserter-button/sparkles.js.map +1 -0
- package/build/mobile/keyboard-aware-flat-list/index.android.js +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
- package/build/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
- package/build/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build/mobile/link-picker/index.native.js +3 -3
- package/build/mobile/link-picker/index.native.js.map +1 -1
- package/build/mobile/link-picker/link-picker-results.native.js +8 -8
- package/build/mobile/link-picker/link-picker-results.native.js.map +1 -1
- package/build/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
- package/build/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
- package/build/mobile/link-settings/index.native.js +1 -1
- package/build/mobile/link-settings/index.native.js.map +1 -1
- package/build/modal/aria-helper.js +1 -1
- package/build/modal/aria-helper.js.map +1 -1
- package/build/modal/index.js +2 -2
- package/build/modal/index.js.map +1 -1
- package/build/navigable-container/container.js +2 -2
- package/build/navigable-container/container.js.map +1 -1
- package/build/navigable-container/tabbable.js +1 -1
- package/build/navigable-container/tabbable.js.map +1 -1
- package/build/navigation/item/index.js +1 -1
- package/build/navigation/item/index.js.map +1 -1
- package/build/navigation/menu/index.js +1 -1
- package/build/navigation/menu/index.js.map +1 -1
- package/build/navigator/index.js +16 -0
- package/build/navigator/index.js.map +1 -1
- package/build/navigator/navigator-back-button/component.js +72 -0
- package/build/navigator/navigator-back-button/component.js.map +1 -0
- package/build/navigator/navigator-back-button/hook.js +49 -0
- package/build/navigator/navigator-back-button/hook.js.map +1 -0
- package/build/navigator/navigator-back-button/index.js +16 -0
- package/build/navigator/navigator-back-button/index.js.map +1 -0
- package/build/navigator/navigator-button/component.js +71 -0
- package/build/navigator/navigator-button/component.js.map +1 -0
- package/build/navigator/navigator-button/hook.js +59 -0
- package/build/navigator/navigator-button/hook.js.map +1 -0
- package/build/navigator/navigator-button/index.js +16 -0
- package/build/navigator/navigator-button/index.js.map +1 -0
- package/build/navigator/navigator-provider/component.js +12 -22
- package/build/navigator/navigator-provider/component.js.map +1 -1
- package/build/navigator/navigator-screen/component.js +14 -22
- package/build/navigator/navigator-screen/component.js.map +1 -1
- package/build/number-control/index.js +1 -1
- package/build/number-control/index.js.map +1 -1
- package/build/panel/body.js +2 -2
- package/build/panel/body.js.map +1 -1
- package/build/popover/index.js +3 -3
- package/build/popover/index.js.map +1 -1
- package/build/popover/utils.js +6 -6
- package/build/popover/utils.js.map +1 -1
- package/build/radio-group/index.js +1 -1
- package/build/radio-group/index.js.map +1 -1
- package/build/range-control/styles/range-control-styles.js +29 -29
- package/build/range-control/styles/range-control-styles.js.map +1 -1
- package/build/resizable-box/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build/sandbox/index.js +5 -5
- package/build/sandbox/index.js.map +1 -1
- package/build/sandbox/index.native.js +1 -1
- package/build/sandbox/index.native.js.map +1 -1
- package/build/scrollable/component.js +1 -1
- package/build/scrollable/component.js.map +1 -1
- package/build/select-control/index.js +1 -1
- package/build/select-control/index.js.map +1 -1
- package/build/select-control/styles/select-control-styles.js +5 -5
- package/build/select-control/styles/select-control-styles.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
- package/build/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
- package/build/slot-fill/bubbles-virtually/slot.js +1 -1
- package/build/slot-fill/bubbles-virtually/slot.js.map +1 -1
- package/build/slot-fill/fill.js +1 -1
- package/build/slot-fill/fill.js.map +1 -1
- package/build/slot-fill/provider.js +1 -1
- package/build/slot-fill/provider.js.map +1 -1
- package/build/snackbar/index.js +1 -1
- package/build/snackbar/index.js.map +1 -1
- package/build/snackbar/list.js +1 -1
- package/build/snackbar/list.js.map +1 -1
- package/build/spacer/component.js.map +1 -1
- package/build/style-provider/index.js +2 -2
- package/build/style-provider/index.js.map +1 -1
- package/build/surface/component.js +1 -1
- package/build/surface/component.js.map +1 -1
- package/build/text/component.js +1 -1
- package/build/text/component.js.map +1 -1
- package/build/text-control/index.js +2 -2
- package/build/text-control/index.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +2 -2
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/styles.js +8 -8
- package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
- package/build/toolbar/index.js +1 -1
- package/build/toolbar/index.js.map +1 -1
- package/build/tools-panel/tools-panel/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/tools-panel/tools-panel-item/component.js.map +1 -1
- package/build/tooltip/index.js +3 -3
- package/build/tooltip/index.js.map +1 -1
- package/build/tooltip/index.native.js +7 -7
- package/build/tooltip/index.native.js.map +1 -1
- package/build/tree-grid/index.js +50 -6
- package/build/tree-grid/index.js.map +1 -1
- package/build/truncate/component.js +1 -1
- package/build/truncate/component.js.map +1 -1
- package/build/truncate/utils.js +1 -1
- package/build/truncate/utils.js.map +1 -1
- package/build/ui/context/context-connect.js +8 -15
- package/build/ui/context/context-connect.js.map +1 -1
- package/build/ui/context/context-system-provider.js +2 -2
- package/build/ui/context/context-system-provider.js.map +1 -1
- package/build/ui/context/index.js.map +1 -1
- package/build/ui/control-group/component.js +1 -1
- package/build/ui/control-group/component.js.map +1 -1
- package/build/ui/control-label/component.js +1 -1
- package/build/ui/control-label/component.js.map +1 -1
- package/build/ui/form-group/form-group.js +1 -1
- package/build/ui/form-group/form-group.js.map +1 -1
- package/build/ui/shortcut/component.js.map +1 -1
- package/build/ui/spinner/component.js +1 -1
- package/build/ui/spinner/component.js.map +1 -1
- package/build/ui/tooltip/component.js +1 -1
- package/build/ui/tooltip/component.js.map +1 -1
- package/build/ui/tooltip/content.js +1 -1
- package/build/ui/tooltip/content.js.map +1 -1
- package/build/ui/utils/colors.js +2 -2
- package/build/ui/utils/colors.js.map +1 -1
- package/build/ui/utils/space.js +2 -2
- package/build/ui/utils/space.js.map +1 -1
- package/build/unit-control/index.js +38 -29
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/index.native.js +4 -2
- package/build/unit-control/index.native.js.map +1 -1
- package/build/unit-control/unit-select-control.js +1 -1
- package/build/unit-control/unit-select-control.js.map +1 -1
- package/build/unit-control/utils.js +96 -104
- package/build/unit-control/utils.js.map +1 -1
- package/build/utils/breakpoint-values.js +1 -1
- package/build/utils/breakpoint-values.js.map +1 -1
- package/build/utils/colors-values.js +1 -1
- package/build/utils/colors-values.js.map +1 -1
- package/build/v-stack/component.js +1 -1
- package/build/v-stack/component.js.map +1 -1
- package/build/visually-hidden/component.js +1 -1
- package/build/visually-hidden/component.js.map +1 -1
- package/build/z-stack/component.js.map +1 -1
- package/build-module/alignment-matrix-control/utils.js +1 -1
- package/build-module/alignment-matrix-control/utils.js.map +1 -1
- package/build-module/angle-picker-control/angle-circle.js +1 -1
- package/build-module/angle-picker-control/angle-circle.js.map +1 -1
- package/build-module/animation/index.js +1 -1
- package/build-module/animation/index.js.map +1 -1
- package/build-module/autocomplete/get-default-use-items.js +3 -3
- package/build-module/autocomplete/get-default-use-items.js.map +1 -1
- package/build-module/base-field/hook.js +1 -1
- package/build-module/base-field/hook.js.map +1 -1
- package/build-module/box-control/icon.js +1 -1
- package/build-module/box-control/icon.js.map +1 -1
- package/build-module/box-control/index.js +5 -5
- package/build-module/box-control/index.js.map +1 -1
- package/build-module/box-control/unit-control.js +1 -1
- package/build-module/box-control/unit-control.js.map +1 -1
- package/build-module/box-control/utils.js +13 -9
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/button/index.js +5 -5
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/index.native.js +7 -7
- package/build-module/button/index.native.js.map +1 -1
- package/build-module/card/card/component.js +2 -2
- package/build-module/card/card/component.js.map +1 -1
- package/build-module/card/card-body/component.js +1 -1
- package/build-module/card/card-body/component.js.map +1 -1
- package/build-module/card/card-divider/component.js +1 -1
- package/build-module/card/card-divider/component.js.map +1 -1
- package/build-module/card/card-footer/component.js +1 -1
- package/build-module/card/card-footer/component.js.map +1 -1
- package/build-module/card/card-header/component.js +1 -1
- package/build-module/card/card-header/component.js.map +1 -1
- package/build-module/card/card-media/component.js +1 -1
- package/build-module/card/card-media/component.js.map +1 -1
- package/build-module/color-palette/index.native.js +36 -31
- package/build-module/color-palette/index.native.js.map +1 -1
- package/build-module/color-picker/color-display.js +1 -1
- package/build-module/color-picker/color-display.js.map +1 -1
- package/build-module/color-picker/component.js.map +1 -1
- package/build-module/color-picker/hex-input.js +6 -9
- package/build-module/color-picker/hex-input.js.map +1 -1
- package/build-module/color-picker/styles.js +8 -8
- package/build-module/color-picker/styles.js.map +1 -1
- package/build-module/combobox-control/index.js +1 -1
- package/build-module/combobox-control/index.js.map +1 -1
- package/build-module/confirm-dialog/component.js +4 -5
- package/build-module/confirm-dialog/component.js.map +1 -1
- package/build-module/date-time/time.js +7 -4
- package/build-module/date-time/time.js.map +1 -1
- package/build-module/divider/component.js +3 -3
- package/build-module/divider/component.js.map +1 -1
- package/build-module/draggable/index.js +3 -3
- package/build-module/draggable/index.js.map +1 -1
- package/build-module/elevation/component.js +1 -1
- package/build-module/elevation/component.js.map +1 -1
- package/build-module/flex/flex/component.js +1 -1
- package/build-module/flex/flex/component.js.map +1 -1
- package/build-module/flex/flex-block/component.js +1 -1
- package/build-module/flex/flex-block/component.js.map +1 -1
- package/build-module/flex/flex-item/component.js +1 -1
- package/build-module/flex/flex-item/component.js.map +1 -1
- package/build-module/flyout/flyout/component.js +1 -1
- package/build-module/flyout/flyout/component.js.map +1 -1
- package/build-module/flyout/flyout-content/component.js +1 -1
- package/build-module/flyout/flyout-content/component.js.map +1 -1
- package/build-module/focal-point-picker/index.js +18 -12
- package/build-module/focal-point-picker/index.js.map +1 -1
- package/build-module/focal-point-picker/index.native.js +7 -7
- package/build-module/focal-point-picker/index.native.js.map +1 -1
- package/build-module/focal-point-picker/tooltip/index.native.js +1 -1
- package/build-module/focal-point-picker/tooltip/index.native.js.map +1 -1
- package/build-module/font-size-picker/index.js +1 -2
- package/build-module/font-size-picker/index.js.map +1 -1
- package/build-module/form-token-field/index.js +6 -6
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/suggestions-list.js +2 -2
- package/build-module/form-token-field/suggestions-list.js.map +1 -1
- package/build-module/grid/component.js +1 -1
- package/build-module/grid/component.js.map +1 -1
- package/build-module/h-stack/component.js +1 -1
- package/build-module/h-stack/component.js.map +1 -1
- package/build-module/heading/component.js +4 -4
- package/build-module/heading/component.js.map +1 -1
- package/build-module/heading/hook.js +1 -1
- package/build-module/heading/hook.js.map +1 -1
- package/build-module/higher-order/with-notices/index.js +1 -1
- package/build-module/higher-order/with-notices/index.js.map +1 -1
- package/build-module/index.js +5 -5
- package/build-module/index.js.map +1 -1
- package/build-module/index.native.js +5 -5
- package/build-module/index.native.js.map +1 -1
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/input-control/input-base.js +1 -1
- package/build-module/input-control/input-base.js.map +1 -1
- package/build-module/input-control/input-field.js +19 -16
- package/build-module/input-control/input-field.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js +3 -0
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/input-control/styles/input-control-styles.js +25 -25
- package/build-module/input-control/styles/input-control-styles.js.map +1 -1
- package/build-module/isolated-event-container/index.js +1 -1
- package/build-module/isolated-event-container/index.js.map +1 -1
- package/build-module/item-group/item/component.js.map +1 -1
- package/build-module/item-group/item-group/component.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
- package/build-module/mobile/bottom-sheet/bottom-sheet-context.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +1 -1
- package/build-module/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js +1 -1
- package/build-module/mobile/bottom-sheet/cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js +11 -11
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/link-cell.native.js +1 -1
- package/build-module/mobile/bottom-sheet/link-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
- package/build-module/mobile/bottom-sheet/link-suggestion-item-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
- package/build-module/mobile/bottom-sheet/nav-bar/back-button.native.js.map +1 -1
- package/build-module/mobile/color-settings/palette.screen.native.js +27 -10
- package/build-module/mobile/color-settings/palette.screen.native.js.map +1 -1
- package/build-module/mobile/global-styles-context/utils.native.js +70 -20
- package/build-module/mobile/global-styles-context/utils.native.js.map +1 -1
- package/build-module/mobile/gradient/index.native.js +2 -2
- package/build-module/mobile/gradient/index.native.js.map +1 -1
- package/build-module/mobile/html-text-input/container.ios.js +3 -3
- package/build-module/mobile/html-text-input/container.ios.js.map +1 -1
- package/build-module/mobile/html-text-input/index.native.js +1 -1
- package/build-module/mobile/html-text-input/index.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +1 -1
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/inserter-button/index.native.js +1 -1
- package/build-module/mobile/inserter-button/index.native.js.map +1 -1
- package/build-module/mobile/inserter-button/sparkles.js +16 -0
- package/build-module/mobile/inserter-button/sparkles.js.map +1 -0
- package/build-module/mobile/keyboard-aware-flat-list/index.android.js +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/index.android.js.map +1 -1
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
- package/build-module/mobile/keyboard-aware-flat-list/index.ios.js.map +1 -1
- package/build-module/mobile/link-picker/index.native.js +3 -3
- package/build-module/mobile/link-picker/index.native.js.map +1 -1
- package/build-module/mobile/link-picker/link-picker-results.native.js +8 -8
- package/build-module/mobile/link-picker/link-picker-results.native.js.map +1 -1
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
- package/build-module/mobile/link-settings/image-link-destinations-screen.native.js.map +1 -1
- package/build-module/mobile/link-settings/index.native.js +1 -1
- package/build-module/mobile/link-settings/index.native.js.map +1 -1
- package/build-module/modal/aria-helper.js +1 -1
- package/build-module/modal/aria-helper.js.map +1 -1
- package/build-module/modal/index.js +2 -2
- package/build-module/modal/index.js.map +1 -1
- package/build-module/navigable-container/container.js +2 -2
- package/build-module/navigable-container/container.js.map +1 -1
- package/build-module/navigable-container/tabbable.js +1 -1
- package/build-module/navigable-container/tabbable.js.map +1 -1
- package/build-module/navigation/item/index.js +1 -1
- package/build-module/navigation/item/index.js.map +1 -1
- package/build-module/navigation/menu/index.js +1 -1
- package/build-module/navigation/menu/index.js.map +1 -1
- package/build-module/navigator/index.js +2 -0
- package/build-module/navigator/index.js.map +1 -1
- package/build-module/navigator/navigator-back-button/component.js +59 -0
- package/build-module/navigator/navigator-back-button/component.js.map +1 -0
- package/build-module/navigator/navigator-back-button/hook.js +36 -0
- package/build-module/navigator/navigator-back-button/hook.js.map +1 -0
- package/build-module/navigator/navigator-back-button/index.js +2 -0
- package/build-module/navigator/navigator-back-button/index.js.map +1 -0
- package/build-module/navigator/navigator-button/component.js +58 -0
- package/build-module/navigator/navigator-button/component.js.map +1 -0
- package/build-module/navigator/navigator-button/hook.js +46 -0
- package/build-module/navigator/navigator-button/hook.js.map +1 -0
- package/build-module/navigator/navigator-button/index.js +2 -0
- package/build-module/navigator/navigator-button/index.js.map +1 -0
- package/build-module/navigator/navigator-provider/component.js +12 -22
- package/build-module/navigator/navigator-provider/component.js.map +1 -1
- package/build-module/navigator/navigator-screen/component.js +13 -22
- package/build-module/navigator/navigator-screen/component.js.map +1 -1
- package/build-module/number-control/index.js +1 -1
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/panel/body.js +2 -2
- package/build-module/panel/body.js.map +1 -1
- package/build-module/popover/index.js +3 -3
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/utils.js +6 -6
- package/build-module/popover/utils.js.map +1 -1
- package/build-module/radio-group/index.js +1 -1
- package/build-module/radio-group/index.js.map +1 -1
- package/build-module/range-control/styles/range-control-styles.js +29 -29
- package/build-module/range-control/styles/range-control-styles.js.map +1 -1
- package/build-module/resizable-box/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/label.js.map +1 -1
- package/build-module/sandbox/index.js +5 -5
- package/build-module/sandbox/index.js.map +1 -1
- package/build-module/sandbox/index.native.js +1 -1
- package/build-module/sandbox/index.native.js.map +1 -1
- package/build-module/scrollable/component.js +1 -1
- package/build-module/scrollable/component.js.map +1 -1
- package/build-module/select-control/index.js +2 -2
- package/build-module/select-control/index.js.map +1 -1
- package/build-module/select-control/styles/select-control-styles.js +5 -5
- package/build-module/select-control/styles/select-control-styles.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot-fill-provider.js.map +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot.js +1 -1
- package/build-module/slot-fill/bubbles-virtually/slot.js.map +1 -1
- package/build-module/slot-fill/fill.js +1 -1
- package/build-module/slot-fill/fill.js.map +1 -1
- package/build-module/slot-fill/provider.js +1 -1
- package/build-module/slot-fill/provider.js.map +1 -1
- package/build-module/snackbar/index.js +1 -1
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/list.js +1 -1
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/spacer/component.js.map +1 -1
- package/build-module/style-provider/index.js +2 -2
- package/build-module/style-provider/index.js.map +1 -1
- package/build-module/surface/component.js +1 -1
- package/build-module/surface/component.js.map +1 -1
- package/build-module/text/component.js +1 -1
- package/build-module/text/component.js.map +1 -1
- package/build-module/text-control/index.js +2 -2
- package/build-module/text-control/index.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +2 -2
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option/styles.js +8 -8
- package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
- package/build-module/toolbar/index.js +1 -1
- package/build-module/toolbar/index.js.map +1 -1
- package/build-module/tools-panel/tools-panel/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-item/component.js.map +1 -1
- package/build-module/tooltip/index.js +3 -3
- package/build-module/tooltip/index.js.map +1 -1
- package/build-module/tooltip/index.native.js +7 -7
- package/build-module/tooltip/index.native.js.map +1 -1
- package/build-module/tree-grid/index.js +51 -7
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/truncate/component.js +1 -1
- package/build-module/truncate/component.js.map +1 -1
- package/build-module/truncate/utils.js +1 -1
- package/build-module/truncate/utils.js.map +1 -1
- package/build-module/ui/context/context-connect.js +9 -16
- package/build-module/ui/context/context-connect.js.map +1 -1
- package/build-module/ui/context/context-system-provider.js +2 -2
- package/build-module/ui/context/context-system-provider.js.map +1 -1
- package/build-module/ui/context/index.js.map +1 -1
- package/build-module/ui/control-group/component.js +1 -1
- package/build-module/ui/control-group/component.js.map +1 -1
- package/build-module/ui/control-label/component.js +1 -1
- package/build-module/ui/control-label/component.js.map +1 -1
- package/build-module/ui/form-group/form-group.js +1 -1
- package/build-module/ui/form-group/form-group.js.map +1 -1
- package/build-module/ui/shortcut/component.js.map +1 -1
- package/build-module/ui/spinner/component.js +1 -1
- package/build-module/ui/spinner/component.js.map +1 -1
- package/build-module/ui/tooltip/component.js +1 -1
- package/build-module/ui/tooltip/component.js.map +1 -1
- package/build-module/ui/tooltip/content.js +1 -1
- package/build-module/ui/tooltip/content.js.map +1 -1
- package/build-module/ui/utils/colors.js +2 -2
- package/build-module/ui/utils/colors.js.map +1 -1
- package/build-module/ui/utils/space.js +2 -2
- package/build-module/ui/utils/space.js.map +1 -1
- package/build-module/unit-control/index.js +39 -30
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/index.native.js +5 -3
- package/build-module/unit-control/index.native.js.map +1 -1
- package/build-module/unit-control/unit-select-control.js +1 -1
- package/build-module/unit-control/unit-select-control.js.map +1 -1
- package/build-module/unit-control/utils.js +92 -100
- package/build-module/unit-control/utils.js.map +1 -1
- package/build-module/utils/breakpoint-values.js +1 -1
- package/build-module/utils/breakpoint-values.js.map +1 -1
- package/build-module/utils/colors-values.js +1 -1
- package/build-module/utils/colors-values.js.map +1 -1
- package/build-module/v-stack/component.js +1 -1
- package/build-module/v-stack/component.js.map +1 -1
- package/build-module/visually-hidden/component.js +1 -1
- package/build-module/visually-hidden/component.js.map +1 -1
- package/build-module/z-stack/component.js.map +1 -1
- package/build-style/style-rtl.css +8 -0
- package/build-style/style.css +8 -0
- package/build-types/base-field/hook.d.ts +2 -1
- package/build-types/base-field/hook.d.ts.map +1 -1
- package/build-types/card/card/hook.d.ts +2 -1
- package/build-types/card/card/hook.d.ts.map +1 -1
- package/build-types/card/card-body/hook.d.ts +2 -1
- package/build-types/card/card-body/hook.d.ts.map +1 -1
- package/build-types/card/card-divider/hook.d.ts +2 -3
- package/build-types/card/card-divider/hook.d.ts.map +1 -1
- package/build-types/card/card-footer/hook.d.ts +2 -1
- package/build-types/card/card-footer/hook.d.ts.map +1 -1
- package/build-types/card/card-header/hook.d.ts +2 -1
- package/build-types/card/card-header/hook.d.ts.map +1 -1
- package/build-types/card/card-media/hook.d.ts +2 -1
- package/build-types/card/card-media/hook.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +2 -4
- package/build-types/color-picker/styles.d.ts.map +1 -1
- package/build-types/confirm-dialog/component.d.ts +10 -6
- package/build-types/confirm-dialog/component.d.ts.map +1 -1
- package/build-types/confirm-dialog/types.d.ts +2 -0
- package/build-types/confirm-dialog/types.d.ts.map +1 -1
- package/build-types/divider/component.d.ts +2 -2
- package/build-types/divider/component.d.ts.map +1 -1
- package/build-types/divider/stories/index.d.ts +10 -0
- package/build-types/divider/stories/index.d.ts.map +1 -0
- package/build-types/divider/types.d.ts +1 -1
- package/build-types/divider/types.d.ts.map +1 -1
- package/build-types/elevation/hook.d.ts +2 -1
- package/build-types/elevation/hook.d.ts.map +1 -1
- package/build-types/flex/flex/hook.d.ts +2 -1
- package/build-types/flex/flex/hook.d.ts.map +1 -1
- package/build-types/flex/flex-block/hook.d.ts +2 -1
- package/build-types/flex/flex-block/hook.d.ts.map +1 -1
- package/build-types/flex/flex-item/hook.d.ts +2 -1
- package/build-types/flex/flex-item/hook.d.ts.map +1 -1
- package/build-types/flyout/flyout/hook.d.ts +2 -2
- package/build-types/grid/hook.d.ts +2 -1
- package/build-types/grid/hook.d.ts.map +1 -1
- package/build-types/h-stack/hook.d.ts +3 -2
- package/build-types/h-stack/hook.d.ts.map +1 -1
- package/build-types/heading/component.d.ts +3 -3
- package/build-types/heading/component.d.ts.map +1 -1
- package/build-types/heading/hook.d.ts +2 -1
- package/build-types/heading/hook.d.ts.map +1 -1
- package/build-types/heading/stories/index.d.ts +12 -0
- package/build-types/heading/stories/index.d.ts.map +1 -0
- package/build-types/input-control/index.d.ts +3 -3
- package/build-types/input-control/index.d.ts.map +1 -1
- package/build-types/input-control/input-base.d.ts +2 -2
- package/build-types/input-control/input-base.d.ts.map +1 -1
- package/build-types/input-control/input-field.d.ts +1 -3
- package/build-types/input-control/input-field.d.ts.map +1 -1
- package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +1 -1
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/item-group/item/hook.d.ts +2 -1
- package/build-types/item-group/item/hook.d.ts.map +1 -1
- package/build-types/item-group/item-group/hook.d.ts +2 -1
- package/build-types/item-group/item-group/hook.d.ts.map +1 -1
- package/build-types/navigator/index.d.ts +2 -0
- package/build-types/navigator/index.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/component.d.ts +38 -0
- package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -0
- package/build-types/navigator/navigator-back-button/hook.d.ts +283 -0
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -0
- package/build-types/navigator/navigator-back-button/index.d.ts +2 -0
- package/build-types/navigator/navigator-back-button/index.d.ts.map +1 -0
- package/build-types/navigator/navigator-button/component.d.ts +37 -0
- package/build-types/navigator/navigator-button/component.d.ts.map +1 -0
- package/build-types/navigator/navigator-button/hook.d.ts +283 -0
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -0
- package/build-types/navigator/navigator-button/index.d.ts +2 -0
- package/build-types/navigator/navigator-button/index.d.ts.map +1 -0
- package/build-types/navigator/navigator-provider/component.d.ts +10 -20
- package/build-types/navigator/navigator-provider/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-screen/component.d.ts +10 -20
- package/build-types/navigator/navigator-screen/component.d.ts.map +1 -1
- package/build-types/navigator/types.d.ts +21 -0
- package/build-types/navigator/types.d.ts.map +1 -1
- package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
- package/build-types/resizable-box/index.d.ts +2 -2
- package/build-types/resizable-box/index.d.ts.map +1 -1
- package/build-types/resizable-box/resize-tooltip/index.d.ts.map +1 -1
- package/build-types/scrollable/hook.d.ts +2 -1
- package/build-types/scrollable/hook.d.ts.map +1 -1
- package/build-types/select-control/index.d.ts +1 -3
- package/build-types/select-control/index.d.ts.map +1 -1
- package/build-types/select-control/styles/select-control-styles.d.ts.map +1 -1
- package/build-types/spacer/hook.d.ts +2 -1
- package/build-types/spacer/hook.d.ts.map +1 -1
- package/build-types/surface/hook.d.ts +2 -1
- package/build-types/surface/hook.d.ts.map +1 -1
- package/build-types/text/hook.d.ts +2 -1
- package/build-types/text/hook.d.ts.map +1 -1
- package/build-types/text/types.d.ts +1 -2
- package/build-types/text/types.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts +2 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-header/hook.d.ts +2 -1
- package/build-types/tools-panel/tools-panel-header/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-item/hook.d.ts +2 -1
- package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
- package/build-types/truncate/hook.d.ts +2 -1
- package/build-types/truncate/hook.d.ts.map +1 -1
- package/build-types/ui/context/context-connect.d.ts +18 -16
- package/build-types/ui/context/context-connect.d.ts.map +1 -1
- package/build-types/ui/context/index.d.ts +4 -4
- package/build-types/ui/context/index.d.ts.map +1 -1
- package/build-types/ui/context/wordpress-component.d.ts +3 -6
- package/build-types/ui/context/wordpress-component.d.ts.map +1 -1
- package/build-types/ui/control-group/hook.d.ts +2 -1
- package/build-types/ui/control-group/hook.d.ts.map +1 -1
- package/build-types/ui/control-label/hook.d.ts +2 -1
- package/build-types/ui/control-label/hook.d.ts.map +1 -1
- package/build-types/ui/form-group/use-form-group.d.ts +6 -4
- package/build-types/ui/form-group/use-form-group.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +3 -5
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/types.d.ts +4 -6
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/unit-control/utils.d.ts +47 -38
- package/build-types/unit-control/utils.d.ts.map +1 -1
- package/build-types/v-stack/hook.d.ts +2 -1
- package/build-types/v-stack/hook.d.ts.map +1 -1
- package/build-types/z-stack/component.d.ts.map +1 -1
- package/package.json +19 -18
- package/src/alignment-matrix-control/README.md +4 -0
- package/src/alignment-matrix-control/stories/index.js +1 -1
- package/src/alignment-matrix-control/utils.js +1 -1
- package/src/angle-picker-control/angle-circle.js +1 -1
- package/src/animation/index.js +0 -1
- package/src/autocomplete/get-default-use-items.js +3 -3
- package/src/base-control/stories/index.js +65 -22
- package/src/base-field/hook.js +1 -1
- package/src/box-control/icon.js +1 -1
- package/src/box-control/index.js +5 -5
- package/src/box-control/stories/index.js +4 -1
- package/src/box-control/test/index.js +27 -7
- package/src/box-control/unit-control.js +1 -1
- package/src/box-control/utils.js +13 -9
- package/src/button/index.js +5 -5
- package/src/button/index.native.js +7 -7
- package/src/button/style.scss +1 -0
- package/src/card/card/component.js +1 -1
- package/src/card/card-body/component.js +1 -1
- package/src/card/card-divider/component.js +1 -1
- package/src/card/card-footer/component.js +1 -1
- package/src/card/card-header/component.js +1 -1
- package/src/card/card-media/component.js +1 -1
- package/src/color-palette/index.native.js +92 -75
- package/src/color-palette/style.native.scss +10 -5
- package/src/color-palette/style.scss +1 -0
- package/src/color-picker/color-display.tsx +1 -1
- package/src/color-picker/component.tsx +2 -2
- package/src/color-picker/hex-input.tsx +9 -9
- package/src/color-picker/styles.ts +1 -1
- package/src/color-picker/test/index.js +1 -1
- package/src/combobox-control/index.js +1 -1
- package/src/combobox-control/style.scss +1 -0
- package/src/confirm-dialog/README.md +56 -45
- package/src/confirm-dialog/component.tsx +6 -4
- package/src/confirm-dialog/stories/index.js +19 -0
- package/src/confirm-dialog/test/index.js +28 -0
- package/src/confirm-dialog/types.ts +2 -0
- package/src/date-time/style.scss +4 -0
- package/src/date-time/time.js +16 -5
- package/src/dimension-control/test/index.test.js +1 -1
- package/src/disabled/test/index.js +1 -1
- package/src/divider/component.tsx +5 -5
- package/src/divider/stories/index.tsx +70 -0
- package/src/divider/types.ts +3 -1
- package/src/draggable/index.js +3 -3
- package/src/draggable/stories/index.js +1 -1
- package/src/elevation/component.js +1 -1
- package/src/flex/flex/component.js +1 -1
- package/src/flex/flex-block/component.js +1 -1
- package/src/flex/flex-item/component.js +1 -1
- package/src/flyout/flyout/README.md +1 -1
- package/src/flyout/flyout/component.js +1 -1
- package/src/flyout/flyout-content/component.js +1 -1
- package/src/flyout/test/index.js +1 -1
- package/src/focal-point-picker/README.md +7 -0
- package/src/focal-point-picker/index.js +12 -7
- package/src/focal-point-picker/index.native.js +7 -7
- package/src/focal-point-picker/stories/index.js +30 -0
- package/src/focal-point-picker/test/index.js +44 -0
- package/src/focal-point-picker/tooltip/index.native.js +1 -1
- package/src/font-size-picker/README.md +1 -2
- package/src/font-size-picker/index.js +1 -2
- package/src/font-size-picker/stories/index.js +87 -108
- package/src/form-file-upload/README.md +1 -1
- package/src/form-file-upload/stories/index.js +51 -0
- package/src/form-token-field/index.js +6 -6
- package/src/form-token-field/style.scss +1 -0
- package/src/form-token-field/suggestions-list.js +2 -2
- package/src/form-token-field/test/index.js +6 -6
- package/src/grid/component.js +1 -1
- package/src/h-stack/component.js +1 -1
- package/src/heading/component.tsx +6 -6
- package/src/heading/hook.ts +1 -1
- package/src/heading/stories/index.tsx +37 -0
- package/src/higher-order/with-filters/test/index.js +1 -1
- package/src/higher-order/with-focus-outside/test/index.js +1 -1
- package/src/higher-order/with-notices/index.js +1 -1
- package/src/higher-order/with-notices/test/index.js +3 -3
- package/src/index.js +6 -4
- package/src/index.native.js +9 -5
- package/src/input-control/index.tsx +2 -2
- package/src/input-control/input-base.tsx +3 -3
- package/src/input-control/input-field.tsx +16 -15
- package/src/input-control/reducer/reducer.ts +3 -0
- package/src/input-control/stories/index.js +1 -1
- package/src/input-control/styles/input-control-styles.tsx +1 -0
- package/src/input-control/test/index.js +4 -4
- package/src/input-control/types.ts +1 -1
- package/src/isolated-event-container/index.js +1 -1
- package/src/item-group/item/component.tsx +2 -2
- package/src/item-group/item-group/component.tsx +2 -2
- package/src/item-group/test/index.js +0 -1
- package/src/mobile/bottom-sheet/bottom-sheet-context.native.js +4 -4
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-container.native.js +1 -1
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/navigation-screen.native.js +10 -1
- package/src/mobile/bottom-sheet/cell.native.js +1 -1
- package/src/mobile/bottom-sheet/index.native.js +11 -11
- package/src/mobile/bottom-sheet/link-cell.native.js +1 -1
- package/src/mobile/bottom-sheet/link-suggestion-item-cell.native.js +1 -1
- package/src/mobile/bottom-sheet/nav-bar/back-button.native.js +1 -1
- package/src/mobile/color-settings/palette.screen.native.js +39 -9
- package/src/mobile/color-settings/style.native.scss +4 -0
- package/src/mobile/global-styles-context/test/fixtures/theme.native.js +27 -0
- package/src/mobile/global-styles-context/test/utils.native.js +2 -2
- package/src/mobile/global-styles-context/utils.native.js +85 -16
- package/src/mobile/gradient/index.native.js +2 -2
- package/src/mobile/html-text-input/container.ios.js +3 -3
- package/src/mobile/html-text-input/index.native.js +1 -1
- package/src/mobile/html-text-input/test/index.native.js +14 -14
- package/src/mobile/image/index.native.js +1 -1
- package/src/mobile/inserter-button/index.native.js +1 -2
- package/src/mobile/inserter-button/sparkles.js +15 -0
- package/src/mobile/keyboard-aware-flat-list/index.android.js +1 -1
- package/src/mobile/keyboard-aware-flat-list/index.ios.js +2 -2
- package/src/mobile/link-picker/index.native.js +3 -3
- package/src/mobile/link-picker/link-picker-results.native.js +8 -8
- package/src/mobile/link-settings/image-link-destinations-screen.native.js +2 -2
- package/src/mobile/link-settings/index.native.js +1 -2
- package/src/mobile/link-settings/test/edit.native.js +15 -15
- package/src/modal/aria-helper.js +1 -1
- package/src/modal/index.js +2 -2
- package/src/navigable-container/container.js +2 -2
- package/src/navigable-container/tabbable.js +1 -1
- package/src/navigable-container/test/menu.js +5 -5
- package/src/navigable-container/test/tabbable.js +2 -2
- package/src/navigation/item/index.js +1 -1
- package/src/navigation/menu/index.js +1 -1
- package/src/navigation/stories/controlled-state.js +2 -2
- package/src/navigation/stories/index.js +1 -1
- package/src/navigator/index.ts +2 -0
- package/src/navigator/navigator-back-button/README.md +31 -0
- package/src/navigator/navigator-back-button/component.tsx +62 -0
- package/src/navigator/navigator-back-button/hook.ts +40 -0
- package/src/navigator/navigator-back-button/index.ts +1 -0
- package/src/navigator/navigator-button/README.md +38 -0
- package/src/navigator/navigator-button/component.tsx +61 -0
- package/src/navigator/navigator-button/hook.ts +55 -0
- package/src/navigator/navigator-button/index.ts +1 -0
- package/src/navigator/navigator-provider/README.md +20 -33
- package/src/navigator/navigator-provider/component.tsx +13 -23
- package/src/navigator/navigator-screen/README.md +1 -1
- package/src/navigator/navigator-screen/component.tsx +16 -25
- package/src/navigator/stories/index.js +24 -37
- package/src/navigator/test/index.js +105 -51
- package/src/navigator/types.ts +27 -1
- package/src/number-control/index.js +1 -1
- package/src/number-control/stories/index.js +1 -1
- package/src/panel/body.js +2 -2
- package/src/popover/index.js +3 -3
- package/src/popover/utils.js +6 -6
- package/src/radio/stories/index.js +1 -1
- package/src/radio-group/index.js +1 -1
- package/src/radio-group/stories/index.js +4 -1
- package/src/range-control/stories/index.js +1 -1
- package/src/range-control/styles/range-control-styles.js +1 -1
- package/src/range-control/test/index.js +2 -2
- package/src/resizable-box/index.tsx +2 -2
- package/src/resizable-box/resize-tooltip/index.tsx +2 -2
- package/src/resizable-box/resize-tooltip/label.tsx +2 -2
- package/src/sandbox/index.js +5 -5
- package/src/sandbox/index.native.js +1 -1
- package/src/scrollable/component.js +1 -1
- package/src/select-control/index.tsx +3 -4
- package/src/select-control/styles/select-control-styles.ts +1 -0
- package/src/slot-fill/bubbles-virtually/slot-fill-provider.js +1 -1
- package/src/slot-fill/bubbles-virtually/slot.js +1 -2
- package/src/slot-fill/fill.js +1 -1
- package/src/slot-fill/provider.js +1 -1
- package/src/snackbar/index.js +1 -1
- package/src/snackbar/list.js +1 -1
- package/src/spacer/component.tsx +2 -2
- package/src/style-provider/index.js +2 -2
- package/src/surface/component.js +1 -1
- package/src/tab-panel/test/index.js +1 -1
- package/src/text/component.js +1 -1
- package/src/text/test/index.js +2 -2
- package/src/text/types.ts +6 -8
- package/src/text-control/index.js +2 -2
- package/src/text-highlight/test/index.js +4 -4
- package/src/toggle-control/test/index.js +3 -3
- package/src/toggle-group-control/stories/index.js +1 -1
- package/src/toggle-group-control/test/__snapshots__/index.js.snap +1 -0
- package/src/toggle-group-control/toggle-group-control/component.tsx +4 -4
- package/src/toggle-group-control/toggle-group-control-option/component.tsx +2 -2
- package/src/toggle-group-control/toggle-group-control-option/styles.ts +1 -0
- package/src/toolbar/index.js +1 -1
- package/src/toolbar-group/test/index.js +2 -2
- package/src/tools-panel/stories/index.js +0 -1
- package/src/tools-panel/tools-panel/component.tsx +2 -2
- package/src/tools-panel/tools-panel-header/component.tsx +2 -2
- package/src/tools-panel/tools-panel-item/component.tsx +2 -2
- package/src/tooltip/index.js +3 -3
- package/src/tooltip/index.native.js +7 -7
- package/src/tooltip/test/index.js +2 -2
- package/src/tooltip/test/index.native.js +2 -2
- package/src/tree-grid/README.md +24 -1
- package/src/tree-grid/index.js +66 -7
- package/src/tree-grid/stories/index.js +4 -1
- package/src/tree-grid/test/__snapshots__/index.js.snap +1 -14
- package/src/tree-grid/test/index.js +259 -8
- package/src/truncate/component.js +1 -1
- package/src/truncate/utils.js +1 -1
- package/src/ui/context/{context-connect.js → context-connect.ts} +27 -16
- package/src/ui/context/context-system-provider.js +2 -2
- package/src/ui/context/{index.js → index.ts} +0 -0
- package/src/ui/context/wordpress-component.ts +3 -2
- package/src/ui/control-group/component.js +1 -1
- package/src/ui/control-label/component.js +1 -1
- package/src/ui/form-group/form-group.js +1 -1
- package/src/ui/shortcut/component.tsx +2 -2
- package/src/ui/spinner/component.js +1 -1
- package/src/ui/tooltip/component.js +1 -1
- package/src/ui/tooltip/content.js +1 -1
- package/src/ui/tooltip/test/index.js +4 -4
- package/src/ui/utils/colors.js +2 -2
- package/src/ui/utils/space.ts +2 -2
- package/src/unit-control/README.md +1 -1
- package/src/unit-control/index.native.js +5 -3
- package/src/unit-control/index.tsx +66 -37
- package/src/unit-control/stories/index.js +1 -1
- package/src/unit-control/test/index.js +102 -3
- package/src/unit-control/test/utils.js +56 -15
- package/src/unit-control/types.ts +5 -8
- package/src/unit-control/unit-select-control.tsx +1 -1
- package/src/unit-control/utils.ts +128 -125
- package/src/utils/breakpoint-values.js +1 -1
- package/src/utils/colors-values.js +1 -1
- package/src/utils/hooks/test/use-controlled-state.js +1 -1
- package/src/utils/hooks/test/use-controlled-value.js +3 -3
- package/src/utils/hooks/test/use-latest-ref.js +1 -1
- package/src/utils/test/math.js +2 -2
- package/src/utils/test/rtl.js +12 -12
- package/src/v-stack/component.js +1 -1
- package/src/visually-hidden/component.js +1 -1
- package/src/z-stack/component.tsx +2 -2
- package/tsconfig.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/src/divider/stories/index.js +0 -64
- package/src/heading/stories/index.js +0 -24
- package/src/tools-panel/stories/typography-panel.js +0 -215
|
@@ -78,7 +78,7 @@ function Label(_ref2) {
|
|
|
78
78
|
delay: visible ? 500 : 0,
|
|
79
79
|
easing: Easing.out(Easing.quad)
|
|
80
80
|
}).start();
|
|
81
|
-
}; // Transforms rely upon onLayout to enable custom offsets additions
|
|
81
|
+
}; // Transforms rely upon onLayout to enable custom offsets additions.
|
|
82
82
|
|
|
83
83
|
|
|
84
84
|
let tooltipTransforms;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/focal-point-picker/tooltip/index.native.js"],"names":["Animated","Easing","PanResponder","Text","View","createContext","useEffect","useRef","useState","useContext","styles","TooltipContext","Tooltip","children","onPress","style","visible","panResponder","create","onStartShouldSetPanResponderCapture","current","panHandlers","Label","align","text","xOffset","yOffset","animationValue","Value","dimensions","setDimensions","Error","startAnimation","timing","toValue","duration","useNativeDriver","delay","easing","out","quad","start","tooltipTransforms","translateX","width","translateY","height","tooltipStyles","tooltip","shadowColor","tooltipShadow","color","shadowOffset","shadowOpacity","shadowRadius","elevation","transform","tooltipLeftAlign","arrowStyles","arrow","arrowLeftAlign","opacity","interpolate","inputRange","outputRange","nativeEvent","layout","defaultProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Animated, Easing, PanResponder, Text, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tuseContext,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst TooltipContext = createContext();\n\nfunction Tooltip( { children, onPress, style, visible } ) {\n\tconst panResponder = useRef(\n\t\tPanResponder.create( {\n\t\t\t/**\n\t\t\t * To allow dimissing the tooltip on press while also avoiding blocking\n\t\t\t * interactivity within the child context, we place this `onPress` side\n\t\t\t * effect within the `onStartShouldSetPanResponderCapture` callback.\n\t\t\t *\n\t\t\t * This is a bit unorthodox, but may be the simplest approach to achieving\n\t\t\t * this outcome. This is effectively a gesture responder that never\n\t\t\t * becomes the controlling responder. https://bit.ly/2J3ugKF\n\t\t\t */\n\t\t\tonStartShouldSetPanResponderCapture: () => {\n\t\t\t\tif ( onPress ) {\n\t\t\t\t\tonPress();\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t} )\n\t).current;\n\n\treturn (\n\t\t<TooltipContext.Provider value={ visible }>\n\t\t\t<View\n\t\t\t\t{ ...( visible ? panResponder.panHandlers : {} ) }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t</TooltipContext.Provider>\n\t);\n}\n\nfunction Label( { align, text, xOffset, yOffset } ) {\n\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\tconst [ dimensions, setDimensions ] = useState( null );\n\tconst visible = useContext( TooltipContext );\n\n\tif ( typeof visible === 'undefined' ) {\n\t\tthrow new Error(\n\t\t\t'Tooltip.Label cannot be rendered outside of the Tooltip component'\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tstartAnimation();\n\t}, [ visible ] );\n\n\tconst startAnimation = () => {\n\t\tAnimated.timing( animationValue, {\n\t\t\ttoValue: visible ? 1 : 0,\n\t\t\tduration: visible ? 300 : 150,\n\t\t\tuseNativeDriver: true,\n\t\t\tdelay: visible ? 500 : 0,\n\t\t\teasing: Easing.out( Easing.quad ),\n\t\t} ).start();\n\t};\n\n\t// Transforms rely upon onLayout to enable custom offsets additions
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/focal-point-picker/tooltip/index.native.js"],"names":["Animated","Easing","PanResponder","Text","View","createContext","useEffect","useRef","useState","useContext","styles","TooltipContext","Tooltip","children","onPress","style","visible","panResponder","create","onStartShouldSetPanResponderCapture","current","panHandlers","Label","align","text","xOffset","yOffset","animationValue","Value","dimensions","setDimensions","Error","startAnimation","timing","toValue","duration","useNativeDriver","delay","easing","out","quad","start","tooltipTransforms","translateX","width","translateY","height","tooltipStyles","tooltip","shadowColor","tooltipShadow","color","shadowOffset","shadowOpacity","shadowRadius","elevation","transform","tooltipLeftAlign","arrowStyles","arrow","arrowLeftAlign","opacity","interpolate","inputRange","outputRange","nativeEvent","layout","defaultProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Animated, Easing, PanResponder, Text, View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tuseContext,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst TooltipContext = createContext();\n\nfunction Tooltip( { children, onPress, style, visible } ) {\n\tconst panResponder = useRef(\n\t\tPanResponder.create( {\n\t\t\t/**\n\t\t\t * To allow dimissing the tooltip on press while also avoiding blocking\n\t\t\t * interactivity within the child context, we place this `onPress` side\n\t\t\t * effect within the `onStartShouldSetPanResponderCapture` callback.\n\t\t\t *\n\t\t\t * This is a bit unorthodox, but may be the simplest approach to achieving\n\t\t\t * this outcome. This is effectively a gesture responder that never\n\t\t\t * becomes the controlling responder. https://bit.ly/2J3ugKF\n\t\t\t */\n\t\t\tonStartShouldSetPanResponderCapture: () => {\n\t\t\t\tif ( onPress ) {\n\t\t\t\t\tonPress();\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t} )\n\t).current;\n\n\treturn (\n\t\t<TooltipContext.Provider value={ visible }>\n\t\t\t<View\n\t\t\t\t{ ...( visible ? panResponder.panHandlers : {} ) }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</View>\n\t\t</TooltipContext.Provider>\n\t);\n}\n\nfunction Label( { align, text, xOffset, yOffset } ) {\n\tconst animationValue = useRef( new Animated.Value( 0 ) ).current;\n\tconst [ dimensions, setDimensions ] = useState( null );\n\tconst visible = useContext( TooltipContext );\n\n\tif ( typeof visible === 'undefined' ) {\n\t\tthrow new Error(\n\t\t\t'Tooltip.Label cannot be rendered outside of the Tooltip component'\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\tstartAnimation();\n\t}, [ visible ] );\n\n\tconst startAnimation = () => {\n\t\tAnimated.timing( animationValue, {\n\t\t\ttoValue: visible ? 1 : 0,\n\t\t\tduration: visible ? 300 : 150,\n\t\t\tuseNativeDriver: true,\n\t\t\tdelay: visible ? 500 : 0,\n\t\t\teasing: Easing.out( Easing.quad ),\n\t\t} ).start();\n\t};\n\n\t// Transforms rely upon onLayout to enable custom offsets additions.\n\tlet tooltipTransforms;\n\tif ( dimensions ) {\n\t\ttooltipTransforms = [\n\t\t\t{\n\t\t\t\ttranslateX:\n\t\t\t\t\t( align === 'center' ? -dimensions.width / 2 : 0 ) +\n\t\t\t\t\txOffset,\n\t\t\t},\n\t\t\t{ translateY: -dimensions.height + yOffset },\n\t\t];\n\t}\n\n\tconst tooltipStyles = [\n\t\tstyles.tooltip,\n\t\t{\n\t\t\tshadowColor: styles.tooltipShadow?.color,\n\t\t\tshadowOffset: {\n\t\t\t\twidth: 0,\n\t\t\t\theight: 2,\n\t\t\t},\n\t\t\tshadowOpacity: 0.25,\n\t\t\tshadowRadius: 2,\n\t\t\televation: 2,\n\t\t\ttransform: tooltipTransforms,\n\t\t},\n\t\talign === 'left' && styles.tooltipLeftAlign,\n\t];\n\tconst arrowStyles = [\n\t\tstyles.arrow,\n\t\talign === 'left' && styles.arrowLeftAlign,\n\t];\n\n\treturn (\n\t\t<Animated.View\n\t\t\tstyle={ {\n\t\t\t\topacity: animationValue,\n\t\t\t\ttransform: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttranslateY: animationValue.interpolate( {\n\t\t\t\t\t\t\tinputRange: [ 0, 1 ],\n\t\t\t\t\t\t\toutputRange: [ visible ? 4 : -8, -8 ],\n\t\t\t\t\t\t} ),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t} }\n\t\t>\n\t\t\t<View\n\t\t\t\tonLayout={ ( { nativeEvent } ) => {\n\t\t\t\t\tconst { height, width } = nativeEvent.layout;\n\t\t\t\t\tsetDimensions( { height, width } );\n\t\t\t\t} }\n\t\t\t\tstyle={ tooltipStyles }\n\t\t\t>\n\t\t\t\t<Text style={ styles.text }>{ text }</Text>\n\t\t\t\t<View style={ arrowStyles } />\n\t\t\t</View>\n\t\t</Animated.View>\n\t);\n}\n\nLabel.defaultProps = {\n\talign: 'center',\n\txOffset: 0,\n\tyOffset: 0,\n};\n\nTooltip.Label = Label;\n\nexport default Tooltip;\n"]}
|
|
@@ -102,7 +102,6 @@ function FontSizePicker(_ref, ref) {
|
|
|
102
102
|
className: `${baseClassName}__header__hint`
|
|
103
103
|
}, headerHint)), !disableCustomFontSizes && createElement(FlexItem, null, createElement(Button, {
|
|
104
104
|
label: showCustomValueControl ? __('Use size preset') : __('Set custom size'),
|
|
105
|
-
showTooltip: false,
|
|
106
105
|
icon: settings,
|
|
107
106
|
onClick: () => {
|
|
108
107
|
setShowCustomValueControl(!showCustomValueControl);
|
|
@@ -159,7 +158,7 @@ function FontSizePicker(_ref, ref) {
|
|
|
159
158
|
onChange(hasUnits ? nextSize : parseInt(nextSize, 10));
|
|
160
159
|
}
|
|
161
160
|
},
|
|
162
|
-
units: hasUnits ? units :
|
|
161
|
+
units: hasUnits ? units : []
|
|
163
162
|
})), withReset && createElement(FlexItem, {
|
|
164
163
|
isBlock: true
|
|
165
164
|
}, createElement(Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/font-size-picker/index.js"],"names":["__","sprintf","settings","useState","useMemo","forwardRef","Button","RangeControl","Flex","FlexItem","default","UnitControl","useCustomUnits","CustomSelectControl","VisuallyHidden","ToggleGroupControl","ToggleGroupControlOption","getFontSizeOptions","getSelectedOption","splitValueAndUnitFromSize","isSimpleCssValue","CUSTOM_FONT_SIZE","FontSizePicker","ref","fallbackFontSize","fontSizes","disableCustomFontSizes","onChange","value","withSlider","withReset","hasUnits","size","includes","noUnitsValue","parseInt","isPixelValue","endsWith","units","availableUnits","fontSizesContainComplexValues","some","shouldUseSelectControl","length","options","selectedOption","isCustomValue","slug","showCustomValueControl","setShowCustomValueControl","headerHint","hint","name","unit","currentFontSizeSR","baseClassName","find","option","key","selectedItem","Number","newValue","map","label","nextSize","parseFloat","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\nimport { useState, useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport RangeControl from '../range-control';\nimport { Flex, FlexItem } from '../flex';\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport CustomSelectControl from '../custom-select-control';\nimport { VisuallyHidden } from '../visually-hidden';\nimport {\n\tToggleGroupControl,\n\tToggleGroupControlOption,\n} from '../toggle-group-control';\nimport {\n\tgetFontSizeOptions,\n\tgetSelectedOption,\n\tsplitValueAndUnitFromSize,\n\tisSimpleCssValue,\n\tCUSTOM_FONT_SIZE,\n} from './utils';\n\nfunction FontSizePicker(\n\t{\n\t\tfallbackFontSize,\n\t\tfontSizes = [],\n\t\tdisableCustomFontSizes = false,\n\t\tonChange,\n\t\tvalue,\n\t\twithSlider = false,\n\t\twithReset = true,\n\t},\n\tref\n) {\n\tconst hasUnits = [ typeof value, typeof fontSizes?.[ 0 ]?.size ].includes(\n\t\t'string'\n\t);\n\tconst noUnitsValue = ! hasUnits ? value : parseInt( value );\n\tconst isPixelValue = typeof value === 'number' || value?.endsWith?.( 'px' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\t/**\n\t * The main font size UI displays a toggle group when the presets are less\n\t * than six and a select control when they are more.\n\t */\n\tconst fontSizesContainComplexValues = fontSizes.some(\n\t\t( { size } ) => ! isSimpleCssValue( size )\n\t);\n\tconst shouldUseSelectControl = fontSizes.length > 5;\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tgetFontSizeOptions(\n\t\t\t\tshouldUseSelectControl,\n\t\t\t\tfontSizes,\n\t\t\t\tdisableCustomFontSizes,\n\t\t\t\tfontSizesContainComplexValues\n\t\t\t),\n\t\t[\n\t\t\tshouldUseSelectControl,\n\t\t\tfontSizes,\n\t\t\tdisableCustomFontSizes,\n\t\t\tfontSizesContainComplexValues,\n\t\t]\n\t);\n\tconst selectedOption = getSelectedOption( fontSizes, value );\n\tconst isCustomValue = selectedOption.slug === CUSTOM_FONT_SIZE;\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomFontSizes && isCustomValue\n\t);\n\tconst headerHint = useMemo( () => {\n\t\tif ( showCustomValueControl ) {\n\t\t\treturn `(${ __( 'Custom' ) })`;\n\t\t}\n\n\t\t// If we have a custom value that is not available in the font sizes,\n\t\t// show it as a hint as long as it's a simple CSS value.\n\t\tif ( isCustomValue ) {\n\t\t\treturn isSimpleCssValue( value ) && `(${ value })`;\n\t\t}\n\t\tif ( shouldUseSelectControl ) {\n\t\t\treturn (\n\t\t\t\tisSimpleCssValue( selectedOption?.size ) &&\n\t\t\t\t`(${ selectedOption?.size })`\n\t\t\t);\n\t\t}\n\t\t// Calculate the `hint` for toggle group control.\n\t\tlet hint = selectedOption.name;\n\t\tif (\n\t\t\t! fontSizesContainComplexValues &&\n\t\t\ttypeof selectedOption.size === 'string'\n\t\t) {\n\t\t\tconst [ , unit ] = splitValueAndUnitFromSize( selectedOption.size );\n\t\t\thint += `(${ unit })`;\n\t\t}\n\t\treturn hint;\n\t}, [\n\t\tshowCustomValueControl,\n\t\tselectedOption?.slug,\n\t\tvalue,\n\t\tisCustomValue,\n\t\tfontSizesContainComplexValues,\n\t] );\n\n\tif ( ! options ) {\n\t\treturn null;\n\t}\n\n\t// This is used for select control only. We need to add support\n\t// for ToggleGroupControl.\n\tconst currentFontSizeSR = sprintf(\n\t\t// translators: %s: Currently selected font size.\n\t\t__( 'Currently selected font size: %s' ),\n\t\tselectedOption.name\n\t);\n\tconst baseClassName = 'components-font-size-picker';\n\treturn (\n\t\t<fieldset className={ baseClassName } { ...( ref ? {} : { ref } ) }>\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Font size' ) }</VisuallyHidden>\n\t\t\t<Flex\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName={ `${ baseClassName }__header` }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ __( 'Size' ) }\n\t\t\t\t\t{ headerHint && (\n\t\t\t\t\t\t<span className={ `${ baseClassName }__header__hint` }>\n\t\t\t\t\t\t\t{ headerHint }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowCustomValueControl(\n\t\t\t\t\t\t\t\t\t! showCustomValueControl\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t<div className={ `${ baseClassName }__controls` }>\n\t\t\t\t{ !! fontSizes.length &&\n\t\t\t\t\tshouldUseSelectControl &&\n\t\t\t\t\t! showCustomValueControl && (\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__select` }\n\t\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ currentFontSizeSR }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ options.find(\n\t\t\t\t\t\t\t\t( option ) => option.key === selectedOption.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t? selectedItem.size\n\t\t\t\t\t\t\t\t\t\t: Number( selectedItem.size )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( selectedItem.key === CUSTOM_FONT_SIZE ) {\n\t\t\t\t\t\t\t\t\tsetShowCustomValueControl( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t{ ! shouldUseSelectControl && ! showCustomValueControl && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\thasUnits ? newValue : Number( newValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ options.map( ( option ) => (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\taria-label={ option.name }\n\t\t\t\t\t\t\t\tshowTooltip={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t\t{ ! withSlider &&\n\t\t\t\t\t! disableCustomFontSizes &&\n\t\t\t\t\tshowCustomValueControl && (\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__custom-size-control` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t\t\t\t? nextSize\n\t\t\t\t\t\t\t\t\t\t\t\t\t: parseInt( nextSize, 10 )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ hasUnits ? units : false }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t{ withReset && (\n\t\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\t\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ withSlider && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tclassName={ `${ baseClassName }__custom-input` }\n\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\tvalue={ ( isPixelValue && noUnitsValue ) || '' }\n\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tonChange( hasUnits ? newValue + 'px' : newValue );\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 12 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nexport default forwardRef( FontSizePicker );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/font-size-picker/index.js"],"names":["__","sprintf","settings","useState","useMemo","forwardRef","Button","RangeControl","Flex","FlexItem","default","UnitControl","useCustomUnits","CustomSelectControl","VisuallyHidden","ToggleGroupControl","ToggleGroupControlOption","getFontSizeOptions","getSelectedOption","splitValueAndUnitFromSize","isSimpleCssValue","CUSTOM_FONT_SIZE","FontSizePicker","ref","fallbackFontSize","fontSizes","disableCustomFontSizes","onChange","value","withSlider","withReset","hasUnits","size","includes","noUnitsValue","parseInt","isPixelValue","endsWith","units","availableUnits","fontSizesContainComplexValues","some","shouldUseSelectControl","length","options","selectedOption","isCustomValue","slug","showCustomValueControl","setShowCustomValueControl","headerHint","hint","name","unit","currentFontSizeSR","baseClassName","find","option","key","selectedItem","Number","newValue","map","label","nextSize","parseFloat","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\nimport { useState, useMemo, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport RangeControl from '../range-control';\nimport { Flex, FlexItem } from '../flex';\nimport { default as UnitControl, useCustomUnits } from '../unit-control';\nimport CustomSelectControl from '../custom-select-control';\nimport { VisuallyHidden } from '../visually-hidden';\nimport {\n\tToggleGroupControl,\n\tToggleGroupControlOption,\n} from '../toggle-group-control';\nimport {\n\tgetFontSizeOptions,\n\tgetSelectedOption,\n\tsplitValueAndUnitFromSize,\n\tisSimpleCssValue,\n\tCUSTOM_FONT_SIZE,\n} from './utils';\n\nfunction FontSizePicker(\n\t{\n\t\tfallbackFontSize,\n\t\tfontSizes = [],\n\t\tdisableCustomFontSizes = false,\n\t\tonChange,\n\t\tvalue,\n\t\twithSlider = false,\n\t\twithReset = true,\n\t},\n\tref\n) {\n\tconst hasUnits = [ typeof value, typeof fontSizes?.[ 0 ]?.size ].includes(\n\t\t'string'\n\t);\n\tconst noUnitsValue = ! hasUnits ? value : parseInt( value );\n\tconst isPixelValue = typeof value === 'number' || value?.endsWith?.( 'px' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ 'px', 'em', 'rem' ],\n\t} );\n\n\t/**\n\t * The main font size UI displays a toggle group when the presets are less\n\t * than six and a select control when they are more.\n\t */\n\tconst fontSizesContainComplexValues = fontSizes.some(\n\t\t( { size } ) => ! isSimpleCssValue( size )\n\t);\n\tconst shouldUseSelectControl = fontSizes.length > 5;\n\tconst options = useMemo(\n\t\t() =>\n\t\t\tgetFontSizeOptions(\n\t\t\t\tshouldUseSelectControl,\n\t\t\t\tfontSizes,\n\t\t\t\tdisableCustomFontSizes,\n\t\t\t\tfontSizesContainComplexValues\n\t\t\t),\n\t\t[\n\t\t\tshouldUseSelectControl,\n\t\t\tfontSizes,\n\t\t\tdisableCustomFontSizes,\n\t\t\tfontSizesContainComplexValues,\n\t\t]\n\t);\n\tconst selectedOption = getSelectedOption( fontSizes, value );\n\tconst isCustomValue = selectedOption.slug === CUSTOM_FONT_SIZE;\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomFontSizes && isCustomValue\n\t);\n\tconst headerHint = useMemo( () => {\n\t\tif ( showCustomValueControl ) {\n\t\t\treturn `(${ __( 'Custom' ) })`;\n\t\t}\n\n\t\t// If we have a custom value that is not available in the font sizes,\n\t\t// show it as a hint as long as it's a simple CSS value.\n\t\tif ( isCustomValue ) {\n\t\t\treturn isSimpleCssValue( value ) && `(${ value })`;\n\t\t}\n\t\tif ( shouldUseSelectControl ) {\n\t\t\treturn (\n\t\t\t\tisSimpleCssValue( selectedOption?.size ) &&\n\t\t\t\t`(${ selectedOption?.size })`\n\t\t\t);\n\t\t}\n\t\t// Calculate the `hint` for toggle group control.\n\t\tlet hint = selectedOption.name;\n\t\tif (\n\t\t\t! fontSizesContainComplexValues &&\n\t\t\ttypeof selectedOption.size === 'string'\n\t\t) {\n\t\t\tconst [ , unit ] = splitValueAndUnitFromSize( selectedOption.size );\n\t\t\thint += `(${ unit })`;\n\t\t}\n\t\treturn hint;\n\t}, [\n\t\tshowCustomValueControl,\n\t\tselectedOption?.slug,\n\t\tvalue,\n\t\tisCustomValue,\n\t\tfontSizesContainComplexValues,\n\t] );\n\n\tif ( ! options ) {\n\t\treturn null;\n\t}\n\n\t// This is used for select control only. We need to add support\n\t// for ToggleGroupControl.\n\tconst currentFontSizeSR = sprintf(\n\t\t// translators: %s: Currently selected font size.\n\t\t__( 'Currently selected font size: %s' ),\n\t\tselectedOption.name\n\t);\n\tconst baseClassName = 'components-font-size-picker';\n\treturn (\n\t\t<fieldset className={ baseClassName } { ...( ref ? {} : { ref } ) }>\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Font size' ) }</VisuallyHidden>\n\t\t\t<Flex\n\t\t\t\tjustify=\"space-between\"\n\t\t\t\tclassName={ `${ baseClassName }__header` }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ __( 'Size' ) }\n\t\t\t\t\t{ headerHint && (\n\t\t\t\t\t\t<span className={ `${ baseClassName }__header__hint` }>\n\t\t\t\t\t\t\t{ headerHint }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t{ ! disableCustomFontSizes && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticon={ settings }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetShowCustomValueControl(\n\t\t\t\t\t\t\t\t\t! showCustomValueControl\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t\t<div className={ `${ baseClassName }__controls` }>\n\t\t\t\t{ !! fontSizes.length &&\n\t\t\t\t\tshouldUseSelectControl &&\n\t\t\t\t\t! showCustomValueControl && (\n\t\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__select` }\n\t\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tdescribedBy={ currentFontSizeSR }\n\t\t\t\t\t\t\toptions={ options }\n\t\t\t\t\t\t\tvalue={ options.find(\n\t\t\t\t\t\t\t\t( option ) => option.key === selectedOption.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t? selectedItem.size\n\t\t\t\t\t\t\t\t\t\t: Number( selectedItem.size )\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tif ( selectedItem.key === CUSTOM_FONT_SIZE ) {\n\t\t\t\t\t\t\t\t\tsetShowCustomValueControl( true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t{ ! shouldUseSelectControl && ! showCustomValueControl && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\thasUnits ? newValue : Number( newValue )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ options.map( ( option ) => (\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\t\t\tlabel={ option.label }\n\t\t\t\t\t\t\t\taria-label={ option.name }\n\t\t\t\t\t\t\t\tshowTooltip={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t\t{ ! withSlider &&\n\t\t\t\t\t! disableCustomFontSizes &&\n\t\t\t\t\tshowCustomValueControl && (\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tjustify=\"space-between\"\n\t\t\t\t\t\t\tclassName={ `${ baseClassName }__custom-size-control` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\tonChange={ ( nextSize ) => {\n\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t0 === parseFloat( nextSize ) ||\n\t\t\t\t\t\t\t\t\t\t\t! nextSize\n\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\t\t\t\thasUnits\n\t\t\t\t\t\t\t\t\t\t\t\t\t? nextSize\n\t\t\t\t\t\t\t\t\t\t\t\t\t: parseInt( nextSize, 10 )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tunits={ hasUnits ? units : [] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t{ withReset && (\n\t\t\t\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\t\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tonChange( undefined );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ withSlider && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tclassName={ `${ baseClassName }__custom-input` }\n\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\tvalue={ ( isPixelValue && noUnitsValue ) || '' }\n\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\tonChange( hasUnits ? newValue + 'px' : newValue );\n\t\t\t\t\t} }\n\t\t\t\t\tmin={ 12 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nexport default forwardRef( FontSizePicker );\n"]}
|
|
@@ -186,7 +186,7 @@ class FormTokenField extends Component {
|
|
|
186
186
|
|
|
187
187
|
switch (event.charCode) {
|
|
188
188
|
case 44:
|
|
189
|
-
//
|
|
189
|
+
// Comma.
|
|
190
190
|
preventDefault = this.handleCommaKey();
|
|
191
191
|
break;
|
|
192
192
|
|
|
@@ -281,7 +281,7 @@ class FormTokenField extends Component {
|
|
|
281
281
|
selectedSuggestionIndex: (state.selectedSuggestionIndex === 0 ? this.getMatchingSuggestions(state.incompleteTokenValue, props.suggestions, props.value, props.maxSuggestions, props.saveTransform).length : state.selectedSuggestionIndex) - 1,
|
|
282
282
|
selectedSuggestionScroll: true
|
|
283
283
|
}));
|
|
284
|
-
return true; //
|
|
284
|
+
return true; // PreventDefault.
|
|
285
285
|
}
|
|
286
286
|
|
|
287
287
|
handleDownArrowKey() {
|
|
@@ -289,7 +289,7 @@ class FormTokenField extends Component {
|
|
|
289
289
|
selectedSuggestionIndex: (state.selectedSuggestionIndex + 1) % this.getMatchingSuggestions(state.incompleteTokenValue, props.suggestions, props.value, props.maxSuggestions, props.saveTransform).length,
|
|
290
290
|
selectedSuggestionScroll: true
|
|
291
291
|
}));
|
|
292
|
-
return true; //
|
|
292
|
+
return true; // PreventDefault.
|
|
293
293
|
}
|
|
294
294
|
|
|
295
295
|
handleEscapeKey(event) {
|
|
@@ -299,7 +299,7 @@ class FormTokenField extends Component {
|
|
|
299
299
|
selectedSuggestionIndex: -1,
|
|
300
300
|
selectedSuggestionScroll: false
|
|
301
301
|
});
|
|
302
|
-
return true; //
|
|
302
|
+
return true; // PreventDefault.
|
|
303
303
|
}
|
|
304
304
|
|
|
305
305
|
handleCommaKey() {
|
|
@@ -307,7 +307,7 @@ class FormTokenField extends Component {
|
|
|
307
307
|
this.addNewToken(this.state.incompleteTokenValue);
|
|
308
308
|
}
|
|
309
309
|
|
|
310
|
-
return true; //
|
|
310
|
+
return true; // PreventDefault.
|
|
311
311
|
}
|
|
312
312
|
|
|
313
313
|
moveInputToIndex(index) {
|
|
@@ -340,7 +340,7 @@ class FormTokenField extends Component {
|
|
|
340
340
|
const index = this.getIndexOfInput();
|
|
341
341
|
|
|
342
342
|
if (index < this.props.value.length) {
|
|
343
|
-
this.deleteToken(this.props.value[index]); //
|
|
343
|
+
this.deleteToken(this.props.value[index]); // Update input offset since it's the offset from the last token.
|
|
344
344
|
|
|
345
345
|
this.moveInputToIndex(index);
|
|
346
346
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/form-token-field/index.js"],"names":["last","take","clone","uniq","map","difference","each","identity","some","classnames","__","_n","sprintf","Component","withInstanceId","BACKSPACE","ENTER","UP","DOWN","LEFT","RIGHT","SPACE","DELETE","ESCAPE","isShallowEqual","Token","TokenInput","SuggestionsList","withSpokenMessages","initialState","incompleteTokenValue","inputOffsetFromEnd","isActive","isExpanded","selectedSuggestionIndex","selectedSuggestionScroll","FormTokenField","constructor","arguments","state","onKeyDown","bind","onKeyPress","onFocus","onBlur","deleteTokenBeforeInput","deleteTokenAfterInput","addCurrentToken","onContainerTouched","renderToken","onTokenClickRemove","onSuggestionHovered","onSuggestionSelected","onInputChange","bindInput","bindTokensAndInput","updateSuggestions","componentDidUpdate","prevProps","input","hasFocus","focus","suggestions","value","props","suggestionsDidUpdate","getDerivedStateFromProps","disabled","ref","tokensAndInput","event","__experimentalExpandOnFocus","target","setState","inputHasValidValue","preventDefault","defaultPrevented","keyCode","handleDeleteKey","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","tokenizeOnSpace","handleEscapeKey","charCode","handleCommaKey","deleteToken","suggestion","index","getMatchingSuggestions","indexOf","addNewToken","text","separator","items","split","tokenValue","length","addNewTokens","slice","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","maxSuggestions","saveTransform","moveInputToIndex","Math","max","min","getIndexOfInput","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","filter","Boolean","token","valueContainsToken","newValue","splice","apply","concat","onChange","__experimentalValidateInput","speak","messages","__experimentalInvalid","added","newTokens","item","getTokenValue","removed","searchValue","match","startsWithMatch","containsMatch","toLocaleLowerCase","push","resetSelectedSuggestion","inputHasMinimumChars","trim","matchingSuggestions","hasMatchingSuggestions","newState","debouncedSpeak","message","renderTokensAndInput","components","renderInput","status","undefined","termPosition","termsCount","title","displayTransform","isBorderless","onMouseEnter","onMouseLeave","autoCapitalize","autoComplete","maxLength","placeholder","instanceId","key","render","label","className","__experimentalShowHowTo","classes","tokenFieldProps","tabIndex","Object","assign","defaultProps","freeze","remove"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tlast,\n\ttake,\n\tclone,\n\tuniq,\n\tmap,\n\tdifference,\n\teach,\n\tidentity,\n\tsome,\n} from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\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 SuggestionsList from './suggestions-list';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\n\nconst initialState = {\n\tincompleteTokenValue: '',\n\tinputOffsetFromEnd: 0,\n\tisActive: false,\n\tisExpanded: false,\n\tselectedSuggestionIndex: -1,\n\tselectedSuggestionScroll: false,\n};\n\nclass FormTokenField extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = initialState;\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onKeyPress = this.onKeyPress.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onBlur = this.onBlur.bind( this );\n\t\tthis.deleteTokenBeforeInput = this.deleteTokenBeforeInput.bind( this );\n\t\tthis.deleteTokenAfterInput = this.deleteTokenAfterInput.bind( this );\n\t\tthis.addCurrentToken = this.addCurrentToken.bind( this );\n\t\tthis.onContainerTouched = this.onContainerTouched.bind( this );\n\t\tthis.renderToken = this.renderToken.bind( this );\n\t\tthis.onTokenClickRemove = this.onTokenClickRemove.bind( this );\n\t\tthis.onSuggestionHovered = this.onSuggestionHovered.bind( this );\n\t\tthis.onSuggestionSelected = this.onSuggestionSelected.bind( this );\n\t\tthis.onInputChange = this.onInputChange.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t\tthis.bindTokensAndInput = this.bindTokensAndInput.bind( this );\n\t\tthis.updateSuggestions = this.updateSuggestions.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( this.state.isActive && ! this.input.hasFocus() ) {\n\t\t\tthis.input.focus();\n\t\t}\n\n\t\tconst { suggestions, value } = this.props;\n\t\tconst suggestionsDidUpdate = ! isShallowEqual(\n\t\t\tsuggestions,\n\t\t\tprevProps.suggestions\n\t\t);\n\t\tif ( suggestionsDidUpdate || value !== prevProps.value ) {\n\t\t\tthis.updateSuggestions( suggestionsDidUpdate );\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( ! props.disabled || ! state.isActive ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tisActive: false,\n\t\t\tincompleteTokenValue: '',\n\t\t};\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\tbindTokensAndInput( ref ) {\n\t\tthis.tokensAndInput = ref;\n\t}\n\n\tonFocus( event ) {\n\t\tconst { __experimentalExpandOnFocus } = this.props;\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( this.input.hasFocus() || event.target === this.tokensAndInput ) {\n\t\t\tthis.setState( {\n\t\t\t\tisActive: true,\n\t\t\t\tisExpanded:\n\t\t\t\t\t!! __experimentalExpandOnFocus || this.state.isExpanded,\n\t\t\t} );\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\tthis.setState( { isActive: false } );\n\t\t}\n\n\t\tif ( 'function' === typeof this.props.onFocus ) {\n\t\t\tthis.props.onFocus( event );\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.setState( { isActive: false } );\n\t\t} else {\n\t\t\tthis.setState( initialState );\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase BACKSPACE:\n\t\t\t\tpreventDefault = this.handleDeleteKey(\n\t\t\t\t\tthis.deleteTokenBeforeInput\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ENTER:\n\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase LEFT:\n\t\t\t\tpreventDefault = this.handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase UP:\n\t\t\t\tpreventDefault = this.handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase RIGHT:\n\t\t\t\tpreventDefault = this.handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DOWN:\n\t\t\t\tpreventDefault = this.handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DELETE:\n\t\t\t\tpreventDefault = this.handleDeleteKey(\n\t\t\t\t\tthis.deleteTokenAfterInput\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase SPACE:\n\t\t\t\tif ( this.props.tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ESCAPE:\n\t\t\t\tpreventDefault = this.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\tonKeyPress( event ) {\n\t\tlet preventDefault = false;\n\t\tswitch ( event.charCode ) {\n\t\t\tcase 44: // comma\n\t\t\t\tpreventDefault = this.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\tonContainerTouched( event ) {\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 === this.tokensAndInput && this.state.isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonTokenClickRemove( event ) {\n\t\tthis.deleteToken( event.value );\n\t\tthis.input.focus();\n\t}\n\n\tonSuggestionHovered( suggestion ) {\n\t\tconst index = this.getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tthis.setState( {\n\t\t\t\tselectedSuggestionIndex: index,\n\t\t\t\tselectedSuggestionScroll: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSuggestionSelected( suggestion ) {\n\t\tthis.addNewToken( suggestion );\n\t}\n\n\tonInputChange( event ) {\n\t\tconst text = event.value;\n\t\tconst separator = this.props.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\tthis.addNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\n\t\tthis.setState(\n\t\t\t{ incompleteTokenValue: tokenValue },\n\t\t\tthis.updateSuggestions\n\t\t);\n\n\t\tthis.props.onInputChange( tokenValue );\n\t}\n\n\thandleDeleteKey( deleteToken ) {\n\t\tlet preventDefault = false;\n\t\tif ( this.input.hasFocus() && this.isInputEmpty() ) {\n\t\t\tdeleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleUpArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex:\n\t\t\t\t( state.selectedSuggestionIndex === 0\n\t\t\t\t\t? this.getMatchingSuggestions(\n\t\t\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\t\t\tprops.suggestions,\n\t\t\t\t\t\t\tprops.value,\n\t\t\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\t\t\tprops.saveTransform\n\t\t\t\t\t ).length\n\t\t\t\t\t: state.selectedSuggestionIndex ) - 1,\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleDownArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex:\n\t\t\t\t( state.selectedSuggestionIndex + 1 ) %\n\t\t\t\tthis.getMatchingSuggestions(\n\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\tprops.suggestions,\n\t\t\t\t\tprops.value,\n\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\tprops.saveTransform\n\t\t\t\t).length,\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleEscapeKey( event ) {\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: event.target.value,\n\t\t\tisExpanded: false,\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t} );\n\t\treturn true; // preventDefault\n\t}\n\n\thandleCommaKey() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // preventDefault\n\t}\n\n\tmoveInputToIndex( index ) {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: props.value.length - Math.max( index, -1 ) - 1,\n\t\t} ) );\n\t}\n\n\tmoveInputBeforePreviousToken() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: Math.min(\n\t\t\t\tstate.inputOffsetFromEnd + 1,\n\t\t\t\tprops.value.length\n\t\t\t),\n\t\t} ) );\n\t}\n\n\tmoveInputAfterNextToken() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tinputOffsetFromEnd: Math.max( state.inputOffsetFromEnd - 1, 0 ),\n\t\t} ) );\n\t}\n\n\tdeleteTokenBeforeInput() {\n\t\tconst index = this.getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t}\n\t}\n\n\tdeleteTokenAfterInput() {\n\t\tconst index = this.getIndexOfInput();\n\n\t\tif ( index < this.props.value.length ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t\t// update input offset since it's the offset from the last token\n\t\t\tthis.moveInputToIndex( index );\n\t\t}\n\t}\n\n\taddCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = this.getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\tthis.addNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\taddNewTokens( tokens ) {\n\t\tconst tokensToAdd = uniq(\n\t\t\ttokens\n\t\t\t\t.map( this.props.saveTransform )\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.filter( ( token ) => ! this.valueContainsToken( token ) )\n\t\t);\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = clone( this.props.value );\n\t\t\tnewValue.splice.apply(\n\t\t\t\tnewValue,\n\t\t\t\t[ this.getIndexOfInput(), 0 ].concat( tokensToAdd )\n\t\t\t);\n\t\t\tthis.props.onChange( newValue );\n\t\t}\n\t}\n\n\taddNewToken( token ) {\n\t\tconst {\n\t\t\t__experimentalExpandOnFocus,\n\t\t\t__experimentalValidateInput,\n\t\t} = this.props;\n\t\tif ( ! __experimentalValidateInput( token ) ) {\n\t\t\tthis.props.speak(\n\t\t\t\tthis.props.messages.__experimentalInvalid,\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tthis.addNewTokens( [ token ] );\n\t\tthis.props.speak( this.props.messages.added, 'assertive' );\n\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: '',\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t\tisExpanded: ! __experimentalExpandOnFocus,\n\t\t} );\n\n\t\tif ( this.state.isActive ) {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\tdeleteToken( token ) {\n\t\tconst newTokens = this.props.value.filter( ( item ) => {\n\t\t\treturn this.getTokenValue( item ) !== this.getTokenValue( token );\n\t\t} );\n\t\tthis.props.onChange( newTokens );\n\t\tthis.props.speak( this.props.messages.removed, 'assertive' );\n\t}\n\n\tgetTokenValue( token ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tgetMatchingSuggestions(\n\t\tsearchValue = this.state.incompleteTokenValue,\n\t\tsuggestions = this.props.suggestions,\n\t\tvalue = this.props.value,\n\t\tmaxSuggestions = this.props.maxSuggestions,\n\t\tsaveTransform = this.props.saveTransform\n\t) {\n\t\tlet match = saveTransform( searchValue );\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\n\t\tif ( match.length === 0 ) {\n\t\t\tsuggestions = difference( suggestions, value );\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\teach( suggestions, ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( value.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\tsuggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn take( suggestions, maxSuggestions );\n\t}\n\n\tgetSelectedSuggestion() {\n\t\tif ( this.state.selectedSuggestionIndex !== -1 ) {\n\t\t\treturn this.getMatchingSuggestions()[\n\t\t\t\tthis.state.selectedSuggestionIndex\n\t\t\t];\n\t\t}\n\t}\n\n\tvalueContainsToken( token ) {\n\t\treturn some( this.props.value, ( item ) => {\n\t\t\treturn this.getTokenValue( token ) === this.getTokenValue( item );\n\t\t} );\n\t}\n\n\tgetIndexOfInput() {\n\t\treturn this.props.value.length - this.state.inputOffsetFromEnd;\n\t}\n\n\tisInputEmpty() {\n\t\treturn this.state.incompleteTokenValue.length === 0;\n\t}\n\n\tinputHasValidValue() {\n\t\treturn (\n\t\t\tthis.props.saveTransform( this.state.incompleteTokenValue ).length >\n\t\t\t0\n\t\t);\n\t}\n\n\tupdateSuggestions( resetSelectedSuggestion = true ) {\n\t\tconst { __experimentalExpandOnFocus } = this.props;\n\t\tconst { incompleteTokenValue } = this.state;\n\n\t\tconst inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n\t\tconst matchingSuggestions = this.getMatchingSuggestions(\n\t\t\tincompleteTokenValue\n\t\t);\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\n\t\tconst newState = {\n\t\t\tisExpanded:\n\t\t\t\t__experimentalExpandOnFocus ||\n\t\t\t\t( inputHasMinimumChars && hasMatchingSuggestions ),\n\t\t};\n\t\tif ( resetSelectedSuggestion ) {\n\t\t\tnewState.selectedSuggestionIndex = -1;\n\t\t\tnewState.selectedSuggestionScroll = false;\n\t\t}\n\n\t\tthis.setState( newState );\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tconst { debouncedSpeak } = this.props;\n\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\trenderTokensAndInput() {\n\t\tconst components = map( this.props.value, this.renderToken );\n\t\tcomponents.splice( this.getIndexOfInput(), 0, this.renderInput() );\n\n\t\treturn components;\n\t}\n\n\trenderToken( token, index, tokens ) {\n\t\tconst value = this.getTokenValue( token );\n\t\tconst status = token.status ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<Token\n\t\t\t\tkey={ 'token-' + value }\n\t\t\t\tvalue={ value }\n\t\t\t\tstatus={ status }\n\t\t\t\ttitle={ token.title }\n\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\tonClickRemove={ this.onTokenClickRemove }\n\t\t\t\tisBorderless={ token.isBorderless || this.props.isBorderless }\n\t\t\t\tonMouseEnter={ token.onMouseEnter }\n\t\t\t\tonMouseLeave={ token.onMouseLeave }\n\t\t\t\tdisabled={ 'error' !== status && this.props.disabled }\n\t\t\t\tmessages={ this.props.messages }\n\t\t\t\ttermsCount={ termsCount }\n\t\t\t\ttermPosition={ termPosition }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderInput() {\n\t\tconst {\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tmaxLength,\n\t\t\tplaceholder,\n\t\t\tvalue,\n\t\t\tinstanceId,\n\t\t} = this.props;\n\n\t\tlet props = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tplaceholder: value.length === 0 ? placeholder : '',\n\t\t\tref: this.bindInput,\n\t\t\tkey: 'input',\n\t\t\tdisabled: this.props.disabled,\n\t\t\tvalue: this.state.incompleteTokenValue,\n\t\t\tonBlur: this.onBlur,\n\t\t\tisExpanded: this.state.isExpanded,\n\t\t\tselectedSuggestionIndex: this.state.selectedSuggestionIndex,\n\t\t};\n\n\t\tif ( ! ( maxLength && value.length >= maxLength ) ) {\n\t\t\tprops = { ...props, onChange: this.onInputChange };\n\t\t}\n\n\t\treturn <TokenInput { ...props } />;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tlabel = __( 'Add item' ),\n\t\t\tinstanceId,\n\t\t\tclassName,\n\t\t\t__experimentalShowHowTo,\n\t\t} = this.props;\n\t\tconst { isExpanded } = this.state;\n\t\tconst classes = classnames(\n\t\t\tclassName,\n\t\t\t'components-form-token-field__input-container',\n\t\t\t{\n\t\t\t\t'is-active': this.state.isActive,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t}\n\t\t);\n\n\t\tlet tokenFieldProps = {\n\t\t\tclassName: 'components-form-token-field',\n\t\t\ttabIndex: '-1',\n\t\t};\n\t\tconst matchingSuggestions = this.getMatchingSuggestions();\n\n\t\tif ( ! disabled ) {\n\t\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\t\tonKeyDown: this.onKeyDown,\n\t\t\t\tonKeyPress: this.onKeyPress,\n\t\t\t\tonFocus: this.onFocus,\n\t\t\t} );\n\t\t}\n\n\t\t// Disable reason: There is no appropriate role which describes the\n\t\t// input container intended accessible usability.\n\t\t// TODO: Refactor click detection to use blur to stop propagation.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t<div { ...tokenFieldProps }>\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</label>\n\t\t\t\t<div\n\t\t\t\t\tref={ this.bindTokensAndInput }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonMouseDown={ this.onContainerTouched }\n\t\t\t\t\tonTouchStart={ this.onContainerTouched }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderTokensAndInput() }\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\tmatch={ this.props.saveTransform(\n\t\t\t\t\t\t\t\tthis.state.incompleteTokenValue\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ this.state.selectedSuggestionIndex }\n\t\t\t\t\t\t\tscrollIntoView={\n\t\t\t\t\t\t\t\tthis.state.selectedSuggestionScroll\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonHover={ this.onSuggestionHovered }\n\t\t\t\t\t\t\tonSelect={ this.onSuggestionSelected }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t{ __experimentalShowHowTo && (\n\t\t\t\t\t<p\n\t\t\t\t\t\tid={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"components-form-token-field__help\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.props.tokenizeOnSpace\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Separate with commas, spaces, or the Enter key.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Separate with commas or the Enter key.' ) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nFormTokenField.defaultProps = {\n\tsuggestions: Object.freeze( [] ),\n\tmaxSuggestions: 100,\n\tvalue: Object.freeze( [] ),\n\tdisplayTransform: identity,\n\tsaveTransform: ( token ) => token.trim(),\n\tonChange: () => {},\n\tonInputChange: () => {},\n\tisBorderless: false,\n\tdisabled: false,\n\ttokenizeOnSpace: false,\n\tmessages: {\n\t\tadded: __( 'Item added.' ),\n\t\tremoved: __( 'Item removed.' ),\n\t\tremove: __( 'Remove item' ),\n\t\t__experimentalInvalid: __( 'Invalid item' ),\n\t},\n\t__experimentalExpandOnFocus: false,\n\t__experimentalValidateInput: () => true,\n\t__experimentalShowHowTo: true,\n};\n\nexport default withSpokenMessages( withInstanceId( FormTokenField ) );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/form-token-field/index.js"],"names":["last","take","clone","uniq","map","difference","each","identity","some","classnames","__","_n","sprintf","Component","withInstanceId","BACKSPACE","ENTER","UP","DOWN","LEFT","RIGHT","SPACE","DELETE","ESCAPE","isShallowEqual","Token","TokenInput","SuggestionsList","withSpokenMessages","initialState","incompleteTokenValue","inputOffsetFromEnd","isActive","isExpanded","selectedSuggestionIndex","selectedSuggestionScroll","FormTokenField","constructor","arguments","state","onKeyDown","bind","onKeyPress","onFocus","onBlur","deleteTokenBeforeInput","deleteTokenAfterInput","addCurrentToken","onContainerTouched","renderToken","onTokenClickRemove","onSuggestionHovered","onSuggestionSelected","onInputChange","bindInput","bindTokensAndInput","updateSuggestions","componentDidUpdate","prevProps","input","hasFocus","focus","suggestions","value","props","suggestionsDidUpdate","getDerivedStateFromProps","disabled","ref","tokensAndInput","event","__experimentalExpandOnFocus","target","setState","inputHasValidValue","preventDefault","defaultPrevented","keyCode","handleDeleteKey","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","tokenizeOnSpace","handleEscapeKey","charCode","handleCommaKey","deleteToken","suggestion","index","getMatchingSuggestions","indexOf","addNewToken","text","separator","items","split","tokenValue","length","addNewTokens","slice","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","maxSuggestions","saveTransform","moveInputToIndex","Math","max","min","getIndexOfInput","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","filter","Boolean","token","valueContainsToken","newValue","splice","apply","concat","onChange","__experimentalValidateInput","speak","messages","__experimentalInvalid","added","newTokens","item","getTokenValue","removed","searchValue","match","startsWithMatch","containsMatch","toLocaleLowerCase","push","resetSelectedSuggestion","inputHasMinimumChars","trim","matchingSuggestions","hasMatchingSuggestions","newState","debouncedSpeak","message","renderTokensAndInput","components","renderInput","status","undefined","termPosition","termsCount","title","displayTransform","isBorderless","onMouseEnter","onMouseLeave","autoCapitalize","autoComplete","maxLength","placeholder","instanceId","key","render","label","className","__experimentalShowHowTo","classes","tokenFieldProps","tabIndex","Object","assign","defaultProps","freeze","remove"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tlast,\n\ttake,\n\tclone,\n\tuniq,\n\tmap,\n\tdifference,\n\teach,\n\tidentity,\n\tsome,\n} from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\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 SuggestionsList from './suggestions-list';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\n\nconst initialState = {\n\tincompleteTokenValue: '',\n\tinputOffsetFromEnd: 0,\n\tisActive: false,\n\tisExpanded: false,\n\tselectedSuggestionIndex: -1,\n\tselectedSuggestionScroll: false,\n};\n\nclass FormTokenField extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = initialState;\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onKeyPress = this.onKeyPress.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onBlur = this.onBlur.bind( this );\n\t\tthis.deleteTokenBeforeInput = this.deleteTokenBeforeInput.bind( this );\n\t\tthis.deleteTokenAfterInput = this.deleteTokenAfterInput.bind( this );\n\t\tthis.addCurrentToken = this.addCurrentToken.bind( this );\n\t\tthis.onContainerTouched = this.onContainerTouched.bind( this );\n\t\tthis.renderToken = this.renderToken.bind( this );\n\t\tthis.onTokenClickRemove = this.onTokenClickRemove.bind( this );\n\t\tthis.onSuggestionHovered = this.onSuggestionHovered.bind( this );\n\t\tthis.onSuggestionSelected = this.onSuggestionSelected.bind( this );\n\t\tthis.onInputChange = this.onInputChange.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t\tthis.bindTokensAndInput = this.bindTokensAndInput.bind( this );\n\t\tthis.updateSuggestions = this.updateSuggestions.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( this.state.isActive && ! this.input.hasFocus() ) {\n\t\t\tthis.input.focus();\n\t\t}\n\n\t\tconst { suggestions, value } = this.props;\n\t\tconst suggestionsDidUpdate = ! isShallowEqual(\n\t\t\tsuggestions,\n\t\t\tprevProps.suggestions\n\t\t);\n\t\tif ( suggestionsDidUpdate || value !== prevProps.value ) {\n\t\t\tthis.updateSuggestions( suggestionsDidUpdate );\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( ! props.disabled || ! state.isActive ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tisActive: false,\n\t\t\tincompleteTokenValue: '',\n\t\t};\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\tbindTokensAndInput( ref ) {\n\t\tthis.tokensAndInput = ref;\n\t}\n\n\tonFocus( event ) {\n\t\tconst { __experimentalExpandOnFocus } = this.props;\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( this.input.hasFocus() || event.target === this.tokensAndInput ) {\n\t\t\tthis.setState( {\n\t\t\t\tisActive: true,\n\t\t\t\tisExpanded:\n\t\t\t\t\t!! __experimentalExpandOnFocus || this.state.isExpanded,\n\t\t\t} );\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\tthis.setState( { isActive: false } );\n\t\t}\n\n\t\tif ( 'function' === typeof this.props.onFocus ) {\n\t\t\tthis.props.onFocus( event );\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.setState( { isActive: false } );\n\t\t} else {\n\t\t\tthis.setState( initialState );\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase BACKSPACE:\n\t\t\t\tpreventDefault = this.handleDeleteKey(\n\t\t\t\t\tthis.deleteTokenBeforeInput\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ENTER:\n\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase LEFT:\n\t\t\t\tpreventDefault = this.handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase UP:\n\t\t\t\tpreventDefault = this.handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase RIGHT:\n\t\t\t\tpreventDefault = this.handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DOWN:\n\t\t\t\tpreventDefault = this.handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DELETE:\n\t\t\t\tpreventDefault = this.handleDeleteKey(\n\t\t\t\t\tthis.deleteTokenAfterInput\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase SPACE:\n\t\t\t\tif ( this.props.tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ESCAPE:\n\t\t\t\tpreventDefault = this.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\tonKeyPress( event ) {\n\t\tlet preventDefault = false;\n\t\tswitch ( event.charCode ) {\n\t\t\tcase 44: // Comma.\n\t\t\t\tpreventDefault = this.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\tonContainerTouched( event ) {\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 === this.tokensAndInput && this.state.isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonTokenClickRemove( event ) {\n\t\tthis.deleteToken( event.value );\n\t\tthis.input.focus();\n\t}\n\n\tonSuggestionHovered( suggestion ) {\n\t\tconst index = this.getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tthis.setState( {\n\t\t\t\tselectedSuggestionIndex: index,\n\t\t\t\tselectedSuggestionScroll: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSuggestionSelected( suggestion ) {\n\t\tthis.addNewToken( suggestion );\n\t}\n\n\tonInputChange( event ) {\n\t\tconst text = event.value;\n\t\tconst separator = this.props.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\tthis.addNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\n\t\tthis.setState(\n\t\t\t{ incompleteTokenValue: tokenValue },\n\t\t\tthis.updateSuggestions\n\t\t);\n\n\t\tthis.props.onInputChange( tokenValue );\n\t}\n\n\thandleDeleteKey( deleteToken ) {\n\t\tlet preventDefault = false;\n\t\tif ( this.input.hasFocus() && this.isInputEmpty() ) {\n\t\t\tdeleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleUpArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex:\n\t\t\t\t( state.selectedSuggestionIndex === 0\n\t\t\t\t\t? this.getMatchingSuggestions(\n\t\t\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\t\t\tprops.suggestions,\n\t\t\t\t\t\t\tprops.value,\n\t\t\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\t\t\tprops.saveTransform\n\t\t\t\t\t ).length\n\t\t\t\t\t: state.selectedSuggestionIndex ) - 1,\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\thandleDownArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex:\n\t\t\t\t( state.selectedSuggestionIndex + 1 ) %\n\t\t\t\tthis.getMatchingSuggestions(\n\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\tprops.suggestions,\n\t\t\t\t\tprops.value,\n\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\tprops.saveTransform\n\t\t\t\t).length,\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\thandleEscapeKey( event ) {\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: event.target.value,\n\t\t\tisExpanded: false,\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t} );\n\t\treturn true; // PreventDefault.\n\t}\n\n\thandleCommaKey() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tmoveInputToIndex( index ) {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: props.value.length - Math.max( index, -1 ) - 1,\n\t\t} ) );\n\t}\n\n\tmoveInputBeforePreviousToken() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: Math.min(\n\t\t\t\tstate.inputOffsetFromEnd + 1,\n\t\t\t\tprops.value.length\n\t\t\t),\n\t\t} ) );\n\t}\n\n\tmoveInputAfterNextToken() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tinputOffsetFromEnd: Math.max( state.inputOffsetFromEnd - 1, 0 ),\n\t\t} ) );\n\t}\n\n\tdeleteTokenBeforeInput() {\n\t\tconst index = this.getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t}\n\t}\n\n\tdeleteTokenAfterInput() {\n\t\tconst index = this.getIndexOfInput();\n\n\t\tif ( index < this.props.value.length ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t\t// Update input offset since it's the offset from the last token.\n\t\t\tthis.moveInputToIndex( index );\n\t\t}\n\t}\n\n\taddCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = this.getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\tthis.addNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\taddNewTokens( tokens ) {\n\t\tconst tokensToAdd = uniq(\n\t\t\ttokens\n\t\t\t\t.map( this.props.saveTransform )\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.filter( ( token ) => ! this.valueContainsToken( token ) )\n\t\t);\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = clone( this.props.value );\n\t\t\tnewValue.splice.apply(\n\t\t\t\tnewValue,\n\t\t\t\t[ this.getIndexOfInput(), 0 ].concat( tokensToAdd )\n\t\t\t);\n\t\t\tthis.props.onChange( newValue );\n\t\t}\n\t}\n\n\taddNewToken( token ) {\n\t\tconst {\n\t\t\t__experimentalExpandOnFocus,\n\t\t\t__experimentalValidateInput,\n\t\t} = this.props;\n\t\tif ( ! __experimentalValidateInput( token ) ) {\n\t\t\tthis.props.speak(\n\t\t\t\tthis.props.messages.__experimentalInvalid,\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tthis.addNewTokens( [ token ] );\n\t\tthis.props.speak( this.props.messages.added, 'assertive' );\n\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: '',\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t\tisExpanded: ! __experimentalExpandOnFocus,\n\t\t} );\n\n\t\tif ( this.state.isActive ) {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\tdeleteToken( token ) {\n\t\tconst newTokens = this.props.value.filter( ( item ) => {\n\t\t\treturn this.getTokenValue( item ) !== this.getTokenValue( token );\n\t\t} );\n\t\tthis.props.onChange( newTokens );\n\t\tthis.props.speak( this.props.messages.removed, 'assertive' );\n\t}\n\n\tgetTokenValue( token ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tgetMatchingSuggestions(\n\t\tsearchValue = this.state.incompleteTokenValue,\n\t\tsuggestions = this.props.suggestions,\n\t\tvalue = this.props.value,\n\t\tmaxSuggestions = this.props.maxSuggestions,\n\t\tsaveTransform = this.props.saveTransform\n\t) {\n\t\tlet match = saveTransform( searchValue );\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\n\t\tif ( match.length === 0 ) {\n\t\t\tsuggestions = difference( suggestions, value );\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\teach( suggestions, ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( value.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\tsuggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn take( suggestions, maxSuggestions );\n\t}\n\n\tgetSelectedSuggestion() {\n\t\tif ( this.state.selectedSuggestionIndex !== -1 ) {\n\t\t\treturn this.getMatchingSuggestions()[\n\t\t\t\tthis.state.selectedSuggestionIndex\n\t\t\t];\n\t\t}\n\t}\n\n\tvalueContainsToken( token ) {\n\t\treturn some( this.props.value, ( item ) => {\n\t\t\treturn this.getTokenValue( token ) === this.getTokenValue( item );\n\t\t} );\n\t}\n\n\tgetIndexOfInput() {\n\t\treturn this.props.value.length - this.state.inputOffsetFromEnd;\n\t}\n\n\tisInputEmpty() {\n\t\treturn this.state.incompleteTokenValue.length === 0;\n\t}\n\n\tinputHasValidValue() {\n\t\treturn (\n\t\t\tthis.props.saveTransform( this.state.incompleteTokenValue ).length >\n\t\t\t0\n\t\t);\n\t}\n\n\tupdateSuggestions( resetSelectedSuggestion = true ) {\n\t\tconst { __experimentalExpandOnFocus } = this.props;\n\t\tconst { incompleteTokenValue } = this.state;\n\n\t\tconst inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n\t\tconst matchingSuggestions = this.getMatchingSuggestions(\n\t\t\tincompleteTokenValue\n\t\t);\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\n\t\tconst newState = {\n\t\t\tisExpanded:\n\t\t\t\t__experimentalExpandOnFocus ||\n\t\t\t\t( inputHasMinimumChars && hasMatchingSuggestions ),\n\t\t};\n\t\tif ( resetSelectedSuggestion ) {\n\t\t\tnewState.selectedSuggestionIndex = -1;\n\t\t\tnewState.selectedSuggestionScroll = false;\n\t\t}\n\n\t\tthis.setState( newState );\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tconst { debouncedSpeak } = this.props;\n\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\trenderTokensAndInput() {\n\t\tconst components = map( this.props.value, this.renderToken );\n\t\tcomponents.splice( this.getIndexOfInput(), 0, this.renderInput() );\n\n\t\treturn components;\n\t}\n\n\trenderToken( token, index, tokens ) {\n\t\tconst value = this.getTokenValue( token );\n\t\tconst status = token.status ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<Token\n\t\t\t\tkey={ 'token-' + value }\n\t\t\t\tvalue={ value }\n\t\t\t\tstatus={ status }\n\t\t\t\ttitle={ token.title }\n\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\tonClickRemove={ this.onTokenClickRemove }\n\t\t\t\tisBorderless={ token.isBorderless || this.props.isBorderless }\n\t\t\t\tonMouseEnter={ token.onMouseEnter }\n\t\t\t\tonMouseLeave={ token.onMouseLeave }\n\t\t\t\tdisabled={ 'error' !== status && this.props.disabled }\n\t\t\t\tmessages={ this.props.messages }\n\t\t\t\ttermsCount={ termsCount }\n\t\t\t\ttermPosition={ termPosition }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderInput() {\n\t\tconst {\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tmaxLength,\n\t\t\tplaceholder,\n\t\t\tvalue,\n\t\t\tinstanceId,\n\t\t} = this.props;\n\n\t\tlet props = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tplaceholder: value.length === 0 ? placeholder : '',\n\t\t\tref: this.bindInput,\n\t\t\tkey: 'input',\n\t\t\tdisabled: this.props.disabled,\n\t\t\tvalue: this.state.incompleteTokenValue,\n\t\t\tonBlur: this.onBlur,\n\t\t\tisExpanded: this.state.isExpanded,\n\t\t\tselectedSuggestionIndex: this.state.selectedSuggestionIndex,\n\t\t};\n\n\t\tif ( ! ( maxLength && value.length >= maxLength ) ) {\n\t\t\tprops = { ...props, onChange: this.onInputChange };\n\t\t}\n\n\t\treturn <TokenInput { ...props } />;\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tlabel = __( 'Add item' ),\n\t\t\tinstanceId,\n\t\t\tclassName,\n\t\t\t__experimentalShowHowTo,\n\t\t} = this.props;\n\t\tconst { isExpanded } = this.state;\n\t\tconst classes = classnames(\n\t\t\tclassName,\n\t\t\t'components-form-token-field__input-container',\n\t\t\t{\n\t\t\t\t'is-active': this.state.isActive,\n\t\t\t\t'is-disabled': disabled,\n\t\t\t}\n\t\t);\n\n\t\tlet tokenFieldProps = {\n\t\t\tclassName: 'components-form-token-field',\n\t\t\ttabIndex: '-1',\n\t\t};\n\t\tconst matchingSuggestions = this.getMatchingSuggestions();\n\n\t\tif ( ! disabled ) {\n\t\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\t\tonKeyDown: this.onKeyDown,\n\t\t\t\tonKeyPress: this.onKeyPress,\n\t\t\t\tonFocus: this.onFocus,\n\t\t\t} );\n\t\t}\n\n\t\t// Disable reason: There is no appropriate role which describes the\n\t\t// input container intended accessible usability.\n\t\t// TODO: Refactor click detection to use blur to stop propagation.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t<div { ...tokenFieldProps }>\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</label>\n\t\t\t\t<div\n\t\t\t\t\tref={ this.bindTokensAndInput }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonMouseDown={ this.onContainerTouched }\n\t\t\t\t\tonTouchStart={ this.onContainerTouched }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderTokensAndInput() }\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\tmatch={ this.props.saveTransform(\n\t\t\t\t\t\t\t\tthis.state.incompleteTokenValue\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ this.state.selectedSuggestionIndex }\n\t\t\t\t\t\t\tscrollIntoView={\n\t\t\t\t\t\t\t\tthis.state.selectedSuggestionScroll\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonHover={ this.onSuggestionHovered }\n\t\t\t\t\t\t\tonSelect={ this.onSuggestionSelected }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t{ __experimentalShowHowTo && (\n\t\t\t\t\t<p\n\t\t\t\t\t\tid={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"components-form-token-field__help\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.props.tokenizeOnSpace\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Separate with commas, spaces, or the Enter key.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'Separate with commas or the Enter key.' ) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nFormTokenField.defaultProps = {\n\tsuggestions: Object.freeze( [] ),\n\tmaxSuggestions: 100,\n\tvalue: Object.freeze( [] ),\n\tdisplayTransform: identity,\n\tsaveTransform: ( token ) => token.trim(),\n\tonChange: () => {},\n\tonInputChange: () => {},\n\tisBorderless: false,\n\tdisabled: false,\n\ttokenizeOnSpace: false,\n\tmessages: {\n\t\tadded: __( 'Item added.' ),\n\t\tremoved: __( 'Item removed.' ),\n\t\tremove: __( 'Remove item' ),\n\t\t__experimentalInvalid: __( 'Invalid item' ),\n\t},\n\t__experimentalExpandOnFocus: false,\n\t__experimentalValidateInput: () => true,\n\t__experimentalShowHowTo: true,\n};\n\nexport default withSpokenMessages( withInstanceId( FormTokenField ) );\n"]}
|
|
@@ -15,7 +15,7 @@ import { withSafeTimeout, useRefEffect } from '@wordpress/compose';
|
|
|
15
15
|
const emptyList = Object.freeze([]);
|
|
16
16
|
|
|
17
17
|
const handleMouseDown = e => {
|
|
18
|
-
// By preventing default here, we will not lose focus of <input> when clicking a suggestion
|
|
18
|
+
// By preventing default here, we will not lose focus of <input> when clicking a suggestion.
|
|
19
19
|
e.preventDefault();
|
|
20
20
|
};
|
|
21
21
|
|
|
@@ -34,7 +34,7 @@ function SuggestionsList(_ref) {
|
|
|
34
34
|
const [scrollingIntoView, setScrollingIntoView] = useState(false);
|
|
35
35
|
const listRef = useRefEffect(listNode => {
|
|
36
36
|
// only have to worry about scrolling selected suggestion into view
|
|
37
|
-
// when already expanded
|
|
37
|
+
// when already expanded.
|
|
38
38
|
if (selectedIndex > -1 && scrollIntoView && listNode.children[selectedIndex]) {
|
|
39
39
|
setScrollingIntoView(true);
|
|
40
40
|
scrollView(listNode.children[selectedIndex], listNode, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/form-token-field/suggestions-list.js"],"names":["map","scrollView","classnames","useState","withSafeTimeout","useRefEffect","emptyList","Object","freeze","handleMouseDown","e","preventDefault","SuggestionsList","selectedIndex","scrollIntoView","match","onHover","onSelect","suggestions","displayTransform","instanceId","setTimeout","scrollingIntoView","setScrollingIntoView","listRef","listNode","children","onlyScrollIfNeeded","handleHover","suggestion","handleClick","computeSuggestionMatch","matchText","toLocaleLowerCase","length","indexOfMatch","indexOf","suggestionBeforeMatch","substring","suggestionMatch","suggestionAfterMatch","index","className","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport scrollView from 'dom-scroll-into-view';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { withSafeTimeout, useRefEffect } from '@wordpress/compose';\n\nconst emptyList = Object.freeze( [] );\n\nconst handleMouseDown = ( e ) => {\n\t// By preventing default here, we will not lose focus of <input> when clicking a suggestion
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/form-token-field/suggestions-list.js"],"names":["map","scrollView","classnames","useState","withSafeTimeout","useRefEffect","emptyList","Object","freeze","handleMouseDown","e","preventDefault","SuggestionsList","selectedIndex","scrollIntoView","match","onHover","onSelect","suggestions","displayTransform","instanceId","setTimeout","scrollingIntoView","setScrollingIntoView","listRef","listNode","children","onlyScrollIfNeeded","handleHover","suggestion","handleClick","computeSuggestionMatch","matchText","toLocaleLowerCase","length","indexOfMatch","indexOf","suggestionBeforeMatch","substring","suggestionMatch","suggestionAfterMatch","index","className","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport scrollView from 'dom-scroll-into-view';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { withSafeTimeout, useRefEffect } from '@wordpress/compose';\n\nconst emptyList = Object.freeze( [] );\n\nconst handleMouseDown = ( e ) => {\n\t// By preventing default here, we will not lose focus of <input> when clicking a suggestion.\n\te.preventDefault();\n};\n\nfunction SuggestionsList( {\n\tselectedIndex,\n\tscrollIntoView,\n\tmatch = '',\n\tonHover,\n\tonSelect,\n\tsuggestions = emptyList,\n\tdisplayTransform,\n\tinstanceId,\n\tsetTimeout,\n} ) {\n\tconst [ scrollingIntoView, setScrollingIntoView ] = useState( false );\n\n\tconst listRef = useRefEffect(\n\t\t( listNode ) => {\n\t\t\t// only have to worry about scrolling selected suggestion into view\n\t\t\t// when already expanded.\n\t\t\tif (\n\t\t\t\tselectedIndex > -1 &&\n\t\t\t\tscrollIntoView &&\n\t\t\t\tlistNode.children[ selectedIndex ]\n\t\t\t) {\n\t\t\t\tsetScrollingIntoView( true );\n\t\t\t\tscrollView( listNode.children[ selectedIndex ], listNode, {\n\t\t\t\t\tonlyScrollIfNeeded: true,\n\t\t\t\t} );\n\t\t\t\tsetTimeout( () => {\n\t\t\t\t\tsetScrollingIntoView( false );\n\t\t\t\t}, 100 );\n\t\t\t}\n\t\t},\n\t\t[ selectedIndex, scrollIntoView ]\n\t);\n\n\tconst handleHover = ( suggestion ) => {\n\t\treturn () => {\n\t\t\tif ( ! scrollingIntoView ) {\n\t\t\t\tonHover?.( suggestion );\n\t\t\t}\n\t\t};\n\t};\n\n\tconst handleClick = ( suggestion ) => {\n\t\treturn () => {\n\t\t\tonSelect?.( suggestion );\n\t\t};\n\t};\n\n\tconst computeSuggestionMatch = ( suggestion ) => {\n\t\tconst matchText = displayTransform( match || '' ).toLocaleLowerCase();\n\t\tif ( matchText.length === 0 ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsuggestion = displayTransform( suggestion );\n\t\tconst indexOfMatch = suggestion\n\t\t\t.toLocaleLowerCase()\n\t\t\t.indexOf( matchText );\n\n\t\treturn {\n\t\t\tsuggestionBeforeMatch: suggestion.substring( 0, indexOfMatch ),\n\t\t\tsuggestionMatch: suggestion.substring(\n\t\t\t\tindexOfMatch,\n\t\t\t\tindexOfMatch + matchText.length\n\t\t\t),\n\t\t\tsuggestionAfterMatch: suggestion.substring(\n\t\t\t\tindexOfMatch + matchText.length\n\t\t\t),\n\t\t};\n\t};\n\n\t// We set `tabIndex` here because otherwise Firefox sets focus on this\n\t// div when tabbing off of the input in `TokenField` -- not really sure\n\t// why, since usually a div isn't focusable by default\n\t// TODO does this still apply now that it's a <ul> and not a <div>?\n\treturn (\n\t\t<ul\n\t\t\tref={ listRef }\n\t\t\tclassName=\"components-form-token-field__suggestions-list\"\n\t\t\tid={ `components-form-token-suggestions-${ instanceId }` }\n\t\t\trole=\"listbox\"\n\t\t>\n\t\t\t{ map( suggestions, ( suggestion, index ) => {\n\t\t\t\tconst matchText = computeSuggestionMatch( suggestion );\n\t\t\t\tconst className = classnames(\n\t\t\t\t\t'components-form-token-field__suggestion',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-selected': index === selectedIndex,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t/* eslint-disable jsx-a11y/click-events-have-key-events */\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tid={ `components-form-token-suggestions-${ instanceId }-${ index }` }\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\tsuggestion?.value\n\t\t\t\t\t\t\t\t? suggestion.value\n\t\t\t\t\t\t\t\t: displayTransform( suggestion )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMouseDown={ handleMouseDown }\n\t\t\t\t\t\tonClick={ handleClick( suggestion ) }\n\t\t\t\t\t\tonMouseEnter={ handleHover( suggestion ) }\n\t\t\t\t\t\taria-selected={ index === selectedIndex }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ matchText ? (\n\t\t\t\t\t\t\t<span aria-label={ displayTransform( suggestion ) }>\n\t\t\t\t\t\t\t\t{ matchText.suggestionBeforeMatch }\n\t\t\t\t\t\t\t\t<strong className=\"components-form-token-field__suggestion-match\">\n\t\t\t\t\t\t\t\t\t{ matchText.suggestionMatch }\n\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t{ matchText.suggestionAfterMatch }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tdisplayTransform( suggestion )\n\t\t\t\t\t\t) }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t\t/* eslint-enable jsx-a11y/click-events-have-key-events */\n\t\t\t} ) }\n\t\t</ul>\n\t);\n}\n\nexport default withSafeTimeout( SuggestionsList );\n"]}
|
|
@@ -9,7 +9,7 @@ import { View } from '../view';
|
|
|
9
9
|
import useGrid from './hook';
|
|
10
10
|
/**
|
|
11
11
|
* @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props
|
|
12
|
-
* @param {import('react').
|
|
12
|
+
* @param {import('react').ForwardedRef<any>} forwardedRef
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
function Grid(props, forwardedRef) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/grid/component.js"],"names":["contextConnect","View","useGrid","Grid","props","forwardedRef","gridProps","ConnectedGrid"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,cAAT,QAA+B,eAA/B;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,OAAOC,OAAP,MAAoB,QAApB;AAEA;AACA;AACA;AACA;;AACA,SAASC,IAAT,CAAeC,KAAf,EAAsBC,YAAtB,EAAqC;AACpC,QAAMC,SAAS,GAAGJ,OAAO,CAAEE,KAAF,CAAzB;AAEA,SAAO,cAAC,IAAD,eAAWE,SAAX;AAAuB,IAAA,GAAG,EAAGD;AAA7B,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,aAAa,GAAGP,cAAc,CAAEG,IAAF,EAAQ,MAAR,CAApC;AAEA,eAAeI,aAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../ui/context';\nimport { View } from '../view';\nimport useGrid from './hook';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n * @param {import('react').
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/grid/component.js"],"names":["contextConnect","View","useGrid","Grid","props","forwardedRef","gridProps","ConnectedGrid"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,cAAT,QAA+B,eAA/B;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,OAAOC,OAAP,MAAoB,QAApB;AAEA;AACA;AACA;AACA;;AACA,SAASC,IAAT,CAAeC,KAAf,EAAsBC,YAAtB,EAAqC;AACpC,QAAMC,SAAS,GAAGJ,OAAO,CAAEE,KAAF,CAAzB;AAEA,SAAO,cAAC,IAAD,eAAWE,SAAX;AAAuB,IAAA,GAAG,EAAGD;AAA7B,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,aAAa,GAAGP,cAAc,CAAEG,IAAF,EAAQ,MAAR,CAApC;AAEA,eAAeI,aAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../ui/context';\nimport { View } from '../view';\nimport useGrid from './hook';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n * @param {import('react').ForwardedRef<any>} forwardedRef\n */\nfunction Grid( props, forwardedRef ) {\n\tconst gridProps = useGrid( props );\n\n\treturn <View { ...gridProps } ref={ forwardedRef } />;\n}\n\n/**\n * `Grid` is a primitive layout component that can arrange content in a grid configuration.\n *\n * @example\n * ```jsx\n * import {\n * \t__experimentalGrid as Grid,\n * \t__experimentalText as Text\n * } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<Grid columns={ 3 }>\n * \t\t\t<Text>Code</Text>\n * \t\t\t<Text>is</Text>\n * \t\t\t<Text>Poetry</Text>\n * \t\t</Grid>\n * \t);\n * }\n * ```\n */\nconst ConnectedGrid = contextConnect( Grid, 'Grid' );\n\nexport default ConnectedGrid;\n"]}
|
|
@@ -9,7 +9,7 @@ import { View } from '../view';
|
|
|
9
9
|
import { useHStack } from './hook';
|
|
10
10
|
/**
|
|
11
11
|
* @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props
|
|
12
|
-
* @param {import('react').
|
|
12
|
+
* @param {import('react').ForwardedRef<any>} forwardedRef
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
15
|
function HStack(props, forwardedRef) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/h-stack/component.js"],"names":["contextConnect","View","useHStack","HStack","props","forwardedRef","hStackProps","ConnectedHStack"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,cAAT,QAA+B,eAA/B;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,SAASC,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;AACA;;AACA,SAASC,MAAT,CAAiBC,KAAjB,EAAwBC,YAAxB,EAAuC;AACtC,QAAMC,WAAW,GAAGJ,SAAS,CAAEE,KAAF,CAA7B;AAEA,SAAO,cAAC,IAAD,eAAWE,WAAX;AAAyB,IAAA,GAAG,EAAGD;AAA/B,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,eAAe,GAAGP,cAAc,CAAEG,MAAF,EAAU,QAAV,CAAtC;AAEA,eAAeI,eAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../ui/context';\nimport { View } from '../view';\nimport { useHStack } from './hook';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n * @param {import('react').
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/h-stack/component.js"],"names":["contextConnect","View","useHStack","HStack","props","forwardedRef","hStackProps","ConnectedHStack"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,cAAT,QAA+B,eAA/B;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,SAASC,SAAT,QAA0B,QAA1B;AAEA;AACA;AACA;AACA;;AACA,SAASC,MAAT,CAAiBC,KAAjB,EAAwBC,YAAxB,EAAuC;AACtC,QAAMC,WAAW,GAAGJ,SAAS,CAAEE,KAAF,CAA7B;AAEA,SAAO,cAAC,IAAD,eAAWE,WAAX;AAAyB,IAAA,GAAG,EAAGD;AAA/B,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAME,eAAe,GAAGP,cAAc,CAAEG,MAAF,EAAU,QAAV,CAAtC;AAEA,eAAeI,eAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport { contextConnect } from '../ui/context';\nimport { View } from '../view';\nimport { useHStack } from './hook';\n\n/**\n * @param {import('../ui/context').WordPressComponentProps<import('./types').Props, 'div'>} props\n * @param {import('react').ForwardedRef<any>} forwardedRef\n */\nfunction HStack( props, forwardedRef ) {\n\tconst hStackProps = useHStack( props );\n\n\treturn <View { ...hStackProps } ref={ forwardedRef } />;\n}\n\n/**\n * `HStack` (Horizontal Stack) arranges child elements in a horizontal line.\n *\n * `HStack` can render anything inside.\n *\n * @example\n * ```jsx\n * import {\n * \t__experimentalHStack as HStack,\n * \t__experimentalText as Text,\n * } from `@wordpress/components`;\n *\n * function Example() {\n * \treturn (\n * \t\t<HStack>\n * \t\t\t<Text>Code</Text>\n * \t\t\t<Text>is</Text>\n * \t\t\t<Text>Poetry</Text>\n * \t\t</HStack>\n * \t);\n * }\n * ```\n */\nconst ConnectedHStack = contextConnect( HStack, 'HStack' );\n\nexport default ConnectedHStack;\n"]}
|
|
@@ -12,7 +12,7 @@ import { contextConnect } from '../ui/context';
|
|
|
12
12
|
import { View } from '../view';
|
|
13
13
|
import { useHeading } from './hook';
|
|
14
14
|
|
|
15
|
-
function
|
|
15
|
+
function UnconnectedHeading(props, forwardedRef) {
|
|
16
16
|
const headerProps = useHeading(props);
|
|
17
17
|
return createElement(View, _extends({}, headerProps, {
|
|
18
18
|
ref: forwardedRef
|
|
@@ -23,7 +23,7 @@ function Heading(props, forwardedRef) {
|
|
|
23
23
|
*
|
|
24
24
|
* @example
|
|
25
25
|
* ```jsx
|
|
26
|
-
* import { Heading } from
|
|
26
|
+
* import { __experimentalHeading as Heading } from "@wordpress/components";
|
|
27
27
|
*
|
|
28
28
|
* function Example() {
|
|
29
29
|
* return <Heading>Code is Poetry</Heading>;
|
|
@@ -32,6 +32,6 @@ function Heading(props, forwardedRef) {
|
|
|
32
32
|
*/
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
const
|
|
36
|
-
export default
|
|
35
|
+
export const Heading = contextConnect(UnconnectedHeading, 'Heading');
|
|
36
|
+
export default Heading;
|
|
37
37
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/heading/component.tsx"],"names":["contextConnect","View","useHeading","
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/heading/component.tsx"],"names":["contextConnect","View","useHeading","UnconnectedHeading","props","forwardedRef","headerProps","Heading"],"mappings":";;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,cAAT,QAAwD,eAAxD;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,SAASC,UAAT,QAAyC,QAAzC;;AAEA,SAASC,kBAAT,CACCC,KADD,EAECC,YAFD,EAGE;AACD,QAAMC,WAAW,GAAGJ,UAAU,CAAEE,KAAF,CAA9B;AAEA,SAAO,cAAC,IAAD,eAAWE,WAAX;AAAyB,IAAA,GAAG,EAAGD;AAA/B,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,OAAO,MAAME,OAAO,GAAGP,cAAc,CAAEG,kBAAF,EAAsB,SAAtB,CAA9B;AAEP,eAAeI,OAAf","sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\n\n/**\n * Internal dependencies\n */\nimport { contextConnect, WordPressComponentProps } from '../ui/context';\nimport { View } from '../view';\nimport { useHeading, HeadingProps } from './hook';\n\nfunction UnconnectedHeading(\n\tprops: WordPressComponentProps< HeadingProps, 'h1' >,\n\tforwardedRef: ForwardedRef< any >\n) {\n\tconst headerProps = useHeading( props );\n\n\treturn <View { ...headerProps } ref={ forwardedRef } />;\n}\n\n/**\n * `Heading` renders headings and titles using the library's typography system.\n *\n * @example\n * ```jsx\n * import { __experimentalHeading as Heading } from \"@wordpress/components\";\n *\n * function Example() {\n * return <Heading>Code is Poetry</Heading>;\n * }\n * ```\n */\nexport const Heading = contextConnect( UnconnectedHeading, 'Heading' );\n\nexport default Heading;\n"]}
|
|
@@ -15,7 +15,7 @@ export function useHeading(props) {
|
|
|
15
15
|
const a11yProps = {};
|
|
16
16
|
|
|
17
17
|
if (typeof as === 'string' && as[0] !== 'h') {
|
|
18
|
-
//
|
|
18
|
+
// If not a semantic `h` element, add a11y props:
|
|
19
19
|
a11yProps.role = 'heading';
|
|
20
20
|
a11yProps['aria-level'] = typeof level === 'string' ? parseInt(level) : level;
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/heading/hook.ts"],"names":["useContextSystem","useText","getHeadingFontSize","CONFIG","COLORS","useHeading","props","as","asProp","level","otherProps","a11yProps","role","parseInt","textProps","color","darkGray","heading","size","isBlock","weight","fontWeightHeading"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAT,QAA0D,eAA1D;AAEA,SAASC,OAAT,QAAwB,SAAxB;AACA,SAASC,kBAAT,QAAmC,uBAAnC;AACA,SAASC,MAAT,EAAiBC,MAAjB,QAA+B,UAA/B;AA2CA,OAAO,SAASC,UAAT,CACNC,KADM,EAEL;AACD,QAAM;AAAEC,IAAAA,EAAE,EAAEC,MAAN;AAAcC,IAAAA,KAAK,GAAG,CAAtB;AAAyB,OAAGC;AAA5B,MAA2CV,gBAAgB,CAChEM,KADgE,EAEhE,SAFgE,CAAjE;AAKA,QAAMC,EAAE,GAAKC,MAAM,IAAK,IAAIC,KAAO,EAAnC;AAEA,QAAME,SAGL,GAAG,EAHJ;;AAIA,MAAK,OAAOJ,EAAP,KAAc,QAAd,IAA0BA,EAAE,CAAE,CAAF,CAAF,KAAY,GAA3C,EAAiD;AAChD;AACAI,IAAAA,SAAS,CAACC,IAAV,GAAiB,SAAjB;AACAD,IAAAA,SAAS,CAAE,YAAF,CAAT,GACC,OAAOF,KAAP,KAAiB,QAAjB,GAA4BI,QAAQ,CAAEJ,KAAF,CAApC,GAAgDA,KADjD;AAEA;;AAED,QAAMK,SAAS,GAAGb,OAAO,CAAE;AAC1Bc,IAAAA,KAAK,EAAEX,MAAM,CAACY,QAAP,CAAgBC,OADG;AAE1BC,IAAAA,IAAI,EAAEhB,kBAAkB,CAAEO,KAAF,CAFE;AAG1BU,IAAAA,OAAO,EAAE,IAHiB;AAI1BC,IAAAA,MAAM,EAAEjB,MAAM,CAACkB,iBAJW;AAK1B,OAAGX;AALuB,GAAF,CAAzB;AAQA,SAAO,EAAE,GAAGI,SAAL;AAAgB,OAAGH,SAAnB;AAA8BJ,IAAAA;AAA9B,GAAP;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport { useContextSystem, WordPressComponentProps } from '../ui/context';\nimport type { Props as TextProps } from '../text/types';\nimport { useText } from '../text';\nimport { getHeadingFontSize } from '../ui/utils/font-size';\nimport { CONFIG, COLORS } from '../utils';\n\nexport type HeadingSize =\n\t| 1\n\t| 2\n\t| 3\n\t| 4\n\t| 5\n\t| 6\n\t| '1'\n\t| '2'\n\t| '3'\n\t| '4'\n\t| '5'\n\t| '6';\n\nexport interface HeadingProps extends Omit< TextProps, 'size' > {\n\t/**\n\t * `Heading` will typically render the sizes `1`, `2`, `3`, `4`, `5`, or `6`, which map to `h1`-`h6`.\n\t *\n\t * @default 2\n\t *\n\t * @example\n\t * ```jsx\n\t * import { __experimentalHeading as Heading } from `@wordpress/components`\n\t *\n\t * function Example() {\n\t * return (\n\t * <div>\n\t * <Heading level=\"1\">Code is Poetry</Heading>\n\t * <Heading level=\"2\">Code is Poetry</Heading>\n\t * <Heading level=\"3\">Code is Poetry</Heading>\n\t * <Heading level=\"4\">Code is Poetry</Heading>\n\t * <Heading level=\"5\">Code is Poetry</Heading>\n\t * <Heading level=\"6\">Code is Poetry</Heading>\n\t * </div>\n\t * );\n\t * }\n\t * ```\n\t */\n\tlevel: HeadingSize;\n}\n\nexport function useHeading(\n\tprops: WordPressComponentProps< HeadingProps, 'h1' >\n) {\n\tconst { as: asProp, level = 2, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'Heading'\n\t);\n\n\tconst as = ( asProp || `h${ level }` ) as keyof JSX.IntrinsicElements;\n\n\tconst a11yProps: {\n\t\trole?: string;\n\t\t'aria-level'?: number;\n\t} = {};\n\tif ( typeof as === 'string' && as[ 0 ] !== 'h' ) {\n\t\t//
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/heading/hook.ts"],"names":["useContextSystem","useText","getHeadingFontSize","CONFIG","COLORS","useHeading","props","as","asProp","level","otherProps","a11yProps","role","parseInt","textProps","color","darkGray","heading","size","isBlock","weight","fontWeightHeading"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAT,QAA0D,eAA1D;AAEA,SAASC,OAAT,QAAwB,SAAxB;AACA,SAASC,kBAAT,QAAmC,uBAAnC;AACA,SAASC,MAAT,EAAiBC,MAAjB,QAA+B,UAA/B;AA2CA,OAAO,SAASC,UAAT,CACNC,KADM,EAEL;AACD,QAAM;AAAEC,IAAAA,EAAE,EAAEC,MAAN;AAAcC,IAAAA,KAAK,GAAG,CAAtB;AAAyB,OAAGC;AAA5B,MAA2CV,gBAAgB,CAChEM,KADgE,EAEhE,SAFgE,CAAjE;AAKA,QAAMC,EAAE,GAAKC,MAAM,IAAK,IAAIC,KAAO,EAAnC;AAEA,QAAME,SAGL,GAAG,EAHJ;;AAIA,MAAK,OAAOJ,EAAP,KAAc,QAAd,IAA0BA,EAAE,CAAE,CAAF,CAAF,KAAY,GAA3C,EAAiD;AAChD;AACAI,IAAAA,SAAS,CAACC,IAAV,GAAiB,SAAjB;AACAD,IAAAA,SAAS,CAAE,YAAF,CAAT,GACC,OAAOF,KAAP,KAAiB,QAAjB,GAA4BI,QAAQ,CAAEJ,KAAF,CAApC,GAAgDA,KADjD;AAEA;;AAED,QAAMK,SAAS,GAAGb,OAAO,CAAE;AAC1Bc,IAAAA,KAAK,EAAEX,MAAM,CAACY,QAAP,CAAgBC,OADG;AAE1BC,IAAAA,IAAI,EAAEhB,kBAAkB,CAAEO,KAAF,CAFE;AAG1BU,IAAAA,OAAO,EAAE,IAHiB;AAI1BC,IAAAA,MAAM,EAAEjB,MAAM,CAACkB,iBAJW;AAK1B,OAAGX;AALuB,GAAF,CAAzB;AAQA,SAAO,EAAE,GAAGI,SAAL;AAAgB,OAAGH,SAAnB;AAA8BJ,IAAAA;AAA9B,GAAP;AACA","sourcesContent":["/**\n * Internal dependencies\n */\nimport { useContextSystem, WordPressComponentProps } from '../ui/context';\nimport type { Props as TextProps } from '../text/types';\nimport { useText } from '../text';\nimport { getHeadingFontSize } from '../ui/utils/font-size';\nimport { CONFIG, COLORS } from '../utils';\n\nexport type HeadingSize =\n\t| 1\n\t| 2\n\t| 3\n\t| 4\n\t| 5\n\t| 6\n\t| '1'\n\t| '2'\n\t| '3'\n\t| '4'\n\t| '5'\n\t| '6';\n\nexport interface HeadingProps extends Omit< TextProps, 'size' > {\n\t/**\n\t * `Heading` will typically render the sizes `1`, `2`, `3`, `4`, `5`, or `6`, which map to `h1`-`h6`.\n\t *\n\t * @default 2\n\t *\n\t * @example\n\t * ```jsx\n\t * import { __experimentalHeading as Heading } from `@wordpress/components`\n\t *\n\t * function Example() {\n\t * return (\n\t * <div>\n\t * <Heading level=\"1\">Code is Poetry</Heading>\n\t * <Heading level=\"2\">Code is Poetry</Heading>\n\t * <Heading level=\"3\">Code is Poetry</Heading>\n\t * <Heading level=\"4\">Code is Poetry</Heading>\n\t * <Heading level=\"5\">Code is Poetry</Heading>\n\t * <Heading level=\"6\">Code is Poetry</Heading>\n\t * </div>\n\t * );\n\t * }\n\t * ```\n\t */\n\tlevel: HeadingSize;\n}\n\nexport function useHeading(\n\tprops: WordPressComponentProps< HeadingProps, 'h1' >\n) {\n\tconst { as: asProp, level = 2, ...otherProps } = useContextSystem(\n\t\tprops,\n\t\t'Heading'\n\t);\n\n\tconst as = ( asProp || `h${ level }` ) as keyof JSX.IntrinsicElements;\n\n\tconst a11yProps: {\n\t\trole?: string;\n\t\t'aria-level'?: number;\n\t} = {};\n\tif ( typeof as === 'string' && as[ 0 ] !== 'h' ) {\n\t\t// If not a semantic `h` element, add a11y props:\n\t\ta11yProps.role = 'heading';\n\t\ta11yProps[ 'aria-level' ] =\n\t\t\ttypeof level === 'string' ? parseInt( level ) : level;\n\t}\n\n\tconst textProps = useText( {\n\t\tcolor: COLORS.darkGray.heading,\n\t\tsize: getHeadingFontSize( level ),\n\t\tisBlock: true,\n\t\tweight: CONFIG.fontWeightHeading as import('react').CSSProperties[ 'fontWeight' ],\n\t\t...otherProps,\n\t} );\n\n\treturn { ...textProps, ...a11yProps, as };\n}\n"]}
|
|
@@ -89,7 +89,7 @@ export default createHigherOrderComponent(OriginalComponent => {
|
|
|
89
89
|
let isForwardRef;
|
|
90
90
|
const {
|
|
91
91
|
render
|
|
92
|
-
} = OriginalComponent; // Returns a forwardRef if OriginalComponent appears to be a forwardRef
|
|
92
|
+
} = OriginalComponent; // Returns a forwardRef if OriginalComponent appears to be a forwardRef.
|
|
93
93
|
|
|
94
94
|
if (typeof render === 'function') {
|
|
95
95
|
isForwardRef = true;
|