@artsy/palette 43.2.0 → 43.3.1-canary.1463.32455.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.
Files changed (29) hide show
  1. package/dist/elements/AutocompleteInput/AutocompleteInput.js +3 -11
  2. package/dist/elements/AutocompleteInput/AutocompleteInput.js.map +1 -1
  3. package/dist/elements/FilterSelect/Components/FilterSelectContext.d.ts +2 -1
  4. package/dist/elements/FilterSelect/Components/FilterSelectContext.js +1 -0
  5. package/dist/elements/FilterSelect/Components/FilterSelectContext.js.map +1 -1
  6. package/dist/elements/FilterSelect/FilterSelect.js +2 -1
  7. package/dist/elements/FilterSelect/FilterSelect.js.map +1 -1
  8. package/dist/elements/FilterSelect/FilterSelect.story.js +6 -0
  9. package/dist/elements/FilterSelect/FilterSelect.story.js.map +1 -1
  10. package/dist/elements/PhoneInput/PhoneInput.d.ts +1 -16
  11. package/dist/elements/PhoneInput/PhoneInput.js +45 -188
  12. package/dist/elements/PhoneInput/PhoneInput.js.map +1 -1
  13. package/dist/elements/PhoneInput/PhoneInput.story.d.ts +1 -0
  14. package/dist/elements/PhoneInput/PhoneInput.story.js +52 -1
  15. package/dist/elements/PhoneInput/PhoneInput.story.js.map +1 -1
  16. package/dist/elements/PhoneInput/PhoneInputList.d.ts +22 -0
  17. package/dist/elements/PhoneInput/PhoneInputList.js +143 -0
  18. package/dist/elements/PhoneInput/PhoneInputList.js.map +1 -0
  19. package/dist/elements/PhoneInput/PhoneInputList.story.d.ts +6 -0
  20. package/dist/elements/PhoneInput/PhoneInputList.story.js +197 -0
  21. package/dist/elements/PhoneInput/PhoneInputList.story.js.map +1 -0
  22. package/dist/elements/PhoneInput/tokens.js +5 -5
  23. package/dist/elements/PhoneInput/tokens.js.map +1 -1
  24. package/dist/utils/useMouseActivity.d.ts +8 -0
  25. package/dist/utils/useMouseActivity.js +28 -0
  26. package/dist/utils/useMouseActivity.js.map +1 -0
  27. package/dist/utils/useWidthOf.js +11 -9
  28. package/dist/utils/useWidthOf.js.map +1 -1
  29. package/package.json +2 -2
@@ -20,6 +20,7 @@ var _VisuallyHidden = require("../VisuallyHidden");
20
20
  var _AutocompleteInputOption = require("./AutocompleteInputOption");
21
21
  var _AutocompleteInputOptionLabel = require("./AutocompleteInputOptionLabel");
22
22
  var _themeGet = require("@styled-system/theme-get");
23
+ var _useMouseActivity2 = require("../../utils/useMouseActivity");
23
24
  var _excluded = ["clamp", "defaultValue", "dropdownMaxHeight", "flip", "footer", "forwardRef", "header", "height", "id", "loading", "onChange", "onClear", "onClose", "onKeyDown", "onSelect", "onSubmit", "options", "renderOption"];
