@artsy/palette 44.0.0 → 44.1.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.
@@ -259,9 +259,27 @@ var AutocompleteInput = exports.AutocompleteInput = function AutocompleteInput(_
259
259
 
260
260
  // Moves focus to different options when keyboard navigating using up/down
261
261
  (0, _react.useEffect)(function () {
262
- var _option$ref, _option$ref$current;
263
- var option = optionsWithRefs[index];
264
- option === null || option === void 0 ? void 0 : (_option$ref = option.ref) === null || _option$ref === void 0 ? void 0 : (_option$ref$current = _option$ref.current) === null || _option$ref$current === void 0 ? void 0 : _option$ref$current.focus();
262
+ var _optionsWithRefs$inde, _optionsWithRefs$inde2;
263
+ var el = (_optionsWithRefs$inde = optionsWithRefs[index]) === null || _optionsWithRefs$inde === void 0 ? void 0 : (_optionsWithRefs$inde2 = _optionsWithRefs$inde.ref) === null || _optionsWithRefs$inde2 === void 0 ? void 0 : _optionsWithRefs$inde2.current;
264
+ if (!el) return;
265
+ var isPointerInteraction = performance.now() - lastMouseMoveTimestamp.current < 50;
266
+ if (isPointerInteraction) {
267
+ // Pointer interactions should not cause scroll
268
+ el.focus({
269
+ preventScroll: true
270
+ });
271
+ return;
272
+ }
273
+
274
+ // Keyboard navigation: focus and ensure visibility
275
+ el.focus({
276
+ preventScroll: true
277
+ });
278
+ try {
279
+ el.scrollIntoView({
280
+ block: "nearest"
281
+ });
282
+ } catch (_unused) {}
265
283
  }, [index, optionsWithRefs]);
266
284
  var handleFocusChange = (0, _react.useCallback)(function (focused) {
267
285
  if (ignoreFocusChangeRef.current || focused || !isDropdownVisible) return;
@@ -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","_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":";;;;;;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;AACA,IAAAiB,kBAAA,GAAAjB,OAAA;AAA+D,IAAAkB,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,SAAAlB,wBAAAsB,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,SAAAhC,uBAAAyB,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;AAO/D;;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,oBAAK5J,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAAC/I,6BAAA,CAAAgJ,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,IAAA0F,iBAAA,GAAmC,IAAAC,mCAAgB,GAAE;IAA7CC,sBAAsB,GAAAF,iBAAA,CAAtBE,sBAAsB;EAE9B,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIzK,CAAS;IAAA,OAAK,YAAM;MAC5C,IAAM0K,GAAG,GAAGC,WAAW,CAACD,GAAG,EAAE;;MAE7B;MACA,IAAIA,GAAG,GAAGF,sBAAsB,CAAClC,OAAO,GAAG,EAAE,EAAE;QAC7C9I,GAAG,CAAC;UAAEoL,MAAM,EAAE5K,CAAC;UAAE6K,WAAW,EAAE;QAAK,CAAC,CAAC;MACvC;IACF,CAAC;EAAA;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAI1B,KAA0C,EAAK;IACnE,IACmBjH,KAAK,GACpBiH,KAAK,CADP2B,aAAa,CAAI5I,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,IAAM4B,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;IAAA,IAAAC,kBAAA;IAChC,IAAIvG,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,CAAAqG,kBAAA,GAAAjE,QAAQ,CAACsB,OAAO,cAAA2C,kBAAA,uBAAhBA,kBAAA,CAAkB1C,KAAK,EAAE;IACzBnC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,EAAI;EACb,CAAC;EAED,IAAM8E,WAAW,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACpCtD,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,IAAM4C,oBAAoB,GAAG,IAAAnE,aAAM,EAAU,KAAK,CAAC;EACnD,IAAMoE,iBAAiB,GAAG;IACxBC,WAAW,EAAE,SAAbA,WAAWA,CAAA;MAAA,OAASF,oBAAoB,CAAC9C,OAAO,GAAG,IAAI;IAAA,CAAC;IACxDiD,SAAS,EAAE,SAAXA,SAASA,CAAA;MAAA,OAASH,oBAAoB,CAAC9C,OAAO,GAAG,KAAK;IAAA;EACxD,CAAC;;EAED;EACA,IAAAkB,gBAAS,EAAC,YAAM;IAAA,IAAAgC,WAAA,EAAAC,mBAAA;IACd,IAAM7E,MAAM,GAAGkB,eAAe,CAACY,KAAK,CAAC;IACrC9B,MAAM,aAANA,MAAM,wBAAA4E,WAAA,GAAN5E,MAAM,CAAEqB,GAAG,cAAAuD,WAAA,wBAAAC,mBAAA,GAAXD,WAAA,CAAalD,OAAO,cAAAmD,mBAAA,uBAApBA,mBAAA,CAAsBlD,KAAK,EAAE;EAC/B,CAAC,EAAE,CAACG,KAAK,EAAEZ,eAAe,CAAC,CAAC;EAE5B,IAAM4D,iBAAiB,GAAG,IAAAP,kBAAW,EACnC,UAACQ,OAAgB,EAAK;IACpB,IAAIP,oBAAoB,CAAC9C,OAAO,IAAIqD,OAAO,IAAI,CAACpC,iBAAiB,EAAE;IAEnE2B,WAAW,EAAE;EACf,CAAC,EAED,CAAC3B,iBAAiB,EAAE2B,WAAW,CAAC,CACjC;;EAED;EACA;EACA,IAAAU,iBAAA,GAAkC,IAAAC,uBAAgB,EAAC;MACjD1F,QAAQ,EAAEuF;IACZ,CAAC,CAAC;IAFWI,gBAAgB,GAAAF,iBAAA,CAArB3D,GAAG;EAIX,IAAA8D,sBAAe,EAAC;IACd9D,GAAG,EAAE6D,gBAAgB;IACrBE,cAAc,EAAEd,WAAW;IAC3Be,IAAI,EAAE1C,iBAAiB;IACvB3E,IAAI,EAAE;EACR,CAAC,CAAC;EAEF,IAAMsH,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAI9C,KAA4C,EAAK;IAAA,IAAA+C,kBAAA;IAC3E,QAAQ/C,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,CAAAuH,kBAAA,GAAAnF,QAAQ,CAACsB,OAAO,cAAA6D,kBAAA,uBAAhBA,kBAAA,CAAkBC,IAAI,EAAE;QAExB;MAEF;QACE;IAAK;IAGT9F,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG8C,KAAK,CAAC;EACpB,CAAC;;EAED;EACA,IAAMiD,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAC1BjD,KAA0C,EACvC;IAAA,IAAAkD,kBAAA,EAAAC,kBAAA;IACH,QAAQnD,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,CAAA0H,kBAAA,GAAAtF,QAAQ,CAACsB,OAAO,cAAAgE,kBAAA,uBAAhBA,kBAAA,CAAkBF,IAAI,EAAE;QACxB5D,KAAK,EAAE;QAEP;MAEF;QACE,CAAA+D,kBAAA,GAAAvF,QAAQ,CAACsB,OAAO,cAAAiE,kBAAA,uBAAhBA,kBAAA,CAAkBhE,KAAK,EAAE;IAAA;EAE/B,CAAC;;EAED;EACA,IAAMiE,MAAM,GAAG/F,OAAO,CAACiC,KAAK,CAAC;EAE7B,oBACE1L,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAACpJ,IAAA,CAAAgP,GAAG,EAAA7M,QAAA;IACFqI,GAAG,EAAE,IAAAyE,yBAAW,EAACxF,YAAY,EAAE4E,gBAAgB,CAAS;IACxDxF,SAAS,EAAE+F;EAAuB,GAC9B7E,QAAQ,gBAEZxK,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAAClJ,aAAA,CAAAgP,YAAY,EAAA/M,QAAA;IACXqI,GAAG,EAAE,IAAAyE,yBAAW,EAAC1F,QAAQ,EAAE8C,SAAS,EAAEjE,YAAY,CAAS;IAC3D+G,IAAI,EAAC,UAAU;IACf,iBAAerD,iBAAkB;IACjC,qBAAkB;EAAM,GACnBtD,EAAE,GAAG;IAAEA,EAAE,EAAFA,EAAE;IAAE,kBAAkB,KAAA4G,MAAA,CAAK5G,EAAE;EAAkB,CAAC,GAAG,CAAC,CAAC;IACjE6G,KAAK,EACH5G,OAAO,gBACLlJ,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAACpJ,IAAA,CAAAgP,GAAG;MAACvC,KAAK,EAAE;IAAG,gBACblN,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAACzJ,QAAA,CAAA2P,OAAO;MAACC,IAAI,EAAC;IAAO,EAAG,CACpB,GACJtI,KAAK,CAACI,KAAK,gBACb9H,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAACnJ,UAAA,CAAAuP,SAAS;MACRC,OAAO,EAAElC,mBAAoB;MAC7BhF,MAAM,EAAC,MAAM;MACbmH,OAAO,EAAC,MAAM;MACdC,UAAU,EAAC,QAAQ;MACnB,cAAW;IAAa,gBAExBpQ,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAACvJ,UAAA,CAAAoB,OAAS;MAAC2O,IAAI,EAAC,QAAQ;MAAC;IAAW,EAAG,CAC7B,gBAEZrQ,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAACxJ,WAAA,CAAAqB,OAAU;MAAC2O,IAAI,EAAC,QAAQ;MAAC;IAAW,EAExC;IACDlL,KAAK,GAAAgD,YAAA,GAAEqH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE5D,IAAI,cAAAzD,YAAA,cAAAA,YAAA,GAAIT,KAAK,CAACI,KAAM;IACnCqB,QAAQ,EAAE2E,YAAa;IACvBwC,OAAO,EAAEnD,WAAY;IACrB7D,SAAS,EAAE4F,kBAAmB;IAC9BgB,OAAO,EAAE7C,WAAY;IACrBkD,YAAY,EAAC,KAAK;IAClBvH,MAAM,EAAEA;EAAO,GACXyB,UAAU,EACd,EAED8B,iBAAiB,iBAChBvM,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAAC2G,yBAAyB;IACxBvF,GAAG,EAAE8B,UAAkB;IACvB6C,IAAI,EAAC,SAAS;IACd1C,KAAK,EAAEA;EAAM,gBAEblN,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,QAAAjH,QAAA;IAAKqI,GAAG,EAAEd;EAAU,GAAKkE,iBAAiB,GACvCtF,MAAM,CACH,eAEN/I,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAAC4G,wBAAwB;IAACC,SAAS,EAAEjI;EAAkB,GACpDqC,eAAe,CAACE,GAAG,CAAC,UAAA2F,KAAA,EAAkB3N,CAAC,EAAK;IAAA,IAArB4G,MAAM,GAAA+G,KAAA,CAAN/G,MAAM;MAAEqB,GAAG,GAAA0F,KAAA,CAAH1F,GAAG;IACjC,oBACEjL,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAAChJ,wBAAA,CAAA+P,uBAAuB;MACtBzO,GAAG,EAAEa,CAAE;MACPiI,GAAG,EAAEA,GAAI;MACT2E,IAAI,EAAC,QAAQ;MACb,iBAAe5M,CAAC,KAAK0I,KAAM;MAC3B,iBAAe1I,CAAC,GAAG,CAAE;MACrB,gBAAcyG,OAAO,CAACvG,MAAO;MAC7BoL,WAAW,EAAElB,eAAe,CAACxD,MAAM,EAAE5G,CAAC,CAAE;MACxC6N,YAAY,EAAEpD,gBAAgB,CAACzK,CAAC,CAAE;MAClC8N,QAAQ,EAAE,CAAC;IAAE,GAEZnH,YAAY,CAACC,MAAM,EAAE5G,CAAC,CAAC,CACA;EAE9B,CAAC,CAAC,CACuB,eAE3BhD,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,QAAAjH,QAAA;IAAKqI,GAAG,EAAEb;EAAU,GAAKiE,iBAAiB,GACvC,OAAOzF,MAAM,KAAK,UAAU,GACzBA,MAAM,CAAC;IAAES,OAAO,EAAE6E;EAAY,CAAC,CAAC,GAChCtF,MAAM,CACN,CAET,eAED5I,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAACjJ,eAAA,CAAAmQ,cAAc,EAAM9H,EAAE,GAAG;IAAEA,EAAE,KAAA4G,MAAA,CAAK5G,EAAE;EAAkB,CAAC,GAAG,CAAC,CAAC,EAAG,4JAIhE,CAAiB,EAEhBsD,iBAAiB,iBAChBvM,MAAA,CAAA0B,OAAA,CAAAmI,aAAA,CAACjJ,eAAA,CAAAmQ,cAAc;IAACnB,IAAI,EAAC,QAAQ;IAAC,eAAY,MAAM;IAAC,aAAU;EAAQ,GAChEnG,OAAO,CAACvG,MAAM,KAAK,CAAC,gCAAA2M,MAAA,CAEdpG,OAAO,CAACvG,MAAM,2BAAwB,CAEhD,CACG;AAEV,CAAC;AA5UY8E,iBAAiB,CAAAgJ,WAAA;AA8U9B,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","_optionsWithRefs$inde","_optionsWithRefs$inde2","el","isPointerInteraction","preventScroll","scrollIntoView","block","_unused","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 el = optionsWithRefs[index]?.ref?.current\n if (!el) return\n\n const isPointerInteraction =\n performance.now() - lastMouseMoveTimestamp.current < 50\n\n if (isPointerInteraction) {\n // Pointer interactions should not cause scroll\n el.focus({ preventScroll: true })\n return\n }\n\n // Keyboard navigation: focus and ensure visibility\n el.focus({ preventScroll: true })\n try {\n el.scrollIntoView({ block: \"nearest\" })\n } catch {}\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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"}
@@ -10,7 +10,7 @@ export interface MultiSelectProps extends BoxProps {
10
10
  error?: string | boolean;
11
11
  focus?: boolean;
12
12
  hover?: boolean;
13
- /** Initial values to be selected */
13
+ /** Selected values (updating the list will refresh the internal selection and re-render the component) */
14
14
  selected?: Option["value"][];
15
15
  name?: string;
16
16
  options: Option[];
@@ -66,6 +66,10 @@ var MultiSelect = exports.MultiSelect = function MultiSelect(_ref) {
66
66
  _useState4 = _slicedToArray(_useState3, 2),
67
67
  selection = _useState4[0],
68
68
  setSelection = _useState4[1];
69
+ (0, _react.useEffect)(function () {
70
+ var newSelectedOptions = valuesToOptions(selected, options);
71
+ setSelection(newSelectedOptions);
72
+ }, [selected.toString()]);
69
73
 
70
74
  // Yields focus back and forth between popover and anchor
71
75
  (0, _useUpdateEffect.useUpdateEffect)(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.js","names":["_themeGet","require","_react","_interopRequireWildcard","_styledComponents","_helpers","_RequiredField","_utils","_useUpdateEffect","_useWidthOf2","_Box","_Checkbox","_Clickable","_Select","_Text","_Tooltip","_tokens","_excluded","_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","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","MultiSelect","exports","_ref","_ref$autoOpen","autoOpen","complete","description","disabled","error","focus","hover","_ref$selected","selected","_ref$name","options","required","title","onBlur","onFocus","onSelect","rest","selectedOptions","valuesToOptions","_useState","useState","_useState2","visible","setVisible","_useState3","_useState4","selection","setSelection","useUpdateEffect","tooltipRef","current","anchorRef","handleVisible","handleHide","useEffect","handleKeydown","event","document","addEventListener","removeEventListener","_usePosition","usePosition","position","offset","active","_useWidthOf","useWidthOf","ref","width","useClickOutside","onClickOutside","when","type","handleSelect","option","prevSelection","nextSelection","concat","filter","_ref2","createElement","Box","Tooltip","pointer","content","placement","Text","variant","color","textAlign","Container","mt","onClick","lineHeight","overflowEllipsis","reverse","map","s","text","join","StyledLabel","htmlFor","Options","tabIndex","zIndex","bg","Checkbox","height","px","includes","RequiredField","ml","displayName","values","styled","withConfig","componentId","themeGet","Clickable","props","css","MULTISELECT_STATES","completed","caretMixin","label","FORM_ELEMENT_TRANSITION"],"sources":["../../../src/elements/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport React, { useEffect, useState } from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { FORM_ELEMENT_TRANSITION } from \"../../helpers\"\nimport { RequiredField } from \"../../shared/RequiredField\"\nimport { useClickOutside, usePosition } from \"../../utils\"\nimport { useUpdateEffect } from \"../../utils/useUpdateEffect\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Checkbox } from \"../Checkbox\"\nimport { Clickable } from \"../Clickable\"\nimport { caretMixin, Option } from \"../Select\"\nimport { Text } from \"../Text\"\nimport { Tooltip } from \"../Tooltip\"\nimport { MULTISELECT_STATES } from \"./tokens\"\n\nexport interface MultiSelectProps extends BoxProps {\n /** Whether to open the dropdown automatically on mount or render (default: false) */\n autoOpen?: boolean\n complete?: boolean\n description?: string\n disabled?: boolean\n error?: string | boolean\n focus?: boolean\n hover?: boolean\n /** Initial values to be selected */\n selected?: Option[\"value\"][]\n name?: string\n options: Option[]\n required?: boolean\n title?: string\n onBlur?: (selection: Option[]) => void\n onFocus?: () => void\n onSelect?: (selection: Option[]) => void\n\n visible?: boolean\n}\n\n/** A drop-down multi-select menu */\nexport const MultiSelect: React.FC<\n React.PropsWithChildren<MultiSelectProps>\n> = ({\n autoOpen = false,\n complete,\n description,\n disabled,\n error,\n focus,\n hover,\n selected = [],\n name = \"Select\",\n options,\n required,\n title,\n onBlur,\n onFocus,\n onSelect,\n ...rest\n}) => {\n const selectedOptions = valuesToOptions(selected, options)\n\n const [visible, setVisible] = useState(autoOpen)\n const [selection, setSelection] = useState<Option[]>(selectedOptions || [])\n\n // Yields focus back and forth between popover and anchor\n useUpdateEffect(() => {\n if (visible && tooltipRef.current) {\n tooltipRef.current.focus()\n return\n }\n\n if (!anchorRef.current) return\n anchorRef.current.focus()\n }, [visible])\n\n const handleVisible = () => {\n setVisible(true)\n onFocus?.()\n }\n\n const handleHide = () => {\n setVisible(false)\n onBlur?.(selection)\n }\n\n useEffect(() => {\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n handleHide()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeydown)\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown)\n }\n }, [])\n const { anchorRef, tooltipRef } = usePosition({\n position: \"bottom\",\n offset: 10,\n active: visible,\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n useClickOutside({\n ref: tooltipRef,\n onClickOutside: handleHide,\n when: visible,\n type: \"click\",\n })\n\n const handleSelect = (option: Option) => {\n return (selected: boolean) => {\n const prevSelection = selection\n const nextSelection = selected\n ? [...prevSelection, option]\n : prevSelection.filter(({ value }) => option.value !== value)\n\n setSelection(nextSelection)\n onSelect?.(nextSelection)\n }\n }\n\n return (\n <Box width=\"100%\" {...rest}>\n {!!description && (\n <Tooltip pointer content={description} placement=\"top-end\">\n <Text variant=\"xs\" color=\"mono60\" textAlign=\"right\">\n <u>What is this?</u>\n </Text>\n </Tooltip>\n )}\n\n <Container\n mt={!!title && !description ? 1 : 0}\n ref={anchorRef as any}\n onClick={handleVisible}\n complete={complete || selection.length > 0}\n disabled={!!disabled}\n error={error}\n focus={!!focus}\n hover={!!hover}\n title={title}\n visible={visible}\n {...rest}\n >\n <Text variant=\"sm\" lineHeight={1} overflowEllipsis>\n {selection.length > 0\n ? [...selection]\n .reverse()\n .map((s) => s.text)\n .join(\", \")\n : name}\n </Text>\n\n {!!title && <StyledLabel htmlFor={name}>{title}</StyledLabel>}\n </Container>\n\n {visible && (\n <Options\n tabIndex={0}\n ref={tooltipRef as any}\n zIndex={1}\n bg=\"mono0\"\n width={width}\n >\n {options.map((option) => {\n return (\n <Checkbox\n key={option.value}\n height={50}\n px={1}\n selected={selection.map((o) => o.value).includes(option.value)}\n onSelect={handleSelect(option)}\n >\n {option.text}\n </Checkbox>\n )\n })}\n </Options>\n )}\n\n {required && !(error && typeof error === \"string\") && (\n <RequiredField mt={0.5} ml={1} disabled={disabled} />\n )}\n\n {error && typeof error === \"string\" && (\n <Text variant=\"xs\" mt={0.5} ml={1} color=\"red100\">\n {error}\n </Text>\n )}\n </Box>\n )\n}\n\nconst valuesToOptions = (\n values: Option[\"value\"][],\n options: Option[]\n): Option[] => {\n return options.filter((option) => values.includes(option.value))\n}\n\nconst Options = styled(Box)`\n position: fixed;\n z-index: 1;\n max-height: 300px;\n text-align: left;\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n\ntype ContainerProps = Pick<\n MultiSelectProps,\n \"complete\" | \"disabled\" | \"error\" | \"hover\" | \"focus\" | \"visible\"\n>\n\nconst Container = styled(Clickable)<ContainerProps>`\n position: relative;\n width: 100%;\n /* 24px = space.1 + 4px-wide caret + space.1 */\n padding: 16px 24px 16px ${themeGet(\"space.1\")};\n font-family: ${themeGet(\"fonts.sans\")};\n border: 1px solid;\n border-radius: 3px;\n border-color: ${themeGet(\"colors.mono30\")};\n cursor: pointer;\n line-height: 1;\n transition: color 0.25s, background-color 0.25s, border-color 0.25s;\n background-color: ${themeGet(\"colors.mono0\")};\n\n ${(props) => {\n return css`\n ${MULTISELECT_STATES.default}\n ${props.complete && MULTISELECT_STATES.completed}\n ${props.hover && MULTISELECT_STATES.hover}\n ${props.focus && MULTISELECT_STATES.focus}\n ${props.disabled && MULTISELECT_STATES.disabled}\n ${props.error && MULTISELECT_STATES.error}\n\n &:hover {\n ${MULTISELECT_STATES.hover}\n }\n\n ${props.visible && MULTISELECT_STATES.focus}\n\n &:disabled {\n cursor: default;\n ${MULTISELECT_STATES.disabled}\n }\n\n // Hide text behind title when it's visible\n ${props.title &&\n !props.complete &&\n !props.visible &&\n css`\n color: transparent !important;\n `}\n `\n }}\n\n ${caretMixin}\n`\n\nconst StyledLabel = styled.label`\n position: absolute;\n top: 50%;\n left: 5px;\n padding: 0 5px;\n pointer-events: none;\n transform: translateY(-50%);\n transition: ${FORM_ELEMENT_TRANSITION};\n transition-property: color, transform, padding, font-size;\n background-color: ${themeGet(\"colors.mono0\")};\n font-family: ${themeGet(\"fonts.sans\")};\n`\n"],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelect.js","names":["_themeGet","require","_react","_interopRequireWildcard","_styledComponents","_helpers","_RequiredField","_utils","_useUpdateEffect","_useWidthOf2","_Box","_Checkbox","_Clickable","_Select","_Text","_Tooltip","_tokens","_excluded","_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","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","return","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","MultiSelect","exports","_ref","_ref$autoOpen","autoOpen","complete","description","disabled","error","focus","hover","_ref$selected","selected","_ref$name","options","required","title","onBlur","onFocus","onSelect","rest","selectedOptions","valuesToOptions","_useState","useState","_useState2","visible","setVisible","_useState3","_useState4","selection","setSelection","useEffect","newSelectedOptions","useUpdateEffect","tooltipRef","current","anchorRef","handleVisible","handleHide","handleKeydown","event","document","addEventListener","removeEventListener","_usePosition","usePosition","position","offset","active","_useWidthOf","useWidthOf","ref","width","useClickOutside","onClickOutside","when","type","handleSelect","option","prevSelection","nextSelection","concat","filter","_ref2","createElement","Box","Tooltip","pointer","content","placement","Text","variant","color","textAlign","Container","mt","onClick","lineHeight","overflowEllipsis","reverse","map","s","text","join","StyledLabel","htmlFor","Options","tabIndex","zIndex","bg","Checkbox","height","px","includes","RequiredField","ml","displayName","values","styled","withConfig","componentId","themeGet","Clickable","props","css","MULTISELECT_STATES","completed","caretMixin","label","FORM_ELEMENT_TRANSITION"],"sources":["../../../src/elements/MultiSelect/MultiSelect.tsx"],"sourcesContent":["import { themeGet } from \"@styled-system/theme-get\"\nimport React, { useEffect, useState } from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { FORM_ELEMENT_TRANSITION } from \"../../helpers\"\nimport { RequiredField } from \"../../shared/RequiredField\"\nimport { useClickOutside, usePosition } from \"../../utils\"\nimport { useUpdateEffect } from \"../../utils/useUpdateEffect\"\nimport { useWidthOf } from \"../../utils/useWidthOf\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Checkbox } from \"../Checkbox\"\nimport { Clickable } from \"../Clickable\"\nimport { caretMixin, Option } from \"../Select\"\nimport { Text } from \"../Text\"\nimport { Tooltip } from \"../Tooltip\"\nimport { MULTISELECT_STATES } from \"./tokens\"\n\nexport interface MultiSelectProps extends BoxProps {\n /** Whether to open the dropdown automatically on mount or render (default: false) */\n autoOpen?: boolean\n complete?: boolean\n description?: string\n disabled?: boolean\n error?: string | boolean\n focus?: boolean\n hover?: boolean\n /** Selected values (updating the list will refresh the internal selection and re-render the component) */\n selected?: Option[\"value\"][]\n name?: string\n options: Option[]\n required?: boolean\n title?: string\n onBlur?: (selection: Option[]) => void\n onFocus?: () => void\n onSelect?: (selection: Option[]) => void\n\n visible?: boolean\n}\n\n/** A drop-down multi-select menu */\nexport const MultiSelect: React.FC<\n React.PropsWithChildren<MultiSelectProps>\n> = ({\n autoOpen = false,\n complete,\n description,\n disabled,\n error,\n focus,\n hover,\n selected = [],\n name = \"Select\",\n options,\n required,\n title,\n onBlur,\n onFocus,\n onSelect,\n ...rest\n}) => {\n const selectedOptions = valuesToOptions(selected, options)\n\n const [visible, setVisible] = useState(autoOpen)\n const [selection, setSelection] = useState<Option[]>(selectedOptions || [])\n\n useEffect(() => {\n const newSelectedOptions = valuesToOptions(selected, options)\n setSelection(newSelectedOptions)\n }, [selected.toString()])\n\n // Yields focus back and forth between popover and anchor\n useUpdateEffect(() => {\n if (visible && tooltipRef.current) {\n tooltipRef.current.focus()\n return\n }\n\n if (!anchorRef.current) return\n anchorRef.current.focus()\n }, [visible])\n\n const handleVisible = () => {\n setVisible(true)\n onFocus?.()\n }\n\n const handleHide = () => {\n setVisible(false)\n onBlur?.(selection)\n }\n\n useEffect(() => {\n const handleKeydown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n handleHide()\n }\n }\n\n document.addEventListener(\"keydown\", handleKeydown)\n return () => {\n document.removeEventListener(\"keydown\", handleKeydown)\n }\n }, [])\n const { anchorRef, tooltipRef } = usePosition({\n position: \"bottom\",\n offset: 10,\n active: visible,\n })\n\n const { width } = useWidthOf({ ref: anchorRef })\n\n useClickOutside({\n ref: tooltipRef,\n onClickOutside: handleHide,\n when: visible,\n type: \"click\",\n })\n\n const handleSelect = (option: Option) => {\n return (selected: boolean) => {\n const prevSelection = selection\n const nextSelection = selected\n ? [...prevSelection, option]\n : prevSelection.filter(({ value }) => option.value !== value)\n\n setSelection(nextSelection)\n onSelect?.(nextSelection)\n }\n }\n\n return (\n <Box width=\"100%\" {...rest}>\n {!!description && (\n <Tooltip pointer content={description} placement=\"top-end\">\n <Text variant=\"xs\" color=\"mono60\" textAlign=\"right\">\n <u>What is this?</u>\n </Text>\n </Tooltip>\n )}\n\n <Container\n mt={!!title && !description ? 1 : 0}\n ref={anchorRef as any}\n onClick={handleVisible}\n complete={complete || selection.length > 0}\n disabled={!!disabled}\n error={error}\n focus={!!focus}\n hover={!!hover}\n title={title}\n visible={visible}\n {...rest}\n >\n <Text variant=\"sm\" lineHeight={1} overflowEllipsis>\n {selection.length > 0\n ? [...selection]\n .reverse()\n .map((s) => s.text)\n .join(\", \")\n : name}\n </Text>\n\n {!!title && <StyledLabel htmlFor={name}>{title}</StyledLabel>}\n </Container>\n\n {visible && (\n <Options\n tabIndex={0}\n ref={tooltipRef as any}\n zIndex={1}\n bg=\"mono0\"\n width={width}\n >\n {options.map((option) => {\n return (\n <Checkbox\n key={option.value}\n height={50}\n px={1}\n selected={selection.map((o) => o.value).includes(option.value)}\n onSelect={handleSelect(option)}\n >\n {option.text}\n </Checkbox>\n )\n })}\n </Options>\n )}\n\n {required && !(error && typeof error === \"string\") && (\n <RequiredField mt={0.5} ml={1} disabled={disabled} />\n )}\n\n {error && typeof error === \"string\" && (\n <Text variant=\"xs\" mt={0.5} ml={1} color=\"red100\">\n {error}\n </Text>\n )}\n </Box>\n )\n}\n\nconst valuesToOptions = (\n values: Option[\"value\"][],\n options: Option[]\n): Option[] => {\n return options.filter((option) => values.includes(option.value))\n}\n\nconst Options = styled(Box)`\n position: fixed;\n z-index: 1;\n max-height: 300px;\n text-align: left;\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n`\n\ntype ContainerProps = Pick<\n MultiSelectProps,\n \"complete\" | \"disabled\" | \"error\" | \"hover\" | \"focus\" | \"visible\"\n>\n\nconst Container = styled(Clickable)<ContainerProps>`\n position: relative;\n width: 100%;\n /* 24px = space.1 + 4px-wide caret + space.1 */\n padding: 16px 24px 16px ${themeGet(\"space.1\")};\n font-family: ${themeGet(\"fonts.sans\")};\n border: 1px solid;\n border-radius: 3px;\n border-color: ${themeGet(\"colors.mono30\")};\n cursor: pointer;\n line-height: 1;\n transition: color 0.25s, background-color 0.25s, border-color 0.25s;\n background-color: ${themeGet(\"colors.mono0\")};\n\n ${(props) => {\n return css`\n ${MULTISELECT_STATES.default}\n ${props.complete && MULTISELECT_STATES.completed}\n ${props.hover && MULTISELECT_STATES.hover}\n ${props.focus && MULTISELECT_STATES.focus}\n ${props.disabled && MULTISELECT_STATES.disabled}\n ${props.error && MULTISELECT_STATES.error}\n\n &:hover {\n ${MULTISELECT_STATES.hover}\n }\n\n ${props.visible && MULTISELECT_STATES.focus}\n\n &:disabled {\n cursor: default;\n ${MULTISELECT_STATES.disabled}\n }\n\n // Hide text behind title when it's visible\n ${props.title &&\n !props.complete &&\n !props.visible &&\n css`\n color: transparent !important;\n `}\n `\n }}\n\n ${caretMixin}\n`\n\nconst StyledLabel = styled.label`\n position: absolute;\n top: 50%;\n left: 5px;\n padding: 0 5px;\n pointer-events: none;\n transform: translateY(-50%);\n transition: ${FORM_ELEMENT_TRANSITION};\n transition-property: color, transform, padding, font-size;\n background-color: ${themeGet(\"colors.mono0\")};\n font-family: ${themeGet(\"fonts.sans\")};\n`\n"],"mappings":"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"}
@@ -5,3 +5,4 @@ declare const _default: {
5
5
  export default _default;
6
6
  export declare const Default: () => React.JSX.Element;
7
7
  export declare const Example: () => React.JSX.Element;
8
+ export declare const CustomSelectionLogic: () => React.JSX.Element;
@@ -4,7 +4,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = exports.Example = exports.Default = void 0;
7
+ exports.default = exports.Example = exports.Default = exports.CustomSelectionLogic = void 0;
8
8
  var _test = require("@storybook/test");
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _storybookStates = require("storybook-states");
@@ -91,4 +91,26 @@ var Example = exports.Example = function Example() {
91
91
  }
92
92
  }));
93
93
  };
94
+ var CustomSelectionLogic = exports.CustomSelectionLogic = function CustomSelectionLogic() {
95
+ var _React$useState = _react.default.useState([]),
96
+ _React$useState2 = _slicedToArray(_React$useState, 2),
97
+ selectedValue = _React$useState2[0],
98
+ setSelectedValue = _React$useState2[1];
99
+ var handleSelect = function handleSelect(selection) {
100
+ // If a new option is selected, only keep the most recently selected one
101
+ if (selection.length > selectedValue.length) {
102
+ var newlySelected = selection[selection.length - 1];
103
+ setSelectedValue([newlySelected.value]);
104
+ } else {
105
+ // If an option was deselected, clear the selection
106
+ setSelectedValue([]);
107
+ }
108
+ };
109
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", null, "This MultiSelect behaves like a single select - selecting a new option deselects all others."), /*#__PURE__*/_react.default.createElement("pre", null, "Selected: ", JSON.stringify(selectedValue)), /*#__PURE__*/_react.default.createElement(_MultiSelect.MultiSelect, {
110
+ options: OPTIONS,
111
+ name: "Select one medium",
112
+ selected: selectedValue,
113
+ onSelect: handleSelect
114
+ }));
115
+ };
94
116
  //# sourceMappingURL=MultiSelect.story.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelect.story.js","names":["_test","require","_react","_interopRequireWildcard","_storybookStates","_MultiSelect","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","return","isArray","_default","exports","title","OPTIONS","text","Default","createElement","States","states","focus","hover","complete","error","disabled","required","description","MultiSelect","options","onSelect","fn","displayName","Example","_useReducer","useReducer","state","newFilter","_useReducer2","filters","setFilter","Fragment","JSON","stringify","sizes","map","size"],"sources":["../../../src/elements/MultiSelect/MultiSelect.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React, { useReducer } from \"react\"\nimport { States } from \"storybook-states\"\nimport { MultiSelect, MultiSelectProps } from \"./MultiSelect\"\n\nexport default {\n title: \"Components/MultiSelect\",\n}\n\nconst OPTIONS = [\n { text: \"Painting\", value: \"painting\" },\n { text: \"Print\", value: \"print\" },\n { text: \"Sculpture\", value: \"sculpture\" },\n { text: \"Photography\", value: \"photography\" },\n { text: \"Mixed Media\", value: \"mixed-media\" },\n]\n\nexport const Default = () => {\n return (\n <States<Partial<MultiSelectProps>>\n states={[\n {},\n { focus: true },\n { hover: true },\n { complete: true },\n { error: \"Something went wrong.\" },\n { disabled: true },\n { title: \"Medium\", name: \"Select\" },\n { title: \"Medium\", name: \"Select\", required: true },\n {\n title: \"Medium\",\n name: \"Select\",\n description: \"Materials or support\",\n },\n ]}\n >\n <MultiSelect\n name=\"Medium\"\n options={OPTIONS}\n onSelect={fn()}\n />\n </States>\n )\n}\n\nexport const Example = () => {\n const [filters, setFilter] = useReducer(\n (state, newFilter) => ({ ...state, ...newFilter }),\n {}\n )\n\n return (\n <>\n <pre>{JSON.stringify(filters)}</pre>\n\n <MultiSelect\n options={OPTIONS}\n name=\"Size\"\n onSelect={(sizes) => {\n setFilter({ sizes: sizes.map((size) => size.value) })\n }}\n />\n </>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelect.story.js","names":["_test","require","_react","_interopRequireWildcard","_storybookStates","_MultiSelect","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","return","isArray","_default","exports","title","OPTIONS","text","Default","createElement","States","states","focus","hover","complete","error","disabled","required","description","MultiSelect","options","onSelect","fn","displayName","Example","_useReducer","useReducer","state","newFilter","_useReducer2","filters","setFilter","Fragment","JSON","stringify","sizes","map","size","CustomSelectionLogic","_React$useState","React","useState","_React$useState2","selectedValue","setSelectedValue","handleSelect","selection","newlySelected","selected"],"sources":["../../../src/elements/MultiSelect/MultiSelect.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React, { useReducer } from \"react\"\nimport { States } from \"storybook-states\"\nimport { MultiSelect, MultiSelectProps } from \"./MultiSelect\"\n\nexport default {\n title: \"Components/MultiSelect\",\n}\n\nconst OPTIONS = [\n { text: \"Painting\", value: \"painting\" },\n { text: \"Print\", value: \"print\" },\n { text: \"Sculpture\", value: \"sculpture\" },\n { text: \"Photography\", value: \"photography\" },\n { text: \"Mixed Media\", value: \"mixed-media\" },\n]\n\nexport const Default = () => {\n return (\n <States<Partial<MultiSelectProps>>\n states={[\n {},\n { focus: true },\n { hover: true },\n { complete: true },\n { error: \"Something went wrong.\" },\n { disabled: true },\n { title: \"Medium\", name: \"Select\" },\n { title: \"Medium\", name: \"Select\", required: true },\n {\n title: \"Medium\",\n name: \"Select\",\n description: \"Materials or support\",\n },\n ]}\n >\n <MultiSelect name=\"Medium\" options={OPTIONS} onSelect={fn()} />\n </States>\n )\n}\n\nexport const Example = () => {\n const [filters, setFilter] = useReducer(\n (state, newFilter) => ({ ...state, ...newFilter }),\n {}\n )\n\n return (\n <>\n <pre>{JSON.stringify(filters)}</pre>\n\n <MultiSelect\n options={OPTIONS}\n name=\"Size\"\n onSelect={(sizes) => {\n setFilter({ sizes: sizes.map((size) => size.value) })\n }}\n />\n </>\n )\n}\n\nexport const CustomSelectionLogic = () => {\n const [selectedValue, setSelectedValue] = React.useState<string[]>([])\n\n const handleSelect = (selection) => {\n // If a new option is selected, only keep the most recently selected one\n if (selection.length > selectedValue.length) {\n const newlySelected = selection[selection.length - 1]\n setSelectedValue([newlySelected.value])\n } else {\n // If an option was deselected, clear the selection\n setSelectedValue([])\n }\n }\n\n return (\n <>\n <p>\n This MultiSelect behaves like a single select - selecting a new option\n deselects all others.\n </p>\n <pre>Selected: {JSON.stringify(selectedValue)}</pre>\n\n <MultiSelect\n options={OPTIONS}\n name=\"Select one medium\"\n selected={selectedValue}\n onSelect={handleSelect}\n />\n </>\n )\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artsy/palette",
3
- "version": "44.0.0",
3
+ "version": "44.1.0",
4
4
  "description": "Design system library for react components",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {
@@ -190,5 +190,5 @@
190
190
  "url": "http://localhost"
191
191
  }
192
192
  },
193
- "gitHead": "b9bee8c36988469ef9083cae92d8d938ec80cfa0"
193
+ "gitHead": "8f2a8efe0bbdd52d58b61786d7b15e16c8b3487a"
194
194
  }