@wordpress/components 27.0.0 → 27.2.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 +50 -2
- package/build/base-control/index.native.js.map +1 -1
- package/build/border-box-control/border-box-control/component.js.map +1 -1
- package/build/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build/border-control/border-control-dropdown/component.js.map +1 -1
- package/build/button/index.js +4 -5
- package/build/button/index.js.map +1 -1
- package/build/button/index.native.js.map +1 -1
- package/build/button/types.js.map +1 -1
- package/build/confirm-dialog/component.js.map +1 -1
- package/build/custom-select-control-v2/default-component/index.js.map +1 -1
- package/build/custom-select-control-v2/index.js +2 -2
- package/build/custom-select-control-v2/index.js.map +1 -1
- package/build/custom-select-control-v2/types.js.map +1 -1
- package/build/date-time/date/styles.js +7 -7
- package/build/date-time/date/styles.js.map +1 -1
- package/build/draggable/index.native.js +2 -2
- package/build/draggable/index.native.js.map +1 -1
- package/build/dropdown-menu/index.native.js.map +1 -1
- package/build/flex/flex/hook.js +1 -1
- package/build/flex/flex/hook.js.map +1 -1
- package/build/font-size-picker/index.native.js.map +1 -1
- package/build/form-token-field/index.js +1 -1
- package/build/form-token-field/index.js.map +1 -1
- package/build/h-stack/hook.js +6 -1
- package/build/h-stack/hook.js.map +1 -1
- package/build/input-control/index.js +1 -1
- package/build/input-control/index.js.map +1 -1
- package/build/mobile/bottom-sheet/button.native.js.map +1 -1
- package/build/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build/mobile/gradient/index.native.js.map +1 -1
- package/build/mobile/image/index.native.js +4 -13
- package/build/mobile/image/index.native.js.map +1 -1
- package/build/mobile/media-edit/index.native.js.map +1 -1
- package/build/palette-edit/index.js +18 -12
- package/build/palette-edit/index.js.map +1 -1
- package/build/query-controls/index.native.js.map +1 -1
- package/build/range-control/index.js.map +1 -1
- package/build/search-control/index.native.js.map +1 -1
- package/build/snackbar/index.js +3 -2
- package/build/snackbar/index.js.map +1 -1
- package/build/snackbar/list.js +2 -1
- package/build/snackbar/list.js.map +1 -1
- package/build/snackbar/types.js.map +1 -1
- package/build/tabs/index.js +7 -7
- package/build/tabs/index.js.map +1 -1
- package/build/tabs/types.js.map +1 -1
- package/build/text-control/types.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js +4 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build/tools-panel/tools-panel-header/component.js +1 -1
- package/build/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build/utils/config-values.js +1 -1
- package/build/utils/config-values.js.map +1 -1
- package/build/utils/hooks/index.js +0 -7
- package/build/utils/hooks/index.js.map +1 -1
- package/build/utils/input/base.js +2 -2
- package/build/utils/input/base.js.map +1 -1
- package/build-module/base-control/index.native.js.map +1 -1
- package/build-module/border-box-control/border-box-control/component.js.map +1 -1
- package/build-module/border-box-control/border-box-control-split-controls/component.js.map +1 -1
- package/build-module/border-control/border-control-dropdown/component.js.map +1 -1
- package/build-module/button/index.js +4 -5
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/index.native.js.map +1 -1
- package/build-module/button/types.js.map +1 -1
- package/build-module/confirm-dialog/component.js.map +1 -1
- package/build-module/custom-select-control-v2/default-component/index.js.map +1 -1
- package/build-module/custom-select-control-v2/index.js +1 -1
- package/build-module/custom-select-control-v2/index.js.map +1 -1
- package/build-module/custom-select-control-v2/types.js.map +1 -1
- package/build-module/date-time/date/styles.js +7 -7
- package/build-module/date-time/date/styles.js.map +1 -1
- package/build-module/draggable/index.native.js +2 -2
- package/build-module/draggable/index.native.js.map +1 -1
- package/build-module/dropdown-menu/index.native.js.map +1 -1
- package/build-module/flex/flex/hook.js +1 -1
- package/build-module/flex/flex/hook.js.map +1 -1
- package/build-module/font-size-picker/index.native.js.map +1 -1
- package/build-module/form-token-field/index.js +1 -1
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/h-stack/hook.js +6 -1
- package/build-module/h-stack/hook.js.map +1 -1
- package/build-module/input-control/index.js +1 -1
- package/build-module/input-control/index.js.map +1 -1
- package/build-module/mobile/bottom-sheet/button.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/range-cell.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet/stepper-cell/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-select-control/index.native.js.map +1 -1
- package/build-module/mobile/bottom-sheet-text-control/index.native.js.map +1 -1
- package/build-module/mobile/gradient/index.native.js.map +1 -1
- package/build-module/mobile/image/index.native.js +6 -15
- package/build-module/mobile/image/index.native.js.map +1 -1
- package/build-module/mobile/media-edit/index.native.js.map +1 -1
- package/build-module/palette-edit/index.js +17 -11
- package/build-module/palette-edit/index.js.map +1 -1
- package/build-module/query-controls/index.native.js.map +1 -1
- package/build-module/range-control/index.js.map +1 -1
- package/build-module/search-control/index.native.js.map +1 -1
- package/build-module/snackbar/index.js +3 -2
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/list.js +2 -1
- package/build-module/snackbar/list.js.map +1 -1
- package/build-module/snackbar/types.js.map +1 -1
- package/build-module/tabs/index.js +7 -7
- package/build-module/tabs/index.js.map +1 -1
- package/build-module/tabs/types.js.map +1 -1
- package/build-module/text-control/types.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js +4 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.js.map +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js +1 -1
- package/build-module/tools-panel/tools-panel-header/component.js.map +1 -1
- package/build-module/utils/config-values.js +1 -1
- package/build-module/utils/config-values.js.map +1 -1
- package/build-module/utils/hooks/index.js +0 -1
- package/build-module/utils/hooks/index.js.map +1 -1
- package/build-module/utils/input/base.js +2 -2
- package/build-module/utils/input/base.js.map +1 -1
- package/build-style/style-rtl.css +33 -23
- package/build-style/style.css +33 -23
- package/build-types/box-control/styles/box-control-styles.d.ts +1 -1
- package/build-types/button/deprecated.d.ts +4 -10
- package/build-types/button/deprecated.d.ts.map +1 -1
- package/build-types/button/index.d.ts +3 -3
- package/build-types/button/index.d.ts.map +1 -1
- package/build-types/button/stories/e2e/index.story.d.ts +1 -1
- package/build-types/button/stories/e2e/index.story.d.ts.map +1 -1
- package/build-types/button/stories/index.story.d.ts +7 -7
- package/build-types/button/stories/index.story.d.ts.map +1 -1
- package/build-types/button/types.d.ts +37 -8
- package/build-types/button/types.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +1 -1
- package/build-types/custom-select-control-v2/default-component/index.d.ts +2 -1
- package/build-types/custom-select-control-v2/default-component/index.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/index.d.ts +1 -1
- package/build-types/custom-select-control-v2/index.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/legacy-component/test/index.d.ts +2 -0
- package/build-types/custom-select-control-v2/legacy-component/test/index.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/stories/default.story.d.ts +4 -3
- package/build-types/custom-select-control-v2/stories/default.story.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/stories/legacy.story.d.ts +2 -2
- package/build-types/custom-select-control-v2/stories/legacy.story.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/types.d.ts +0 -1
- package/build-types/custom-select-control-v2/types.d.ts.map +1 -1
- package/build-types/date-time/date/styles.d.ts +1 -1
- package/build-types/dropdown/stories/index.story.d.ts +1 -0
- package/build-types/dropdown/stories/index.story.d.ts.map +1 -1
- package/build-types/flex/flex/hook.d.ts +2 -3
- package/build-types/flex/flex/hook.d.ts.map +1 -1
- package/build-types/font-size-picker/styles.d.ts +1 -1
- package/build-types/form-token-field/index.d.ts +1 -1
- package/build-types/h-stack/hook.d.ts +2 -4
- package/build-types/h-stack/hook.d.ts.map +1 -1
- package/build-types/input-control/index.d.ts +1 -1
- package/build-types/input-control/stories/index.story.d.ts.map +1 -1
- package/build-types/navigation/stories/utils/hide-if-empty.d.ts.map +1 -1
- package/build-types/navigation/styles/navigation-styles.d.ts +1 -1
- package/build-types/navigator/navigator-back-button/component.d.ts +0 -1
- package/build-types/navigator/navigator-back-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-back-button/hook.d.ts +1 -2
- package/build-types/navigator/navigator-back-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/component.d.ts +0 -1
- package/build-types/navigator/navigator-button/component.d.ts.map +1 -1
- package/build-types/navigator/navigator-button/hook.d.ts +1 -2
- package/build-types/navigator/navigator-button/hook.d.ts.map +1 -1
- package/build-types/navigator/navigator-to-parent-button/component.d.ts +0 -1
- package/build-types/navigator/navigator-to-parent-button/component.d.ts.map +1 -1
- package/build-types/number-control/styles/number-control-styles.d.ts +1 -1
- package/build-types/palette-edit/index.d.ts +6 -3
- package/build-types/palette-edit/index.d.ts.map +1 -1
- package/build-types/palette-edit/styles.d.ts +2 -2
- package/build-types/radio-group/stories/index.story.d.ts.map +1 -1
- package/build-types/snackbar/index.d.ts +5 -2
- package/build-types/snackbar/index.d.ts.map +1 -1
- package/build-types/snackbar/list.d.ts.map +1 -1
- package/build-types/snackbar/test/index.d.ts +2 -0
- package/build-types/snackbar/test/index.d.ts.map +1 -0
- package/build-types/snackbar/test/list.d.ts +2 -0
- package/build-types/snackbar/test/list.d.ts.map +1 -0
- package/build-types/snackbar/types.d.ts +18 -2
- package/build-types/snackbar/types.d.ts.map +1 -1
- package/build-types/tabs/index.d.ts +1 -1
- package/build-types/tabs/types.d.ts +1 -1
- package/build-types/text-control/index.d.ts +1 -1
- package/build-types/text-control/types.d.ts +1 -1
- package/build-types/text-control/types.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
- package/build-types/toolbar/toolbar-button/index.d.ts +4 -10
- package/build-types/toolbar/toolbar-button/index.d.ts.map +1 -1
- package/build-types/utils/hooks/index.d.ts +0 -1
- package/build-types/v-stack/hook.d.ts +2 -4
- package/build-types/v-stack/hook.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/base-control/index.native.js +1 -1
- package/src/base-control/test/index.tsx +1 -1
- package/src/border-box-control/border-box-control/component.tsx +1 -1
- package/src/border-box-control/border-box-control-split-controls/component.tsx +4 -4
- package/src/border-control/border-control-dropdown/component.tsx +1 -1
- package/src/button/index.native.js +1 -1
- package/src/button/index.tsx +3 -4
- package/src/button/style.scss +1 -3
- package/src/button/test/index.tsx +6 -6
- package/src/button/types.ts +37 -9
- package/src/circular-option-picker/test/index.tsx +2 -4
- package/src/combobox-control/test/index.tsx +1 -1
- package/src/confirm-dialog/README.md +7 -0
- package/src/confirm-dialog/component.tsx +1 -1
- package/src/confirm-dialog/test/index.tsx +5 -21
- package/src/custom-select-control-v2/default-component/index.tsx +4 -1
- package/src/custom-select-control-v2/index.tsx +1 -1
- package/src/custom-select-control-v2/legacy-component/test/index.tsx +457 -0
- package/src/custom-select-control-v2/stories/legacy.story.tsx +5 -6
- package/src/custom-select-control-v2/test/index.tsx +279 -749
- package/src/custom-select-control-v2/types.ts +0 -1
- package/src/date-time/date/styles.ts +2 -2
- package/src/dimension-control/test/__snapshots__/index.test.js.snap +4 -4
- package/src/disabled/test/index.tsx +1 -1
- package/src/draggable/index.native.js +2 -2
- package/src/draggable/test/index.native.js +6 -2
- package/src/dropdown/stories/index.story.tsx +19 -0
- package/src/dropdown/style.scss +26 -0
- package/src/dropdown-menu/index.native.js +2 -2
- package/src/dropdown-menu/style.scss +0 -25
- package/src/flex/flex/README.md +2 -2
- package/src/flex/flex/hook.ts +1 -1
- package/src/font-size-picker/index.native.js +2 -2
- package/src/form-token-field/README.md +1 -1
- package/src/form-token-field/index.tsx +2 -2
- package/src/grid/README.md +11 -11
- package/src/h-stack/README.md +6 -6
- package/src/h-stack/hook.tsx +2 -1
- package/src/h-stack/test/index.tsx +10 -0
- package/src/heading/README.md +1 -1
- package/src/heading/test/__snapshots__/index.tsx.snap +3 -3
- package/src/input-control/README.md +1 -1
- package/src/input-control/index.tsx +1 -1
- package/src/input-control/stories/index.story.tsx +1 -0
- package/src/item-group/test/__snapshots__/index.js.snap +11 -11
- package/src/item-group/test/index.js +2 -2
- package/src/mobile/bottom-sheet/bottom-sheet-navigation/test/navigation-container.native.js +10 -15
- package/src/mobile/bottom-sheet/button.native.js +1 -5
- package/src/mobile/bottom-sheet/index.native.js +2 -2
- package/src/mobile/bottom-sheet/range-cell.native.js +1 -1
- package/src/mobile/bottom-sheet/stepper-cell/index.native.js +2 -2
- package/src/mobile/bottom-sheet-select-control/README.md +1 -1
- package/src/mobile/bottom-sheet-select-control/index.native.js +1 -1
- package/src/mobile/bottom-sheet-text-control/index.native.js +1 -1
- package/src/mobile/gradient/index.native.js +1 -1
- package/src/mobile/image/index.native.js +8 -23
- package/src/mobile/media-edit/index.native.js +1 -1
- package/src/modal/test/index.tsx +1 -1
- package/src/navigation/stories/utils/hide-if-empty.tsx +2 -6
- package/src/palette-edit/index.tsx +23 -23
- package/src/palette-edit/test/index.tsx +21 -17
- package/src/placeholder/style.scss +5 -1
- package/src/popover/test/index.tsx +1 -4
- package/src/progress-bar/README.md +1 -1
- package/src/query-controls/index.native.js +2 -2
- package/src/radio-control/README.md +3 -3
- package/src/radio-group/stories/index.story.tsx +1 -0
- package/src/range-control/index.tsx +3 -3
- package/src/range-control/test/index.tsx +2 -2
- package/src/resizable-box/resize-tooltip/README.md +2 -2
- package/src/search-control/index.native.js +1 -1
- package/src/snackbar/index.tsx +5 -2
- package/src/snackbar/list.tsx +6 -1
- package/src/snackbar/stories/list.story.tsx +0 -3
- package/src/snackbar/test/index.tsx +267 -0
- package/src/snackbar/test/list.tsx +46 -0
- package/src/snackbar/types.ts +31 -3
- package/src/tabs/README.md +18 -18
- package/src/tabs/index.tsx +7 -7
- package/src/tabs/stories/index.story.tsx +1 -1
- package/src/tabs/test/index.tsx +30 -30
- package/src/tabs/types.ts +1 -1
- package/src/text/test/__snapshots__/index.tsx.snap +3 -3
- package/src/text-control/types.ts +12 -1
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +14 -10
- package/src/toggle-group-control/test/index.tsx +1 -1
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +12 -10
- package/src/tools-panel/stories/index.story.tsx +8 -8
- package/src/tools-panel/test/index.tsx +10 -28
- package/src/tools-panel/tools-panel-header/component.tsx +1 -1
- package/src/tooltip/style.scss +2 -1
- package/src/tooltip/test/index.native.js +3 -3
- package/src/tree-grid/test/index.tsx +1 -1
- package/src/truncate/README.md +5 -5
- package/src/utils/config-values.js +1 -1
- package/src/utils/hooks/index.js +0 -1
- package/src/utils/input/base.js +1 -1
- package/src/v-stack/README.md +6 -6
- package/src/v-stack/test/index.tsx +10 -0
- package/tsconfig.json +1 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/custom-select-control-v2/legacy-adapter.js +0 -29
- package/build/custom-select-control-v2/legacy-adapter.js.map +0 -1
- package/build/utils/hooks/use-latest-ref.js +0 -33
- package/build/utils/hooks/use-latest-ref.js.map +0 -1
- package/build-module/custom-select-control-v2/legacy-adapter.js +0 -21
- package/build-module/custom-select-control-v2/legacy-adapter.js.map +0 -1
- package/build-module/utils/hooks/use-latest-ref.js +0 -27
- package/build-module/utils/hooks/use-latest-ref.js.map +0 -1
- package/build-types/custom-select-control-v2/legacy-adapter.d.ts +0 -6
- package/build-types/custom-select-control-v2/legacy-adapter.d.ts.map +0 -1
- package/build-types/utils/hooks/use-latest-ref.d.ts +0 -15
- package/build-types/utils/hooks/use-latest-ref.d.ts.map +0 -1
- package/src/custom-select-control-v2/legacy-adapter.tsx +0 -25
- package/src/utils/hooks/test/use-latest-ref.js +0 -119
- package/src/utils/hooks/use-latest-ref.ts +0 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_i18n","_compose","_a11y","_isShallowEqual","_token","_tokenInput","_styles","_suggestionsList","_flex","_baseControlStyles","_spacer","_useDeprecatedProps","_withIgnoreImeEvents","identity","value","FormTokenField","props","autoCapitalize","autoComplete","maxLength","placeholder","label","__","className","suggestions","maxSuggestions","displayTransform","saveTransform","token","trim","onChange","onInputChange","onFocus","undefined","isBorderless","disabled","tokenizeOnSpace","messages","added","removed","remove","__experimentalInvalid","__experimentalRenderItem","__experimentalExpandOnFocus","__experimentalValidateInput","__experimentalShowHowTo","__next40pxDefaultSize","__experimentalAutoSelectFirstMatch","__nextHasNoMarginBottom","tokenizeOnBlur","useDeprecated36pxDefaultSizeProp","instanceId","useInstanceId","incompleteTokenValue","setIncompleteTokenValue","useState","inputOffsetFromEnd","setInputOffsetFromEnd","isActive","setIsActive","isExpanded","setIsExpanded","selectedSuggestionIndex","setSelectedSuggestionIndex","selectedSuggestionScroll","setSelectedSuggestionScroll","prevSuggestions","usePrevious","prevValue","input","useRef","tokensAndInput","debouncedSpeak","useDebounce","speak","useEffect","hasFocus","focus","suggestionsDidUpdate","isShallowEqual","updateSuggestions","current","ownerDocument","activeElement","onFocusHandler","event","target","onBlur","inputHasValidValue","addNewToken","hasFocusWithin","relatedTarget","onKeyDown","preventDefault","defaultPrevented","key","handleDeleteKey","deleteTokenBeforeInput","addCurrentToken","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","deleteTokenAfterInput","handleEscapeKey","onKeyPress","handleCommaKey","onContainerTouched","onTokenClickRemove","deleteToken","onSuggestionHovered","suggestion","index","getMatchingSuggestions","indexOf","onSuggestionSelected","onInputChangeHandler","text","separator","items","split","tokenValue","length","addNewTokens","slice","_deleteToken","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","HTMLInputElement","moveInputToIndex","Math","max","prevInputOffsetFromEnd","min","getIndexOfInput","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","Set","map","filter","Boolean","valueContainsToken","newValue","splice","newTokens","item","getTokenValue","searchValue","_suggestions","_value","_maxSuggestions","_saveTransform","match","startsWithMatch","containsMatch","normalizedValue","includes","toLocaleLowerCase","forEach","push","concat","some","resetSelectedSuggestion","inputHasMinimumChars","matchingSuggestions","hasMatchingSuggestions","shouldExpandIfFocuses","message","sprintf","_n","renderTokensAndInput","components","renderToken","renderInput","status","termPosition","termsCount","_react","createElement","FlexItem","default","title","onClickRemove","onMouseEnter","onMouseLeave","inputProps","ref","classes","classnames","tokenFieldProps","tabIndex","Object","assign","withIgnoreIMEEvents","StyledLabel","htmlFor","onMouseDown","onTouchStart","TokensAndInputWrapperFlex","justify","align","gap","wrap","hasTokens","selectedIndex","scrollIntoView","onHover","onSelect","Spacer","marginBottom","StyledHelp","id","_default","exports"],"sources":["@wordpress/components/src/form-token-field/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { KeyboardEvent, MouseEvent, TouchEvent, FocusEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useDebounce, useInstanceId, usePrevious } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport { TokensAndInputWrapperFlex } from './styles';\nimport SuggestionsList from './suggestions-list';\nimport type { FormTokenFieldProps, TokenItem } from './types';\nimport { FlexItem } from '../flex';\nimport {\n\tStyledHelp,\n\tStyledLabel,\n} from '../base-control/styles/base-control-styles';\nimport { Spacer } from '../spacer';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';\n\nconst identity = ( value: string ) => value;\n\n/**\n * A `FormTokenField` is a field similar to the tags and categories fields in the interim editor chrome,\n * or the \"to\" field in Mail on OS X. Tokens can be entered by typing them or selecting them from a list of suggested tokens.\n *\n * Up to one hundred suggestions that match what the user has typed so far will be shown from which the user can pick from (auto-complete).\n * Tokens are separated by the \",\" character. Suggestions can be selected with the up or down arrows and added with the tab or enter key.\n *\n * The `value` property is handled in a manner similar to controlled form components.\n * See [Forms](http://facebook.github.io/react/docs/forms.html) in the React Documentation for more information.\n */\nexport function FormTokenField( props: FormTokenFieldProps ) {\n\tconst {\n\t\tautoCapitalize,\n\t\tautoComplete,\n\t\tmaxLength,\n\t\tplaceholder,\n\t\tlabel = __( 'Add item' ),\n\t\tclassName,\n\t\tsuggestions = [],\n\t\tmaxSuggestions = 100,\n\t\tvalue = [],\n\t\tdisplayTransform = identity,\n\t\tsaveTransform = ( token ) => token.trim(),\n\t\tonChange = () => {},\n\t\tonInputChange = () => {},\n\t\tonFocus = undefined,\n\t\tisBorderless = false,\n\t\tdisabled = false,\n\t\ttokenizeOnSpace = false,\n\t\tmessages = {\n\t\t\tadded: __( 'Item added.' ),\n\t\t\tremoved: __( 'Item removed.' ),\n\t\t\tremove: __( 'Remove item' ),\n\t\t\t__experimentalInvalid: __( 'Invalid item' ),\n\t\t},\n\t\t__experimentalRenderItem,\n\t\t__experimentalExpandOnFocus = false,\n\t\t__experimentalValidateInput = () => true,\n\t\t__experimentalShowHowTo = true,\n\t\t__next40pxDefaultSize = false,\n\t\t__experimentalAutoSelectFirstMatch = false,\n\t\t__nextHasNoMarginBottom = false,\n\t\ttokenizeOnBlur = false,\n\t} = useDeprecated36pxDefaultSizeProp< FormTokenFieldProps >( props );\n\n\tconst instanceId = useInstanceId( FormTokenField );\n\n\t// We reset to these initial values again in the onBlur\n\tconst [ incompleteTokenValue, setIncompleteTokenValue ] = useState( '' );\n\tconst [ inputOffsetFromEnd, setInputOffsetFromEnd ] = useState( 0 );\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ selectedSuggestionIndex, setSelectedSuggestionIndex ] =\n\t\tuseState( -1 );\n\tconst [ selectedSuggestionScroll, setSelectedSuggestionScroll ] =\n\t\tuseState( false );\n\n\tconst prevSuggestions = usePrevious< string[] >( suggestions );\n\tconst prevValue = usePrevious< ( string | TokenItem )[] >( value );\n\n\tconst input = useRef< HTMLInputElement >( null );\n\tconst tokensAndInput = useRef< HTMLInputElement >( null );\n\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tuseEffect( () => {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( isActive && ! hasFocus() ) {\n\t\t\tfocus();\n\t\t}\n\t}, [ isActive ] );\n\n\tuseEffect( () => {\n\t\tconst suggestionsDidUpdate = ! isShallowEqual(\n\t\t\tsuggestions,\n\t\t\tprevSuggestions || []\n\t\t);\n\n\t\tif ( suggestionsDidUpdate || value !== prevValue ) {\n\t\t\tupdateSuggestions( suggestionsDidUpdate );\n\t\t}\n\n\t\t// TODO: updateSuggestions() should first be refactored so its actual deps are clearer.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ suggestions, prevSuggestions, value, prevValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ incompleteTokenValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ __experimentalAutoSelectFirstMatch ] );\n\n\tif ( disabled && isActive ) {\n\t\tsetIsActive( false );\n\t\tsetIncompleteTokenValue( '' );\n\t}\n\n\tfunction focus() {\n\t\tinput.current?.focus();\n\t}\n\n\tfunction hasFocus() {\n\t\treturn input.current === input.current?.ownerDocument.activeElement;\n\t}\n\n\tfunction onFocusHandler( event: FocusEvent ) {\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( hasFocus() || event.target === tokensAndInput.current ) {\n\t\t\tsetIsActive( true );\n\t\t\tsetIsExpanded( __experimentalExpandOnFocus || isExpanded );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tsetIsActive( false );\n\t\t}\n\n\t\tif ( 'function' === typeof onFocus ) {\n\t\t\tonFocus( event );\n\t\t}\n\t}\n\n\tfunction onBlur( event: FocusEvent ) {\n\t\tif (\n\t\t\tinputHasValidValue() &&\n\t\t\t__experimentalValidateInput( incompleteTokenValue )\n\t\t) {\n\t\t\tsetIsActive( false );\n\t\t\tif ( tokenizeOnBlur && inputHasValidValue() ) {\n\t\t\t\taddNewToken( incompleteTokenValue );\n\t\t\t}\n\t\t} else {\n\t\t\t// Reset to initial state\n\t\t\tsetIncompleteTokenValue( '' );\n\t\t\tsetInputOffsetFromEnd( 0 );\n\t\t\tsetIsActive( false );\n\n\t\t\tif ( __experimentalExpandOnFocus ) {\n\t\t\t\t// If `__experimentalExpandOnFocus` is true, don't close the suggestions list when\n\t\t\t\t// the user clicks on it (`tokensAndInput` will be the element that caused the blur).\n\t\t\t\tconst hasFocusWithin =\n\t\t\t\t\tevent.relatedTarget === tokensAndInput.current;\n\t\t\t\tsetIsExpanded( hasFocusWithin );\n\t\t\t} else {\n\t\t\t\t// Else collapse the suggestion list. This will result in the suggestion list closing\n\t\t\t\t// after a suggestion has been submitted since that causes a blur.\n\t\t\t\tsetIsExpanded( false );\n\t\t\t}\n\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onKeyDown( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\t\tswitch ( event.key ) {\n\t\t\tcase 'Backspace':\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenBeforeInput );\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tpreventDefault = handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tpreventDefault = handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tpreventDefault = handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tpreventDefault = handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'Delete':\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenAfterInput );\n\t\t\t\tbreak;\n\t\t\tcase 'Space':\n\t\t\t\tif ( tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tpreventDefault = handleEscapeKey( event );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onKeyPress( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\n\t\tswitch ( event.key ) {\n\t\t\tcase ',':\n\t\t\t\tpreventDefault = handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onContainerTouched( event: MouseEvent | TouchEvent ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === tokensAndInput.current && isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onTokenClickRemove( event: { value: string } ) {\n\t\tdeleteToken( event.value );\n\t\tfocus();\n\t}\n\n\tfunction onSuggestionHovered( suggestion: string ) {\n\t\tconst index = getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tsetSelectedSuggestionIndex( index );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onSuggestionSelected( suggestion: string ) {\n\t\taddNewToken( suggestion );\n\t}\n\n\tfunction onInputChangeHandler( event: { value: string } ) {\n\t\tconst text = event.value;\n\t\tconst separator = tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = items[ items.length - 1 ] || '';\n\n\t\tif ( items.length > 1 ) {\n\t\t\taddNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\t\tsetIncompleteTokenValue( tokenValue );\n\t\tonInputChange( tokenValue );\n\t}\n\n\tfunction handleDeleteKey( _deleteToken: () => void ) {\n\t\tlet preventDefault = false;\n\t\tif ( hasFocus() && isInputEmpty() ) {\n\t\t\t_deleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleUpArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index === 0\n\t\t\t\t\t? getMatchingSuggestions(\n\t\t\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\t\t\tsuggestions,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\t\t\tsaveTransform\n\t\t\t\t\t ).length\n\t\t\t\t\t: index ) - 1\n\t\t\t);\n\t\t} );\n\t\tsetSelectedSuggestionScroll( true );\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleDownArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index + 1 ) %\n\t\t\t\tgetMatchingSuggestions(\n\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\tsuggestions,\n\t\t\t\t\tvalue,\n\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\tsaveTransform\n\t\t\t\t).length\n\t\t\t);\n\t\t} );\n\n\t\tsetSelectedSuggestionScroll( true );\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleEscapeKey( event: KeyboardEvent ) {\n\t\tif ( event.target instanceof HTMLInputElement ) {\n\t\t\tsetIncompleteTokenValue( event.target.value );\n\t\t\tsetIsExpanded( false );\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleCommaKey() {\n\t\tif ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction moveInputToIndex( index: number ) {\n\t\tsetInputOffsetFromEnd( value.length - Math.max( index, -1 ) - 1 );\n\t}\n\n\tfunction moveInputBeforePreviousToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.min( prevInputOffsetFromEnd + 1, value.length );\n\t\t} );\n\t}\n\n\tfunction moveInputAfterNextToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.max( prevInputOffsetFromEnd - 1, 0 );\n\t\t} );\n\t}\n\n\tfunction deleteTokenBeforeInput() {\n\t\tconst index = getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t}\n\t}\n\n\tfunction deleteTokenAfterInput() {\n\t\tconst index = getIndexOfInput();\n\n\t\tif ( index < value.length ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t\t// Update input offset since it's the offset from the last token.\n\t\t\tmoveInputToIndex( index );\n\t\t}\n\t}\n\n\tfunction addCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\taddNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction addNewTokens( tokens: string[] ) {\n\t\tconst tokensToAdd = [\n\t\t\t...new Set(\n\t\t\t\ttokens\n\t\t\t\t\t.map( saveTransform )\n\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t.filter( ( token ) => ! valueContainsToken( token ) )\n\t\t\t),\n\t\t];\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = [ ...value ];\n\t\t\tnewValue.splice( getIndexOfInput(), 0, ...tokensToAdd );\n\t\t\tonChange( newValue );\n\t\t}\n\t}\n\n\tfunction addNewToken( token: string ) {\n\t\tif ( ! __experimentalValidateInput( token ) ) {\n\t\t\tspeak( messages.__experimentalInvalid, 'assertive' );\n\t\t\treturn;\n\t\t}\n\t\taddNewTokens( [ token ] );\n\t\tspeak( messages.added, 'assertive' );\n\n\t\tsetIncompleteTokenValue( '' );\n\t\tsetSelectedSuggestionIndex( -1 );\n\t\tsetSelectedSuggestionScroll( false );\n\t\tsetIsExpanded( ! __experimentalExpandOnFocus );\n\n\t\tif ( isActive && ! tokenizeOnBlur ) {\n\t\t\tfocus();\n\t\t}\n\t}\n\n\tfunction deleteToken( token: string | TokenItem ) {\n\t\tconst newTokens = value.filter( ( item ) => {\n\t\t\treturn getTokenValue( item ) !== getTokenValue( token );\n\t\t} );\n\t\tonChange( newTokens );\n\t\tspeak( messages.removed, 'assertive' );\n\t}\n\n\tfunction getTokenValue( token: { value: string } | string ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tfunction getMatchingSuggestions(\n\t\tsearchValue = incompleteTokenValue,\n\t\t_suggestions = suggestions,\n\t\t_value = value,\n\t\t_maxSuggestions = maxSuggestions,\n\t\t_saveTransform = saveTransform\n\t) {\n\t\tlet match = _saveTransform( searchValue );\n\t\tconst startsWithMatch: string[] = [];\n\t\tconst containsMatch: string[] = [];\n\t\tconst normalizedValue = _value.map( ( item ) => {\n\t\t\tif ( typeof item === 'string' ) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t\treturn item.value;\n\t\t} );\n\n\t\tif ( match.length === 0 ) {\n\t\t\t_suggestions = _suggestions.filter(\n\t\t\t\t( suggestion ) => ! normalizedValue.includes( suggestion )\n\t\t\t);\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\t_suggestions.forEach( ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( normalizedValue.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t_suggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn _suggestions.slice( 0, _maxSuggestions );\n\t}\n\n\tfunction getSelectedSuggestion() {\n\t\tif ( selectedSuggestionIndex !== -1 ) {\n\t\t\treturn getMatchingSuggestions()[ selectedSuggestionIndex ];\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tfunction valueContainsToken( token: string ) {\n\t\treturn value.some( ( item ) => {\n\t\t\treturn getTokenValue( token ) === getTokenValue( item );\n\t\t} );\n\t}\n\n\tfunction getIndexOfInput() {\n\t\treturn value.length - inputOffsetFromEnd;\n\t}\n\n\tfunction isInputEmpty() {\n\t\treturn incompleteTokenValue.length === 0;\n\t}\n\n\tfunction inputHasValidValue() {\n\t\treturn saveTransform( incompleteTokenValue ).length > 0;\n\t}\n\n\tfunction updateSuggestions( resetSelectedSuggestion = true ) {\n\t\tconst inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n\t\tconst matchingSuggestions =\n\t\t\tgetMatchingSuggestions( incompleteTokenValue );\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\n\t\tconst shouldExpandIfFocuses = hasFocus() && __experimentalExpandOnFocus;\n\t\tsetIsExpanded(\n\t\t\tshouldExpandIfFocuses ||\n\t\t\t\t( inputHasMinimumChars && hasMatchingSuggestions )\n\t\t);\n\n\t\tif ( resetSelectedSuggestion ) {\n\t\t\tif (\n\t\t\t\t__experimentalAutoSelectFirstMatch &&\n\t\t\t\tinputHasMinimumChars &&\n\t\t\t\thasMatchingSuggestions\n\t\t\t) {\n\t\t\t\tsetSelectedSuggestionIndex( 0 );\n\t\t\t\tsetSelectedSuggestionScroll( true );\n\t\t\t} else {\n\t\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\t\tsetSelectedSuggestionScroll( false );\n\t\t\t}\n\t\t}\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tdebouncedSpeak( message, 'assertive' );\n\t\t}\n\t}\n\n\tfunction renderTokensAndInput() {\n\t\tconst components = value.map( renderToken );\n\t\tcomponents.splice( getIndexOfInput(), 0, renderInput() );\n\n\t\treturn components;\n\t}\n\n\tfunction renderToken(\n\t\ttoken: string | TokenItem,\n\t\tindex: number,\n\t\ttokens: ( string | TokenItem )[]\n\t) {\n\t\tconst _value = getTokenValue( token );\n\t\tconst status = typeof token !== 'string' ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<FlexItem key={ 'token-' + _value }>\n\t\t\t\t<Token\n\t\t\t\t\tvalue={ _value }\n\t\t\t\t\tstatus={ status }\n\t\t\t\t\ttitle={\n\t\t\t\t\t\ttypeof token !== 'string' ? token.title : undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\tonClickRemove={ onTokenClickRemove }\n\t\t\t\t\tisBorderless={\n\t\t\t\t\t\t( typeof token !== 'string' && token.isBorderless ) ||\n\t\t\t\t\t\tisBorderless\n\t\t\t\t\t}\n\t\t\t\t\tonMouseEnter={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseEnter\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tonMouseLeave={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseLeave\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={ 'error' !== status && disabled }\n\t\t\t\t\tmessages={ messages }\n\t\t\t\t\ttermsCount={ termsCount }\n\t\t\t\t\ttermPosition={ termPosition }\n\t\t\t\t/>\n\t\t\t</FlexItem>\n\t\t);\n\t}\n\n\tfunction renderInput() {\n\t\tconst inputProps = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tplaceholder: value.length === 0 ? placeholder : '',\n\t\t\tkey: 'input',\n\t\t\tdisabled,\n\t\t\tvalue: incompleteTokenValue,\n\t\t\tonBlur,\n\t\t\tisExpanded,\n\t\t\tselectedSuggestionIndex,\n\t\t};\n\n\t\treturn (\n\t\t\t<TokenInput\n\t\t\t\t{ ...inputProps }\n\t\t\t\tonChange={\n\t\t\t\t\t! ( maxLength && value.length >= maxLength )\n\t\t\t\t\t\t? onInputChangeHandler\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tref={ input }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\tclassName,\n\t\t'components-form-token-field__input-container',\n\t\t{\n\t\t\t'is-active': isActive,\n\t\t\t'is-disabled': disabled,\n\t\t}\n\t);\n\n\tlet tokenFieldProps = {\n\t\tclassName: 'components-form-token-field',\n\t\ttabIndex: -1,\n\t};\n\tconst matchingSuggestions = getMatchingSuggestions();\n\n\tif ( ! disabled ) {\n\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\tonKeyDown: withIgnoreIMEEvents( onKeyDown ),\n\t\t\tonKeyPress,\n\t\t\tonFocus: onFocusHandler,\n\t\t} );\n\t}\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<div { ...tokenFieldProps }>\n\t\t\t<StyledLabel\n\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</StyledLabel>\n\t\t\t<div\n\t\t\t\tref={ tokensAndInput }\n\t\t\t\tclassName={ classes }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonMouseDown={ onContainerTouched }\n\t\t\t\tonTouchStart={ onContainerTouched }\n\t\t\t>\n\t\t\t\t<TokensAndInputWrapperFlex\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tgap={ 1 }\n\t\t\t\t\twrap={ true }\n\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\thasTokens={ !! value.length }\n\t\t\t\t>\n\t\t\t\t\t{ renderTokensAndInput() }\n\t\t\t\t</TokensAndInputWrapperFlex>\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\tmatch={ saveTransform( incompleteTokenValue ) }\n\t\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\tselectedIndex={ selectedSuggestionIndex }\n\t\t\t\t\t\tscrollIntoView={ selectedSuggestionScroll }\n\t\t\t\t\t\tonHover={ onSuggestionHovered }\n\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t__experimentalRenderItem={ __experimentalRenderItem }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! __nextHasNoMarginBottom && <Spacer marginBottom={ 2 } /> }\n\t\t\t{ __experimentalShowHowTo && (\n\t\t\t\t<StyledHelp\n\t\t\t\t\tid={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__help\"\n\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t>\n\t\t\t\t\t{ tokenizeOnSpace\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Separate with commas, spaces, or the Enter key.'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Separate with commas or the Enter key.' ) }\n\t\t\t\t</StyledHelp>\n\t\t\t) }\n\t\t</div>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default FormTokenField;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_i18n","_compose","_a11y","_isShallowEqual","_token","_tokenInput","_styles","_suggestionsList","_flex","_baseControlStyles","_spacer","_useDeprecatedProps","_withIgnoreImeEvents","identity","value","FormTokenField","props","autoCapitalize","autoComplete","maxLength","placeholder","label","__","className","suggestions","maxSuggestions","displayTransform","saveTransform","token","trim","onChange","onInputChange","onFocus","undefined","isBorderless","disabled","tokenizeOnSpace","messages","added","removed","remove","__experimentalInvalid","__experimentalRenderItem","__experimentalExpandOnFocus","__experimentalValidateInput","__experimentalShowHowTo","__next40pxDefaultSize","__experimentalAutoSelectFirstMatch","__nextHasNoMarginBottom","tokenizeOnBlur","useDeprecated36pxDefaultSizeProp","instanceId","useInstanceId","incompleteTokenValue","setIncompleteTokenValue","useState","inputOffsetFromEnd","setInputOffsetFromEnd","isActive","setIsActive","isExpanded","setIsExpanded","selectedSuggestionIndex","setSelectedSuggestionIndex","selectedSuggestionScroll","setSelectedSuggestionScroll","prevSuggestions","usePrevious","prevValue","input","useRef","tokensAndInput","debouncedSpeak","useDebounce","speak","useEffect","hasFocus","focus","suggestionsDidUpdate","isShallowEqual","updateSuggestions","current","ownerDocument","activeElement","onFocusHandler","event","target","onBlur","inputHasValidValue","addNewToken","hasFocusWithin","relatedTarget","onKeyDown","preventDefault","defaultPrevented","key","handleDeleteKey","deleteTokenBeforeInput","addCurrentToken","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","deleteTokenAfterInput","handleEscapeKey","onKeyPress","handleCommaKey","onContainerTouched","onTokenClickRemove","deleteToken","onSuggestionHovered","suggestion","index","getMatchingSuggestions","indexOf","onSuggestionSelected","onInputChangeHandler","text","separator","items","split","tokenValue","length","addNewTokens","slice","_deleteToken","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","HTMLInputElement","moveInputToIndex","Math","max","prevInputOffsetFromEnd","min","getIndexOfInput","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","Set","map","filter","Boolean","valueContainsToken","newValue","splice","newTokens","item","getTokenValue","searchValue","_suggestions","_value","_maxSuggestions","_saveTransform","match","startsWithMatch","containsMatch","normalizedValue","includes","toLocaleLowerCase","forEach","push","concat","some","resetSelectedSuggestion","inputHasMinimumChars","matchingSuggestions","hasMatchingSuggestions","shouldExpandIfFocuses","message","sprintf","_n","renderTokensAndInput","components","renderToken","renderInput","status","termPosition","termsCount","_react","createElement","FlexItem","default","title","onClickRemove","onMouseEnter","onMouseLeave","inputProps","ref","classes","classnames","tokenFieldProps","tabIndex","Object","assign","withIgnoreIMEEvents","StyledLabel","htmlFor","onMouseDown","onTouchStart","TokensAndInputWrapperFlex","justify","align","gap","wrap","hasTokens","selectedIndex","scrollIntoView","onHover","onSelect","Spacer","marginBottom","StyledHelp","id","_default","exports"],"sources":["@wordpress/components/src/form-token-field/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport type { KeyboardEvent, MouseEvent, TouchEvent, FocusEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useDebounce, useInstanceId, usePrevious } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport { TokensAndInputWrapperFlex } from './styles';\nimport SuggestionsList from './suggestions-list';\nimport type { FormTokenFieldProps, TokenItem } from './types';\nimport { FlexItem } from '../flex';\nimport {\n\tStyledHelp,\n\tStyledLabel,\n} from '../base-control/styles/base-control-styles';\nimport { Spacer } from '../spacer';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\nimport { withIgnoreIMEEvents } from '../utils/with-ignore-ime-events';\n\nconst identity = ( value: string ) => value;\n\n/**\n * A `FormTokenField` is a field similar to the tags and categories fields in the interim editor chrome,\n * or the \"to\" field in Mail on OS X. Tokens can be entered by typing them or selecting them from a list of suggested tokens.\n *\n * Up to one hundred suggestions that match what the user has typed so far will be shown from which the user can pick from (auto-complete).\n * Tokens are separated by the \",\" character. Suggestions can be selected with the up or down arrows and added with the tab or enter key.\n *\n * The `value` property is handled in a manner similar to controlled form components.\n * See [Forms](https://react.dev/reference/react-dom/components#form-components) in the React Documentation for more information.\n */\nexport function FormTokenField( props: FormTokenFieldProps ) {\n\tconst {\n\t\tautoCapitalize,\n\t\tautoComplete,\n\t\tmaxLength,\n\t\tplaceholder,\n\t\tlabel = __( 'Add item' ),\n\t\tclassName,\n\t\tsuggestions = [],\n\t\tmaxSuggestions = 100,\n\t\tvalue = [],\n\t\tdisplayTransform = identity,\n\t\tsaveTransform = ( token ) => token.trim(),\n\t\tonChange = () => {},\n\t\tonInputChange = () => {},\n\t\tonFocus = undefined,\n\t\tisBorderless = false,\n\t\tdisabled = false,\n\t\ttokenizeOnSpace = false,\n\t\tmessages = {\n\t\t\tadded: __( 'Item added.' ),\n\t\t\tremoved: __( 'Item removed.' ),\n\t\t\tremove: __( 'Remove item' ),\n\t\t\t__experimentalInvalid: __( 'Invalid item' ),\n\t\t},\n\t\t__experimentalRenderItem,\n\t\t__experimentalExpandOnFocus = false,\n\t\t__experimentalValidateInput = () => true,\n\t\t__experimentalShowHowTo = true,\n\t\t__next40pxDefaultSize = false,\n\t\t__experimentalAutoSelectFirstMatch = false,\n\t\t__nextHasNoMarginBottom = false,\n\t\ttokenizeOnBlur = false,\n\t} = useDeprecated36pxDefaultSizeProp< FormTokenFieldProps >( props );\n\n\tconst instanceId = useInstanceId( FormTokenField );\n\n\t// We reset to these initial values again in the onBlur\n\tconst [ incompleteTokenValue, setIncompleteTokenValue ] = useState( '' );\n\tconst [ inputOffsetFromEnd, setInputOffsetFromEnd ] = useState( 0 );\n\tconst [ isActive, setIsActive ] = useState( false );\n\tconst [ isExpanded, setIsExpanded ] = useState( false );\n\tconst [ selectedSuggestionIndex, setSelectedSuggestionIndex ] =\n\t\tuseState( -1 );\n\tconst [ selectedSuggestionScroll, setSelectedSuggestionScroll ] =\n\t\tuseState( false );\n\n\tconst prevSuggestions = usePrevious< string[] >( suggestions );\n\tconst prevValue = usePrevious< ( string | TokenItem )[] >( value );\n\n\tconst input = useRef< HTMLInputElement >( null );\n\tconst tokensAndInput = useRef< HTMLInputElement >( null );\n\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tuseEffect( () => {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( isActive && ! hasFocus() ) {\n\t\t\tfocus();\n\t\t}\n\t}, [ isActive ] );\n\n\tuseEffect( () => {\n\t\tconst suggestionsDidUpdate = ! isShallowEqual(\n\t\t\tsuggestions,\n\t\t\tprevSuggestions || []\n\t\t);\n\n\t\tif ( suggestionsDidUpdate || value !== prevValue ) {\n\t\t\tupdateSuggestions( suggestionsDidUpdate );\n\t\t}\n\n\t\t// TODO: updateSuggestions() should first be refactored so its actual deps are clearer.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ suggestions, prevSuggestions, value, prevValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ incompleteTokenValue ] );\n\n\tuseEffect( () => {\n\t\tupdateSuggestions();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ __experimentalAutoSelectFirstMatch ] );\n\n\tif ( disabled && isActive ) {\n\t\tsetIsActive( false );\n\t\tsetIncompleteTokenValue( '' );\n\t}\n\n\tfunction focus() {\n\t\tinput.current?.focus();\n\t}\n\n\tfunction hasFocus() {\n\t\treturn input.current === input.current?.ownerDocument.activeElement;\n\t}\n\n\tfunction onFocusHandler( event: FocusEvent ) {\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( hasFocus() || event.target === tokensAndInput.current ) {\n\t\t\tsetIsActive( true );\n\t\t\tsetIsExpanded( __experimentalExpandOnFocus || isExpanded );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tsetIsActive( false );\n\t\t}\n\n\t\tif ( 'function' === typeof onFocus ) {\n\t\t\tonFocus( event );\n\t\t}\n\t}\n\n\tfunction onBlur( event: FocusEvent ) {\n\t\tif (\n\t\t\tinputHasValidValue() &&\n\t\t\t__experimentalValidateInput( incompleteTokenValue )\n\t\t) {\n\t\t\tsetIsActive( false );\n\t\t\tif ( tokenizeOnBlur && inputHasValidValue() ) {\n\t\t\t\taddNewToken( incompleteTokenValue );\n\t\t\t}\n\t\t} else {\n\t\t\t// Reset to initial state\n\t\t\tsetIncompleteTokenValue( '' );\n\t\t\tsetInputOffsetFromEnd( 0 );\n\t\t\tsetIsActive( false );\n\n\t\t\tif ( __experimentalExpandOnFocus ) {\n\t\t\t\t// If `__experimentalExpandOnFocus` is true, don't close the suggestions list when\n\t\t\t\t// the user clicks on it (`tokensAndInput` will be the element that caused the blur).\n\t\t\t\tconst hasFocusWithin =\n\t\t\t\t\tevent.relatedTarget === tokensAndInput.current;\n\t\t\t\tsetIsExpanded( hasFocusWithin );\n\t\t\t} else {\n\t\t\t\t// Else collapse the suggestion list. This will result in the suggestion list closing\n\t\t\t\t// after a suggestion has been submitted since that causes a blur.\n\t\t\t\tsetIsExpanded( false );\n\t\t\t}\n\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onKeyDown( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\t\tswitch ( event.key ) {\n\t\t\tcase 'Backspace':\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenBeforeInput );\n\t\t\t\tbreak;\n\t\t\tcase 'Enter':\n\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tpreventDefault = handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowUp':\n\t\t\t\tpreventDefault = handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tpreventDefault = handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowDown':\n\t\t\t\tpreventDefault = handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase 'Delete':\n\t\t\t\tpreventDefault = handleDeleteKey( deleteTokenAfterInput );\n\t\t\t\tbreak;\n\t\t\tcase 'Space':\n\t\t\t\tif ( tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'Escape':\n\t\t\t\tpreventDefault = handleEscapeKey( event );\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onKeyPress( event: KeyboardEvent ) {\n\t\tlet preventDefault = false;\n\n\t\tswitch ( event.key ) {\n\t\t\tcase ',':\n\t\t\t\tpreventDefault = handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onContainerTouched( event: MouseEvent | TouchEvent ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === tokensAndInput.current && isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tfunction onTokenClickRemove( event: { value: string } ) {\n\t\tdeleteToken( event.value );\n\t\tfocus();\n\t}\n\n\tfunction onSuggestionHovered( suggestion: string ) {\n\t\tconst index = getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tsetSelectedSuggestionIndex( index );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\t}\n\n\tfunction onSuggestionSelected( suggestion: string ) {\n\t\taddNewToken( suggestion );\n\t}\n\n\tfunction onInputChangeHandler( event: { value: string } ) {\n\t\tconst text = event.value;\n\t\tconst separator = tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = items[ items.length - 1 ] || '';\n\n\t\tif ( items.length > 1 ) {\n\t\t\taddNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\t\tsetIncompleteTokenValue( tokenValue );\n\t\tonInputChange( tokenValue );\n\t}\n\n\tfunction handleDeleteKey( _deleteToken: () => void ) {\n\t\tlet preventDefault = false;\n\t\tif ( hasFocus() && isInputEmpty() ) {\n\t\t\t_deleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( isInputEmpty() ) {\n\t\t\tmoveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction handleUpArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index === 0\n\t\t\t\t\t? getMatchingSuggestions(\n\t\t\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\t\t\tsuggestions,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\t\t\tsaveTransform\n\t\t\t\t\t ).length\n\t\t\t\t\t: index ) - 1\n\t\t\t);\n\t\t} );\n\t\tsetSelectedSuggestionScroll( true );\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleDownArrowKey() {\n\t\tsetSelectedSuggestionIndex( ( index ) => {\n\t\t\treturn (\n\t\t\t\t( index + 1 ) %\n\t\t\t\tgetMatchingSuggestions(\n\t\t\t\t\tincompleteTokenValue,\n\t\t\t\t\tsuggestions,\n\t\t\t\t\tvalue,\n\t\t\t\t\tmaxSuggestions,\n\t\t\t\t\tsaveTransform\n\t\t\t\t).length\n\t\t\t);\n\t\t} );\n\n\t\tsetSelectedSuggestionScroll( true );\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleEscapeKey( event: KeyboardEvent ) {\n\t\tif ( event.target instanceof HTMLInputElement ) {\n\t\t\tsetIncompleteTokenValue( event.target.value );\n\t\t\tsetIsExpanded( false );\n\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\tsetSelectedSuggestionScroll( false );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction handleCommaKey() {\n\t\tif ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // PreventDefault.\n\t}\n\n\tfunction moveInputToIndex( index: number ) {\n\t\tsetInputOffsetFromEnd( value.length - Math.max( index, -1 ) - 1 );\n\t}\n\n\tfunction moveInputBeforePreviousToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.min( prevInputOffsetFromEnd + 1, value.length );\n\t\t} );\n\t}\n\n\tfunction moveInputAfterNextToken() {\n\t\tsetInputOffsetFromEnd( ( prevInputOffsetFromEnd ) => {\n\t\t\treturn Math.max( prevInputOffsetFromEnd - 1, 0 );\n\t\t} );\n\t}\n\n\tfunction deleteTokenBeforeInput() {\n\t\tconst index = getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t}\n\t}\n\n\tfunction deleteTokenAfterInput() {\n\t\tconst index = getIndexOfInput();\n\n\t\tif ( index < value.length ) {\n\t\t\tdeleteToken( value[ index ] );\n\t\t\t// Update input offset since it's the offset from the last token.\n\t\t\tmoveInputToIndex( index );\n\t\t}\n\t}\n\n\tfunction addCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\taddNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( inputHasValidValue() ) {\n\t\t\taddNewToken( incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\tfunction addNewTokens( tokens: string[] ) {\n\t\tconst tokensToAdd = [\n\t\t\t...new Set(\n\t\t\t\ttokens\n\t\t\t\t\t.map( saveTransform )\n\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t.filter( ( token ) => ! valueContainsToken( token ) )\n\t\t\t),\n\t\t];\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = [ ...value ];\n\t\t\tnewValue.splice( getIndexOfInput(), 0, ...tokensToAdd );\n\t\t\tonChange( newValue );\n\t\t}\n\t}\n\n\tfunction addNewToken( token: string ) {\n\t\tif ( ! __experimentalValidateInput( token ) ) {\n\t\t\tspeak( messages.__experimentalInvalid, 'assertive' );\n\t\t\treturn;\n\t\t}\n\t\taddNewTokens( [ token ] );\n\t\tspeak( messages.added, 'assertive' );\n\n\t\tsetIncompleteTokenValue( '' );\n\t\tsetSelectedSuggestionIndex( -1 );\n\t\tsetSelectedSuggestionScroll( false );\n\t\tsetIsExpanded( ! __experimentalExpandOnFocus );\n\n\t\tif ( isActive && ! tokenizeOnBlur ) {\n\t\t\tfocus();\n\t\t}\n\t}\n\n\tfunction deleteToken( token: string | TokenItem ) {\n\t\tconst newTokens = value.filter( ( item ) => {\n\t\t\treturn getTokenValue( item ) !== getTokenValue( token );\n\t\t} );\n\t\tonChange( newTokens );\n\t\tspeak( messages.removed, 'assertive' );\n\t}\n\n\tfunction getTokenValue( token: { value: string } | string ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tfunction getMatchingSuggestions(\n\t\tsearchValue = incompleteTokenValue,\n\t\t_suggestions = suggestions,\n\t\t_value = value,\n\t\t_maxSuggestions = maxSuggestions,\n\t\t_saveTransform = saveTransform\n\t) {\n\t\tlet match = _saveTransform( searchValue );\n\t\tconst startsWithMatch: string[] = [];\n\t\tconst containsMatch: string[] = [];\n\t\tconst normalizedValue = _value.map( ( item ) => {\n\t\t\tif ( typeof item === 'string' ) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t\treturn item.value;\n\t\t} );\n\n\t\tif ( match.length === 0 ) {\n\t\t\t_suggestions = _suggestions.filter(\n\t\t\t\t( suggestion ) => ! normalizedValue.includes( suggestion )\n\t\t\t);\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\t_suggestions.forEach( ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( normalizedValue.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t_suggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn _suggestions.slice( 0, _maxSuggestions );\n\t}\n\n\tfunction getSelectedSuggestion() {\n\t\tif ( selectedSuggestionIndex !== -1 ) {\n\t\t\treturn getMatchingSuggestions()[ selectedSuggestionIndex ];\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tfunction valueContainsToken( token: string ) {\n\t\treturn value.some( ( item ) => {\n\t\t\treturn getTokenValue( token ) === getTokenValue( item );\n\t\t} );\n\t}\n\n\tfunction getIndexOfInput() {\n\t\treturn value.length - inputOffsetFromEnd;\n\t}\n\n\tfunction isInputEmpty() {\n\t\treturn incompleteTokenValue.length === 0;\n\t}\n\n\tfunction inputHasValidValue() {\n\t\treturn saveTransform( incompleteTokenValue ).length > 0;\n\t}\n\n\tfunction updateSuggestions( resetSelectedSuggestion = true ) {\n\t\tconst inputHasMinimumChars = incompleteTokenValue.trim().length > 1;\n\t\tconst matchingSuggestions =\n\t\t\tgetMatchingSuggestions( incompleteTokenValue );\n\t\tconst hasMatchingSuggestions = matchingSuggestions.length > 0;\n\n\t\tconst shouldExpandIfFocuses = hasFocus() && __experimentalExpandOnFocus;\n\t\tsetIsExpanded(\n\t\t\tshouldExpandIfFocuses ||\n\t\t\t\t( inputHasMinimumChars && hasMatchingSuggestions )\n\t\t);\n\n\t\tif ( resetSelectedSuggestion ) {\n\t\t\tif (\n\t\t\t\t__experimentalAutoSelectFirstMatch &&\n\t\t\t\tinputHasMinimumChars &&\n\t\t\t\thasMatchingSuggestions\n\t\t\t) {\n\t\t\t\tsetSelectedSuggestionIndex( 0 );\n\t\t\t\tsetSelectedSuggestionScroll( true );\n\t\t\t} else {\n\t\t\t\tsetSelectedSuggestionIndex( -1 );\n\t\t\t\tsetSelectedSuggestionScroll( false );\n\t\t\t}\n\t\t}\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tconst message = hasMatchingSuggestions\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %d: number of results. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t\t\t),\n\t\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t )\n\t\t\t\t: __( 'No results.' );\n\n\t\t\tdebouncedSpeak( message, 'assertive' );\n\t\t}\n\t}\n\n\tfunction renderTokensAndInput() {\n\t\tconst components = value.map( renderToken );\n\t\tcomponents.splice( getIndexOfInput(), 0, renderInput() );\n\n\t\treturn components;\n\t}\n\n\tfunction renderToken(\n\t\ttoken: string | TokenItem,\n\t\tindex: number,\n\t\ttokens: ( string | TokenItem )[]\n\t) {\n\t\tconst _value = getTokenValue( token );\n\t\tconst status = typeof token !== 'string' ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<FlexItem key={ 'token-' + _value }>\n\t\t\t\t<Token\n\t\t\t\t\tvalue={ _value }\n\t\t\t\t\tstatus={ status }\n\t\t\t\t\ttitle={\n\t\t\t\t\t\ttypeof token !== 'string' ? token.title : undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\tonClickRemove={ onTokenClickRemove }\n\t\t\t\t\tisBorderless={\n\t\t\t\t\t\t( typeof token !== 'string' && token.isBorderless ) ||\n\t\t\t\t\t\tisBorderless\n\t\t\t\t\t}\n\t\t\t\t\tonMouseEnter={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseEnter\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tonMouseLeave={\n\t\t\t\t\t\ttypeof token !== 'string'\n\t\t\t\t\t\t\t? token.onMouseLeave\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tdisabled={ 'error' !== status && disabled }\n\t\t\t\t\tmessages={ messages }\n\t\t\t\t\ttermsCount={ termsCount }\n\t\t\t\t\ttermPosition={ termPosition }\n\t\t\t\t/>\n\t\t\t</FlexItem>\n\t\t);\n\t}\n\n\tfunction renderInput() {\n\t\tconst inputProps = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tplaceholder: value.length === 0 ? placeholder : '',\n\t\t\tkey: 'input',\n\t\t\tdisabled,\n\t\t\tvalue: incompleteTokenValue,\n\t\t\tonBlur,\n\t\t\tisExpanded,\n\t\t\tselectedSuggestionIndex,\n\t\t};\n\n\t\treturn (\n\t\t\t<TokenInput\n\t\t\t\t{ ...inputProps }\n\t\t\t\tonChange={\n\t\t\t\t\t! ( maxLength && value.length >= maxLength )\n\t\t\t\t\t\t? onInputChangeHandler\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tref={ input }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\tclassName,\n\t\t'components-form-token-field__input-container',\n\t\t{\n\t\t\t'is-active': isActive,\n\t\t\t'is-disabled': disabled,\n\t\t}\n\t);\n\n\tlet tokenFieldProps = {\n\t\tclassName: 'components-form-token-field',\n\t\ttabIndex: -1,\n\t};\n\tconst matchingSuggestions = getMatchingSuggestions();\n\n\tif ( ! disabled ) {\n\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\tonKeyDown: withIgnoreIMEEvents( onKeyDown ),\n\t\t\tonKeyPress,\n\t\t\tonFocus: onFocusHandler,\n\t\t} );\n\t}\n\n\t// Disable reason: There is no appropriate role which describes the\n\t// input container intended accessible usability.\n\t// TODO: Refactor click detection to use blur to stop propagation.\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<div { ...tokenFieldProps }>\n\t\t\t<StyledLabel\n\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t>\n\t\t\t\t{ label }\n\t\t\t</StyledLabel>\n\t\t\t<div\n\t\t\t\tref={ tokensAndInput }\n\t\t\t\tclassName={ classes }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonMouseDown={ onContainerTouched }\n\t\t\t\tonTouchStart={ onContainerTouched }\n\t\t\t>\n\t\t\t\t<TokensAndInputWrapperFlex\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\talign=\"center\"\n\t\t\t\t\tgap={ 1 }\n\t\t\t\t\twrap\n\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\thasTokens={ !! value.length }\n\t\t\t\t>\n\t\t\t\t\t{ renderTokensAndInput() }\n\t\t\t\t</TokensAndInputWrapperFlex>\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\tmatch={ saveTransform( incompleteTokenValue ) }\n\t\t\t\t\t\tdisplayTransform={ displayTransform }\n\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\tselectedIndex={ selectedSuggestionIndex }\n\t\t\t\t\t\tscrollIntoView={ selectedSuggestionScroll }\n\t\t\t\t\t\tonHover={ onSuggestionHovered }\n\t\t\t\t\t\tonSelect={ onSuggestionSelected }\n\t\t\t\t\t\t__experimentalRenderItem={ __experimentalRenderItem }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! __nextHasNoMarginBottom && <Spacer marginBottom={ 2 } /> }\n\t\t\t{ __experimentalShowHowTo && (\n\t\t\t\t<StyledHelp\n\t\t\t\t\tid={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__help\"\n\t\t\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\t\t>\n\t\t\t\t\t{ tokenizeOnSpace\n\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t'Separate with commas, spaces, or the Enter key.'\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Separate with commas or the Enter key.' ) }\n\t\t\t\t</StyledHelp>\n\t\t\t) }\n\t\t</div>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n\nexport default FormTokenField;\n"],"mappings":"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"}
|
package/build/h-stack/hook.js
CHANGED
|
@@ -48,7 +48,12 @@ function useHStack(props) {
|
|
|
48
48
|
...otherProps,
|
|
49
49
|
gap: spacing
|
|
50
50
|
};
|
|
51
|
-
|
|
51
|
+
|
|
52
|
+
// Omit `isColumn` because it's not used in HStack.
|
|
53
|
+
const {
|
|
54
|
+
isColumn,
|
|
55
|
+
...flexProps
|
|
56
|
+
} = (0, _flex.useFlex)(propsForFlex);
|
|
52
57
|
return flexProps;
|
|
53
58
|
}
|
|
54
59
|
//# sourceMappingURL=hook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_context","require","_flex","_utils","_getValidChildren","useHStack","props","alignment","children","direction","spacing","otherProps","useContextSystem","align","getAlignmentProps","validChildren","getValidChildren","clonedChildren","map","child","index","_isSpacer","hasConnectNamespace","childElement","_key","key","_react","createElement","FlexItem","isBlock","propsForFlex","justify","gap","flexProps","useFlex"],"sources":["@wordpress/components/src/h-stack/hook.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactElement } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { hasConnectNamespace, useContextSystem } from '../context';\nimport { FlexItem, useFlex } from '../flex';\nimport { getAlignmentProps } from './utils';\nimport { getValidChildren } from '../utils/get-valid-children';\nimport type { Props } from './types';\n\nexport function useHStack( props: WordPressComponentProps< Props, 'div' > ) {\n\tconst {\n\t\talignment = 'edge',\n\t\tchildren,\n\t\tdirection,\n\t\tspacing = 2,\n\t\t...otherProps\n\t} = useContextSystem( props, 'HStack' );\n\n\tconst align = getAlignmentProps( alignment, direction );\n\n\tconst validChildren = getValidChildren( children );\n\tconst clonedChildren = validChildren.map( ( child, index ) => {\n\t\tconst _isSpacer = hasConnectNamespace( child, [ 'Spacer' ] );\n\n\t\tif ( _isSpacer ) {\n\t\t\tconst childElement = child as ReactElement;\n\t\t\tconst _key = childElement.key || `hstack-${ index }`;\n\n\t\t\treturn <FlexItem isBlock key={ _key } { ...childElement.props } />;\n\t\t}\n\n\t\treturn child;\n\t} );\n\n\tconst propsForFlex = {\n\t\tchildren: clonedChildren,\n\t\tdirection,\n\t\tjustify: 'center',\n\t\t...align,\n\t\t...otherProps,\n\t\tgap: spacing,\n\t};\n\n\tconst flexProps = useFlex( propsForFlex );\n\n\treturn flexProps;\n}\n"],"mappings":";;;;;;;AASA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAQO,SAASI,SAASA,CAAEC,KAA8C,EAAG;EAC3E,MAAM;IACLC,SAAS,GAAG,MAAM;IAClBC,QAAQ;IACRC,SAAS;IACTC,OAAO,GAAG,CAAC;IACX,GAAGC;EACJ,CAAC,GAAG,IAAAC,yBAAgB,EAAEN,KAAK,EAAE,QAAS,CAAC;EAEvC,MAAMO,KAAK,GAAG,IAAAC,wBAAiB,EAAEP,SAAS,EAAEE,SAAU,CAAC;EAEvD,MAAMM,aAAa,GAAG,IAAAC,kCAAgB,EAAER,QAAS,CAAC;EAClD,MAAMS,cAAc,GAAGF,aAAa,CAACG,GAAG,CAAE,CAAEC,KAAK,EAAEC,KAAK,KAAM;IAC7D,MAAMC,SAAS,GAAG,IAAAC,4BAAmB,EAAEH,KAAK,EAAE,CAAE,QAAQ,CAAG,CAAC;IAE5D,IAAKE,SAAS,EAAG;MAChB,MAAME,YAAY,GAAGJ,KAAqB;MAC1C,MAAMK,IAAI,GAAGD,YAAY,CAACE,GAAG,IAAK,UAAUL,KAAO,EAAC;MAEpD,OAAO,IAAAM,MAAA,CAAAC,aAAA,EAACzB,KAAA,CAAA0B,QAAQ;QAACC,OAAO;QAACJ,GAAG,EAAGD,IAAM;QAAA,GAAMD,YAAY,CAACjB;MAAK,CAAI,CAAC;IACnE;IAEA,OAAOa,KAAK;EACb,CAAE,CAAC;EAEH,MAAMW,YAAY,GAAG;IACpBtB,QAAQ,EAAES,cAAc;IACxBR,SAAS;IACTsB,OAAO,EAAE,QAAQ;IACjB,GAAGlB,KAAK;IACR,GAAGF,UAAU;IACbqB,GAAG,EAAEtB;EACN,CAAC;
|
|
1
|
+
{"version":3,"names":["_context","require","_flex","_utils","_getValidChildren","useHStack","props","alignment","children","direction","spacing","otherProps","useContextSystem","align","getAlignmentProps","validChildren","getValidChildren","clonedChildren","map","child","index","_isSpacer","hasConnectNamespace","childElement","_key","key","_react","createElement","FlexItem","isBlock","propsForFlex","justify","gap","isColumn","flexProps","useFlex"],"sources":["@wordpress/components/src/h-stack/hook.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ReactElement } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../context';\nimport { hasConnectNamespace, useContextSystem } from '../context';\nimport { FlexItem, useFlex } from '../flex';\nimport { getAlignmentProps } from './utils';\nimport { getValidChildren } from '../utils/get-valid-children';\nimport type { Props } from './types';\n\nexport function useHStack( props: WordPressComponentProps< Props, 'div' > ) {\n\tconst {\n\t\talignment = 'edge',\n\t\tchildren,\n\t\tdirection,\n\t\tspacing = 2,\n\t\t...otherProps\n\t} = useContextSystem( props, 'HStack' );\n\n\tconst align = getAlignmentProps( alignment, direction );\n\n\tconst validChildren = getValidChildren( children );\n\tconst clonedChildren = validChildren.map( ( child, index ) => {\n\t\tconst _isSpacer = hasConnectNamespace( child, [ 'Spacer' ] );\n\n\t\tif ( _isSpacer ) {\n\t\t\tconst childElement = child as ReactElement;\n\t\t\tconst _key = childElement.key || `hstack-${ index }`;\n\n\t\t\treturn <FlexItem isBlock key={ _key } { ...childElement.props } />;\n\t\t}\n\n\t\treturn child;\n\t} );\n\n\tconst propsForFlex = {\n\t\tchildren: clonedChildren,\n\t\tdirection,\n\t\tjustify: 'center',\n\t\t...align,\n\t\t...otherProps,\n\t\tgap: spacing,\n\t};\n\n\t// Omit `isColumn` because it's not used in HStack.\n\tconst { isColumn, ...flexProps } = useFlex( propsForFlex );\n\n\treturn flexProps;\n}\n"],"mappings":";;;;;;;AASA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAQO,SAASI,SAASA,CAAEC,KAA8C,EAAG;EAC3E,MAAM;IACLC,SAAS,GAAG,MAAM;IAClBC,QAAQ;IACRC,SAAS;IACTC,OAAO,GAAG,CAAC;IACX,GAAGC;EACJ,CAAC,GAAG,IAAAC,yBAAgB,EAAEN,KAAK,EAAE,QAAS,CAAC;EAEvC,MAAMO,KAAK,GAAG,IAAAC,wBAAiB,EAAEP,SAAS,EAAEE,SAAU,CAAC;EAEvD,MAAMM,aAAa,GAAG,IAAAC,kCAAgB,EAAER,QAAS,CAAC;EAClD,MAAMS,cAAc,GAAGF,aAAa,CAACG,GAAG,CAAE,CAAEC,KAAK,EAAEC,KAAK,KAAM;IAC7D,MAAMC,SAAS,GAAG,IAAAC,4BAAmB,EAAEH,KAAK,EAAE,CAAE,QAAQ,CAAG,CAAC;IAE5D,IAAKE,SAAS,EAAG;MAChB,MAAME,YAAY,GAAGJ,KAAqB;MAC1C,MAAMK,IAAI,GAAGD,YAAY,CAACE,GAAG,IAAK,UAAUL,KAAO,EAAC;MAEpD,OAAO,IAAAM,MAAA,CAAAC,aAAA,EAACzB,KAAA,CAAA0B,QAAQ;QAACC,OAAO;QAACJ,GAAG,EAAGD,IAAM;QAAA,GAAMD,YAAY,CAACjB;MAAK,CAAI,CAAC;IACnE;IAEA,OAAOa,KAAK;EACb,CAAE,CAAC;EAEH,MAAMW,YAAY,GAAG;IACpBtB,QAAQ,EAAES,cAAc;IACxBR,SAAS;IACTsB,OAAO,EAAE,QAAQ;IACjB,GAAGlB,KAAK;IACR,GAAGF,UAAU;IACbqB,GAAG,EAAEtB;EACN,CAAC;;EAED;EACA,MAAM;IAAEuB,QAAQ;IAAE,GAAGC;EAAU,CAAC,GAAG,IAAAC,aAAO,EAAEL,YAAa,CAAC;EAE1D,OAAOI,SAAS;AACjB"}
|
|
@@ -119,7 +119,7 @@ function UnforwardedInputControl(props, ref) {
|
|
|
119
119
|
*
|
|
120
120
|
* ```jsx
|
|
121
121
|
* import { __experimentalInputControl as InputControl } from '@wordpress/components';
|
|
122
|
-
* import { useState } from '
|
|
122
|
+
* import { useState } from 'react';
|
|
123
123
|
*
|
|
124
124
|
* const Example = () => {
|
|
125
125
|
* const [ value, setValue ] = useState( '' );
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_element","_inputBase","_inputField","_space","_utils","_baseControl","_useDeprecatedProps","noop","useUniqueId","idProp","instanceId","useInstanceId","InputControl","id","UnforwardedInputControl","props","ref","__next40pxDefaultSize","__unstableStateReducer","stateReducer","state","__unstableInputWidth","className","disabled","help","hideLabelFromVision","isPressEnterToChange","label","labelPosition","onChange","onValidate","onKeyDown","prefix","size","style","suffix","value","restProps","useDeprecated36pxDefaultSizeProp","isFocused","setIsFocused","useState","classes","classNames","draftHookProps","useDraft","onBlur","helpPropName","helpProp","_react","createElement","default","__nextHasNoMarginBottom","gap","justify","paddingInlineStart","space","undefined","paddingInlineEnd","exports","forwardRef","_default"],"sources":["@wordpress/components/src/input-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InputBase from './input-base';\nimport InputField from './input-field';\nimport type { InputControlProps } from './types';\nimport { space } from '../utils/space';\nimport { useDraft } from './utils';\nimport BaseControl from '../base-control';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\n\nconst noop = () => {};\n\nfunction useUniqueId( idProp?: string ) {\n\tconst instanceId = useInstanceId( InputControl );\n\tconst id = `inspector-input-control-${ instanceId }`;\n\n\treturn idProp || id;\n}\n\nexport function UnforwardedInputControl(\n\tprops: InputControlProps,\n\tref: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t__next40pxDefaultSize,\n\t\t__unstableStateReducer: stateReducer = ( state ) => state,\n\t\t__unstableInputWidth,\n\t\tclassName,\n\t\tdisabled = false,\n\t\thelp,\n\t\thideLabelFromVision = false,\n\t\tid: idProp,\n\t\tisPressEnterToChange = false,\n\t\tlabel,\n\t\tlabelPosition = 'top',\n\t\tonChange = noop,\n\t\tonValidate = noop,\n\t\tonKeyDown = noop,\n\t\tprefix,\n\t\tsize = 'default',\n\t\tstyle,\n\t\tsuffix,\n\t\tvalue,\n\t\t...restProps\n\t} = useDeprecated36pxDefaultSizeProp< InputControlProps >( props );\n\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tconst id = useUniqueId( idProp );\n\tconst classes = classNames( 'components-input-control', className );\n\n\tconst draftHookProps = useDraft( {\n\t\tvalue,\n\t\tonBlur: restProps.onBlur,\n\t\tonChange,\n\t} );\n\n\t// ARIA descriptions can only contain plain text, so fall back to aria-details if not.\n\tconst helpPropName =\n\t\ttypeof help === 'string' ? 'aria-describedby' : 'aria-details';\n\tconst helpProp = !! help ? { [ helpPropName ]: `${ id }__help` } : {};\n\n\treturn (\n\t\t<BaseControl\n\t\t\tclassName={ classes }\n\t\t\thelp={ help }\n\t\t\tid={ id }\n\t\t\t__nextHasNoMarginBottom\n\t\t>\n\t\t\t<InputBase\n\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t__unstableInputWidth={ __unstableInputWidth }\n\t\t\t\tdisabled={ disabled }\n\t\t\t\tgap={ 3 }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\tid={ id }\n\t\t\t\tisFocused={ isFocused }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tlabel={ label }\n\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t\tprefix={ prefix }\n\t\t\t\tsize={ size }\n\t\t\t\tstyle={ style }\n\t\t\t\tsuffix={ suffix }\n\t\t\t>\n\t\t\t\t<InputField\n\t\t\t\t\t{ ...restProps }\n\t\t\t\t\t{ ...helpProp }\n\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\tclassName=\"components-input-control__input\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tid={ id }\n\t\t\t\t\tisFocused={ isFocused }\n\t\t\t\t\tisPressEnterToChange={ isPressEnterToChange }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\tonValidate={ onValidate }\n\t\t\t\t\tpaddingInlineStart={ prefix ? space( 2 ) : undefined }\n\t\t\t\t\tpaddingInlineEnd={ suffix ? space( 2 ) : undefined }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tsetIsFocused={ setIsFocused }\n\t\t\t\t\tsize={ size }\n\t\t\t\t\tstateReducer={ stateReducer }\n\t\t\t\t\t{ ...draftHookProps }\n\t\t\t\t/>\n\t\t\t</InputBase>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * InputControl components let users enter and edit text. This is an experimental component\n * intended to (in time) merge with or replace `TextControl`.\n *\n * ```jsx\n * import { __experimentalInputControl as InputControl } from '@wordpress/components';\n * import { useState } from '
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_element","_inputBase","_inputField","_space","_utils","_baseControl","_useDeprecatedProps","noop","useUniqueId","idProp","instanceId","useInstanceId","InputControl","id","UnforwardedInputControl","props","ref","__next40pxDefaultSize","__unstableStateReducer","stateReducer","state","__unstableInputWidth","className","disabled","help","hideLabelFromVision","isPressEnterToChange","label","labelPosition","onChange","onValidate","onKeyDown","prefix","size","style","suffix","value","restProps","useDeprecated36pxDefaultSizeProp","isFocused","setIsFocused","useState","classes","classNames","draftHookProps","useDraft","onBlur","helpPropName","helpProp","_react","createElement","default","__nextHasNoMarginBottom","gap","justify","paddingInlineStart","space","undefined","paddingInlineEnd","exports","forwardRef","_default"],"sources":["@wordpress/components/src/input-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\nimport type { ForwardedRef } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useState, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InputBase from './input-base';\nimport InputField from './input-field';\nimport type { InputControlProps } from './types';\nimport { space } from '../utils/space';\nimport { useDraft } from './utils';\nimport BaseControl from '../base-control';\nimport { useDeprecated36pxDefaultSizeProp } from '../utils/use-deprecated-props';\n\nconst noop = () => {};\n\nfunction useUniqueId( idProp?: string ) {\n\tconst instanceId = useInstanceId( InputControl );\n\tconst id = `inspector-input-control-${ instanceId }`;\n\n\treturn idProp || id;\n}\n\nexport function UnforwardedInputControl(\n\tprops: InputControlProps,\n\tref: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t__next40pxDefaultSize,\n\t\t__unstableStateReducer: stateReducer = ( state ) => state,\n\t\t__unstableInputWidth,\n\t\tclassName,\n\t\tdisabled = false,\n\t\thelp,\n\t\thideLabelFromVision = false,\n\t\tid: idProp,\n\t\tisPressEnterToChange = false,\n\t\tlabel,\n\t\tlabelPosition = 'top',\n\t\tonChange = noop,\n\t\tonValidate = noop,\n\t\tonKeyDown = noop,\n\t\tprefix,\n\t\tsize = 'default',\n\t\tstyle,\n\t\tsuffix,\n\t\tvalue,\n\t\t...restProps\n\t} = useDeprecated36pxDefaultSizeProp< InputControlProps >( props );\n\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tconst id = useUniqueId( idProp );\n\tconst classes = classNames( 'components-input-control', className );\n\n\tconst draftHookProps = useDraft( {\n\t\tvalue,\n\t\tonBlur: restProps.onBlur,\n\t\tonChange,\n\t} );\n\n\t// ARIA descriptions can only contain plain text, so fall back to aria-details if not.\n\tconst helpPropName =\n\t\ttypeof help === 'string' ? 'aria-describedby' : 'aria-details';\n\tconst helpProp = !! help ? { [ helpPropName ]: `${ id }__help` } : {};\n\n\treturn (\n\t\t<BaseControl\n\t\t\tclassName={ classes }\n\t\t\thelp={ help }\n\t\t\tid={ id }\n\t\t\t__nextHasNoMarginBottom\n\t\t>\n\t\t\t<InputBase\n\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t__unstableInputWidth={ __unstableInputWidth }\n\t\t\t\tdisabled={ disabled }\n\t\t\t\tgap={ 3 }\n\t\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\t\tid={ id }\n\t\t\t\tisFocused={ isFocused }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tlabel={ label }\n\t\t\t\tlabelPosition={ labelPosition }\n\t\t\t\tprefix={ prefix }\n\t\t\t\tsize={ size }\n\t\t\t\tstyle={ style }\n\t\t\t\tsuffix={ suffix }\n\t\t\t>\n\t\t\t\t<InputField\n\t\t\t\t\t{ ...restProps }\n\t\t\t\t\t{ ...helpProp }\n\t\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t\tclassName=\"components-input-control__input\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\tid={ id }\n\t\t\t\t\tisFocused={ isFocused }\n\t\t\t\t\tisPressEnterToChange={ isPressEnterToChange }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\tonValidate={ onValidate }\n\t\t\t\t\tpaddingInlineStart={ prefix ? space( 2 ) : undefined }\n\t\t\t\t\tpaddingInlineEnd={ suffix ? space( 2 ) : undefined }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tsetIsFocused={ setIsFocused }\n\t\t\t\t\tsize={ size }\n\t\t\t\t\tstateReducer={ stateReducer }\n\t\t\t\t\t{ ...draftHookProps }\n\t\t\t\t/>\n\t\t\t</InputBase>\n\t\t</BaseControl>\n\t);\n}\n\n/**\n * InputControl components let users enter and edit text. This is an experimental component\n * intended to (in time) merge with or replace `TextControl`.\n *\n * ```jsx\n * import { __experimentalInputControl as InputControl } from '@wordpress/components';\n * import { useState } from 'react';\n *\n * const Example = () => {\n * const [ value, setValue ] = useState( '' );\n *\n * return (\n * \t<InputControl\n * \t\tvalue={ value }\n * \t\tonChange={ ( nextValue ) => setValue( nextValue ?? '' ) }\n * \t/>\n * );\n * };\n * ```\n */\nexport const InputControl = forwardRef( UnforwardedInputControl );\n\nexport default InputControl;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_styles","_interopRequireDefault","BottomSheetButton","onPress","disabled","text","color","_react","createElement","TouchableOpacity","accessible","View","style","flexDirection","justifyContent","Text","styles","buttonText","_default","exports","default"],"sources":["@wordpress/components/src/mobile/bottom-sheet/button.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableOpacity, View, Text } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst BottomSheetButton = ( { onPress, disabled, text, color } ) => (\n\t<TouchableOpacity
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_styles","_interopRequireDefault","BottomSheetButton","onPress","disabled","text","color","_react","createElement","TouchableOpacity","accessible","View","style","flexDirection","justifyContent","Text","styles","buttonText","_default","exports","default"],"sources":["@wordpress/components/src/mobile/bottom-sheet/button.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableOpacity, View, Text } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nconst BottomSheetButton = ( { onPress, disabled, text, color } ) => (\n\t<TouchableOpacity accessible onPress={ onPress } disabled={ disabled }>\n\t\t<View style={ { flexDirection: 'row', justifyContent: 'center' } }>\n\t\t\t<Text style={ { ...styles.buttonText, color } }>{ text }</Text>\n\t\t</View>\n\t</TouchableOpacity>\n);\n\nexport default BottomSheetButton;\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAMG,iBAAiB,GAAGA,CAAE;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,IAAI;EAAEC;AAAM,CAAC,KAC7D,IAAAC,MAAA,CAAAC,aAAA,EAACV,YAAA,CAAAW,gBAAgB;EAACC,UAAU;EAACP,OAAO,EAAGA,OAAS;EAACC,QAAQ,EAAGA;AAAU,GACrE,IAAAG,MAAA,CAAAC,aAAA,EAACV,YAAA,CAAAa,IAAI;EAACC,KAAK,EAAG;IAAEC,aAAa,EAAE,KAAK;IAAEC,cAAc,EAAE;EAAS;AAAG,GACjE,IAAAP,MAAA,CAAAC,aAAA,EAACV,YAAA,CAAAiB,IAAI;EAACH,KAAK,EAAG;IAAE,GAAGI,eAAM,CAACC,UAAU;IAAEX;EAAM;AAAG,GAAGD,IAAY,CACzD,CACW,CAClB;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEalB,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeModal","_interopRequireDefault","_reactNativeSafeArea","_reactNativeBridge","_element","_compose","_styles","_button","_cell","_cyclePickerCell","_pickerCell","_switchCell","_rangeCell","_colorCell","_linkCell","_linkSuggestionItemCell","_radioCell","_navigationScreen","_navigationContainer","_keyboardAvoidingView","_subSheet","_navBar","_bottomSheetContext","DEFAULT_LAYOUT_ANIMATION","LayoutAnimation","Presets","easeInEaseOut","BottomSheet","Component","constructor","arguments","onSafeAreaInsetsUpdate","bind","onScroll","isScrolling","onShouldEnableScroll","onDismiss","onShouldSetBottomSheetMaxHeight","setIsFullScreen","onDimensionsChange","onHeaderLayout","onCloseBottomSheet","onHandleClosingBottomSheet","onHardwareButtonPress","onHandleHardwareButtonPress","keyboardShow","keyboardHide","headerHeight","keyboardHeight","lastLayoutAnimation","lastLayoutAnimationFinished","state","safeAreaBottomInset","safeAreaTopInset","bounces","maxHeight","scrollEnabled","handleClosingBottomSheet","handleHardwareButtonPress","isMaxHeightSet","isFullScreen","props","e","isVisible","height","endCoordinates","performKeyboardLayoutAnimation","onSetMaxHeight","onKeyboardShow","onKeyboardHide","event","duration","easing","animationConfig","type","Types","layoutAnimation","update","create","property","Properties","opacity","delete","configureNext","performRegularLayoutAnimation","useLastLayoutAnimation","Platform","OS","componentDidMount","SafeArea","getSafeAreaInsetsForRootView","then","androidModalClosedSubscription","subscribeAndroidModalClosed","onClose","dimensionsChangeSubscription","Dimensions","addEventListener","keyboardShowListener","Keyboard","addListener","keyboardHideListener","safeAreaEventSubscription","componentWillUnmount","remove","showAndroidSoftKeyboard","result","safeAreaInsets","bottom","top","setState","width","get","statusBarHeight","StatusBar","currentHeight","maxHeightWithOpenKeyboard","Math","min","nativeEvent","layout","round","isCloseToBottom","layoutMeasurement","contentOffset","contentSize","y","isCloseToTop","value","action","getContentStyle","paddingBottom","styles","scrollableContent","render","title","leftButton","rightButton","header","hideHeader","style","contentStyle","getStylesFromColorScheme","children","withHeaderSeparator","hasNavigation","rest","panResponder","PanResponder","onMoveShouldSetPanResponder","evt","gestureState","dy","backgroundStyle","background","backgroundDark","bottomSheetHeaderTitleStyle","bottomSheetHeaderTitle","bottomSheetHeaderTitleDark","listStyle","flexGrow","flexShrink","setMinHeightToMaxHeight","minHeight","listProps","disableScrollViewPanResponder","onScrollBeginDrag","onScrollEndDrag","scrollEventThrottle","contentContainerStyle","content","emptyHeader","automaticallyAdjustContentInsets","WrapperView","View","ScrollView","getHeader","_react","createElement","Fragment","bottomSheetHeader","flex","Text","maxFontSizeMultiplier","separator","showDragIndicator","allowDragIndicator","default","bottomModal","animationInTiming","animationOutTiming","backdropTransitionInTiming","backdropTransitionOutTiming","backdropOpacity","onBackdropPress","onBackButtonPress","onSwipeComplete","undefined","onModalHide","swipeDirection","onMoveShouldSetResponder","panHandlers","onMoveShouldSetResponderCapture","onAccessibilityEscape","testID","hardwareAccelerated","useNativeDriverForBackdrop","behavior","borderColor","marginTop","backgroundFullScreen","keyboardVerticalOffset","onLayout","dragIndicator","BottomSheetProvider","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","isBottomSheetContentScrolling","TouchableHighlight","accessible","getWidth","maxWidth","ThemedBottomSheet","withPreferredColorScheme","Button","Cell","SubSheet","BottomSheetSubSheet","NavBar","CyclePickerCell","PickerCell","SwitchCell","RangeCell","ColorCell","LinkCell","LinkSuggestionItemCell","RadioCell","NavigationScreen","NavigationContainer","_default","exports"],"sources":["@wordpress/components/src/mobile/bottom-sheet/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tDimensions,\n\tKeyboard,\n\tLayoutAnimation,\n\tPanResponder,\n\tPlatform,\n\tScrollView,\n\tStatusBar,\n\tText,\n\tTouchableHighlight,\n\tView,\n} from 'react-native';\nimport Modal from 'react-native-modal';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tsubscribeAndroidModalClosed,\n\tshowAndroidSoftKeyboard,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport Button from './button';\nimport Cell from './cell';\nimport CyclePickerCell from './cycle-picker-cell';\nimport PickerCell from './picker-cell';\nimport SwitchCell from './switch-cell';\nimport RangeCell from './range-cell';\nimport ColorCell from './color-cell';\nimport LinkCell from './link-cell';\nimport LinkSuggestionItemCell from './link-suggestion-item-cell';\nimport RadioCell from './radio-cell';\nimport NavigationScreen from './bottom-sheet-navigation/navigation-screen';\nimport NavigationContainer from './bottom-sheet-navigation/navigation-container';\nimport KeyboardAvoidingView from './keyboard-avoiding-view';\nimport BottomSheetSubSheet from './sub-sheet';\nimport NavBar from './nav-bar';\nimport { BottomSheetProvider } from './bottom-sheet-context';\n\nconst DEFAULT_LAYOUT_ANIMATION = LayoutAnimation.Presets.easeInEaseOut;\n\nclass BottomSheet extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSafeAreaInsetsUpdate = this.onSafeAreaInsetsUpdate.bind( this );\n\t\tthis.onScroll = this.onScroll.bind( this );\n\t\tthis.isScrolling = this.isScrolling.bind( this );\n\t\tthis.onShouldEnableScroll = this.onShouldEnableScroll.bind( this );\n\t\tthis.onDismiss = this.onDismiss.bind( this );\n\t\tthis.onShouldSetBottomSheetMaxHeight =\n\t\t\tthis.onShouldSetBottomSheetMaxHeight.bind( this );\n\n\t\tthis.setIsFullScreen = this.setIsFullScreen.bind( this );\n\n\t\tthis.onDimensionsChange = this.onDimensionsChange.bind( this );\n\t\tthis.onHeaderLayout = this.onHeaderLayout.bind( this );\n\t\tthis.onCloseBottomSheet = this.onCloseBottomSheet.bind( this );\n\t\tthis.onHandleClosingBottomSheet =\n\t\t\tthis.onHandleClosingBottomSheet.bind( this );\n\t\tthis.onHardwareButtonPress = this.onHardwareButtonPress.bind( this );\n\t\tthis.onHandleHardwareButtonPress =\n\t\t\tthis.onHandleHardwareButtonPress.bind( this );\n\t\tthis.keyboardShow = this.keyboardShow.bind( this );\n\t\tthis.keyboardHide = this.keyboardHide.bind( this );\n\n\t\tthis.headerHeight = 0;\n\t\tthis.keyboardHeight = 0;\n\t\tthis.lastLayoutAnimation = null;\n\t\tthis.lastLayoutAnimationFinished = false;\n\n\t\tthis.state = {\n\t\t\tsafeAreaBottomInset: 0,\n\t\t\tsafeAreaTopInset: 0,\n\t\t\tbounces: false,\n\t\t\tmaxHeight: 0,\n\t\t\tscrollEnabled: true,\n\t\t\tisScrolling: false,\n\t\t\thandleClosingBottomSheet: null,\n\t\t\thandleHardwareButtonPress: null,\n\t\t\tisMaxHeightSet: true,\n\t\t\tisFullScreen: this.props.isFullScreen || false,\n\t\t};\n\t}\n\n\tkeyboardShow( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { height } = e.endCoordinates;\n\t\tthis.keyboardHeight = height;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardShow?.();\n\t}\n\n\tkeyboardHide( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyboardHeight = 0;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardHide?.();\n\t}\n\n\tperformKeyboardLayoutAnimation( event ) {\n\t\tconst { duration, easing } = event;\n\n\t\tif ( duration && easing ) {\n\t\t\t// This layout animation is the same as the React Native's KeyboardAvoidingView component.\n\t\t\t// Reference: https://github.com/facebook/react-native/blob/266b21baf35e052ff28120f79c06c4f6dddc51a9/Libraries/Components/Keyboard/KeyboardAvoidingView.js#L119-L128.\n\t\t\tconst animationConfig = {\n\t\t\t\t// We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m.\n\t\t\t\tduration: duration > 10 ? duration : 10,\n\t\t\t\ttype: LayoutAnimation.Types[ easing ] || 'keyboard',\n\t\t\t};\n\t\t\tconst layoutAnimation = {\n\t\t\t\tduration: animationConfig.duration,\n\t\t\t\tupdate: animationConfig,\n\t\t\t\tcreate: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t\tdelete: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t};\n\t\t\tthis.lastLayoutAnimationFinished = false;\n\t\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t\t} );\n\t\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t\t} else {\n\t\t\t// TODO: Reinstate animations, possibly replacing `LayoutAnimation` with\n\t\t\t// more nuanced `Animated` usage or replacing our custom `BottomSheet`\n\t\t\t// with `@gorhom/bottom-sheet`. This animation was disabled to avoid a\n\t\t\t// preexisting bug: https://github.com/WordPress/gutenberg/issues/30562\n\t\t\t// this.performRegularLayoutAnimation( {\n\t\t\t// \tuseLastLayoutAnimation: false,\n\t\t\t// } );.\n\t\t}\n\t}\n\n\tperformRegularLayoutAnimation( { useLastLayoutAnimation } ) {\n\t\t// On Android, we should prevent triggering multiple layout animations at the same time because it can produce visual glitches.\n\t\tif (\n\t\t\tPlatform.OS === 'android' &&\n\t\t\tthis.lastLayoutAnimation &&\n\t\t\t! this.lastLayoutAnimationFinished\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst layoutAnimation = useLastLayoutAnimation\n\t\t\t? this.lastLayoutAnimation || DEFAULT_LAYOUT_ANIMATION\n\t\t\t: DEFAULT_LAYOUT_ANIMATION;\n\n\t\tthis.lastLayoutAnimationFinished = false;\n\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t} );\n\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t}\n\n\tcomponentDidMount() {\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\n\t\tif ( Platform.OS === 'android' ) {\n\t\t\tthis.androidModalClosedSubscription = subscribeAndroidModalClosed(\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.onClose();\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tthis.dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tthis.onDimensionsChange\n\t\t);\n\n\t\t// 'Will' keyboard events are not available on Android.\n\t\t// Reference: https://reactnative.dev/docs/0.61/keyboard#addlistener.\n\t\tthis.keyboardShowListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow',\n\t\t\tthis.keyboardShow\n\t\t);\n\t\tthis.keyboardHideListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillHide' : 'keyboardDidHide',\n\t\t\tthis.keyboardHide\n\t\t);\n\n\t\tthis.safeAreaEventSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.dimensionsChangeSubscription.remove();\n\t\tthis.keyboardShowListener.remove();\n\t\tthis.keyboardHideListener.remove();\n\t\tif ( this.androidModalClosedSubscription ) {\n\t\t\tthis.androidModalClosedSubscription.remove();\n\t\t}\n\n\t\tif ( this.props.isVisible ) {\n\t\t\tshowAndroidSoftKeyboard();\n\t\t}\n\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.safeAreaEventSubscription.remove();\n\t\tthis.safeAreaEventSubscription = null;\n\t}\n\n\tonSafeAreaInsetsUpdate( result ) {\n\t\tconst { safeAreaBottomInset, safeAreaTopInset } = this.state;\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { safeAreaInsets } = result;\n\t\tif (\n\t\t\tsafeAreaBottomInset !== safeAreaInsets.bottom ||\n\t\t\tsafeAreaTopInset !== safeAreaInsets.top\n\t\t) {\n\t\t\tthis.setState( {\n\t\t\t\tsafeAreaBottomInset: safeAreaInsets.bottom,\n\t\t\t\tsafeAreaTopInset: safeAreaInsets.top,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSetMaxHeight() {\n\t\tconst { height, width } = Dimensions.get( 'window' );\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\tconst statusBarHeight =\n\t\t\tPlatform.OS === 'android' ? StatusBar.currentHeight : 0;\n\n\t\t// `maxHeight` when modal is opened along with a keyboard.\n\t\tconst maxHeightWithOpenKeyboard =\n\t\t\t0.95 *\n\t\t\t( Dimensions.get( 'window' ).height -\n\t\t\t\tthis.keyboardHeight -\n\t\t\t\tstatusBarHeight -\n\t\t\t\tthis.headerHeight );\n\n\t\t// In landscape orientation, set `maxHeight` to ~96% of the height.\n\t\tif ( width > height ) {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\t0.96 * height - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t\t// In portrait orientation, set `maxHeight` to ~59% of the height.\n\t\t} else {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\theight * 0.59 - safeAreaBottomInset - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t}\n\t}\n\n\tonDimensionsChange() {\n\t\tthis.onSetMaxHeight();\n\t\tthis.setState( { bounces: false } );\n\t}\n\n\tonHeaderLayout( { nativeEvent } ) {\n\t\tconst { height } = nativeEvent.layout;\n\t\t// The layout animation should only be triggered if the header\n\t\t// height has changed after being mounted.\n\t\tif (\n\t\t\tthis.headerHeight !== 0 &&\n\t\t\tMath.round( height ) !== Math.round( this.headerHeight )\n\t\t) {\n\t\t\tthis.performRegularLayoutAnimation( {\n\t\t\t\tuseLastLayoutAnimation: true,\n\t\t\t} );\n\t\t}\n\t\tthis.headerHeight = height;\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tisCloseToBottom( { layoutMeasurement, contentOffset, contentSize } ) {\n\t\treturn (\n\t\t\tlayoutMeasurement.height + contentOffset.y >=\n\t\t\tcontentSize.height - contentOffset.y\n\t\t);\n\t}\n\n\tisCloseToTop( { contentOffset } ) {\n\t\treturn contentOffset.y < 10;\n\t}\n\n\tonScroll( { nativeEvent } ) {\n\t\tif ( this.isCloseToTop( nativeEvent ) ) {\n\t\t\tthis.setState( { bounces: false } );\n\t\t} else {\n\t\t\tthis.setState( { bounces: true } );\n\t\t}\n\t}\n\n\tonDismiss() {\n\t\tconst { onDismiss } = this.props;\n\n\t\t// Restore Keyboard Visibility\n\t\tshowAndroidSoftKeyboard();\n\n\t\tif ( onDismiss ) {\n\t\t\tonDismiss();\n\t\t}\n\n\t\tthis.onCloseBottomSheet();\n\t}\n\n\tonShouldEnableScroll( value ) {\n\t\tthis.setState( { scrollEnabled: value } );\n\t}\n\n\tonShouldSetBottomSheetMaxHeight( value ) {\n\t\tthis.setState( { isMaxHeightSet: value } );\n\t}\n\n\tisScrolling( value ) {\n\t\tthis.setState( { isScrolling: value } );\n\t}\n\n\tonHandleClosingBottomSheet( action ) {\n\t\tthis.setState( { handleClosingBottomSheet: action } );\n\t}\n\n\tonHandleHardwareButtonPress( action ) {\n\t\tthis.setState( { handleHardwareButtonPress: action } );\n\t}\n\n\tonCloseBottomSheet() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleClosingBottomSheet } = this.state;\n\t\tif ( handleClosingBottomSheet ) {\n\t\t\thandleClosingBottomSheet();\n\t\t\tthis.onHandleClosingBottomSheet( null );\n\t\t}\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t\tthis.onShouldSetBottomSheetMaxHeight( true );\n\t}\n\n\tsetIsFullScreen( isFullScreen ) {\n\t\tif ( isFullScreen !== this.state.isFullScreen ) {\n\t\t\tif ( isFullScreen ) {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: false } );\n\t\t\t} else {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: true } );\n\t\t\t}\n\t\t}\n\t}\n\n\tonHardwareButtonPress() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleHardwareButtonPress } = this.state;\n\n\t\tif ( handleHardwareButtonPress && handleHardwareButtonPress() ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( onClose ) {\n\t\t\treturn onClose();\n\t\t}\n\t}\n\n\tgetContentStyle() {\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\treturn {\n\t\t\tpaddingBottom:\n\t\t\t\t( safeAreaBottomInset || 0 ) +\n\t\t\t\tstyles.scrollableContent.paddingBottom,\n\t\t};\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ttitle = '',\n\t\t\tisVisible,\n\t\t\tleftButton,\n\t\t\trightButton,\n\t\t\theader,\n\t\t\thideHeader,\n\t\t\tstyle = {},\n\t\t\tcontentStyle = {},\n\t\t\tgetStylesFromColorScheme,\n\t\t\tchildren,\n\t\t\twithHeaderSeparator = false,\n\t\t\thasNavigation,\n\t\t\tonDismiss,\n\t\t\t...rest\n\t\t} = this.props;\n\t\tconst {\n\t\t\tmaxHeight,\n\t\t\tbounces,\n\t\t\tsafeAreaBottomInset,\n\t\t\tsafeAreaTopInset,\n\t\t\tisScrolling,\n\t\t\tscrollEnabled,\n\t\t\tisMaxHeightSet,\n\t\t\tisFullScreen,\n\t\t} = this.state;\n\n\t\tconst panResponder = PanResponder.create( {\n\t\t\tonMoveShouldSetPanResponder: ( evt, gestureState ) => {\n\t\t\t\t// 'swiping-to-close' option is temporarily and partially disabled\n\t\t\t\t// on Android ( swipe / drag is still available in the top most area - near drag indicator).\n\t\t\t\tif ( Platform.OS === 'ios' ) {\n\t\t\t\t\t// Activates swipe down over child Touchables if the swipe is long enough.\n\t\t\t\t\t// With this we can adjust sensibility on the swipe vs tap gestures.\n\t\t\t\t\tif ( gestureState.dy > 3 && ! bounces ) {\n\t\t\t\t\t\tgestureState.dy = 0;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t} );\n\n\t\tconst backgroundStyle = getStylesFromColorScheme(\n\t\t\tstyles.background,\n\t\t\tstyles.backgroundDark\n\t\t);\n\n\t\tconst bottomSheetHeaderTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.bottomSheetHeaderTitle,\n\t\t\tstyles.bottomSheetHeaderTitleDark\n\t\t);\n\n\t\tlet listStyle = {};\n\t\tif ( isFullScreen ) {\n\t\t\tlistStyle = { flexGrow: 1, flexShrink: 1 };\n\t\t} else if ( isMaxHeightSet ) {\n\t\t\tlistStyle = { maxHeight };\n\n\t\t\t// Allow setting a \"static\" height of the bottom sheet\n\t\t\t// by setting the min height to the max height.\n\t\t\tif ( this.props.setMinHeightToMaxHeight ) {\n\t\t\t\tlistStyle.minHeight = maxHeight;\n\t\t\t}\n\t\t}\n\n\t\tconst listProps = {\n\t\t\tdisableScrollViewPanResponder: true,\n\t\t\tbounces,\n\t\t\tonScroll: this.onScroll,\n\t\t\tonScrollBeginDrag: this.onScrollBeginDrag,\n\t\t\tonScrollEndDrag: this.onScrollEndDrag,\n\t\t\tscrollEventThrottle: 16,\n\t\t\tcontentContainerStyle: [\n\t\t\t\tstyles.content,\n\t\t\t\thideHeader && styles.emptyHeader,\n\t\t\t\tcontentStyle,\n\t\t\t\tisFullScreen && { flexGrow: 1 },\n\t\t\t],\n\t\t\tstyle: listStyle,\n\t\t\tsafeAreaBottomInset,\n\t\t\tscrollEnabled,\n\t\t\tautomaticallyAdjustContentInsets: false,\n\t\t};\n\n\t\tconst WrapperView = hasNavigation ? View : ScrollView;\n\n\t\tconst getHeader = () => (\n\t\t\t<>\n\t\t\t\t{ header || (\n\t\t\t\t\t<View style={ styles.bottomSheetHeader }>\n\t\t\t\t\t\t<View style={ styles.flex }>{ leftButton }</View>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={ bottomSheetHeaderTitleStyle }\n\t\t\t\t\t\t\tmaxFontSizeMultiplier={ 3 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<View style={ styles.flex }>{ rightButton }</View>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t\t{ withHeaderSeparator && <View style={ styles.separator } /> }\n\t\t\t</>\n\t\t);\n\n\t\tconst showDragIndicator = () => {\n\t\t\t// If iOS or not fullscreen show the drag indicator.\n\t\t\tif ( Platform.OS === 'ios' || ! this.state.isFullScreen ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Otherwise check the allowDragIndicator.\n\t\t\treturn this.props.allowDragIndicator;\n\t\t};\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tisVisible={ isVisible }\n\t\t\t\tstyle={ styles.bottomModal }\n\t\t\t\tanimationInTiming={ 400 }\n\t\t\t\tanimationOutTiming={ 300 }\n\t\t\t\tbackdropTransitionInTiming={ 50 }\n\t\t\t\tbackdropTransitionOutTiming={ 50 }\n\t\t\t\tbackdropOpacity={ 0.2 }\n\t\t\t\tonBackdropPress={ this.onCloseBottomSheet }\n\t\t\t\tonBackButtonPress={ this.onHardwareButtonPress }\n\t\t\t\tonSwipeComplete={ this.onCloseBottomSheet }\n\t\t\t\tonDismiss={ Platform.OS === 'ios' ? this.onDismiss : undefined }\n\t\t\t\tonModalHide={\n\t\t\t\t\tPlatform.OS === 'android' ? this.onDismiss : undefined\n\t\t\t\t}\n\t\t\t\tswipeDirection=\"down\"\n\t\t\t\tonMoveShouldSetResponder={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponder\n\t\t\t\t}\n\t\t\t\tonMoveShouldSetResponderCapture={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponderCapture\n\t\t\t\t}\n\t\t\t\tonAccessibilityEscape={ this.onCloseBottomSheet }\n\t\t\t\ttestID=\"bottom-sheet\"\n\t\t\t\thardwareAccelerated={ true }\n\t\t\t\tuseNativeDriverForBackdrop={ true }\n\t\t\t\t{ ...rest }\n\t\t\t>\n\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\tbehavior={ Platform.OS === 'ios' && 'padding' }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...backgroundStyle,\n\t\t\t\t\t\tborderColor: 'rgba(0, 0, 0, 0.1)',\n\t\t\t\t\t\tmarginTop:\n\t\t\t\t\t\t\tPlatform.OS === 'ios' && isFullScreen\n\t\t\t\t\t\t\t\t? safeAreaTopInset\n\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\tflex: isFullScreen ? 1 : undefined,\n\t\t\t\t\t\t...( Platform.OS === 'android' && isFullScreen\n\t\t\t\t\t\t\t? styles.backgroundFullScreen\n\t\t\t\t\t\t\t: {} ),\n\t\t\t\t\t\t...style,\n\t\t\t\t\t} }\n\t\t\t\t\tkeyboardVerticalOffset={ -safeAreaBottomInset }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles.header }\n\t\t\t\t\t\tonLayout={ this.onHeaderLayout }\n\t\t\t\t\t\ttestID={ `${ rest.testID || 'bottom-sheet' }-header` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showDragIndicator() && (\n\t\t\t\t\t\t\t<View style={ styles.dragIndicator } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! hideHeader && getHeader() }\n\t\t\t\t\t</View>\n\t\t\t\t\t<WrapperView\n\t\t\t\t\t\t{ ...( hasNavigation\n\t\t\t\t\t\t\t? { style: listProps.style }\n\t\t\t\t\t\t\t: listProps ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BottomSheetProvider\n\t\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll:\n\t\t\t\t\t\t\t\t\tthis.onShouldEnableScroll,\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight:\n\t\t\t\t\t\t\t\t\tthis.onShouldSetBottomSheetMaxHeight,\n\t\t\t\t\t\t\t\tisBottomSheetContentScrolling: isScrolling,\n\t\t\t\t\t\t\t\tonHandleClosingBottomSheet:\n\t\t\t\t\t\t\t\t\tthis.onHandleClosingBottomSheet,\n\t\t\t\t\t\t\t\tonHandleHardwareButtonPress:\n\t\t\t\t\t\t\t\t\tthis.onHandleHardwareButtonPress,\n\t\t\t\t\t\t\t\tlistProps,\n\t\t\t\t\t\t\t\tsetIsFullScreen: this.setIsFullScreen,\n\t\t\t\t\t\t\t\tsafeAreaBottomInset,\n\t\t\t\t\t\t\t\tmaxHeight,\n\t\t\t\t\t\t\t\tisMaxHeightSet,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasNavigation ? (\n\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<TouchableHighlight accessible={ false }>\n\t\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t\t</TouchableHighlight>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheetProvider>\n\t\t\t\t\t\t{ ! hasNavigation && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\t\tsafeAreaBottomInset ||\n\t\t\t\t\t\t\t\t\t\tstyles.scrollableContent.paddingBottom,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</WrapperView>\n\t\t\t\t</KeyboardAvoidingView>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nfunction getWidth() {\n\treturn Math.min(\n\t\tDimensions.get( 'window' ).width,\n\t\tstyles.background.maxWidth\n\t);\n}\n\nconst ThemedBottomSheet = withPreferredColorScheme( BottomSheet );\n\nThemedBottomSheet.getWidth = getWidth;\nThemedBottomSheet.Button = Button;\nThemedBottomSheet.Cell = Cell;\nThemedBottomSheet.SubSheet = BottomSheetSubSheet;\nThemedBottomSheet.NavBar = NavBar;\nThemedBottomSheet.CyclePickerCell = CyclePickerCell;\nThemedBottomSheet.PickerCell = PickerCell;\nThemedBottomSheet.SwitchCell = SwitchCell;\nThemedBottomSheet.RangeCell = RangeCell;\nThemedBottomSheet.ColorCell = ColorCell;\nThemedBottomSheet.LinkCell = LinkCell;\nThemedBottomSheet.LinkSuggestionItemCell = LinkSuggestionItemCell;\nThemedBottomSheet.RadioCell = RadioCell;\nThemedBottomSheet.NavigationScreen = NavigationScreen;\nThemedBottomSheet.NavigationContainer = NavigationContainer;\n\nexport default ThemedBottomSheet;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeModal","_interopRequireDefault","_reactNativeSafeArea","_reactNativeBridge","_element","_compose","_styles","_button","_cell","_cyclePickerCell","_pickerCell","_switchCell","_rangeCell","_colorCell","_linkCell","_linkSuggestionItemCell","_radioCell","_navigationScreen","_navigationContainer","_keyboardAvoidingView","_subSheet","_navBar","_bottomSheetContext","DEFAULT_LAYOUT_ANIMATION","LayoutAnimation","Presets","easeInEaseOut","BottomSheet","Component","constructor","arguments","onSafeAreaInsetsUpdate","bind","onScroll","isScrolling","onShouldEnableScroll","onDismiss","onShouldSetBottomSheetMaxHeight","setIsFullScreen","onDimensionsChange","onHeaderLayout","onCloseBottomSheet","onHandleClosingBottomSheet","onHardwareButtonPress","onHandleHardwareButtonPress","keyboardShow","keyboardHide","headerHeight","keyboardHeight","lastLayoutAnimation","lastLayoutAnimationFinished","state","safeAreaBottomInset","safeAreaTopInset","bounces","maxHeight","scrollEnabled","handleClosingBottomSheet","handleHardwareButtonPress","isMaxHeightSet","isFullScreen","props","e","isVisible","height","endCoordinates","performKeyboardLayoutAnimation","onSetMaxHeight","onKeyboardShow","onKeyboardHide","event","duration","easing","animationConfig","type","Types","layoutAnimation","update","create","property","Properties","opacity","delete","configureNext","performRegularLayoutAnimation","useLastLayoutAnimation","Platform","OS","componentDidMount","SafeArea","getSafeAreaInsetsForRootView","then","androidModalClosedSubscription","subscribeAndroidModalClosed","onClose","dimensionsChangeSubscription","Dimensions","addEventListener","keyboardShowListener","Keyboard","addListener","keyboardHideListener","safeAreaEventSubscription","componentWillUnmount","remove","showAndroidSoftKeyboard","result","safeAreaInsets","bottom","top","setState","width","get","statusBarHeight","StatusBar","currentHeight","maxHeightWithOpenKeyboard","Math","min","nativeEvent","layout","round","isCloseToBottom","layoutMeasurement","contentOffset","contentSize","y","isCloseToTop","value","action","getContentStyle","paddingBottom","styles","scrollableContent","render","title","leftButton","rightButton","header","hideHeader","style","contentStyle","getStylesFromColorScheme","children","withHeaderSeparator","hasNavigation","rest","panResponder","PanResponder","onMoveShouldSetPanResponder","evt","gestureState","dy","backgroundStyle","background","backgroundDark","bottomSheetHeaderTitleStyle","bottomSheetHeaderTitle","bottomSheetHeaderTitleDark","listStyle","flexGrow","flexShrink","setMinHeightToMaxHeight","minHeight","listProps","disableScrollViewPanResponder","onScrollBeginDrag","onScrollEndDrag","scrollEventThrottle","contentContainerStyle","content","emptyHeader","automaticallyAdjustContentInsets","WrapperView","View","ScrollView","getHeader","_react","createElement","Fragment","bottomSheetHeader","flex","Text","maxFontSizeMultiplier","separator","showDragIndicator","allowDragIndicator","default","bottomModal","animationInTiming","animationOutTiming","backdropTransitionInTiming","backdropTransitionOutTiming","backdropOpacity","onBackdropPress","onBackButtonPress","onSwipeComplete","undefined","onModalHide","swipeDirection","onMoveShouldSetResponder","panHandlers","onMoveShouldSetResponderCapture","onAccessibilityEscape","testID","hardwareAccelerated","useNativeDriverForBackdrop","behavior","borderColor","marginTop","backgroundFullScreen","keyboardVerticalOffset","onLayout","dragIndicator","BottomSheetProvider","shouldEnableBottomSheetScroll","shouldEnableBottomSheetMaxHeight","isBottomSheetContentScrolling","TouchableHighlight","accessible","getWidth","maxWidth","ThemedBottomSheet","withPreferredColorScheme","Button","Cell","SubSheet","BottomSheetSubSheet","NavBar","CyclePickerCell","PickerCell","SwitchCell","RangeCell","ColorCell","LinkCell","LinkSuggestionItemCell","RadioCell","NavigationScreen","NavigationContainer","_default","exports"],"sources":["@wordpress/components/src/mobile/bottom-sheet/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tDimensions,\n\tKeyboard,\n\tLayoutAnimation,\n\tPanResponder,\n\tPlatform,\n\tScrollView,\n\tStatusBar,\n\tText,\n\tTouchableHighlight,\n\tView,\n} from 'react-native';\nimport Modal from 'react-native-modal';\nimport SafeArea from 'react-native-safe-area';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tsubscribeAndroidModalClosed,\n\tshowAndroidSoftKeyboard,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport Button from './button';\nimport Cell from './cell';\nimport CyclePickerCell from './cycle-picker-cell';\nimport PickerCell from './picker-cell';\nimport SwitchCell from './switch-cell';\nimport RangeCell from './range-cell';\nimport ColorCell from './color-cell';\nimport LinkCell from './link-cell';\nimport LinkSuggestionItemCell from './link-suggestion-item-cell';\nimport RadioCell from './radio-cell';\nimport NavigationScreen from './bottom-sheet-navigation/navigation-screen';\nimport NavigationContainer from './bottom-sheet-navigation/navigation-container';\nimport KeyboardAvoidingView from './keyboard-avoiding-view';\nimport BottomSheetSubSheet from './sub-sheet';\nimport NavBar from './nav-bar';\nimport { BottomSheetProvider } from './bottom-sheet-context';\n\nconst DEFAULT_LAYOUT_ANIMATION = LayoutAnimation.Presets.easeInEaseOut;\n\nclass BottomSheet extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSafeAreaInsetsUpdate = this.onSafeAreaInsetsUpdate.bind( this );\n\t\tthis.onScroll = this.onScroll.bind( this );\n\t\tthis.isScrolling = this.isScrolling.bind( this );\n\t\tthis.onShouldEnableScroll = this.onShouldEnableScroll.bind( this );\n\t\tthis.onDismiss = this.onDismiss.bind( this );\n\t\tthis.onShouldSetBottomSheetMaxHeight =\n\t\t\tthis.onShouldSetBottomSheetMaxHeight.bind( this );\n\n\t\tthis.setIsFullScreen = this.setIsFullScreen.bind( this );\n\n\t\tthis.onDimensionsChange = this.onDimensionsChange.bind( this );\n\t\tthis.onHeaderLayout = this.onHeaderLayout.bind( this );\n\t\tthis.onCloseBottomSheet = this.onCloseBottomSheet.bind( this );\n\t\tthis.onHandleClosingBottomSheet =\n\t\t\tthis.onHandleClosingBottomSheet.bind( this );\n\t\tthis.onHardwareButtonPress = this.onHardwareButtonPress.bind( this );\n\t\tthis.onHandleHardwareButtonPress =\n\t\t\tthis.onHandleHardwareButtonPress.bind( this );\n\t\tthis.keyboardShow = this.keyboardShow.bind( this );\n\t\tthis.keyboardHide = this.keyboardHide.bind( this );\n\n\t\tthis.headerHeight = 0;\n\t\tthis.keyboardHeight = 0;\n\t\tthis.lastLayoutAnimation = null;\n\t\tthis.lastLayoutAnimationFinished = false;\n\n\t\tthis.state = {\n\t\t\tsafeAreaBottomInset: 0,\n\t\t\tsafeAreaTopInset: 0,\n\t\t\tbounces: false,\n\t\t\tmaxHeight: 0,\n\t\t\tscrollEnabled: true,\n\t\t\tisScrolling: false,\n\t\t\thandleClosingBottomSheet: null,\n\t\t\thandleHardwareButtonPress: null,\n\t\t\tisMaxHeightSet: true,\n\t\t\tisFullScreen: this.props.isFullScreen || false,\n\t\t};\n\t}\n\n\tkeyboardShow( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { height } = e.endCoordinates;\n\t\tthis.keyboardHeight = height;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardShow?.();\n\t}\n\n\tkeyboardHide( e ) {\n\t\tif ( ! this.props.isVisible ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.keyboardHeight = 0;\n\t\tthis.performKeyboardLayoutAnimation( e );\n\t\tthis.onSetMaxHeight();\n\t\tthis.props.onKeyboardHide?.();\n\t}\n\n\tperformKeyboardLayoutAnimation( event ) {\n\t\tconst { duration, easing } = event;\n\n\t\tif ( duration && easing ) {\n\t\t\t// This layout animation is the same as the React Native's KeyboardAvoidingView component.\n\t\t\t// Reference: https://github.com/facebook/react-native/blob/266b21baf35e052ff28120f79c06c4f6dddc51a9/Libraries/Components/Keyboard/KeyboardAvoidingView.js#L119-L128.\n\t\t\tconst animationConfig = {\n\t\t\t\t// We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m.\n\t\t\t\tduration: duration > 10 ? duration : 10,\n\t\t\t\ttype: LayoutAnimation.Types[ easing ] || 'keyboard',\n\t\t\t};\n\t\t\tconst layoutAnimation = {\n\t\t\t\tduration: animationConfig.duration,\n\t\t\t\tupdate: animationConfig,\n\t\t\t\tcreate: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t\tdelete: {\n\t\t\t\t\t...animationConfig,\n\t\t\t\t\tproperty: LayoutAnimation.Properties.opacity,\n\t\t\t\t},\n\t\t\t};\n\t\t\tthis.lastLayoutAnimationFinished = false;\n\t\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t\t} );\n\t\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t\t} else {\n\t\t\t// TODO: Reinstate animations, possibly replacing `LayoutAnimation` with\n\t\t\t// more nuanced `Animated` usage or replacing our custom `BottomSheet`\n\t\t\t// with `@gorhom/bottom-sheet`. This animation was disabled to avoid a\n\t\t\t// preexisting bug: https://github.com/WordPress/gutenberg/issues/30562\n\t\t\t// this.performRegularLayoutAnimation( {\n\t\t\t// \tuseLastLayoutAnimation: false,\n\t\t\t// } );.\n\t\t}\n\t}\n\n\tperformRegularLayoutAnimation( { useLastLayoutAnimation } ) {\n\t\t// On Android, we should prevent triggering multiple layout animations at the same time because it can produce visual glitches.\n\t\tif (\n\t\t\tPlatform.OS === 'android' &&\n\t\t\tthis.lastLayoutAnimation &&\n\t\t\t! this.lastLayoutAnimationFinished\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst layoutAnimation = useLastLayoutAnimation\n\t\t\t? this.lastLayoutAnimation || DEFAULT_LAYOUT_ANIMATION\n\t\t\t: DEFAULT_LAYOUT_ANIMATION;\n\n\t\tthis.lastLayoutAnimationFinished = false;\n\t\tLayoutAnimation.configureNext( layoutAnimation, () => {\n\t\t\tthis.lastLayoutAnimationFinished = true;\n\t\t} );\n\t\tthis.lastLayoutAnimation = layoutAnimation;\n\t}\n\n\tcomponentDidMount() {\n\t\tSafeArea.getSafeAreaInsetsForRootView().then(\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\n\t\tif ( Platform.OS === 'android' ) {\n\t\t\tthis.androidModalClosedSubscription = subscribeAndroidModalClosed(\n\t\t\t\t() => {\n\t\t\t\t\tthis.props.onClose();\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\n\t\tthis.dimensionsChangeSubscription = Dimensions.addEventListener(\n\t\t\t'change',\n\t\t\tthis.onDimensionsChange\n\t\t);\n\n\t\t// 'Will' keyboard events are not available on Android.\n\t\t// Reference: https://reactnative.dev/docs/0.61/keyboard#addlistener.\n\t\tthis.keyboardShowListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillShow' : 'keyboardDidShow',\n\t\t\tthis.keyboardShow\n\t\t);\n\t\tthis.keyboardHideListener = Keyboard.addListener(\n\t\t\tPlatform.OS === 'ios' ? 'keyboardWillHide' : 'keyboardDidHide',\n\t\t\tthis.keyboardHide\n\t\t);\n\n\t\tthis.safeAreaEventSubscription = SafeArea.addEventListener(\n\t\t\t'safeAreaInsetsForRootViewDidChange',\n\t\t\tthis.onSafeAreaInsetsUpdate\n\t\t);\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.dimensionsChangeSubscription.remove();\n\t\tthis.keyboardShowListener.remove();\n\t\tthis.keyboardHideListener.remove();\n\t\tif ( this.androidModalClosedSubscription ) {\n\t\t\tthis.androidModalClosedSubscription.remove();\n\t\t}\n\n\t\tif ( this.props.isVisible ) {\n\t\t\tshowAndroidSoftKeyboard();\n\t\t}\n\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.safeAreaEventSubscription.remove();\n\t\tthis.safeAreaEventSubscription = null;\n\t}\n\n\tonSafeAreaInsetsUpdate( result ) {\n\t\tconst { safeAreaBottomInset, safeAreaTopInset } = this.state;\n\t\tif ( this.safeAreaEventSubscription === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { safeAreaInsets } = result;\n\t\tif (\n\t\t\tsafeAreaBottomInset !== safeAreaInsets.bottom ||\n\t\t\tsafeAreaTopInset !== safeAreaInsets.top\n\t\t) {\n\t\t\tthis.setState( {\n\t\t\t\tsafeAreaBottomInset: safeAreaInsets.bottom,\n\t\t\t\tsafeAreaTopInset: safeAreaInsets.top,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSetMaxHeight() {\n\t\tconst { height, width } = Dimensions.get( 'window' );\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\tconst statusBarHeight =\n\t\t\tPlatform.OS === 'android' ? StatusBar.currentHeight : 0;\n\n\t\t// `maxHeight` when modal is opened along with a keyboard.\n\t\tconst maxHeightWithOpenKeyboard =\n\t\t\t0.95 *\n\t\t\t( Dimensions.get( 'window' ).height -\n\t\t\t\tthis.keyboardHeight -\n\t\t\t\tstatusBarHeight -\n\t\t\t\tthis.headerHeight );\n\n\t\t// In landscape orientation, set `maxHeight` to ~96% of the height.\n\t\tif ( width > height ) {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\t0.96 * height - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t\t// In portrait orientation, set `maxHeight` to ~59% of the height.\n\t\t} else {\n\t\t\tthis.setState( {\n\t\t\t\tmaxHeight: Math.min(\n\t\t\t\t\theight * 0.59 - safeAreaBottomInset - this.headerHeight,\n\t\t\t\t\tmaxHeightWithOpenKeyboard\n\t\t\t\t),\n\t\t\t} );\n\t\t}\n\t}\n\n\tonDimensionsChange() {\n\t\tthis.onSetMaxHeight();\n\t\tthis.setState( { bounces: false } );\n\t}\n\n\tonHeaderLayout( { nativeEvent } ) {\n\t\tconst { height } = nativeEvent.layout;\n\t\t// The layout animation should only be triggered if the header\n\t\t// height has changed after being mounted.\n\t\tif (\n\t\t\tthis.headerHeight !== 0 &&\n\t\t\tMath.round( height ) !== Math.round( this.headerHeight )\n\t\t) {\n\t\t\tthis.performRegularLayoutAnimation( {\n\t\t\t\tuseLastLayoutAnimation: true,\n\t\t\t} );\n\t\t}\n\t\tthis.headerHeight = height;\n\t\tthis.onSetMaxHeight();\n\t}\n\n\tisCloseToBottom( { layoutMeasurement, contentOffset, contentSize } ) {\n\t\treturn (\n\t\t\tlayoutMeasurement.height + contentOffset.y >=\n\t\t\tcontentSize.height - contentOffset.y\n\t\t);\n\t}\n\n\tisCloseToTop( { contentOffset } ) {\n\t\treturn contentOffset.y < 10;\n\t}\n\n\tonScroll( { nativeEvent } ) {\n\t\tif ( this.isCloseToTop( nativeEvent ) ) {\n\t\t\tthis.setState( { bounces: false } );\n\t\t} else {\n\t\t\tthis.setState( { bounces: true } );\n\t\t}\n\t}\n\n\tonDismiss() {\n\t\tconst { onDismiss } = this.props;\n\n\t\t// Restore Keyboard Visibility\n\t\tshowAndroidSoftKeyboard();\n\n\t\tif ( onDismiss ) {\n\t\t\tonDismiss();\n\t\t}\n\n\t\tthis.onCloseBottomSheet();\n\t}\n\n\tonShouldEnableScroll( value ) {\n\t\tthis.setState( { scrollEnabled: value } );\n\t}\n\n\tonShouldSetBottomSheetMaxHeight( value ) {\n\t\tthis.setState( { isMaxHeightSet: value } );\n\t}\n\n\tisScrolling( value ) {\n\t\tthis.setState( { isScrolling: value } );\n\t}\n\n\tonHandleClosingBottomSheet( action ) {\n\t\tthis.setState( { handleClosingBottomSheet: action } );\n\t}\n\n\tonHandleHardwareButtonPress( action ) {\n\t\tthis.setState( { handleHardwareButtonPress: action } );\n\t}\n\n\tonCloseBottomSheet() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleClosingBottomSheet } = this.state;\n\t\tif ( handleClosingBottomSheet ) {\n\t\t\thandleClosingBottomSheet();\n\t\t\tthis.onHandleClosingBottomSheet( null );\n\t\t}\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\t\tthis.onShouldSetBottomSheetMaxHeight( true );\n\t}\n\n\tsetIsFullScreen( isFullScreen ) {\n\t\tif ( isFullScreen !== this.state.isFullScreen ) {\n\t\t\tif ( isFullScreen ) {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: false } );\n\t\t\t} else {\n\t\t\t\tthis.setState( { isFullScreen, isMaxHeightSet: true } );\n\t\t\t}\n\t\t}\n\t}\n\n\tonHardwareButtonPress() {\n\t\tconst { onClose } = this.props;\n\t\tconst { handleHardwareButtonPress } = this.state;\n\n\t\tif ( handleHardwareButtonPress && handleHardwareButtonPress() ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( onClose ) {\n\t\t\treturn onClose();\n\t\t}\n\t}\n\n\tgetContentStyle() {\n\t\tconst { safeAreaBottomInset } = this.state;\n\t\treturn {\n\t\t\tpaddingBottom:\n\t\t\t\t( safeAreaBottomInset || 0 ) +\n\t\t\t\tstyles.scrollableContent.paddingBottom,\n\t\t};\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\ttitle = '',\n\t\t\tisVisible,\n\t\t\tleftButton,\n\t\t\trightButton,\n\t\t\theader,\n\t\t\thideHeader,\n\t\t\tstyle = {},\n\t\t\tcontentStyle = {},\n\t\t\tgetStylesFromColorScheme,\n\t\t\tchildren,\n\t\t\twithHeaderSeparator = false,\n\t\t\thasNavigation,\n\t\t\tonDismiss,\n\t\t\t...rest\n\t\t} = this.props;\n\t\tconst {\n\t\t\tmaxHeight,\n\t\t\tbounces,\n\t\t\tsafeAreaBottomInset,\n\t\t\tsafeAreaTopInset,\n\t\t\tisScrolling,\n\t\t\tscrollEnabled,\n\t\t\tisMaxHeightSet,\n\t\t\tisFullScreen,\n\t\t} = this.state;\n\n\t\tconst panResponder = PanResponder.create( {\n\t\t\tonMoveShouldSetPanResponder: ( evt, gestureState ) => {\n\t\t\t\t// 'swiping-to-close' option is temporarily and partially disabled\n\t\t\t\t// on Android ( swipe / drag is still available in the top most area - near drag indicator).\n\t\t\t\tif ( Platform.OS === 'ios' ) {\n\t\t\t\t\t// Activates swipe down over child Touchables if the swipe is long enough.\n\t\t\t\t\t// With this we can adjust sensibility on the swipe vs tap gestures.\n\t\t\t\t\tif ( gestureState.dy > 3 && ! bounces ) {\n\t\t\t\t\t\tgestureState.dy = 0;\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\t\t} );\n\n\t\tconst backgroundStyle = getStylesFromColorScheme(\n\t\t\tstyles.background,\n\t\t\tstyles.backgroundDark\n\t\t);\n\n\t\tconst bottomSheetHeaderTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.bottomSheetHeaderTitle,\n\t\t\tstyles.bottomSheetHeaderTitleDark\n\t\t);\n\n\t\tlet listStyle = {};\n\t\tif ( isFullScreen ) {\n\t\t\tlistStyle = { flexGrow: 1, flexShrink: 1 };\n\t\t} else if ( isMaxHeightSet ) {\n\t\t\tlistStyle = { maxHeight };\n\n\t\t\t// Allow setting a \"static\" height of the bottom sheet\n\t\t\t// by setting the min height to the max height.\n\t\t\tif ( this.props.setMinHeightToMaxHeight ) {\n\t\t\t\tlistStyle.minHeight = maxHeight;\n\t\t\t}\n\t\t}\n\n\t\tconst listProps = {\n\t\t\tdisableScrollViewPanResponder: true,\n\t\t\tbounces,\n\t\t\tonScroll: this.onScroll,\n\t\t\tonScrollBeginDrag: this.onScrollBeginDrag,\n\t\t\tonScrollEndDrag: this.onScrollEndDrag,\n\t\t\tscrollEventThrottle: 16,\n\t\t\tcontentContainerStyle: [\n\t\t\t\tstyles.content,\n\t\t\t\thideHeader && styles.emptyHeader,\n\t\t\t\tcontentStyle,\n\t\t\t\tisFullScreen && { flexGrow: 1 },\n\t\t\t],\n\t\t\tstyle: listStyle,\n\t\t\tsafeAreaBottomInset,\n\t\t\tscrollEnabled,\n\t\t\tautomaticallyAdjustContentInsets: false,\n\t\t};\n\n\t\tconst WrapperView = hasNavigation ? View : ScrollView;\n\n\t\tconst getHeader = () => (\n\t\t\t<>\n\t\t\t\t{ header || (\n\t\t\t\t\t<View style={ styles.bottomSheetHeader }>\n\t\t\t\t\t\t<View style={ styles.flex }>{ leftButton }</View>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tstyle={ bottomSheetHeaderTitleStyle }\n\t\t\t\t\t\t\tmaxFontSizeMultiplier={ 3 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t<View style={ styles.flex }>{ rightButton }</View>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t\t{ withHeaderSeparator && <View style={ styles.separator } /> }\n\t\t\t</>\n\t\t);\n\n\t\tconst showDragIndicator = () => {\n\t\t\t// If iOS or not fullscreen show the drag indicator.\n\t\t\tif ( Platform.OS === 'ios' || ! this.state.isFullScreen ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// Otherwise check the allowDragIndicator.\n\t\t\treturn this.props.allowDragIndicator;\n\t\t};\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tisVisible={ isVisible }\n\t\t\t\tstyle={ styles.bottomModal }\n\t\t\t\tanimationInTiming={ 400 }\n\t\t\t\tanimationOutTiming={ 300 }\n\t\t\t\tbackdropTransitionInTiming={ 50 }\n\t\t\t\tbackdropTransitionOutTiming={ 50 }\n\t\t\t\tbackdropOpacity={ 0.2 }\n\t\t\t\tonBackdropPress={ this.onCloseBottomSheet }\n\t\t\t\tonBackButtonPress={ this.onHardwareButtonPress }\n\t\t\t\tonSwipeComplete={ this.onCloseBottomSheet }\n\t\t\t\tonDismiss={ Platform.OS === 'ios' ? this.onDismiss : undefined }\n\t\t\t\tonModalHide={\n\t\t\t\t\tPlatform.OS === 'android' ? this.onDismiss : undefined\n\t\t\t\t}\n\t\t\t\tswipeDirection=\"down\"\n\t\t\t\tonMoveShouldSetResponder={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponder\n\t\t\t\t}\n\t\t\t\tonMoveShouldSetResponderCapture={\n\t\t\t\t\tscrollEnabled &&\n\t\t\t\t\tpanResponder.panHandlers.onMoveShouldSetResponderCapture\n\t\t\t\t}\n\t\t\t\tonAccessibilityEscape={ this.onCloseBottomSheet }\n\t\t\t\ttestID=\"bottom-sheet\"\n\t\t\t\thardwareAccelerated\n\t\t\t\tuseNativeDriverForBackdrop\n\t\t\t\t{ ...rest }\n\t\t\t>\n\t\t\t\t<KeyboardAvoidingView\n\t\t\t\t\tbehavior={ Platform.OS === 'ios' && 'padding' }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...backgroundStyle,\n\t\t\t\t\t\tborderColor: 'rgba(0, 0, 0, 0.1)',\n\t\t\t\t\t\tmarginTop:\n\t\t\t\t\t\t\tPlatform.OS === 'ios' && isFullScreen\n\t\t\t\t\t\t\t\t? safeAreaTopInset\n\t\t\t\t\t\t\t\t: 0,\n\t\t\t\t\t\tflex: isFullScreen ? 1 : undefined,\n\t\t\t\t\t\t...( Platform.OS === 'android' && isFullScreen\n\t\t\t\t\t\t\t? styles.backgroundFullScreen\n\t\t\t\t\t\t\t: {} ),\n\t\t\t\t\t\t...style,\n\t\t\t\t\t} }\n\t\t\t\t\tkeyboardVerticalOffset={ -safeAreaBottomInset }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ styles.header }\n\t\t\t\t\t\tonLayout={ this.onHeaderLayout }\n\t\t\t\t\t\ttestID={ `${ rest.testID || 'bottom-sheet' }-header` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showDragIndicator() && (\n\t\t\t\t\t\t\t<View style={ styles.dragIndicator } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! hideHeader && getHeader() }\n\t\t\t\t\t</View>\n\t\t\t\t\t<WrapperView\n\t\t\t\t\t\t{ ...( hasNavigation\n\t\t\t\t\t\t\t? { style: listProps.style }\n\t\t\t\t\t\t\t: listProps ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BottomSheetProvider\n\t\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetScroll:\n\t\t\t\t\t\t\t\t\tthis.onShouldEnableScroll,\n\t\t\t\t\t\t\t\tshouldEnableBottomSheetMaxHeight:\n\t\t\t\t\t\t\t\t\tthis.onShouldSetBottomSheetMaxHeight,\n\t\t\t\t\t\t\t\tisBottomSheetContentScrolling: isScrolling,\n\t\t\t\t\t\t\t\tonHandleClosingBottomSheet:\n\t\t\t\t\t\t\t\t\tthis.onHandleClosingBottomSheet,\n\t\t\t\t\t\t\t\tonHandleHardwareButtonPress:\n\t\t\t\t\t\t\t\t\tthis.onHandleHardwareButtonPress,\n\t\t\t\t\t\t\t\tlistProps,\n\t\t\t\t\t\t\t\tsetIsFullScreen: this.setIsFullScreen,\n\t\t\t\t\t\t\t\tsafeAreaBottomInset,\n\t\t\t\t\t\t\t\tmaxHeight,\n\t\t\t\t\t\t\t\tisMaxHeightSet,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasNavigation ? (\n\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<TouchableHighlight accessible={ false }>\n\t\t\t\t\t\t\t\t\t<>{ children }</>\n\t\t\t\t\t\t\t\t</TouchableHighlight>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BottomSheetProvider>\n\t\t\t\t\t\t{ ! hasNavigation && (\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\theight:\n\t\t\t\t\t\t\t\t\t\tsafeAreaBottomInset ||\n\t\t\t\t\t\t\t\t\t\tstyles.scrollableContent.paddingBottom,\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</WrapperView>\n\t\t\t\t</KeyboardAvoidingView>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nfunction getWidth() {\n\treturn Math.min(\n\t\tDimensions.get( 'window' ).width,\n\t\tstyles.background.maxWidth\n\t);\n}\n\nconst ThemedBottomSheet = withPreferredColorScheme( BottomSheet );\n\nThemedBottomSheet.getWidth = getWidth;\nThemedBottomSheet.Button = Button;\nThemedBottomSheet.Cell = Cell;\nThemedBottomSheet.SubSheet = BottomSheetSubSheet;\nThemedBottomSheet.NavBar = NavBar;\nThemedBottomSheet.CyclePickerCell = CyclePickerCell;\nThemedBottomSheet.PickerCell = PickerCell;\nThemedBottomSheet.SwitchCell = SwitchCell;\nThemedBottomSheet.RangeCell = RangeCell;\nThemedBottomSheet.ColorCell = ColorCell;\nThemedBottomSheet.LinkCell = LinkCell;\nThemedBottomSheet.LinkSuggestionItemCell = LinkSuggestionItemCell;\nThemedBottomSheet.RadioCell = RadioCell;\nThemedBottomSheet.NavigationScreen = NavigationScreen;\nThemedBottomSheet.NavigationContainer = NavigationContainer;\n\nexport default ThemedBottomSheet;\n"],"mappings":"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"}
|