24
25
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -202,17 +203,8 @@ var AutocompleteInput = exports.AutocompleteInput = function AutocompleteInput(_
202
203
  // Records the latest mouse movement and, inside the `handleMouseEnter` callback,
203
204
  // only treat the event as genuine if the mouse has moved very recently.
204
205
  // Otherwise, the event is presumed to have been triggered by scrolling and is ignored.
205
- var lastMouseMoveTimestamp = (0, _react.useRef)(0);
206
- (0, _react.useEffect)(function () {
207
- if (!isDropdownVisible) return;
208
- var handleMouseMove = function handleMouseMove() {
209
- lastMouseMoveTimestamp.current = performance.now();
210
- };
211
- window.addEventListener("mousemove", handleMouseMove);
212
- return function () {
213
- window.removeEventListener("mousemove", handleMouseMove);
214
- };
215
- }, [isDropdownVisible]);
206
+ var _useMouseActivity = (0, _useMouseActivity2.useMouseActivity)(),
207
+ lastMouseMoveTimestamp = _useMouseActivity.lastMouseMoveTimestamp;
216
208
  var handleMouseEnter = function handleMouseEnter(i) {
217
209
  return function () {
218
210
  var now = performance.now();
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteInput.js","names":["_composeReactRefs","_interopRequireDefault","require","_react","_interopRequireWildcard","_styledComponents","_useKeyboardListNavigation","_Spinner","_SearchIcon","_CloseIcon","_utils","_useWidthOf2","_Box","_Clickable","_LabeledInput","_VisuallyHidden","_AutocompleteInputOption","_AutocompleteInputOptionLabel","_themeGet","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","reducer","state","action","type","open","query","payload","AutocompleteInput","exports","_ref","_staged$text","_ref$clamp","clamp","_ref$defaultValue","defaultValue","_ref$dropdownMaxHeigh","dropdownMaxHeight","_ref$flip","flip","footer","forwardedRef","forwardRef","header","height","id","loading","onChange","onClear","onClose","onKeyDown","onSelect","onSubmit","options","_ref$renderOption","renderOption","option","createElement","AutocompleteInputOptionLabel","rest","inputRef","useRef","containerRef","headerRef","footerRef","_splitBoxProps","splitBoxProps","_splitBoxProps2","boxProps","inputProps","_useReducer","useReducer","_useReducer2","dispatch","optionsWithRefs","useMemo","map","ref","createRef","resetUI","setTimeout","_inputRef$current","current","focus","reset","handleSelect","index","_inputRef$current2","text","_useKeyboardListNavig","useKeyboardListNavigation","list","waitForInteractive","onEnter","_ref2","element","event","preventDefault","stopPropagation","isDropdownVisible","useEffect","_usePosition","usePosition","active","offset","position","anchorRef","tooltipRef","_useWidthOf","useWidthOf","width","handleFocus","handleMouseDown","handleClick","lastMouseMoveTimestamp","handleMouseMove","performance","now","window","addEventListener","removeEventListener","handleMouseEnter","cursor","interactive","handleChange","currentTarget","handleClearOrSubmit","_inputRef$current3","handleClose","useCallback","ignoreFocusChangeRef","ignoreFocusChange","onMouseDown","onMouseUp","_option$ref","_option$ref$current","handleFocusChange","focused","_useContainsFocus","useContainsFocus","containsFocusRef","useClickOutside","onClickOutside","when","handleInputKeydown","_inputRef$current4","blur","handleContainerKeydown","_inputRef$current5","_inputRef$current6","staged","Box","composeRefs","LabeledInput","role","concat","label","Spinner","size","Clickable","onClick","display","alignItems","fill","onFocus","autoComplete","AutocompleteInputDropdown","AutocompleteInputOptions","maxHeight","_ref3","AutocompleteInputOption","onMouseEnter","tabIndex","VisuallyHidden","displayName","styled","withConfig","componentId","themeGet"],"sources":["../../../src/elements/AutocompleteInput/AutocompleteInput.tsx"],"sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport React, {\n createRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from \"react\"\nimport styled from \"styled-components\"\nimport { useKeyboardListNavigation } from \"use-keyboard-list-navigation\"\nimport { Spinner } from \"../Spinner\"\nimport SearchIcon from \"@artsy/icons/SearchIcon\"\nimport CloseIcon from \"@artsy/icons/CloseIcon\"\nimport { usePosition, useContainsFocus, useClickOutside } from \"../../utils\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, splitBoxProps } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { InputProps } from \"../Input\"\nimport { LabeledInput } from \"../LabeledInput\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { AutocompleteInputOption } from \"./AutocompleteInputOption\"\nimport { AutocompleteInputOptionLabel } from \"./AutocompleteInputOptionLabel\"\nimport { ResponsiveValue } from \"styled-system\"\nimport { themeGet } from \"@styled-system/theme-get\"\n\nexport interface AutocompleteFooterActions {\n /** Call to close dropdown */\n onClose(): void\n}\n\n/** Base option type — can be expanded */\nexport interface AutocompleteInputOptionType {\n text: string\n value: string\n}\n\ninterface State {\n open: boolean\n query: string\n}\n\ntype Action =\n | { type: \"OPEN\" }\n | { type: \"CLOSE\" }\n | { type: \"CLEAR\" }\n | { type: \"CHANGE\"; payload: { query: string } }\n | { type: \"SELECT\"; payload: { query: string } }\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"OPEN\":\n return { ...state, open: true }\n case \"CLOSE\":\n return { ...state, open: false }\n case \"CLEAR\":\n return { ...state, query: \"\" }\n case \"CHANGE\":\n return { ...state, query: action.payload.query, open: true }\n case \"SELECT\":\n return { ...state, query: action.payload.query, open: false }\n }\n}\n\nexport interface AutocompleteInputProps<T extends AutocompleteInputOptionType>\n extends Omit<InputProps, \"onSelect\" | \"onSubmit\"> {\n /** Optionally enable clamping (default: `false`) */\n clamp?: boolean\n defaultValue?: string\n dropdownMaxHeight?: ResponsiveValue<string | number>\n loading?: boolean\n header?: React.ReactNode\n /** Optionally disable flipping (default: `true`) */\n flip?: boolean\n footer?:\n | React.ReactNode\n | ((dropdownActions: AutocompleteFooterActions) => React.ReactNode)\n /** Ref to the input; workaround generics */\n forwardRef?: React.Ref<HTMLInputElement>\n /** on <enter> when no option is selected */\n onSubmit?(query: string): void\n /** on <click> or <enter> when an option is selected */\n onSelect?(option: T, index: number): void\n /** on <click> of the 'x' (clear) button */\n onClear?(): void\n /** Callback that runs when options are hidden */\n onClose?(): void\n options: T[]\n renderOption?(\n option: T,\n i: number\n ): React.ReactElement<any, string | React.JSXElementConstructor<any>>\n}\n\n/** AutocompleteInput */\nexport const AutocompleteInput = <T extends AutocompleteInputOptionType>({\n clamp = false,\n defaultValue = \"\",\n dropdownMaxHeight = 308, // 308 = roughly 5.5 options\n flip = true,\n footer,\n forwardRef: forwardedRef,\n header,\n height,\n id,\n loading,\n onChange,\n onClear,\n onClose,\n onKeyDown,\n onSelect,\n onSubmit,\n options,\n renderOption = (option) => <AutocompleteInputOptionLabel {...option} />,\n ...rest\n}: AutocompleteInputProps<T>) => {\n const inputRef = useRef<HTMLInputElement | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n const headerRef = useRef<HTMLDivElement | null>(null)\n const footerRef = useRef<HTMLDivElement | null>(null)\n\n const [boxProps, inputProps] = splitBoxProps(rest)\n\n const [state, dispatch] = useReducer(reducer, {\n open: false,\n query: defaultValue,\n })\n\n const optionsWithRefs = useMemo(() => {\n return options.map((option) => ({\n option,\n ref: createRef<HTMLButtonElement>(),\n }))\n }, [options])\n\n const resetUI = () => {\n setTimeout(() => {\n inputRef.current?.focus()\n reset()\n dispatch({ type: \"CLOSE\" })\n }, 100)\n }\n\n const handleSelect = (option: T, index: number) => {\n dispatch({ type: \"SELECT\", payload: { query: option.text } })\n inputRef.current?.focus()\n onSelect?.(option, index)\n }\n\n const { index, reset, set } = useKeyboardListNavigation({\n ref: containerRef,\n list: options,\n waitForInteractive: true,\n onEnter: ({ element: option, index: i, event }) => {\n event.preventDefault()\n event.stopPropagation()\n handleSelect(option, i)\n resetUI()\n },\n })\n\n const isDropdownVisible = state.open && options.length > 0\n\n // Reset keyboard navigation when options change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(reset, [options])\n\n // Reset keyboard navigation when query is empty\n useEffect(() => {\n if (state.query === \"\") reset()\n }, [reset, state.query])\n\n const { anchorRef, tooltipRef } = usePosition({\n active: isDropdownVisible,\n clamp,\n flip,\n key: options.length,\n offset: 10,\n position: \"bottom\",\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n const handleFocus = () => {\n reset()\n dispatch({ type: \"OPEN\" })\n }\n\n const handleMouseDown = (option: T, i: number) => () => {\n handleSelect(option, i)\n resetUI()\n }\n\n const handleClick = () => {\n dispatch({ type: \"OPEN\" })\n }\n\n // Records the latest mouse movement and, inside the `handleMouseEnter` callback,\n // only treat the event as genuine if the mouse has moved very recently.\n // Otherwise, the event is presumed to have been triggered by scrolling and is ignored.\n const lastMouseMoveTimestamp = useRef<number>(0)\n\n useEffect(() => {\n if (!isDropdownVisible) return\n\n const handleMouseMove = () => {\n lastMouseMoveTimestamp.current = performance.now()\n }\n\n window.addEventListener(\"mousemove\", handleMouseMove)\n\n return () => {\n window.removeEventListener(\"mousemove\", handleMouseMove)\n }\n }, [isDropdownVisible])\n\n const handleMouseEnter = (i: number) => () => {\n const now = performance.now()\n\n // 50ms mouse move window\n if (now - lastMouseMoveTimestamp.current < 50) {\n set({ cursor: i, interactive: true })\n }\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const {\n currentTarget: { value },\n } = event\n\n dispatch({ type: \"CHANGE\", payload: { query: value } })\n onChange?.(event)\n }\n\n const handleClearOrSubmit = () => {\n if (state.query === \"\") {\n onSubmit?.(state.query)\n return\n }\n\n dispatch({ type: \"CLEAR\" })\n inputRef.current?.focus()\n onClear?.()\n }\n\n const handleClose = useCallback(() => {\n dispatch({ type: \"CLOSE\" })\n reset()\n onClose?.()\n }, [onClose, reset])\n\n const ignoreFocusChangeRef = useRef<boolean>(false)\n const ignoreFocusChange = {\n onMouseDown: () => (ignoreFocusChangeRef.current = true),\n onMouseUp: () => (ignoreFocusChangeRef.current = false),\n }\n\n // Moves focus to different options when keyboard navigating using up/down\n useEffect(() => {\n const option = optionsWithRefs[index]\n option?.ref?.current?.focus()\n }, [index, optionsWithRefs])\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n if (ignoreFocusChangeRef.current || focused || !isDropdownVisible) return\n\n handleClose()\n },\n\n [isDropdownVisible, handleClose]\n )\n\n // Handle closing the dropdown when clicking outside of the input\n // or when focus leaves the input completely\n const { ref: containsFocusRef } = useContainsFocus({\n onChange: handleFocusChange,\n })\n\n useClickOutside({\n ref: containsFocusRef,\n onClickOutside: handleClose,\n when: isDropdownVisible,\n type: \"click\",\n })\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n // Handle <Enter> when nothing is selected\n case \"Enter\":\n if (state.query !== \"\" && index === -1) {\n onSubmit?.(state.query)\n resetUI()\n }\n return\n\n // <Esc> to close dropdown\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n\n return\n\n default:\n break\n }\n\n onKeyDown?.(event)\n }\n\n // Moves focus back to input when typing\n const handleContainerKeydown = (\n event: React.KeyboardEvent<HTMLDivElement>\n ) => {\n switch (event.key) {\n case \"Alt\":\n case \"ArrowDown\":\n case \"ArrowUp\":\n case \"Control\":\n case \"Enter\":\n case \"Meta\":\n case \"Shift\":\n case \"Tab\":\n // Ignore\n return\n\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n reset()\n\n return\n\n default:\n inputRef.current?.focus()\n }\n }\n\n // Option that is being hovered or keyed into\n const staged = options[index]\n\n return (\n <Box\n ref={composeRefs(containerRef, containsFocusRef) as any}\n onKeyDown={handleContainerKeydown}\n {...boxProps}\n >\n <LabeledInput\n ref={composeRefs(inputRef, anchorRef, forwardedRef) as any}\n role=\"combobox\"\n aria-expanded={isDropdownVisible}\n aria-autocomplete=\"list\"\n {...(id ? { id, \"aria-describedby\": `${id}__assistiveHint` } : {})}\n label={\n loading ? (\n <Box width={18}>\n <Spinner size=\"small\" />\n </Box>\n ) : state.query ? (\n <Clickable\n onClick={handleClearOrSubmit}\n height=\"100%\"\n display=\"flex\"\n alignItems=\"center\"\n aria-label=\"Clear input\"\n >\n <CloseIcon fill=\"mono60\" aria-hidden />\n </Clickable>\n ) : (\n <SearchIcon fill=\"mono60\" aria-hidden />\n )\n }\n value={staged?.text ?? state.query}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeydown}\n onClick={handleClick}\n autoComplete=\"off\"\n height={height}\n {...inputProps}\n />\n\n {isDropdownVisible && (\n <AutocompleteInputDropdown\n ref={tooltipRef as any}\n role=\"listbox\"\n width={width}\n >\n <div ref={headerRef} {...ignoreFocusChange}>\n {header}\n </div>\n\n <AutocompleteInputOptions maxHeight={dropdownMaxHeight}>\n {optionsWithRefs.map(({ option, ref }, i) => {\n return (\n <AutocompleteInputOption\n key={i}\n ref={ref}\n role=\"option\"\n aria-selected={i === index}\n aria-posinset={i + 1}\n aria-setsize={options.length}\n onMouseDown={handleMouseDown(option, i)}\n onMouseEnter={handleMouseEnter(i)}\n tabIndex={-1}\n >\n {renderOption(option, i)}\n </AutocompleteInputOption>\n )\n })}\n </AutocompleteInputOptions>\n\n <div ref={footerRef} {...ignoreFocusChange}>\n {typeof footer === \"function\"\n ? footer({ onClose: handleClose })\n : footer}\n </div>\n </AutocompleteInputDropdown>\n )}\n\n <VisuallyHidden {...(id ? { id: `${id}__assistiveHint` } : {})}>\n When autocomplete results are available use up and down arrows to review\n and enter to select. Touch device users, explore by touch or with swipe\n gestures.\n </VisuallyHidden>\n\n {isDropdownVisible && (\n <VisuallyHidden role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {options.length === 1\n ? `1 result is available`\n : `${options.length} results are available`}\n </VisuallyHidden>\n )}\n </Box>\n )\n}\n\nconst AutocompleteInputDropdown = styled(Box)`\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n z-index: 1;\n`\n\nconst AutocompleteInputOptions = styled(Box)`\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAQA,IAAAG,iBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,0BAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,UAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AACA,IAAAU,IAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AAEA,IAAAY,aAAA,GAAAZ,OAAA;AACA,IAAAa,eAAA,GAAAb,OAAA;AACA,IAAAc,wBAAA,GAAAd,OAAA;AACA,IAAAe,6BAAA,GAAAf,OAAA;AAEA,IAAAgB,SAAA,GAAAhB,OAAA;AAAmD,IAAAiB,SAAA;AAAA,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAjB,wBAAAqB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,4BAAAG,OAAA,EAAAH,GAAA,UAAAI,KAAA,GAAAT,wBAAA,CAAAC,WAAA,OAAAQ,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAL,GAAA,YAAAI,KAAA,CAAAE,GAAA,CAAAN,GAAA,SAAAO,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAZ,GAAA,QAAAY,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,GAAA,EAAAY,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,GAAA,EAAAY,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAZ,GAAA,CAAAY,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAH,GAAA,MAAAI,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAjB,GAAA,EAAAO,MAAA,YAAAA,MAAA;AAAA,SAAA/B,uBAAAwB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAG,OAAA,EAAAH,GAAA;AAAA,SAAAE,QAAAF,GAAA,sCAAAE,OAAA,wBAAAgB,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAnB,GAAA,kBAAAA,GAAA,gBAAAA,GAAA,WAAAA,GAAA,yBAAAkB,MAAA,IAAAlB,GAAA,CAAAoB,WAAA,KAAAF,MAAA,IAAAlB,GAAA,KAAAkB,MAAA,CAAAL,SAAA,qBAAAb,GAAA,KAAAE,OAAA,CAAAF,GAAA;AAAA,SAAAqB,SAAA,IAAAA,QAAA,GAAAZ,MAAA,CAAAa,MAAA,GAAAb,MAAA,CAAAa,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAb,GAAA,IAAAgB,MAAA,QAAAnB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAa,MAAA,EAAAhB,GAAA,KAAAY,MAAA,CAAAZ,GAAA,IAAAgB,MAAA,CAAAhB,GAAA,gBAAAY,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,eAAAC,GAAA,EAAAN,CAAA,WAAAO,eAAA,CAAAD,GAAA,KAAAE,qBAAA,CAAAF,GAAA,EAAAN,CAAA,KAAAS,2BAAA,CAAAH,GAAA,EAAAN,CAAA,KAAAU,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAA/B,MAAA,CAAAI,SAAA,CAAA4B,QAAA,CAAA1B,IAAA,CAAAsB,CAAA,EAAAK,KAAA,aAAAF,CAAA,iBAAAH,CAAA,CAAAjB,WAAA,EAAAoB,CAAA,GAAAH,CAAA,CAAAjB,WAAA,CAAAuB,IAAA,MAAAH,CAAA,cAAAA,CAAA,mBAAAI,KAAA,CAAAC,IAAA,CAAAR,CAAA,OAAAG,CAAA,+DAAAM,IAAA,CAAAN,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAR,GAAA,EAAAgB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAhB,GAAA,CAAAJ,MAAA,EAAAoB,GAAA,GAAAhB,GAAA,CAAAJ,MAAA,WAAAF,CAAA,MAAAuB,IAAA,OAAAJ,KAAA,CAAAG,GAAA,GAAAtB,CAAA,GAAAsB,GAAA,EAAAtB,CAAA,IAAAuB,IAAA,CAAAvB,CAAA,IAAAM,GAAA,CAAAN,CAAA,UAAAuB,IAAA;AAAA,SAAAf,sBAAAF,GAAA,EAAAN,CAAA,QAAAwB,EAAA,WAAAlB,GAAA,gCAAAb,MAAA,IAAAa,GAAA,CAAAb,MAAA,CAAAC,QAAA,KAAAY,GAAA,4BAAAkB,EAAA,QAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,IAAA,OAAAC,EAAA,OAAAC,EAAA,iBAAAJ,EAAA,IAAAH,EAAA,GAAAA,EAAA,CAAAlC,IAAA,CAAAgB,GAAA,GAAA0B,IAAA,QAAAhC,CAAA,QAAAhB,MAAA,CAAAwC,EAAA,MAAAA,EAAA,UAAAM,EAAA,uBAAAA,EAAA,IAAAL,EAAA,GAAAE,EAAA,CAAArC,IAAA,CAAAkC,EAAA,GAAAS,IAAA,MAAAJ,IAAA,CAAAK,IAAA,CAAAT,EAAA,CAAAU,KAAA,GAAAN,IAAA,CAAA3B,MAAA,KAAAF,CAAA,GAAA8B,EAAA,iBAAAM,GAAA,IAAAL,EAAA,OAAAL,EAAA,GAAAU,GAAA,yBAAAN,EAAA,YAAAN,EAAA,CAAAa,MAAA,KAAAT,EAAA,GAAAJ,EAAA,CAAAa,MAAA,IAAArD,MAAA,CAAA4C,EAAA,MAAAA,EAAA,2BAAAG,EAAA,QAAAL,EAAA,aAAAG,IAAA;AAAA,SAAAtB,gBAAAD,GAAA,QAAAa,KAAA,CAAAmB,OAAA,CAAAhC,GAAA,UAAAA,GAAA;AAAA,SAAAiC,yBAAApC,MAAA,EAAAqC,QAAA,QAAArC,MAAA,yBAAAJ,MAAA,GAAA0C,6BAAA,CAAAtC,MAAA,EAAAqC,QAAA,OAAArD,GAAA,EAAAa,CAAA,MAAAhB,MAAA,CAAA0D,qBAAA,QAAAC,gBAAA,GAAA3D,MAAA,CAAA0D,qBAAA,CAAAvC,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA2C,gBAAA,CAAAzC,MAAA,EAAAF,CAAA,MAAAb,GAAA,GAAAwD,gBAAA,CAAA3C,CAAA,OAAAwC,QAAA,CAAAI,OAAA,CAAAzD,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAyD,oBAAA,CAAAvD,IAAA,CAAAa,MAAA,EAAAhB,GAAA,aAAAY,MAAA,CAAAZ,GAAA,IAAAgB,MAAA,CAAAhB,GAAA,cAAAY,MAAA;AAAA,SAAA0C,8BAAAtC,MAAA,EAAAqC,QAAA,QAAArC,MAAA,yBAAAJ,MAAA,WAAA+C,UAAA,GAAA9D,MAAA,CAAA+D,IAAA,CAAA5C,MAAA,OAAAhB,GAAA,EAAAa,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAA8C,UAAA,CAAA5C,MAAA,EAAAF,CAAA,MAAAb,GAAA,GAAA2D,UAAA,CAAA9C,CAAA,OAAAwC,QAAA,CAAAI,OAAA,CAAAzD,GAAA,kBAAAY,MAAA,CAAAZ,GAAA,IAAAgB,MAAA,CAAAhB,GAAA,YAAAY,MAAA;AAAA,SAAAiD,QAAAC,MAAA,EAAAC,cAAA,QAAAH,IAAA,GAAA/D,MAAA,CAAA+D,IAAA,CAAAE,MAAA,OAAAjE,MAAA,CAAA0D,qBAAA,QAAAS,OAAA,GAAAnE,MAAA,CAAA0D,qBAAA,CAAAO,MAAA,GAAAC,cAAA,KAAAC,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAArE,MAAA,CAAAE,wBAAA,CAAA+D,MAAA,EAAAI,GAAA,EAAAC,UAAA,OAAAP,IAAA,CAAAb,IAAA,CAAA9B,KAAA,CAAA2C,IAAA,EAAAI,OAAA,YAAAJ,IAAA;AAAA,SAAAQ,cAAAxD,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAgD,OAAA,CAAAhE,MAAA,CAAAmB,MAAA,OAAAqD,OAAA,WAAArE,GAAA,IAAAsE,eAAA,CAAA1D,MAAA,EAAAZ,GAAA,EAAAgB,MAAA,CAAAhB,GAAA,SAAAH,MAAA,CAAA0E,yBAAA,GAAA1E,MAAA,CAAA2E,gBAAA,CAAA5D,MAAA,EAAAf,MAAA,CAAA0E,yBAAA,CAAAvD,MAAA,KAAA6C,OAAA,CAAAhE,MAAA,CAAAmB,MAAA,GAAAqD,OAAA,WAAArE,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAc,MAAA,EAAAZ,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAiB,MAAA,EAAAhB,GAAA,iBAAAY,MAAA;AAAA,SAAA0D,gBAAAlF,GAAA,EAAAY,GAAA,EAAAgD,KAAA,IAAAhD,GAAA,GAAAyE,cAAA,CAAAzE,GAAA,OAAAA,GAAA,IAAAZ,GAAA,IAAAS,MAAA,CAAAC,cAAA,CAAAV,GAAA,EAAAY,GAAA,IAAAgD,KAAA,EAAAA,KAAA,EAAAmB,UAAA,QAAAO,YAAA,QAAAC,QAAA,oBAAAvF,GAAA,CAAAY,GAAA,IAAAgD,KAAA,WAAA5D,GAAA;AAAA,SAAAqF,eAAAG,GAAA,QAAA5E,GAAA,GAAA6E,YAAA,CAAAD,GAAA,oBAAAtF,OAAA,CAAAU,GAAA,iBAAAA,GAAA,GAAA8E,MAAA,CAAA9E,GAAA;AAAA,SAAA6E,aAAAE,KAAA,EAAAC,IAAA,QAAA1F,OAAA,CAAAyF,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAzE,MAAA,CAAA4E,WAAA,OAAAD,IAAA,KAAAE,SAAA,QAAAC,GAAA,GAAAH,IAAA,CAAA9E,IAAA,CAAA4E,KAAA,EAAAC,IAAA,oBAAA1F,OAAA,CAAA8F,GAAA,uBAAAA,GAAA,YAAA5D,SAAA,4DAAAwD,IAAA,gBAAAF,MAAA,GAAAO,MAAA,EAAAN,KAAA;AAOnD;;AAkBA,IAAMO,OAAO,GAAG,SAAVA,OAAOA,CAAIC,KAAY,EAAEC,MAAc,EAAY;EACvD,QAAQA,MAAM,CAACC,IAAI;IACjB,KAAK,MAAM;MACT,OAAArB,aAAA,CAAAA,aAAA,KAAYmB,KAAK;QAAEG,IAAI,EAAE;MAAI;IAC/B,KAAK,OAAO;MACV,OAAAtB,aAAA,CAAAA,aAAA,KAAYmB,KAAK;QAAEG,IAAI,EAAE;MAAK;IAChC,KAAK,OAAO;MACV,OAAAtB,aAAA,CAAAA,aAAA,KAAYmB,KAAK;QAAEI,KAAK,EAAE;MAAE;IAC9B,KAAK,QAAQ;MACX,OAAAvB,aAAA,CAAAA,aAAA,KAAYmB,KAAK;QAAEI,KAAK,EAAEH,MAAM,CAACI,OAAO,CAACD,KAAK;QAAED,IAAI,EAAE;MAAI;IAC5D,KAAK,QAAQ;MACX,OAAAtB,aAAA,CAAAA,aAAA,KAAYmB,KAAK;QAAEI,KAAK,EAAEH,MAAM,CAACI,OAAO,CAACD,KAAK;QAAED,IAAI,EAAE;MAAK;EAAE;AAEnE,CAAC;AAgCD;AACO,IAAMG,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAAAE,IAAA,EAoBG;EAAA,IAAAC,YAAA;EAAA,IAAAC,UAAA,GAAAF,IAAA,CAnB/BG,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,KAAK,GAAAA,UAAA;IAAAE,iBAAA,GAAAJ,IAAA,CACbK,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAG,EAAE,GAAAA,iBAAA;IAAAE,qBAAA,GAAAN,IAAA,CACjBO,iBAAiB;IAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,GAAG,GAAAA,qBAAA;IAAAE,SAAA,GAAAR,IAAA,CACvBS,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,IAAI,GAAAA,SAAA;IACXE,MAAM,GAAAV,IAAA,CAANU,MAAM;IACMC,YAAY,GAAAX,IAAA,CAAxBY,UAAU;IACVC,MAAM,GAAAb,IAAA,CAANa,MAAM;IACNC,MAAM,GAAAd,IAAA,CAANc,MAAM;IACNC,EAAE,GAAAf,IAAA,CAAFe,EAAE;IACFC,OAAO,GAAAhB,IAAA,CAAPgB,OAAO;IACPC,QAAQ,GAAAjB,IAAA,CAARiB,QAAQ;IACRC,OAAO,GAAAlB,IAAA,CAAPkB,OAAO;IACPC,OAAO,GAAAnB,IAAA,CAAPmB,OAAO;IACPC,SAAS,GAAApB,IAAA,CAAToB,SAAS;IACTC,QAAQ,GAAArB,IAAA,CAARqB,QAAQ;IACRC,QAAQ,GAAAtB,IAAA,CAARsB,QAAQ;IACRC,OAAO,GAAAvB,IAAA,CAAPuB,OAAO;IAAAC,iBAAA,GAAAxB,IAAA,CACPyB,YAAY;IAAZA,YAAY,GAAAD,iBAAA,cAAG,UAACE,MAAM;MAAA,oBAAK3J,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAAC9I,6BAAA,CAAA+I,4BAA4B,EAAKF,MAAM,CAAI;IAAA,IAAAF,iBAAA;IACpEK,IAAI,GAAAxE,wBAAA,CAAA2C,IAAA,EAAAjH,SAAA;EAEP,IAAM+I,QAAQ,GAAG,IAAAC,aAAM,EAA0B,IAAI,CAAC;EACtD,IAAMC,YAAY,GAAG,IAAAD,aAAM,EAAwB,IAAI,CAAC;EACxD,IAAME,SAAS,GAAG,IAAAF,aAAM,EAAwB,IAAI,CAAC;EACrD,IAAMG,SAAS,GAAG,IAAAH,aAAM,EAAwB,IAAI,CAAC;EAErD,IAAAI,cAAA,GAA+B,IAAAC,kBAAa,EAACP,IAAI,CAAC;IAAAQ,eAAA,GAAAlH,cAAA,CAAAgH,cAAA;IAA3CG,QAAQ,GAAAD,eAAA;IAAEE,UAAU,GAAAF,eAAA;EAE3B,IAAAG,WAAA,GAA0B,IAAAC,iBAAU,EAAClD,OAAO,EAAE;MAC5CI,IAAI,EAAE,KAAK;MACXC,KAAK,EAAES;IACT,CAAC,CAAC;IAAAqC,YAAA,GAAAvH,cAAA,CAAAqH,WAAA;IAHKhD,KAAK,GAAAkD,YAAA;IAAEC,QAAQ,GAAAD,YAAA;EAKtB,IAAME,eAAe,GAAG,IAAAC,cAAO,EAAC,YAAM;IACpC,OAAOtB,OAAO,CAACuB,GAAG,CAAC,UAACpB,MAAM;MAAA,OAAM;QAC9BA,MAAM,EAANA,MAAM;QACNqB,GAAG,eAAE,IAAAC,gBAAS;MAChB,CAAC;IAAA,CAAC,CAAC;EACL,CAAC,EAAE,CAACzB,OAAO,CAAC,CAAC;EAEb,IAAM0B,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IACpBC,UAAU,CAAC,YAAM;MAAA,IAAAC,iBAAA;MACf,CAAAA,iBAAA,GAAArB,QAAQ,CAACsB,OAAO,cAAAD,iBAAA,uBAAhBA,iBAAA,CAAkBE,KAAK,EAAE;MACzBC,KAAK,EAAE;MACPX,QAAQ,CAAC;QAAEjD,IAAI,EAAE;MAAQ,CAAC,CAAC;IAC7B,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EAED,IAAM6D,YAAY,GAAG,SAAfA,YAAYA,CAAI7B,MAAS,EAAE8B,KAAa,EAAK;IAAA,IAAAC,kBAAA;IACjDd,QAAQ,CAAC;MAAEjD,IAAI,EAAE,QAAQ;MAAEG,OAAO,EAAE;QAAED,KAAK,EAAE8B,MAAM,CAACgC;MAAK;IAAE,CAAC,CAAC;IAC7D,CAAAD,kBAAA,GAAA3B,QAAQ,CAACsB,OAAO,cAAAK,kBAAA,uBAAhBA,kBAAA,CAAkBJ,KAAK,EAAE;IACzBhC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGK,MAAM,EAAE8B,KAAK,CAAC;EAC3B,CAAC;EAED,IAAAG,qBAAA,GAA8B,IAAAC,oDAAyB,EAAC;MACtDb,GAAG,EAAEf,YAAY;MACjB6B,IAAI,EAAEtC,OAAO;MACbuC,kBAAkB,EAAE,IAAI;MACxBC,OAAO,EAAE,SAATA,OAAOA,CAAAC,KAAA,EAA4C;QAAA,IAA9BtC,MAAM,GAAAsC,KAAA,CAAfC,OAAO;UAAiBnJ,CAAC,GAAAkJ,KAAA,CAARR,KAAK;UAAKU,KAAK,GAAAF,KAAA,CAALE,KAAK;QAC1CA,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QACvBb,YAAY,CAAC7B,MAAM,EAAE5G,CAAC,CAAC;QACvBmI,OAAO,EAAE;MACX;IACF,CAAC,CAAC;IAVMO,KAAK,GAAAG,qBAAA,CAALH,KAAK;IAAEF,KAAK,GAAAK,qBAAA,CAALL,KAAK;IAAEhJ,GAAG,GAAAqJ,qBAAA,CAAHrJ,GAAG;EAYzB,IAAM+J,iBAAiB,GAAG7E,KAAK,CAACG,IAAI,IAAI4B,OAAO,CAACvG,MAAM,GAAG,CAAC;;EAE1D;EACA;EACA,IAAAsJ,gBAAS,EAAChB,KAAK,EAAE,CAAC/B,OAAO,CAAC,CAAC;;EAE3B;EACA,IAAA+C,gBAAS,EAAC,YAAM;IACd,IAAI9E,KAAK,CAACI,KAAK,KAAK,EAAE,EAAE0D,KAAK,EAAE;EACjC,CAAC,EAAE,CAACA,KAAK,EAAE9D,KAAK,CAACI,KAAK,CAAC,CAAC;EAExB,IAAA2E,YAAA,GAAkC,IAAAC,kBAAW,EAAC;MAC5CC,MAAM,EAAEJ,iBAAiB;MACzBlE,KAAK,EAALA,KAAK;MACLM,IAAI,EAAJA,IAAI;MACJxG,GAAG,EAAEsH,OAAO,CAACvG,MAAM;MACnB0J,MAAM,EAAE,EAAE;MACVC,QAAQ,EAAE;IACZ,CAAC,CAAC;IAPMC,SAAS,GAAAL,YAAA,CAATK,SAAS;IAAEC,UAAU,GAAAN,YAAA,CAAVM,UAAU;EAS7B,IAAAC,WAAA,GAAkB,IAAAC,uBAAU,EAAC;MAAEhC,GAAG,EAAE6B;IAAU,CAAC,CAAC;IAAxCI,KAAK,GAAAF,WAAA,CAALE,KAAK;EAEb,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxB3B,KAAK,EAAE;IACPX,QAAQ,CAAC;MAAEjD,IAAI,EAAE;IAAO,CAAC,CAAC;EAC5B,CAAC;EAED,IAAMwF,eAAe,GAAG,SAAlBA,eAAeA,CAAIxD,MAAS,EAAE5G,CAAS;IAAA,OAAK,YAAM;MACtDyI,YAAY,CAAC7B,MAAM,EAAE5G,CAAC,CAAC;MACvBmI,OAAO,EAAE;IACX,CAAC;EAAA;EAED,IAAMkC,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxBxC,QAAQ,CAAC;MAAEjD,IAAI,EAAE;IAAO,CAAC,CAAC;EAC5B,CAAC;;EAED;EACA;EACA;EACA,IAAM0F,sBAAsB,GAAG,IAAArD,aAAM,EAAS,CAAC,CAAC;EAEhD,IAAAuC,gBAAS,EAAC,YAAM;IACd,IAAI,CAACD,iBAAiB,EAAE;IAExB,IAAMgB,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;MAC5BD,sBAAsB,CAAChC,OAAO,GAAGkC,WAAW,CAACC,GAAG,EAAE;IACpD,CAAC;IAEDC,MAAM,CAACC,gBAAgB,CAAC,WAAW,EAAEJ,eAAe,CAAC;IAErD,OAAO,YAAM;MACXG,MAAM,CAACE,mBAAmB,CAAC,WAAW,EAAEL,eAAe,CAAC;IAC1D,CAAC;EACH,CAAC,EAAE,CAAChB,iBAAiB,CAAC,CAAC;EAEvB,IAAMsB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAI7K,CAAS;IAAA,OAAK,YAAM;MAC5C,IAAMyK,GAAG,GAAGD,WAAW,CAACC,GAAG,EAAE;;MAE7B;MACA,IAAIA,GAAG,GAAGH,sBAAsB,CAAChC,OAAO,GAAG,EAAE,EAAE;QAC7C9I,GAAG,CAAC;UAAEsL,MAAM,EAAE9K,CAAC;UAAE+K,WAAW,EAAE;QAAK,CAAC,CAAC;MACvC;IACF,CAAC;EAAA;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAI5B,KAA0C,EAAK;IACnE,IACmBjH,KAAK,GACpBiH,KAAK,CADP6B,aAAa,CAAI9I,KAAK;IAGxB0F,QAAQ,CAAC;MAAEjD,IAAI,EAAE,QAAQ;MAAEG,OAAO,EAAE;QAAED,KAAK,EAAE3C;MAAM;IAAE,CAAC,CAAC;IACvDgE,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGiD,KAAK,CAAC;EACnB,CAAC;EAED,IAAM8B,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;IAAA,IAAAC,kBAAA;IAChC,IAAIzG,KAAK,CAACI,KAAK,KAAK,EAAE,EAAE;MACtB0B,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG9B,KAAK,CAACI,KAAK,CAAC;MACvB;IACF;IAEA+C,QAAQ,CAAC;MAAEjD,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3B,CAAAuG,kBAAA,GAAAnE,QAAQ,CAACsB,OAAO,cAAA6C,kBAAA,uBAAhBA,kBAAA,CAAkB5C,KAAK,EAAE;IACzBnC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,EAAI;EACb,CAAC;EAED,IAAMgF,WAAW,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACpCxD,QAAQ,CAAC;MAAEjD,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3B4D,KAAK,EAAE;IACPnC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,EAAI;EACb,CAAC,EAAE,CAACA,OAAO,EAAEmC,KAAK,CAAC,CAAC;EAEpB,IAAM8C,oBAAoB,GAAG,IAAArE,aAAM,EAAU,KAAK,CAAC;EACnD,IAAMsE,iBAAiB,GAAG;IACxBC,WAAW,EAAE,SAAbA,WAAWA,CAAA;MAAA,OAASF,oBAAoB,CAAChD,OAAO,GAAG,IAAI;IAAA,CAAC;IACxDmD,SAAS,EAAE,SAAXA,SAASA,CAAA;MAAA,OAASH,oBAAoB,CAAChD,OAAO,GAAG,KAAK;IAAA;EACxD,CAAC;;EAED;EACA,IAAAkB,gBAAS,EAAC,YAAM;IAAA,IAAAkC,WAAA,EAAAC,mBAAA;IACd,IAAM/E,MAAM,GAAGkB,eAAe,CAACY,KAAK,CAAC;IACrC9B,MAAM,aAANA,MAAM,wBAAA8E,WAAA,GAAN9E,MAAM,CAAEqB,GAAG,cAAAyD,WAAA,wBAAAC,mBAAA,GAAXD,WAAA,CAAapD,OAAO,cAAAqD,mBAAA,uBAApBA,mBAAA,CAAsBpD,KAAK,EAAE;EAC/B,CAAC,EAAE,CAACG,KAAK,EAAEZ,eAAe,CAAC,CAAC;EAE5B,IAAM8D,iBAAiB,GAAG,IAAAP,kBAAW,EACnC,UAACQ,OAAgB,EAAK;IACpB,IAAIP,oBAAoB,CAAChD,OAAO,IAAIuD,OAAO,IAAI,CAACtC,iBAAiB,EAAE;IAEnE6B,WAAW,EAAE;EACf,CAAC,EAED,CAAC7B,iBAAiB,EAAE6B,WAAW,CAAC,CACjC;;EAED;EACA;EACA,IAAAU,iBAAA,GAAkC,IAAAC,uBAAgB,EAAC;MACjD5F,QAAQ,EAAEyF;IACZ,CAAC,CAAC;IAFWI,gBAAgB,GAAAF,iBAAA,CAArB7D,GAAG;EAIX,IAAAgE,sBAAe,EAAC;IACdhE,GAAG,EAAE+D,gBAAgB;IACrBE,cAAc,EAAEd,WAAW;IAC3Be,IAAI,EAAE5C,iBAAiB;IACvB3E,IAAI,EAAE;EACR,CAAC,CAAC;EAEF,IAAMwH,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIhD,KAA4C,EAAK;IAAA,IAAAiD,kBAAA;IAC3E,QAAQjD,KAAK,CAACjK,GAAG;MACf;MACA,KAAK,OAAO;QACV,IAAIuF,KAAK,CAACI,KAAK,KAAK,EAAE,IAAI4D,KAAK,KAAK,CAAC,CAAC,EAAE;UACtClC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG9B,KAAK,CAACI,KAAK,CAAC;UACvBqD,OAAO,EAAE;QACX;QACA;;MAEF;MACA,KAAK,QAAQ;QACXiB,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QAEvBzB,QAAQ,CAAC;UAAEjD,IAAI,EAAE;QAAQ,CAAC,CAAC;QAC3B,CAAAyH,kBAAA,GAAArF,QAAQ,CAACsB,OAAO,cAAA+D,kBAAA,uBAAhBA,kBAAA,CAAkBC,IAAI,EAAE;QAExB;MAEF;QACE;IAAK;IAGThG,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG8C,KAAK,CAAC;EACpB,CAAC;;EAED;EACA,IAAMmD,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAC1BnD,KAA0C,EACvC;IAAA,IAAAoD,kBAAA,EAAAC,kBAAA;IACH,QAAQrD,KAAK,CAACjK,GAAG;MACf,KAAK,KAAK;MACV,KAAK,WAAW;MAChB,KAAK,SAAS;MACd,KAAK,SAAS;MACd,KAAK,OAAO;MACZ,KAAK,MAAM;MACX,KAAK,OAAO;MACZ,KAAK,KAAK;QACR;QACA;MAEF,KAAK,QAAQ;QACXiK,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QAEvBzB,QAAQ,CAAC;UAAEjD,IAAI,EAAE;QAAQ,CAAC,CAAC;QAC3B,CAAA4H,kBAAA,GAAAxF,QAAQ,CAACsB,OAAO,cAAAkE,kBAAA,uBAAhBA,kBAAA,CAAkBF,IAAI,EAAE;QACxB9D,KAAK,EAAE;QAEP;MAEF;QACE,CAAAiE,kBAAA,GAAAzF,QAAQ,CAACsB,OAAO,cAAAmE,kBAAA,uBAAhBA,kBAAA,CAAkBlE,KAAK,EAAE;IAAA;EAE/B,CAAC;;EAED;EACA,IAAMmE,MAAM,GAAGjG,OAAO,CAACiC,KAAK,CAAC;EAE7B,oBACEzL,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAACnJ,IAAA,CAAAiP,GAAG,EAAA/M,QAAA;IACFqI,GAAG,EAAE,IAAA2E,yBAAW,EAAC1F,YAAY,EAAE8E,gBAAgB,CAAS;IACxD1F,SAAS,EAAEiG;EAAuB,GAC9B/E,QAAQ,gBAEZvK,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAACjJ,aAAA,CAAAiP,YAAY,EAAAjN,QAAA;IACXqI,GAAG,EAAE,IAAA2E,yBAAW,EAAC5F,QAAQ,EAAE8C,SAAS,EAAEjE,YAAY,CAAS;IAC3DiH,IAAI,EAAC,UAAU;IACf,iBAAevD,iBAAkB;IACjC,qBAAkB;EAAM,GACnBtD,EAAE,GAAG;IAAEA,EAAE,EAAFA,EAAE;IAAE,kBAAkB,KAAA8G,MAAA,CAAK9G,EAAE;EAAkB,CAAC,GAAG,CAAC,CAAC;IACjE+G,KAAK,EACH9G,OAAO,gBACLjJ,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAACnJ,IAAA,CAAAiP,GAAG;MAACzC,KAAK,EAAE;IAAG,gBACbjN,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAACxJ,QAAA,CAAA4P,OAAO;MAACC,IAAI,EAAC;IAAO,EAAG,CACpB,GACJxI,KAAK,CAACI,KAAK,gBACb7H,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAAClJ,UAAA,CAAAwP,SAAS;MACRC,OAAO,EAAElC,mBAAoB;MAC7BlF,MAAM,EAAC,MAAM;MACbqH,OAAO,EAAC,MAAM;MACdC,UAAU,EAAC,QAAQ;MACnB,cAAW;IAAa,gBAExBrQ,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAACtJ,UAAA,CAAAmB,OAAS;MAAC6O,IAAI,EAAC,QAAQ;MAAC;IAAW,EAAG,CAC7B,gBAEZtQ,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAACvJ,WAAA,CAAAoB,OAAU;MAAC6O,IAAI,EAAC,QAAQ;MAAC;IAAW,EAExC;IACDpL,KAAK,GAAAgD,YAAA,GAAEuH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE9D,IAAI,cAAAzD,YAAA,cAAAA,YAAA,GAAIT,KAAK,CAACI,KAAM;IACnCqB,QAAQ,EAAE6E,YAAa;IACvBwC,OAAO,EAAErD,WAAY;IACrB7D,SAAS,EAAE8F,kBAAmB;IAC9BgB,OAAO,EAAE/C,WAAY;IACrBoD,YAAY,EAAC,KAAK;IAClBzH,MAAM,EAAEA;EAAO,GACXyB,UAAU,EACd,EAED8B,iBAAiB,iBAChBtM,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAAC6G,yBAAyB;IACxBzF,GAAG,EAAE8B,UAAkB;IACvB+C,IAAI,EAAC,SAAS;IACd5C,KAAK,EAAEA;EAAM,gBAEbjN,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,QAAAjH,QAAA;IAAKqI,GAAG,EAAEd;EAAU,GAAKoE,iBAAiB,GACvCxF,MAAM,CACH,eAEN9I,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAAC8G,wBAAwB;IAACC,SAAS,EAAEnI;EAAkB,GACpDqC,eAAe,CAACE,GAAG,CAAC,UAAA6F,KAAA,EAAkB7N,CAAC,EAAK;IAAA,IAArB4G,MAAM,GAAAiH,KAAA,CAANjH,MAAM;MAAEqB,GAAG,GAAA4F,KAAA,CAAH5F,GAAG;IACjC,oBACEhL,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAAC/I,wBAAA,CAAAgQ,uBAAuB;MACtB3O,GAAG,EAAEa,CAAE;MACPiI,GAAG,EAAEA,GAAI;MACT6E,IAAI,EAAC,QAAQ;MACb,iBAAe9M,CAAC,KAAK0I,KAAM;MAC3B,iBAAe1I,CAAC,GAAG,CAAE;MACrB,gBAAcyG,OAAO,CAACvG,MAAO;MAC7BsL,WAAW,EAAEpB,eAAe,CAACxD,MAAM,EAAE5G,CAAC,CAAE;MACxC+N,YAAY,EAAElD,gBAAgB,CAAC7K,CAAC,CAAE;MAClCgO,QAAQ,EAAE,CAAC;IAAE,GAEZrH,YAAY,CAACC,MAAM,EAAE5G,CAAC,CAAC,CACA;EAE9B,CAAC,CAAC,CACuB,eAE3B/C,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,QAAAjH,QAAA;IAAKqI,GAAG,EAAEb;EAAU,GAAKmE,iBAAiB,GACvC,OAAO3F,MAAM,KAAK,UAAU,GACzBA,MAAM,CAAC;IAAES,OAAO,EAAE+E;EAAY,CAAC,CAAC,GAChCxF,MAAM,CACN,CAET,eAED3I,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAAChJ,eAAA,CAAAoQ,cAAc,EAAMhI,EAAE,GAAG;IAAEA,EAAE,KAAA8G,MAAA,CAAK9G,EAAE;EAAkB,CAAC,GAAG,CAAC,CAAC,EAAG,4JAIhE,CAAiB,EAEhBsD,iBAAiB,iBAChBtM,MAAA,CAAAyB,OAAA,CAAAmI,aAAA,CAAChJ,eAAA,CAAAoQ,cAAc;IAACnB,IAAI,EAAC,QAAQ;IAAC,eAAY,MAAM;IAAC,aAAU;EAAQ,GAChErG,OAAO,CAACvG,MAAM,KAAK,CAAC,gCAAA6M,MAAA,CAEdtG,OAAO,CAACvG,MAAM,2BAAwB,CAEhD,CACG;AAEV,CAAC;AA1VY8E,iBAAiB,CAAAkJ,WAAA;AA4V9B,IAAMR,yBAAyB,GAAG,IAAAS,yBAAM,EAACxB,QAAG,CAAC,CAAAyB,UAAA;EAAAF,WAAA;EAAAG,WAAA;AAAA,mCAC7B,IAAAC,kBAAQ,EAAC,oBAAoB,CAAC,CAE7C;AAED,IAAMX,wBAAwB,GAAG,IAAAQ,yBAAM,EAACxB,QAAG,CAAC,CAAAyB,UAAA;EAAAF,WAAA;EAAAG,WAAA;AAAA,yDAG3C"}
1
+ {"version":3,"file":"AutocompleteInput.js","names":["_composeReactRefs","_interopRequireDefault","require","_react","_interopRequireWildcard","_styledComponents","_useKeyboardListNavigation","_Spinner","_SearchIcon","_CloseIcon","_utils","_useWidthOf2","_Box","_Clickable","_LabeledInput","_VisuallyHidden","_AutocompleteInputOption","_AutocompleteInputOptionLabel","_themeGet","_useMouseActivity2","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_extends","assign","bind","target","i","arguments","length","source","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","reducer","state","action","type","open","query","payload","AutocompleteInput","exports","_ref","_staged$text","_ref$clamp","clamp","_ref$defaultValue","defaultValue","_ref$dropdownMaxHeigh","dropdownMaxHeight","_ref$flip","flip","footer","forwardedRef","forwardRef","header","height","id","loading","onChange","onClear","onClose","onKeyDown","onSelect","onSubmit","options","_ref$renderOption","renderOption","option","createElement","AutocompleteInputOptionLabel","rest","inputRef","useRef","containerRef","headerRef","footerRef","_splitBoxProps","splitBoxProps","_splitBoxProps2","boxProps","inputProps","_useReducer","useReducer","_useReducer2","dispatch","optionsWithRefs","useMemo","map","ref","createRef","resetUI","setTimeout","_inputRef$current","current","focus","reset","handleSelect","index","_inputRef$current2","text","_useKeyboardListNavig","useKeyboardListNavigation","list","waitForInteractive","onEnter","_ref2","element","event","preventDefault","stopPropagation","isDropdownVisible","useEffect","_usePosition","usePosition","active","offset","position","anchorRef","tooltipRef","_useWidthOf","useWidthOf","width","handleFocus","handleMouseDown","handleClick","_useMouseActivity","useMouseActivity","lastMouseMoveTimestamp","handleMouseEnter","now","performance","cursor","interactive","handleChange","currentTarget","handleClearOrSubmit","_inputRef$current3","handleClose","useCallback","ignoreFocusChangeRef","ignoreFocusChange","onMouseDown","onMouseUp","_option$ref","_option$ref$current","handleFocusChange","focused","_useContainsFocus","useContainsFocus","containsFocusRef","useClickOutside","onClickOutside","when","handleInputKeydown","_inputRef$current4","blur","handleContainerKeydown","_inputRef$current5","_inputRef$current6","staged","Box","composeRefs","LabeledInput","role","concat","label","Spinner","size","Clickable","onClick","display","alignItems","fill","onFocus","autoComplete","AutocompleteInputDropdown","AutocompleteInputOptions","maxHeight","_ref3","AutocompleteInputOption","onMouseEnter","tabIndex","VisuallyHidden","displayName","styled","withConfig","componentId","themeGet"],"sources":["../../../src/elements/AutocompleteInput/AutocompleteInput.tsx"],"sourcesContent":["import composeRefs from \"@seznam/compose-react-refs\"\nimport React, {\n createRef,\n useCallback,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n} from \"react\"\nimport styled from \"styled-components\"\nimport { useKeyboardListNavigation } from \"use-keyboard-list-navigation\"\nimport { Spinner } from \"../Spinner\"\nimport SearchIcon from \"@artsy/icons/SearchIcon\"\nimport CloseIcon from \"@artsy/icons/CloseIcon\"\nimport { usePosition, useContainsFocus, useClickOutside } from \"../../utils\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, splitBoxProps } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { InputProps } from \"../Input\"\nimport { LabeledInput } from \"../LabeledInput\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { AutocompleteInputOption } from \"./AutocompleteInputOption\"\nimport { AutocompleteInputOptionLabel } from \"./AutocompleteInputOptionLabel\"\nimport { ResponsiveValue } from \"styled-system\"\nimport { themeGet } from \"@styled-system/theme-get\"\nimport { useMouseActivity } from \"../../utils/useMouseActivity\"\n\nexport interface AutocompleteFooterActions {\n /** Call to close dropdown */\n onClose(): void\n}\n\n/** Base option type — can be expanded */\nexport interface AutocompleteInputOptionType {\n text: string\n value: string\n}\n\ninterface State {\n open: boolean\n query: string\n}\n\ntype Action =\n | { type: \"OPEN\" }\n | { type: \"CLOSE\" }\n | { type: \"CLEAR\" }\n | { type: \"CHANGE\"; payload: { query: string } }\n | { type: \"SELECT\"; payload: { query: string } }\n\nconst reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"OPEN\":\n return { ...state, open: true }\n case \"CLOSE\":\n return { ...state, open: false }\n case \"CLEAR\":\n return { ...state, query: \"\" }\n case \"CHANGE\":\n return { ...state, query: action.payload.query, open: true }\n case \"SELECT\":\n return { ...state, query: action.payload.query, open: false }\n }\n}\n\nexport interface AutocompleteInputProps<T extends AutocompleteInputOptionType>\n extends Omit<InputProps, \"onSelect\" | \"onSubmit\"> {\n /** Optionally enable clamping (default: `false`) */\n clamp?: boolean\n defaultValue?: string\n dropdownMaxHeight?: ResponsiveValue<string | number>\n loading?: boolean\n header?: React.ReactNode\n /** Optionally disable flipping (default: `true`) */\n flip?: boolean\n footer?:\n | React.ReactNode\n | ((dropdownActions: AutocompleteFooterActions) => React.ReactNode)\n /** Ref to the input; workaround generics */\n forwardRef?: React.Ref<HTMLInputElement>\n /** on <enter> when no option is selected */\n onSubmit?(query: string): void\n /** on <click> or <enter> when an option is selected */\n onSelect?(option: T, index: number): void\n /** on <click> of the 'x' (clear) button */\n onClear?(): void\n /** Callback that runs when options are hidden */\n onClose?(): void\n options: T[]\n renderOption?(\n option: T,\n i: number\n ): React.ReactElement<any, string | React.JSXElementConstructor<any>>\n}\n\n/** AutocompleteInput */\nexport const AutocompleteInput = <T extends AutocompleteInputOptionType>({\n clamp = false,\n defaultValue = \"\",\n dropdownMaxHeight = 308, // 308 = roughly 5.5 options\n flip = true,\n footer,\n forwardRef: forwardedRef,\n header,\n height,\n id,\n loading,\n onChange,\n onClear,\n onClose,\n onKeyDown,\n onSelect,\n onSubmit,\n options,\n renderOption = (option) => <AutocompleteInputOptionLabel {...option} />,\n ...rest\n}: AutocompleteInputProps<T>) => {\n const inputRef = useRef<HTMLInputElement | null>(null)\n const containerRef = useRef<HTMLDivElement | null>(null)\n const headerRef = useRef<HTMLDivElement | null>(null)\n const footerRef = useRef<HTMLDivElement | null>(null)\n\n const [boxProps, inputProps] = splitBoxProps(rest)\n\n const [state, dispatch] = useReducer(reducer, {\n open: false,\n query: defaultValue,\n })\n\n const optionsWithRefs = useMemo(() => {\n return options.map((option) => ({\n option,\n ref: createRef<HTMLButtonElement>(),\n }))\n }, [options])\n\n const resetUI = () => {\n setTimeout(() => {\n inputRef.current?.focus()\n reset()\n dispatch({ type: \"CLOSE\" })\n }, 100)\n }\n\n const handleSelect = (option: T, index: number) => {\n dispatch({ type: \"SELECT\", payload: { query: option.text } })\n inputRef.current?.focus()\n onSelect?.(option, index)\n }\n\n const { index, reset, set } = useKeyboardListNavigation({\n ref: containerRef,\n list: options,\n waitForInteractive: true,\n onEnter: ({ element: option, index: i, event }) => {\n event.preventDefault()\n event.stopPropagation()\n handleSelect(option, i)\n resetUI()\n },\n })\n\n const isDropdownVisible = state.open && options.length > 0\n\n // Reset keyboard navigation when options change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(reset, [options])\n\n // Reset keyboard navigation when query is empty\n useEffect(() => {\n if (state.query === \"\") reset()\n }, [reset, state.query])\n\n const { anchorRef, tooltipRef } = usePosition({\n active: isDropdownVisible,\n clamp,\n flip,\n key: options.length,\n offset: 10,\n position: \"bottom\",\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n const handleFocus = () => {\n reset()\n dispatch({ type: \"OPEN\" })\n }\n\n const handleMouseDown = (option: T, i: number) => () => {\n handleSelect(option, i)\n resetUI()\n }\n\n const handleClick = () => {\n dispatch({ type: \"OPEN\" })\n }\n\n // Records the latest mouse movement and, inside the `handleMouseEnter` callback,\n // only treat the event as genuine if the mouse has moved very recently.\n // Otherwise, the event is presumed to have been triggered by scrolling and is ignored.\n const { lastMouseMoveTimestamp } = useMouseActivity()\n\n const handleMouseEnter = (i: number) => () => {\n const now = performance.now()\n\n // 50ms mouse move window\n if (now - lastMouseMoveTimestamp.current < 50) {\n set({ cursor: i, interactive: true })\n }\n }\n\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const {\n currentTarget: { value },\n } = event\n\n dispatch({ type: \"CHANGE\", payload: { query: value } })\n onChange?.(event)\n }\n\n const handleClearOrSubmit = () => {\n if (state.query === \"\") {\n onSubmit?.(state.query)\n return\n }\n\n dispatch({ type: \"CLEAR\" })\n inputRef.current?.focus()\n onClear?.()\n }\n\n const handleClose = useCallback(() => {\n dispatch({ type: \"CLOSE\" })\n reset()\n onClose?.()\n }, [onClose, reset])\n\n const ignoreFocusChangeRef = useRef<boolean>(false)\n const ignoreFocusChange = {\n onMouseDown: () => (ignoreFocusChangeRef.current = true),\n onMouseUp: () => (ignoreFocusChangeRef.current = false),\n }\n\n // Moves focus to different options when keyboard navigating using up/down\n useEffect(() => {\n const option = optionsWithRefs[index]\n option?.ref?.current?.focus()\n }, [index, optionsWithRefs])\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n if (ignoreFocusChangeRef.current || focused || !isDropdownVisible) return\n\n handleClose()\n },\n\n [isDropdownVisible, handleClose]\n )\n\n // Handle closing the dropdown when clicking outside of the input\n // or when focus leaves the input completely\n const { ref: containsFocusRef } = useContainsFocus({\n onChange: handleFocusChange,\n })\n\n useClickOutside({\n ref: containsFocusRef,\n onClickOutside: handleClose,\n when: isDropdownVisible,\n type: \"click\",\n })\n\n const handleInputKeydown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n switch (event.key) {\n // Handle <Enter> when nothing is selected\n case \"Enter\":\n if (state.query !== \"\" && index === -1) {\n onSubmit?.(state.query)\n resetUI()\n }\n return\n\n // <Esc> to close dropdown\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n\n return\n\n default:\n break\n }\n\n onKeyDown?.(event)\n }\n\n // Moves focus back to input when typing\n const handleContainerKeydown = (\n event: React.KeyboardEvent<HTMLDivElement>\n ) => {\n switch (event.key) {\n case \"Alt\":\n case \"ArrowDown\":\n case \"ArrowUp\":\n case \"Control\":\n case \"Enter\":\n case \"Meta\":\n case \"Shift\":\n case \"Tab\":\n // Ignore\n return\n\n case \"Escape\":\n event.preventDefault()\n event.stopPropagation()\n\n dispatch({ type: \"CLOSE\" })\n inputRef.current?.blur()\n reset()\n\n return\n\n default:\n inputRef.current?.focus()\n }\n }\n\n // Option that is being hovered or keyed into\n const staged = options[index]\n\n return (\n <Box\n ref={composeRefs(containerRef, containsFocusRef) as any}\n onKeyDown={handleContainerKeydown}\n {...boxProps}\n >\n <LabeledInput\n ref={composeRefs(inputRef, anchorRef, forwardedRef) as any}\n role=\"combobox\"\n aria-expanded={isDropdownVisible}\n aria-autocomplete=\"list\"\n {...(id ? { id, \"aria-describedby\": `${id}__assistiveHint` } : {})}\n label={\n loading ? (\n <Box width={18}>\n <Spinner size=\"small\" />\n </Box>\n ) : state.query ? (\n <Clickable\n onClick={handleClearOrSubmit}\n height=\"100%\"\n display=\"flex\"\n alignItems=\"center\"\n aria-label=\"Clear input\"\n >\n <CloseIcon fill=\"mono60\" aria-hidden />\n </Clickable>\n ) : (\n <SearchIcon fill=\"mono60\" aria-hidden />\n )\n }\n value={staged?.text ?? state.query}\n onChange={handleChange}\n onFocus={handleFocus}\n onKeyDown={handleInputKeydown}\n onClick={handleClick}\n autoComplete=\"off\"\n height={height}\n {...inputProps}\n />\n\n {isDropdownVisible && (\n <AutocompleteInputDropdown\n ref={tooltipRef as any}\n role=\"listbox\"\n width={width}\n >\n <div ref={headerRef} {...ignoreFocusChange}>\n {header}\n </div>\n\n <AutocompleteInputOptions maxHeight={dropdownMaxHeight}>\n {optionsWithRefs.map(({ option, ref }, i) => {\n return (\n <AutocompleteInputOption\n key={i}\n ref={ref}\n role=\"option\"\n aria-selected={i === index}\n aria-posinset={i + 1}\n aria-setsize={options.length}\n onMouseDown={handleMouseDown(option, i)}\n onMouseEnter={handleMouseEnter(i)}\n tabIndex={-1}\n >\n {renderOption(option, i)}\n </AutocompleteInputOption>\n )\n })}\n </AutocompleteInputOptions>\n\n <div ref={footerRef} {...ignoreFocusChange}>\n {typeof footer === \"function\"\n ? footer({ onClose: handleClose })\n : footer}\n </div>\n </AutocompleteInputDropdown>\n )}\n\n <VisuallyHidden {...(id ? { id: `${id}__assistiveHint` } : {})}>\n When autocomplete results are available use up and down arrows to review\n and enter to select. Touch device users, explore by touch or with swipe\n gestures.\n </VisuallyHidden>\n\n {isDropdownVisible && (\n <VisuallyHidden role=\"status\" aria-atomic=\"true\" aria-live=\"polite\">\n {options.length === 1\n ? `1 result is available`\n : `${options.length} results are available`}\n </VisuallyHidden>\n )}\n </Box>\n )\n}\n\nconst AutocompleteInputDropdown = styled(Box)`\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n z-index: 1;\n`\n\nconst AutocompleteInputOptions = styled(Box)`\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n"],"mappings":"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"}
@@ -17,6 +17,7 @@ interface FilterSelectContextProps {
17
17
  initialItemsToShow: number;
18
18
  isFiltered: boolean;
19
19
  items: Items;
20
+ moveSelectedToTop: boolean;
20
21
  multiselect: boolean;
21
22
  onChange: (state: FilterSelectChangeState) => void;
22
23
  onSelectAll?: (state: FilterSelectChangeState) => void;
@@ -30,7 +31,7 @@ interface FilterSelectContextProps {
30
31
  setSelectedItems: (items: Items) => void;
31
32
  toggleSelectedItem: (item: Item) => void;
32
33
  }
33
- export type FilterSelectState = Pick<FilterSelectContextProps, "enableSelectAll" | "filteredItems" | "initialItemsToShow" | "isFiltered" | "items" | "multiselect" | "onChange" | "onSelectAll" | "order" | "placeholder" | "query" | "renderItemLabel" | "searchableText" | "selectedItems">;
34
+ export type FilterSelectState = Pick<FilterSelectContextProps, "enableSelectAll" | "filteredItems" | "initialItemsToShow" | "isFiltered" | "items" | "moveSelectedToTop" | "multiselect" | "onChange" | "onSelectAll" | "order" | "placeholder" | "query" | "renderItemLabel" | "searchableText" | "selectedItems">;
34
35
  export declare const FilterSelectContextProvider: React.FC<React.PropsWithChildren<Partial<FilterSelectState>>>;
35
36
  export declare const useFilterSelectContext: () => FilterSelectContextProps;
36
37
  export {};
@@ -87,6 +87,7 @@ var initialState = {
87
87
  initialItemsToShow: _ShowMore.INITIAL_ITEMS_TO_SHOW,
88
88
  isFiltered: false,
89
89
  items: [],
90
+ moveSelectedToTop: true,
90
91
  multiselect: true,
91
92
  onChange: function onChange(x) {
92
93
  return x;
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSelectContext.js","names":["_react","_interopRequireWildcard","require","_utils","_ShowMore","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","length","err","return","Array","isArray","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","slice","name","from","test","iter","len","arr2","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","filterSelectReducer","state","action","type","query","payload","items","searchableText","isFiltered","filteredItems","item","_searchableText","text","label","toLowerCase","includes","isFound","selectedItems","find","multiselect","concat","initialState","initialItemsToShow","INITIAL_ITEMS_TO_SHOW","onChange","x","order","placeholder","renderItemLabel","FilterSelectContext","createContext","FilterSelectContextProvider","exports","_ref","_props$selectedItems","children","props","_useReducer","useReducer","_useReducer2","dispatch","contextValue","toggleSelectedItem","setQuery","setSelectedItems","useUpdateEffect","useLayoutEffect","_props$query","createElement","Provider","displayName","useFilterSelectContext","useContext"],"sources":["../../../../src/elements/FilterSelect/Components/FilterSelectContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useLayoutEffect,\n useReducer,\n} from \"react\"\nimport { useUpdateEffect } from \"../../../utils\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../../ShowMore\"\n\nexport interface Item {\n label: string\n value: string\n [key: string]: string | number | boolean\n}\n\n// In order to satisfy the Relay compilers readonly list types. This is in\n// support for passing different kinds of item types as props, like aggregations\nexport type Items = ReadonlyArray<Item>\n\nexport interface FilterSelectChangeState {\n items: FilterSelectContextProps[\"items\"]\n filteredItems: FilterSelectContextProps[\"filteredItems\"]\n selectedItems: FilterSelectContextProps[\"selectedItems\"]\n query: FilterSelectContextProps[\"query\"]\n}\n\ninterface FilterSelectContextProps {\n enableSelectAll?: boolean\n filteredItems: Items\n initialItemsToShow: number\n isFiltered: boolean\n items: Items\n multiselect: boolean\n onChange: (state: FilterSelectChangeState) => void\n onSelectAll?: (state: FilterSelectChangeState) => void\n order: [string[], Array<\"asc\" | \"desc\">] // See: https://lodash.com/docs/4.17.15#orderBy\n placeholder: string\n query: string\n renderItemLabel?: (item: any) => string\n searchableText?: (item: Item) => string\n selectedItems: Items\n setQuery: (query: string) => void\n setSelectedItems: (items: Items) => void\n toggleSelectedItem: (item: Item) => void\n}\n\nexport type FilterSelectState = Pick<\n FilterSelectContextProps,\n | \"enableSelectAll\"\n | \"filteredItems\"\n | \"initialItemsToShow\"\n | \"isFiltered\"\n | \"items\"\n | \"multiselect\"\n | \"onChange\"\n | \"onSelectAll\"\n | \"order\"\n | \"placeholder\"\n | \"query\"\n | \"renderItemLabel\"\n | \"searchableText\"\n | \"selectedItems\"\n>\n\ntype Action =\n | { type: \"SET_QUERY\"; payload: { query: string } }\n | { type: \"TOGGLE_SELECTED_ITEM\"; payload: { item: Item } }\n | { type: \"SET_SELECTED_ITEMS\"; payload: { items: Items } }\n\nconst filterSelectReducer = (state: FilterSelectState, action: Action) => {\n switch (action.type) {\n case \"SET_QUERY\": {\n const { query } = action.payload\n const { items, searchableText } = state\n\n if (query === \"\") {\n return {\n ...state,\n query,\n isFiltered: false,\n filteredItems: [],\n }\n }\n\n const filteredItems = items.filter((item) => {\n const text = searchableText?.(item) ?? item.label\n return text.toLowerCase().includes(query.toLowerCase())\n })\n\n return {\n ...state,\n query,\n isFiltered: true,\n filteredItems,\n }\n }\n\n case \"TOGGLE_SELECTED_ITEM\": {\n const isFound = !!state.selectedItems.find(\n (item) => item.value === action.payload.item.value\n )\n\n let selectedItems\n if (isFound) {\n selectedItems = state.selectedItems.filter(\n (item) => item.value !== action.payload.item.value\n )\n } else {\n selectedItems = state.multiselect\n ? [...state.selectedItems, action.payload.item]\n : [action.payload.item]\n }\n\n return {\n ...state,\n selectedItems,\n }\n }\n\n case \"SET_SELECTED_ITEMS\": {\n const { items } = action.payload\n\n return {\n ...state,\n selectedItems: items,\n }\n }\n }\n}\n\nconst initialState: FilterSelectState = {\n filteredItems: [],\n initialItemsToShow: INITIAL_ITEMS_TO_SHOW,\n isFiltered: false,\n items: [],\n multiselect: true,\n onChange: (x) => x,\n order: [[\"label\"], [\"asc\"]],\n placeholder: \"\",\n query: \"\",\n renderItemLabel: undefined,\n selectedItems: [],\n}\n\nconst FilterSelectContext = createContext<FilterSelectContextProps>({} as any)\n\nexport const FilterSelectContextProvider: React.FC<\n React.PropsWithChildren<Partial<FilterSelectState>>\n> = ({ children, ...props }) => {\n const [state, dispatch] = useReducer(filterSelectReducer, {\n ...initialState,\n ...props,\n })\n\n const contextValue = {\n ...state,\n\n toggleSelectedItem: (item) => {\n dispatch({\n type: \"TOGGLE_SELECTED_ITEM\",\n payload: { item },\n })\n },\n setQuery: (query) => {\n dispatch({\n type: \"SET_QUERY\",\n payload: { query },\n })\n },\n setSelectedItems: (items) => {\n dispatch({\n type: \"SET_SELECTED_ITEMS\",\n payload: {\n items,\n },\n })\n },\n }\n\n useUpdateEffect(() => {\n if (props.selectedItems) {\n contextValue.setSelectedItems(props.selectedItems)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.selectedItems?.length])\n\n useLayoutEffect(() => {\n if (props.query?.length) {\n contextValue.setQuery(props.query)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <FilterSelectContext.Provider value={contextValue}>\n {children}\n </FilterSelectContext.Provider>\n )\n}\n\nexport const useFilterSelectContext = () => {\n return useContext(FilterSelectContext)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterSelectContext.js","names":["_react","_interopRequireWildcard","require","_utils","_ShowMore","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","length","err","return","Array","isArray","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","slice","name","from","test","iter","len","arr2","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","filterSelectReducer","state","action","type","query","payload","items","searchableText","isFiltered","filteredItems","item","_searchableText","text","label","toLowerCase","includes","isFound","selectedItems","find","multiselect","concat","initialState","initialItemsToShow","INITIAL_ITEMS_TO_SHOW","moveSelectedToTop","onChange","x","order","placeholder","renderItemLabel","FilterSelectContext","createContext","FilterSelectContextProvider","exports","_ref","_props$selectedItems","children","props","_useReducer","useReducer","_useReducer2","dispatch","contextValue","toggleSelectedItem","setQuery","setSelectedItems","useUpdateEffect","useLayoutEffect","_props$query","createElement","Provider","displayName","useFilterSelectContext","useContext"],"sources":["../../../../src/elements/FilterSelect/Components/FilterSelectContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useLayoutEffect,\n useReducer,\n} from \"react\"\nimport { useUpdateEffect } from \"../../../utils\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../../ShowMore\"\n\nexport interface Item {\n label: string\n value: string\n [key: string]: string | number | boolean\n}\n\n// In order to satisfy the Relay compilers readonly list types. This is in\n// support for passing different kinds of item types as props, like aggregations\nexport type Items = ReadonlyArray<Item>\n\nexport interface FilterSelectChangeState {\n items: FilterSelectContextProps[\"items\"]\n filteredItems: FilterSelectContextProps[\"filteredItems\"]\n selectedItems: FilterSelectContextProps[\"selectedItems\"]\n query: FilterSelectContextProps[\"query\"]\n}\n\ninterface FilterSelectContextProps {\n enableSelectAll?: boolean\n filteredItems: Items\n initialItemsToShow: number\n isFiltered: boolean\n items: Items\n moveSelectedToTop: boolean\n multiselect: boolean\n onChange: (state: FilterSelectChangeState) => void\n onSelectAll?: (state: FilterSelectChangeState) => void\n order: [string[], Array<\"asc\" | \"desc\">] // See: https://lodash.com/docs/4.17.15#orderBy\n placeholder: string\n query: string\n renderItemLabel?: (item: any) => string\n searchableText?: (item: Item) => string\n selectedItems: Items\n setQuery: (query: string) => void\n setSelectedItems: (items: Items) => void\n toggleSelectedItem: (item: Item) => void\n}\n\nexport type FilterSelectState = Pick<\n FilterSelectContextProps,\n | \"enableSelectAll\"\n | \"filteredItems\"\n | \"initialItemsToShow\"\n | \"isFiltered\"\n | \"items\"\n | \"moveSelectedToTop\"\n | \"multiselect\"\n | \"onChange\"\n | \"onSelectAll\"\n | \"order\"\n | \"placeholder\"\n | \"query\"\n | \"renderItemLabel\"\n | \"searchableText\"\n | \"selectedItems\"\n>\n\ntype Action =\n | { type: \"SET_QUERY\"; payload: { query: string } }\n | { type: \"TOGGLE_SELECTED_ITEM\"; payload: { item: Item } }\n | { type: \"SET_SELECTED_ITEMS\"; payload: { items: Items } }\n\nconst filterSelectReducer = (state: FilterSelectState, action: Action) => {\n switch (action.type) {\n case \"SET_QUERY\": {\n const { query } = action.payload\n const { items, searchableText } = state\n\n if (query === \"\") {\n return {\n ...state,\n query,\n isFiltered: false,\n filteredItems: [],\n }\n }\n\n const filteredItems = items.filter((item) => {\n const text = searchableText?.(item) ?? item.label\n return text.toLowerCase().includes(query.toLowerCase())\n })\n\n return {\n ...state,\n query,\n isFiltered: true,\n filteredItems,\n }\n }\n\n case \"TOGGLE_SELECTED_ITEM\": {\n const isFound = !!state.selectedItems.find(\n (item) => item.value === action.payload.item.value\n )\n\n let selectedItems\n if (isFound) {\n selectedItems = state.selectedItems.filter(\n (item) => item.value !== action.payload.item.value\n )\n } else {\n selectedItems = state.multiselect\n ? [...state.selectedItems, action.payload.item]\n : [action.payload.item]\n }\n\n return {\n ...state,\n selectedItems,\n }\n }\n\n case \"SET_SELECTED_ITEMS\": {\n const { items } = action.payload\n\n return {\n ...state,\n selectedItems: items,\n }\n }\n }\n}\n\nconst initialState: FilterSelectState = {\n filteredItems: [],\n initialItemsToShow: INITIAL_ITEMS_TO_SHOW,\n isFiltered: false,\n items: [],\n moveSelectedToTop: true,\n multiselect: true,\n onChange: (x) => x,\n order: [[\"label\"], [\"asc\"]],\n placeholder: \"\",\n query: \"\",\n renderItemLabel: undefined,\n selectedItems: [],\n}\n\nconst FilterSelectContext = createContext<FilterSelectContextProps>({} as any)\n\nexport const FilterSelectContextProvider: React.FC<\n React.PropsWithChildren<Partial<FilterSelectState>>\n> = ({ children, ...props }) => {\n const [state, dispatch] = useReducer(filterSelectReducer, {\n ...initialState,\n ...props,\n })\n\n const contextValue = {\n ...state,\n\n toggleSelectedItem: (item) => {\n dispatch({\n type: \"TOGGLE_SELECTED_ITEM\",\n payload: { item },\n })\n },\n setQuery: (query) => {\n dispatch({\n type: \"SET_QUERY\",\n payload: { query },\n })\n },\n setSelectedItems: (items) => {\n dispatch({\n type: \"SET_SELECTED_ITEMS\",\n payload: {\n items,\n },\n })\n },\n }\n\n useUpdateEffect(() => {\n if (props.selectedItems) {\n contextValue.setSelectedItems(props.selectedItems)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.selectedItems?.length])\n\n useLayoutEffect(() => {\n if (props.query?.length) {\n contextValue.setQuery(props.query)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <FilterSelectContext.Provider value={contextValue}>\n {children}\n </FilterSelectContext.Provider>\n )\n}\n\nexport const useFilterSelectContext = () => {\n return useContext(FilterSelectContext)\n}\n"],"mappings":"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"}
@@ -38,6 +38,7 @@ var _FilterSelect = function _FilterSelect() {
38
38
  initialItemsToShow = _useFilterSelectConte.initialItemsToShow,
39
39
  isFiltered = _useFilterSelectConte.isFiltered,
40
40
  items = _useFilterSelectConte.items,
41
+ moveSelectedToTop = _useFilterSelectConte.moveSelectedToTop,
41
42
  multiselect = _useFilterSelectConte.multiselect,
42
43
  onChange = _useFilterSelectConte.onChange,
43
44
  order = _useFilterSelectConte.order,
@@ -67,7 +68,7 @@ var _FilterSelect = function _FilterSelect() {
67
68
  };
68
69
  var itemsOrdered = orderItems(items);
69
70
  var filteredItemsOrdered = orderItems(filteredItems);
70
- var itemsSorted = multiselect ?
71
+ var itemsSorted = multiselect && moveSelectedToTop ?
71
72
  // Move selected items to the top
72
73
  (0, _esToolkit.uniqBy)(selectedItems.concat(itemsOrdered), function (x) {
73
74
  return x.value;
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSelect.js","names":["_esToolkit","require","React","_interopRequireWildcard","_ShowMore","_Flex","_FilterSelectResultItem","_FilterSelectContext","_FilterInput","_VisuallyHidden","_Text","_utils","_Box","_Clickable","_Stack","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","FilterSelect","exports","props","createElement","FilterSelectContextProvider","_FilterSelect","displayName","_useFilterSelectConte","useFilterSelectContext","enableSelectAll","filteredItems","initialItemsToShow","isFiltered","items","multiselect","onChange","order","query","selectedItems","console","error","useUpdateEffect","orderItems","orderBy","itemsOrdered","filteredItemsOrdered","itemsSorted","uniqBy","concat","x","value","expanded","isBelowTheFoldSelected","showNoResults","showSelectAll","Flex","flexDirection","FilterInput","mb","VisuallyHidden","Text","variant","Fragment","SelectAll","map","item","FilterSelectResultItem","ShowMore","initial","textDecoration","mt","textAlign","resultsSorted","selected","_ref","results","INITIAL_ITEMS_TO_SHOW","_ref2","isSelected","intersection","_useFilterSelectConte2","onSelectAll","setSelectedItems","isClearDisabled","Box","my","Stack","gap","Clickable","className","onClick","disabled","color"],"sources":["../../../src/elements/FilterSelect/FilterSelect.tsx"],"sourcesContent":["import { intersection, orderBy, uniqBy } from \"es-toolkit\"\nimport * as React from \"react\"\nimport { ShowMore } from \"../ShowMore\"\nimport { Flex } from \"../Flex\"\nimport { FilterSelectResultItem } from \"./Components/FilterSelectResultItem\"\nimport {\n FilterSelectContextProvider,\n FilterSelectState,\n Items,\n useFilterSelectContext,\n} from \"./Components/FilterSelectContext\"\nimport { FilterInput } from \"./Components/FilterInput\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { Text } from \"../Text\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../ShowMore\"\nimport { useUpdateEffect } from \"../../utils\"\nimport { Box } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { Stack } from \"../Stack\"\n\nexport type FilterSelectProps = Partial<FilterSelectState>\n\nexport const FilterSelect: React.FC<\n React.PropsWithChildren<FilterSelectProps>\n> = (props) => {\n return (\n <FilterSelectContextProvider {...props}>\n <_FilterSelect />\n </FilterSelectContextProvider>\n )\n}\n\nconst _FilterSelect: React.FC<React.PropsWithChildren<unknown>> = () => {\n const {\n enableSelectAll,\n filteredItems,\n initialItemsToShow,\n isFiltered,\n items,\n multiselect,\n onChange,\n order,\n query,\n selectedItems,\n } = useFilterSelectContext()\n\n if (!multiselect && enableSelectAll) {\n console.error(\n \"FilterSelect: enableSelectAll is only available with multiselect mode.\"\n )\n }\n\n // Dispatch change event\n useUpdateEffect(() => {\n if (onChange) {\n onChange({\n items,\n filteredItems,\n selectedItems,\n query,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onChange, selectedItems])\n\n if (items.length === 0) {\n return null\n }\n\n const orderItems = (items: Items) => orderBy([...items], order[0], order[1])\n const itemsOrdered = orderItems(items)\n const filteredItemsOrdered = orderItems(filteredItems)\n const itemsSorted = multiselect\n ? // Move selected items to the top\n uniqBy(selectedItems.concat(itemsOrdered), (x) => x.value)\n : itemsOrdered\n const expanded = isBelowTheFoldSelected(selectedItems, itemsSorted)\n const showNoResults = filteredItems.length === 0 && query !== \"\"\n const showSelectAll = multiselect && enableSelectAll && !showNoResults\n\n return (\n <Flex flexDirection=\"column\">\n <FilterInput mb={1} />\n\n {query !== \"\" && (\n <VisuallyHidden aria-live=\"polite\">\n {`${filteredItems.length} result${\n filteredItems.length === 1 ? \"\" : \"s\"\n }`}\n </VisuallyHidden>\n )}\n\n {showNoResults && <Text variant=\"sm\">No results.</Text>}\n\n {isFiltered ? (\n <>\n {showSelectAll && <SelectAll />}\n {filteredItemsOrdered.map((item) => (\n <FilterSelectResultItem key={item.value} {...item} />\n ))}\n </>\n ) : (\n <ShowMore\n expanded={expanded}\n initial={initialItemsToShow}\n variant={\"xs\"}\n textDecoration=\"underline\"\n mt={1}\n textAlign=\"left\"\n >\n {itemsSorted.map((item) => {\n return <FilterSelectResultItem key={item.value} {...item} />\n })}\n </ShowMore>\n )}\n </Flex>\n )\n}\n\nexport const isBelowTheFoldSelected = (selectedItems, resultsSorted) => {\n const selected = selectedItems.map(({ value }) => value)\n const results = resultsSorted\n .slice(INITIAL_ITEMS_TO_SHOW)\n .map(({ value }) => value)\n const isSelected = intersection(selected, results).length > 0\n return isSelected\n}\n\nconst SelectAll: React.FC = () => {\n const {\n items,\n filteredItems,\n onSelectAll,\n query,\n selectedItems,\n setSelectedItems,\n } = useFilterSelectContext()\n\n const isClearDisabled = selectedItems.length === 0\n\n return (\n <Box my={1}>\n <Stack gap={2} flexDirection={\"row\"}>\n <Clickable\n data-testid=\"filterSelect-selectAll\"\n className=\"selectAll\"\n onClick={() => {\n setSelectedItems(filteredItems)\n onSelectAll?.({\n items,\n filteredItems,\n selectedItems: filteredItems,\n query,\n })\n }}\n textDecoration=\"underline\"\n >\n <Text variant=\"xs\">Select all</Text>\n </Clickable>\n\n <Clickable\n data-testid=\"filterSelect-clear\"\n className=\"clear\"\n onClick={() => setSelectedItems([])}\n textDecoration=\"underline\"\n disabled={isClearDisabled}\n color={isClearDisabled ? \"mono60\" : \"mono100\"}\n >\n <Text variant=\"xs\">Clear</Text>\n </Clickable>\n </Stack>\n </Box>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterSelect.js","names":["_esToolkit","require","React","_interopRequireWildcard","_ShowMore","_Flex","_FilterSelectResultItem","_FilterSelectContext","_FilterInput","_VisuallyHidden","_Text","_utils","_Box","_Clickable","_Stack","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","FilterSelect","exports","props","createElement","FilterSelectContextProvider","_FilterSelect","displayName","_useFilterSelectConte","useFilterSelectContext","enableSelectAll","filteredItems","initialItemsToShow","isFiltered","items","moveSelectedToTop","multiselect","onChange","order","query","selectedItems","console","error","useUpdateEffect","orderItems","orderBy","itemsOrdered","filteredItemsOrdered","itemsSorted","uniqBy","concat","x","value","expanded","isBelowTheFoldSelected","showNoResults","showSelectAll","Flex","flexDirection","FilterInput","mb","VisuallyHidden","Text","variant","Fragment","SelectAll","map","item","FilterSelectResultItem","ShowMore","initial","textDecoration","mt","textAlign","resultsSorted","selected","_ref","results","INITIAL_ITEMS_TO_SHOW","_ref2","isSelected","intersection","_useFilterSelectConte2","onSelectAll","setSelectedItems","isClearDisabled","Box","my","Stack","gap","Clickable","className","onClick","disabled","color"],"sources":["../../../src/elements/FilterSelect/FilterSelect.tsx"],"sourcesContent":["import { intersection, orderBy, uniqBy } from \"es-toolkit\"\nimport * as React from \"react\"\nimport { ShowMore } from \"../ShowMore\"\nimport { Flex } from \"../Flex\"\nimport { FilterSelectResultItem } from \"./Components/FilterSelectResultItem\"\nimport {\n FilterSelectContextProvider,\n FilterSelectState,\n Items,\n useFilterSelectContext,\n} from \"./Components/FilterSelectContext\"\nimport { FilterInput } from \"./Components/FilterInput\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { Text } from \"../Text\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../ShowMore\"\nimport { useUpdateEffect } from \"../../utils\"\nimport { Box } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { Stack } from \"../Stack\"\n\nexport type FilterSelectProps = Partial<FilterSelectState>\n\nexport const FilterSelect: React.FC<\n React.PropsWithChildren<FilterSelectProps>\n> = (props) => {\n return (\n <FilterSelectContextProvider {...props}>\n <_FilterSelect />\n </FilterSelectContextProvider>\n )\n}\n\nconst _FilterSelect: React.FC<React.PropsWithChildren<unknown>> = () => {\n const {\n enableSelectAll,\n filteredItems,\n initialItemsToShow,\n isFiltered,\n items,\n moveSelectedToTop,\n multiselect,\n onChange,\n order,\n query,\n selectedItems,\n } = useFilterSelectContext()\n\n if (!multiselect && enableSelectAll) {\n console.error(\n \"FilterSelect: enableSelectAll is only available with multiselect mode.\"\n )\n }\n\n // Dispatch change event\n useUpdateEffect(() => {\n if (onChange) {\n onChange({\n items,\n filteredItems,\n selectedItems,\n query,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onChange, selectedItems])\n\n if (items.length === 0) {\n return null\n }\n\n const orderItems = (items: Items) => orderBy([...items], order[0], order[1])\n const itemsOrdered = orderItems(items)\n const filteredItemsOrdered = orderItems(filteredItems)\n const itemsSorted =\n multiselect && moveSelectedToTop\n ? // Move selected items to the top\n uniqBy(selectedItems.concat(itemsOrdered), (x) => x.value)\n : itemsOrdered\n const expanded = isBelowTheFoldSelected(selectedItems, itemsSorted)\n const showNoResults = filteredItems.length === 0 && query !== \"\"\n const showSelectAll = multiselect && enableSelectAll && !showNoResults\n\n return (\n <Flex flexDirection=\"column\">\n <FilterInput mb={1} />\n\n {query !== \"\" && (\n <VisuallyHidden aria-live=\"polite\">\n {`${filteredItems.length} result${\n filteredItems.length === 1 ? \"\" : \"s\"\n }`}\n </VisuallyHidden>\n )}\n\n {showNoResults && <Text variant=\"sm\">No results.</Text>}\n\n {isFiltered ? (\n <>\n {showSelectAll && <SelectAll />}\n {filteredItemsOrdered.map((item) => (\n <FilterSelectResultItem key={item.value} {...item} />\n ))}\n </>\n ) : (\n <ShowMore\n expanded={expanded}\n initial={initialItemsToShow}\n variant={\"xs\"}\n textDecoration=\"underline\"\n mt={1}\n textAlign=\"left\"\n >\n {itemsSorted.map((item) => {\n return <FilterSelectResultItem key={item.value} {...item} />\n })}\n </ShowMore>\n )}\n </Flex>\n )\n}\n\nexport const isBelowTheFoldSelected = (selectedItems, resultsSorted) => {\n const selected = selectedItems.map(({ value }) => value)\n const results = resultsSorted\n .slice(INITIAL_ITEMS_TO_SHOW)\n .map(({ value }) => value)\n const isSelected = intersection(selected, results).length > 0\n return isSelected\n}\n\nconst SelectAll: React.FC = () => {\n const {\n items,\n filteredItems,\n onSelectAll,\n query,\n selectedItems,\n setSelectedItems,\n } = useFilterSelectContext()\n\n const isClearDisabled = selectedItems.length === 0\n\n return (\n <Box my={1}>\n <Stack gap={2} flexDirection={\"row\"}>\n <Clickable\n data-testid=\"filterSelect-selectAll\"\n className=\"selectAll\"\n onClick={() => {\n setSelectedItems(filteredItems)\n onSelectAll?.({\n items,\n filteredItems,\n selectedItems: filteredItems,\n query,\n })\n }}\n textDecoration=\"underline\"\n >\n <Text variant=\"xs\">Select all</Text>\n </Clickable>\n\n <Clickable\n data-testid=\"filterSelect-clear\"\n className=\"clear\"\n onClick={() => setSelectedItems([])}\n textDecoration=\"underline\"\n disabled={isClearDisabled}\n color={isClearDisabled ? \"mono60\" : \"mono100\"}\n >\n <Text variant=\"xs\">Clear</Text>\n </Clickable>\n </Stack>\n </Box>\n )\n}\n"],"mappings":"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"}
@@ -34,6 +34,12 @@ var Default = exports.Default = function Default() {
34
34
  var extraSearchTerms = item.country === "American" ? "USA; Yankee; Murican" : "";
35
35
  return "".concat(item.label, "; ").concat(item.country, "; ").concat(extraSearchTerms);
36
36
  }
37
+ },
38
+ // checkboxes with move selected to top disabled
39
+ {
40
+ multiselect: true,
41
+ moveSelectedToTop: false,
42
+ enableSelectAll: true
37
43
  }]
38
44
  }, /*#__PURE__*/_react.default.createElement(_FilterSelect.FilterSelect, {
39
45
  placeholder: "Filter by artist name",
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSelect.story.js","names":["_test","require","_react","_interopRequireDefault","_storybookStates","_FilterSelect","obj","__esModule","default","_default","exports","title","Default","createElement","States","states","multiselect","enableSelectAll","onSelectAll","state","console","log","searchableText","item","extraSearchTerms","country","concat","label","FilterSelect","placeholder","initialItemsToShow","order","renderItemLabel","onChange","fn","items","value","displayName"],"sources":["../../../src/elements/FilterSelect/FilterSelect.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React from \"react\"\nimport { States } from \"storybook-states\"\nimport { FilterSelect } from \"./FilterSelect\"\nimport { FilterSelectProps } from \"./FilterSelect\"\n\nexport default {\n title: \"Components/FilterSelect\",\n}\n\nexport const Default = () => {\n return (\n <States<FilterSelectProps>\n states={[\n // radio\n { multiselect: false },\n\n // checkboxes\n { multiselect: true },\n\n // checkboxes with searchable hidden text and quick select-all\n {\n multiselect: true,\n enableSelectAll: true,\n onSelectAll: (state) => console.log(\"onSelectAll\", state),\n searchableText: (item) => {\n const extraSearchTerms =\n item.country === \"American\" ? \"USA; Yankee; Murican\" : \"\"\n return `${item.label}; ${item.country}; ${extraSearchTerms}`\n },\n },\n ]}\n >\n <FilterSelect\n placeholder=\"Filter by artist name\"\n initialItemsToShow={6}\n order={[\n [\"country\", \"name\"],\n [\"asc\", \"asc\"],\n ]}\n renderItemLabel={(item) => `${item.label}, ${item.country}`}\n onChange={fn()}\n items={[\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger\",\n country: \"American\",\n },\n {\n label: \"Carrie Mae Weems\",\n value: \"carrie-weems\",\n country: \"American\",\n },\n {\n label: \"Daniel Arsham\",\n value: \"daniel-asham\",\n country: \"American\",\n },\n {\n label: \"Takashi Murakami\",\n value: \"takashi-muakami\",\n country: \"American\",\n },\n {\n label: \"Tracey Emin\",\n value: \"tracey-emin\",\n country: \"British-Nigerian\",\n },\n {\n label: \"Yinka Shonibare\",\n value: \"yinka-shonibare\",\n country: \"Japanese\",\n },\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger-2\",\n country: \"British-Nigerian\",\n },\n ]}\n />\n </States>\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA6C,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAG9B;EACbG,KAAK,EAAE;AACT,CAAC;AAEM,IAAMC,OAAO,GAAAF,OAAA,CAAAE,OAAA,GAAG,SAAVA,OAAOA,CAAA,EAAS;EAC3B,oBACEV,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACT,gBAAA,CAAAU,MAAM;IACLC,MAAM,EAAE;IACN;IACA;MAAEC,WAAW,EAAE;IAAM,CAAC;IAEtB;IACA;MAAEA,WAAW,EAAE;IAAK,CAAC;IAErB;IACA;MACEA,WAAW,EAAE,IAAI;MACjBC,eAAe,EAAE,IAAI;MACrBC,WAAW,EAAE,SAAbA,WAAWA,CAAGC,KAAK;QAAA,OAAKC,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEF,KAAK,CAAC;MAAA;MACzDG,cAAc,EAAE,SAAhBA,cAAcA,CAAGC,IAAI,EAAK;QACxB,IAAMC,gBAAgB,GACpBD,IAAI,CAACE,OAAO,KAAK,UAAU,GAAG,sBAAsB,GAAG,EAAE;QAC3D,UAAAC,MAAA,CAAUH,IAAI,CAACI,KAAK,QAAAD,MAAA,CAAKH,IAAI,CAACE,OAAO,QAAAC,MAAA,CAAKF,gBAAgB;MAC5D;IACF,CAAC;EACD,gBAEFtB,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACR,aAAA,CAAAuB,YAAY;IACXC,WAAW,EAAC,uBAAuB;IACnCC,kBAAkB,EAAE,CAAE;IACtBC,KAAK,EAAE,CACL,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,KAAK,EAAE,KAAK,CAAC,CACd;IACFC,eAAe,EAAE,SAAjBA,eAAeA,CAAGT,IAAI;MAAA,UAAAG,MAAA,CAAQH,IAAI,CAACI,KAAK,QAAAD,MAAA,CAAKH,IAAI,CAACE,OAAO;IAAA,CAAG;IAC5DQ,QAAQ,EAAE,IAAAC,QAAE,GAAG;IACfC,KAAK,EAAE,CACL;MACER,KAAK,EAAE,gBAAgB;MACvBS,KAAK,EAAE,gBAAgB;MACvBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,kBAAkB;MACzBS,KAAK,EAAE,cAAc;MACrBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,eAAe;MACtBS,KAAK,EAAE,cAAc;MACrBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,kBAAkB;MACzBS,KAAK,EAAE,iBAAiB;MACxBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,aAAa;MACpBS,KAAK,EAAE,aAAa;MACpBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,iBAAiB;MACxBS,KAAK,EAAE,iBAAiB;MACxBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,gBAAgB;MACvBS,KAAK,EAAE,kBAAkB;MACzBX,OAAO,EAAE;IACX,CAAC;EACD,EACF,CACK;AAEb,CAAC;AAxEYb,OAAO,CAAAyB,WAAA"}
1
+ {"version":3,"file":"FilterSelect.story.js","names":["_test","require","_react","_interopRequireDefault","_storybookStates","_FilterSelect","obj","__esModule","default","_default","exports","title","Default","createElement","States","states","multiselect","enableSelectAll","onSelectAll","state","console","log","searchableText","item","extraSearchTerms","country","concat","label","moveSelectedToTop","FilterSelect","placeholder","initialItemsToShow","order","renderItemLabel","onChange","fn","items","value","displayName"],"sources":["../../../src/elements/FilterSelect/FilterSelect.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React from \"react\"\nimport { States } from \"storybook-states\"\nimport { FilterSelect } from \"./FilterSelect\"\nimport { FilterSelectProps } from \"./FilterSelect\"\n\nexport default {\n title: \"Components/FilterSelect\",\n}\n\nexport const Default = () => {\n return (\n <States<FilterSelectProps>\n states={[\n // radio\n { multiselect: false },\n\n // checkboxes\n { multiselect: true },\n\n // checkboxes with searchable hidden text and quick select-all\n {\n multiselect: true,\n enableSelectAll: true,\n onSelectAll: (state) => console.log(\"onSelectAll\", state),\n searchableText: (item) => {\n const extraSearchTerms =\n item.country === \"American\" ? \"USA; Yankee; Murican\" : \"\"\n return `${item.label}; ${item.country}; ${extraSearchTerms}`\n },\n },\n\n // checkboxes with move selected to top disabled\n {\n multiselect: true,\n moveSelectedToTop: false,\n enableSelectAll: true,\n },\n ]}\n >\n <FilterSelect\n placeholder=\"Filter by artist name\"\n initialItemsToShow={6}\n order={[\n [\"country\", \"name\"],\n [\"asc\", \"asc\"],\n ]}\n renderItemLabel={(item) => `${item.label}, ${item.country}`}\n onChange={fn()}\n items={[\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger\",\n country: \"American\",\n },\n {\n label: \"Carrie Mae Weems\",\n value: \"carrie-weems\",\n country: \"American\",\n },\n {\n label: \"Daniel Arsham\",\n value: \"daniel-asham\",\n country: \"American\",\n },\n {\n label: \"Takashi Murakami\",\n value: \"takashi-muakami\",\n country: \"American\",\n },\n {\n label: \"Tracey Emin\",\n value: \"tracey-emin\",\n country: \"British-Nigerian\",\n },\n {\n label: \"Yinka Shonibare\",\n value: \"yinka-shonibare\",\n country: \"Japanese\",\n },\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger-2\",\n country: \"British-Nigerian\",\n },\n ]}\n />\n </States>\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA6C,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAG9B;EACbG,KAAK,EAAE;AACT,CAAC;AAEM,IAAMC,OAAO,GAAAF,OAAA,CAAAE,OAAA,GAAG,SAAVA,OAAOA,CAAA,EAAS;EAC3B,oBACEV,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACT,gBAAA,CAAAU,MAAM;IACLC,MAAM,EAAE;IACN;IACA;MAAEC,WAAW,EAAE;IAAM,CAAC;IAEtB;IACA;MAAEA,WAAW,EAAE;IAAK,CAAC;IAErB;IACA;MACEA,WAAW,EAAE,IAAI;MACjBC,eAAe,EAAE,IAAI;MACrBC,WAAW,EAAE,SAAbA,WAAWA,CAAGC,KAAK;QAAA,OAAKC,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEF,KAAK,CAAC;MAAA;MACzDG,cAAc,EAAE,SAAhBA,cAAcA,CAAGC,IAAI,EAAK;QACxB,IAAMC,gBAAgB,GACpBD,IAAI,CAACE,OAAO,KAAK,UAAU,GAAG,sBAAsB,GAAG,EAAE;QAC3D,UAAAC,MAAA,CAAUH,IAAI,CAACI,KAAK,QAAAD,MAAA,CAAKH,IAAI,CAACE,OAAO,QAAAC,MAAA,CAAKF,gBAAgB;MAC5D;IACF,CAAC;IAED;IACA;MACER,WAAW,EAAE,IAAI;MACjBY,iBAAiB,EAAE,KAAK;MACxBX,eAAe,EAAE;IACnB,CAAC;EACD,gBAEFf,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACR,aAAA,CAAAwB,YAAY;IACXC,WAAW,EAAC,uBAAuB;IACnCC,kBAAkB,EAAE,CAAE;IACtBC,KAAK,EAAE,CACL,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,KAAK,EAAE,KAAK,CAAC,CACd;IACFC,eAAe,EAAE,SAAjBA,eAAeA,CAAGV,IAAI;MAAA,UAAAG,MAAA,CAAQH,IAAI,CAACI,KAAK,QAAAD,MAAA,CAAKH,IAAI,CAACE,OAAO;IAAA,CAAG;IAC5DS,QAAQ,EAAE,IAAAC,QAAE,GAAG;IACfC,KAAK,EAAE,CACL;MACET,KAAK,EAAE,gBAAgB;MACvBU,KAAK,EAAE,gBAAgB;MACvBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,kBAAkB;MACzBU,KAAK,EAAE,cAAc;MACrBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,eAAe;MACtBU,KAAK,EAAE,cAAc;MACrBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,kBAAkB;MACzBU,KAAK,EAAE,iBAAiB;MACxBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,aAAa;MACpBU,KAAK,EAAE,aAAa;MACpBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,iBAAiB;MACxBU,KAAK,EAAE,iBAAiB;MACxBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,gBAAgB;MACvBU,KAAK,EAAE,kBAAkB;MACzBZ,OAAO,EAAE;IACX,CAAC;EACD,EACF,CACK;AAEb,CAAC;AA/EYb,OAAO,CAAA0B,WAAA"}
@@ -1,20 +1,6 @@
1
1
  import React from "react";
2
2
  import { InputProps } from "../Input";
3
- /**
4
- * The option structure for the list in the dropdown menu
5
- *
6
- * @interface Option
7
- * @property {string} `text` is the content that will be displayed as selected option
8
- * @property {string} `name` is the content that will be displayed in the dropdown list
9
- * @property {string} `value` is the value that will be passed to onSelect
10
- */
11
- interface Option {
12
- text: string;
13
- name: string;
14
- value: string;
15
- countryCode?: string;
16
- flag?: string;
17
- }
3
+ import { Option } from "./PhoneInputList";
18
4
  export interface PhoneInputProps extends Omit<InputProps, "onSelect"> {
19
5
  options: Option[];
20
6
  onSelect: (option: Option) => void;
@@ -28,4 +14,3 @@ export interface PhoneInputProps extends Omit<InputProps, "onSelect"> {
28
14
  inputValue?: string;
29
15
  }
30
16
  export declare const PhoneInput: React.ForwardRefExoticComponent<PhoneInputProps & React.RefAttributes<HTMLInputElement>>;
31
- export {};