@artsy/palette 38.6.0 → 38.7.1

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.
@@ -187,7 +187,7 @@ var AutocompleteInput = function AutocompleteInput(_ref) {
187
187
  type: "OPEN"
188
188
  });
189
189
  };
190
- var handleInputOptionClick = function handleInputOptionClick(option, i) {
190
+ var handleMouseDown = function handleMouseDown(option, i) {
191
191
  return function () {
192
192
  handleSelect(option, i);
193
193
  resetUI();
@@ -378,7 +378,7 @@ var AutocompleteInput = function AutocompleteInput(_ref) {
378
378
  "aria-selected": i === index,
379
379
  "aria-posinset": i + 1,
380
380
  "aria-setsize": options.length,
381
- onClick: handleInputOptionClick(option, i),
381
+ onMouseDown: handleMouseDown(option, i),
382
382
  onMouseEnter: handleMouseEnter(i),
383
383
  selected: i === index,
384
384
  tabIndex: -1
@@ -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","_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","handleInputOptionClick","handleClick","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","selected","tabIndex","VisuallyHidden","exports","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) => void)\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 handleInputOptionClick = (option: T, i: number) => () => {\n handleSelect(option, i)\n resetUI()\n }\n\n const handleClick = () => {\n dispatch({ type: \"OPEN\" })\n }\n\n const handleMouseEnter = (i: number) => () => {\n set({ cursor: i, interactive: true })\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=\"black60\" aria-hidden />\n </Clickable>\n ) : (\n <SearchIcon fill=\"black60\" 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 onClick={handleInputOptionClick(option, i)}\n onMouseEnter={handleMouseEnter(i)}\n selected={i === index}\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,MAAAuB,IAAA,CAAAvB,CAAA,IAAAM,GAAA,CAAAN,CAAA,YAAAuB,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,sBAAAM,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,GAAG,SAApBA,iBAAiBA,CAAAC,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,oBAAK1J,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAC7I,6BAAA,CAAA8I,4BAA4B,EAAKF,MAAM,CAAI;IAAA,IAAAF,iBAAA;IACpEK,IAAI,GAAAvE,wBAAA,CAAA0C,IAAA,EAAAhH,SAAA;EAEP,IAAM8I,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,GAAAjH,cAAA,CAAA+G,cAAA;IAA3CG,QAAQ,GAAAD,eAAA;IAAEE,UAAU,GAAAF,eAAA;EAE3B,IAAAG,WAAA,GAA0B,IAAAC,iBAAU,EAACjD,OAAO,EAAE;MAC5CI,IAAI,EAAE,KAAK;MACXC,KAAK,EAAEQ;IACT,CAAC,CAAC;IAAAqC,YAAA,GAAAtH,cAAA,CAAAoH,WAAA;IAHK/C,KAAK,GAAAiD,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;QAAEhD,IAAI,EAAE;MAAQ,CAAC,CAAC;IAC7B,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EAED,IAAM4D,YAAY,GAAG,SAAfA,YAAYA,CAAI7B,MAAS,EAAE8B,KAAa,EAAK;IAAA,IAAAC,kBAAA;IACjDd,QAAQ,CAAC;MAAEhD,IAAI,EAAE,QAAQ;MAAEG,OAAO,EAAE;QAAED,KAAK,EAAE6B,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,SAAAA,QAAAC,KAAA,EAA0C;QAAA,IAA9BtC,MAAM,GAAAsC,KAAA,CAAfC,OAAO;UAAiBlJ,CAAC,GAAAiJ,KAAA,CAARR,KAAK;UAAKU,KAAK,GAAAF,KAAA,CAALE,KAAK;QAC1CA,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QACvBb,YAAY,CAAC7B,MAAM,EAAE3G,CAAC,CAAC;QACvBkI,OAAO,EAAE;MACX;IACF,CAAC,CAAC;IAVMO,KAAK,GAAAG,qBAAA,CAALH,KAAK;IAAEF,KAAK,GAAAK,qBAAA,CAALL,KAAK;IAAE/I,GAAG,GAAAoJ,qBAAA,CAAHpJ,GAAG;EAYzB,IAAM8J,iBAAiB,GAAG5E,KAAK,CAACG,IAAI,IAAI2B,OAAO,CAACtG,MAAM,GAAG,CAAC;;EAE1D;EACA;EACA,IAAAqJ,gBAAS,EAAChB,KAAK,EAAE,CAAC/B,OAAO,CAAC,CAAC;;EAE3B;EACA,IAAA+C,gBAAS,EAAC,YAAM;IACd,IAAI7E,KAAK,CAACI,KAAK,KAAK,EAAE,EAAEyD,KAAK,EAAE;EACjC,CAAC,EAAE,CAACA,KAAK,EAAE7D,KAAK,CAACI,KAAK,CAAC,CAAC;EAExB,IAAA0E,YAAA,GAAkC,IAAAC,kBAAW,EAAC;MAC5CC,MAAM,EAAEJ,iBAAiB;MACzBlE,KAAK,EAALA,KAAK;MACLM,IAAI,EAAJA,IAAI;MACJvG,GAAG,EAAEqH,OAAO,CAACtG,MAAM;MACnByJ,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;MAAEhD,IAAI,EAAE;IAAO,CAAC,CAAC;EAC5B,CAAC;EAED,IAAMuF,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIxD,MAAS,EAAE3G,CAAS;IAAA,OAAK,YAAM;MAC7DwI,YAAY,CAAC7B,MAAM,EAAE3G,CAAC,CAAC;MACvBkI,OAAO,EAAE;IACX,CAAC;EAAA;EAED,IAAMkC,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxBxC,QAAQ,CAAC;MAAEhD,IAAI,EAAE;IAAO,CAAC,CAAC;EAC5B,CAAC;EAED,IAAMyF,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIrK,CAAS;IAAA,OAAK,YAAM;MAC5CR,GAAG,CAAC;QAAE8K,MAAM,EAAEtK,CAAC;QAAEuK,WAAW,EAAE;MAAK,CAAC,CAAC;IACvC,CAAC;EAAA;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIrB,KAA0C,EAAK;IACnE,IACmBhH,KAAK,GACpBgH,KAAK,CADPsB,aAAa,CAAItI,KAAK;IAGxByF,QAAQ,CAAC;MAAEhD,IAAI,EAAE,QAAQ;MAAEG,OAAO,EAAE;QAAED,KAAK,EAAE3C;MAAM;IAAE,CAAC,CAAC;IACvD+D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGiD,KAAK,CAAC;EACnB,CAAC;EAED,IAAMuB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;IAAA,IAAAC,kBAAA;IAChC,IAAIjG,KAAK,CAACI,KAAK,KAAK,EAAE,EAAE;MACtByB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG7B,KAAK,CAACI,KAAK,CAAC;MACvB;IACF;IAEA8C,QAAQ,CAAC;MAAEhD,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3B,CAAA+F,kBAAA,GAAA5D,QAAQ,CAACsB,OAAO,cAAAsC,kBAAA,uBAAhBA,kBAAA,CAAkBrC,KAAK,EAAE;IACzBnC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,EAAI;EACb,CAAC;EAED,IAAMyE,WAAW,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACpCjD,QAAQ,CAAC;MAAEhD,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3B2D,KAAK,EAAE;IACPnC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,EAAI;EACb,CAAC,EAAE,CAACA,OAAO,EAAEmC,KAAK,CAAC,CAAC;EAEpB,IAAMuC,oBAAoB,GAAG,IAAA9D,aAAM,EAAU,KAAK,CAAC;EACnD,IAAM+D,iBAAiB,GAAG;IACxBC,WAAW,EAAE,SAAAA,YAAA;MAAA,OAAOF,oBAAoB,CAACzC,OAAO,GAAG,IAAI;IAAA,CAAC;IACxD4C,SAAS,EAAE,SAAAA,UAAA;MAAA,OAAOH,oBAAoB,CAACzC,OAAO,GAAG,KAAK;IAAA;EACxD,CAAC;;EAED;EACA,IAAAkB,gBAAS,EAAC,YAAM;IAAA,IAAA2B,WAAA,EAAAC,mBAAA;IACd,IAAMxE,MAAM,GAAGkB,eAAe,CAACY,KAAK,CAAC;IACrC9B,MAAM,aAANA,MAAM,wBAAAuE,WAAA,GAANvE,MAAM,CAAEqB,GAAG,cAAAkD,WAAA,wBAAAC,mBAAA,GAAXD,WAAA,CAAa7C,OAAO,cAAA8C,mBAAA,uBAApBA,mBAAA,CAAsB7C,KAAK,EAAE;EAC/B,CAAC,EAAE,CAACG,KAAK,EAAEZ,eAAe,CAAC,CAAC;EAE5B,IAAMuD,iBAAiB,GAAG,IAAAP,kBAAW,EACnC,UAACQ,OAAgB,EAAK;IACpB,IAAIP,oBAAoB,CAACzC,OAAO,IAAIgD,OAAO,IAAI,CAAC/B,iBAAiB,EAAE;IAEnEsB,WAAW,EAAE;EACf,CAAC,EAED,CAACtB,iBAAiB,EAAEsB,WAAW,CAAC,CACjC;;EAED;EACA;EACA,IAAAU,iBAAA,GAAkC,IAAAC,uBAAgB,EAAC;MACjDrF,QAAQ,EAAEkF;IACZ,CAAC,CAAC;IAFWI,gBAAgB,GAAAF,iBAAA,CAArBtD,GAAG;EAIX,IAAAyD,sBAAe,EAAC;IACdzD,GAAG,EAAEwD,gBAAgB;IACrBE,cAAc,EAAEd,WAAW;IAC3Be,IAAI,EAAErC,iBAAiB;IACvB1E,IAAI,EAAE;EACR,CAAC,CAAC;EAEF,IAAMgH,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIzC,KAA4C,EAAK;IAAA,IAAA0C,kBAAA;IAC3E,QAAQ1C,KAAK,CAAChK,GAAG;MACf;MACA,KAAK,OAAO;QACV,IAAIuF,KAAK,CAACI,KAAK,KAAK,EAAE,IAAI2D,KAAK,KAAK,CAAC,CAAC,EAAE;UACtClC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG7B,KAAK,CAACI,KAAK,CAAC;UACvBoD,OAAO,EAAE;QACX;QACA;;MAEF;MACA,KAAK,QAAQ;QACXiB,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QAEvBzB,QAAQ,CAAC;UAAEhD,IAAI,EAAE;QAAQ,CAAC,CAAC;QAC3B,CAAAiH,kBAAA,GAAA9E,QAAQ,CAACsB,OAAO,cAAAwD,kBAAA,uBAAhBA,kBAAA,CAAkBC,IAAI,EAAE;QAExB;MAEF;QACE;IAAK;IAGTzF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG8C,KAAK,CAAC;EACpB,CAAC;;EAED;EACA,IAAM4C,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAC1B5C,KAA0C,EACvC;IAAA,IAAA6C,kBAAA,EAAAC,kBAAA;IACH,QAAQ9C,KAAK,CAAChK,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;QACXgK,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QAEvBzB,QAAQ,CAAC;UAAEhD,IAAI,EAAE;QAAQ,CAAC,CAAC;QAC3B,CAAAoH,kBAAA,GAAAjF,QAAQ,CAACsB,OAAO,cAAA2D,kBAAA,uBAAhBA,kBAAA,CAAkBF,IAAI,EAAE;QACxBvD,KAAK,EAAE;QAEP;MAEF;QACE,CAAA0D,kBAAA,GAAAlF,QAAQ,CAACsB,OAAO,cAAA4D,kBAAA,uBAAhBA,kBAAA,CAAkB3D,KAAK,EAAE;IAAA;EAE/B,CAAC;;EAED;EACA,IAAM4D,MAAM,GAAG1F,OAAO,CAACiC,KAAK,CAAC;EAE7B,oBACExL,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAClJ,IAAA,CAAAyO,GAAG,EAAAvM,QAAA;IACFoI,GAAG,EAAE,IAAAoE,yBAAW,EAACnF,YAAY,EAAEuE,gBAAgB,CAAS;IACxDnF,SAAS,EAAE0F;EAAuB,GAC9BxE,QAAQ,gBAEZtK,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAChJ,aAAA,CAAAyO,YAAY,EAAAzM,QAAA;IACXoI,GAAG,EAAE,IAAAoE,yBAAW,EAACrF,QAAQ,EAAE8C,SAAS,EAAEjE,YAAY,CAAS;IAC3D0G,IAAI,EAAC,UAAU;IACf,iBAAehD,iBAAkB;IACjC,qBAAkB;EAAM,GACnBtD,EAAE,GAAG;IAAEA,EAAE,EAAFA,EAAE;IAAE,kBAAkB,KAAAuG,MAAA,CAAKvG,EAAE;EAAkB,CAAC,GAAG,CAAC,CAAC;IACjEwG,KAAK,EACHvG,OAAO,gBACLhJ,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAClJ,IAAA,CAAAyO,GAAG;MAAClC,KAAK,EAAE;IAAG,gBACbhN,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACvJ,QAAA,CAAAoP,OAAO;MAACC,IAAI,EAAC;IAAO,EAAG,CACpB,GACJhI,KAAK,CAACI,KAAK,gBACb7H,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACjJ,UAAA,CAAAgP,SAAS;MACRC,OAAO,EAAElC,mBAAoB;MAC7B3E,MAAM,EAAC,MAAM;MACb8G,OAAO,EAAC,MAAM;MACdC,UAAU,EAAC,QAAQ;MACnB,cAAW;IAAa,gBAExB7P,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACrJ,UAAA,CAAAmB,OAAS;MAACqO,IAAI,EAAC,SAAS;MAAC;IAAW,EAAG,CAC9B,gBAEZ9P,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACtJ,WAAA,CAAAoB,OAAU;MAACqO,IAAI,EAAC,SAAS;MAAC;IAAW,EAEzC;IACD5K,KAAK,GAAA+C,YAAA,GAAEgH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEvD,IAAI,cAAAzD,YAAA,cAAAA,YAAA,GAAIR,KAAK,CAACI,KAAM;IACnCoB,QAAQ,EAAEsE,YAAa;IACvBwC,OAAO,EAAE9C,WAAY;IACrB7D,SAAS,EAAEuF,kBAAmB;IAC9BgB,OAAO,EAAExC,WAAY;IACrB6C,YAAY,EAAC,KAAK;IAClBlH,MAAM,EAAEA;EAAO,GACXyB,UAAU,EACd,EAED8B,iBAAiB,iBAChBrM,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACsG,yBAAyB;IACxBlF,GAAG,EAAE8B,UAAkB;IACvBwC,IAAI,EAAC,SAAS;IACdrC,KAAK,EAAEA;EAAM,gBAEbhN,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,QAAAhH,QAAA;IAAKoI,GAAG,EAAEd;EAAU,GAAK6D,iBAAiB,GACvCjF,MAAM,CACH,eAEN7I,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACuG,wBAAwB;IAACC,SAAS,EAAE5H;EAAkB,GACpDqC,eAAe,CAACE,GAAG,CAAC,UAAAsF,KAAA,EAAkBrN,CAAC,EAAK;IAAA,IAArB2G,MAAM,GAAA0G,KAAA,CAAN1G,MAAM;MAAEqB,GAAG,GAAAqF,KAAA,CAAHrF,GAAG;IACjC,oBACE/K,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAC9I,wBAAA,CAAAwP,uBAAuB;MACtBnO,GAAG,EAAEa,CAAE;MACPgI,GAAG,EAAEA,GAAI;MACTsE,IAAI,EAAC,QAAQ;MACb,iBAAetM,CAAC,KAAKyI,KAAM;MAC3B,iBAAezI,CAAC,GAAG,CAAE;MACrB,gBAAcwG,OAAO,CAACtG,MAAO;MAC7B0M,OAAO,EAAEzC,sBAAsB,CAACxD,MAAM,EAAE3G,CAAC,CAAE;MAC3CuN,YAAY,EAAElD,gBAAgB,CAACrK,CAAC,CAAE;MAClCwN,QAAQ,EAAExN,CAAC,KAAKyI,KAAM;MACtBgF,QAAQ,EAAE,CAAC;IAAE,GAEZ/G,YAAY,CAACC,MAAM,EAAE3G,CAAC,CAAC,CACA;EAE9B,CAAC,CAAC,CACuB,eAE3B/C,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,QAAAhH,QAAA;IAAKoI,GAAG,EAAEb;EAAU,GAAK4D,iBAAiB,GACvC,OAAOpF,MAAM,KAAK,UAAU,GACzBA,MAAM,CAAC;IAAES,OAAO,EAAEwE;EAAY,CAAC,CAAC,GAChCjF,MAAM,CACN,CAET,eAED1I,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAC/I,eAAA,CAAA6P,cAAc,EAAM1H,EAAE,GAAG;IAAEA,EAAE,KAAAuG,MAAA,CAAKvG,EAAE;EAAkB,CAAC,GAAG,CAAC,CAAC,EAAG,4JAIhE,CAAiB,EAEhBsD,iBAAiB,iBAChBrM,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAC/I,eAAA,CAAA6P,cAAc;IAACpB,IAAI,EAAC,QAAQ;IAAC,eAAY,MAAM;IAAC,aAAU;EAAQ,GAChE9F,OAAO,CAACtG,MAAM,KAAK,CAAC,gCAAAqM,MAAA,CAEd/F,OAAO,CAACtG,MAAM,2BAAwB,CAEhD,CACG;AAEV,CAAC;AAAAyN,OAAA,CAAA3I,iBAAA,GAAAA,iBAAA;AAnUYA,iBAAiB,CAAA4I,WAAA;AAqU9B,IAAMV,yBAAyB,GAAG,IAAAW,yBAAM,EAAC1B,QAAG,CAAC,CAAA2B,UAAA;EAAAF,WAAA;EAAAG,WAAA;AAAA,mCAC7B,IAAAC,kBAAQ,EAAC,oBAAoB,CAAC,CAE7C;AAED,IAAMb,wBAAwB,GAAG,IAAAU,yBAAM,EAAC1B,QAAG,CAAC,CAAA2B,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","_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","_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","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","selected","tabIndex","VisuallyHidden","exports","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) => void)\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 const handleMouseEnter = (i: number) => () => {\n set({ cursor: i, interactive: true })\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=\"black60\" aria-hidden />\n </Clickable>\n ) : (\n <SearchIcon fill=\"black60\" 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 selected={i === index}\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,MAAAuB,IAAA,CAAAvB,CAAA,IAAAM,GAAA,CAAAN,CAAA,YAAAuB,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,sBAAAM,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,GAAG,SAApBA,iBAAiBA,CAAAC,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,oBAAK1J,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAC7I,6BAAA,CAAA8I,4BAA4B,EAAKF,MAAM,CAAI;IAAA,IAAAF,iBAAA;IACpEK,IAAI,GAAAvE,wBAAA,CAAA0C,IAAA,EAAAhH,SAAA;EAEP,IAAM8I,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,GAAAjH,cAAA,CAAA+G,cAAA;IAA3CG,QAAQ,GAAAD,eAAA;IAAEE,UAAU,GAAAF,eAAA;EAE3B,IAAAG,WAAA,GAA0B,IAAAC,iBAAU,EAACjD,OAAO,EAAE;MAC5CI,IAAI,EAAE,KAAK;MACXC,KAAK,EAAEQ;IACT,CAAC,CAAC;IAAAqC,YAAA,GAAAtH,cAAA,CAAAoH,WAAA;IAHK/C,KAAK,GAAAiD,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;QAAEhD,IAAI,EAAE;MAAQ,CAAC,CAAC;IAC7B,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EAED,IAAM4D,YAAY,GAAG,SAAfA,YAAYA,CAAI7B,MAAS,EAAE8B,KAAa,EAAK;IAAA,IAAAC,kBAAA;IACjDd,QAAQ,CAAC;MAAEhD,IAAI,EAAE,QAAQ;MAAEG,OAAO,EAAE;QAAED,KAAK,EAAE6B,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,SAAAA,QAAAC,KAAA,EAA0C;QAAA,IAA9BtC,MAAM,GAAAsC,KAAA,CAAfC,OAAO;UAAiBlJ,CAAC,GAAAiJ,KAAA,CAARR,KAAK;UAAKU,KAAK,GAAAF,KAAA,CAALE,KAAK;QAC1CA,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QACvBb,YAAY,CAAC7B,MAAM,EAAE3G,CAAC,CAAC;QACvBkI,OAAO,EAAE;MACX;IACF,CAAC,CAAC;IAVMO,KAAK,GAAAG,qBAAA,CAALH,KAAK;IAAEF,KAAK,GAAAK,qBAAA,CAALL,KAAK;IAAE/I,GAAG,GAAAoJ,qBAAA,CAAHpJ,GAAG;EAYzB,IAAM8J,iBAAiB,GAAG5E,KAAK,CAACG,IAAI,IAAI2B,OAAO,CAACtG,MAAM,GAAG,CAAC;;EAE1D;EACA;EACA,IAAAqJ,gBAAS,EAAChB,KAAK,EAAE,CAAC/B,OAAO,CAAC,CAAC;;EAE3B;EACA,IAAA+C,gBAAS,EAAC,YAAM;IACd,IAAI7E,KAAK,CAACI,KAAK,KAAK,EAAE,EAAEyD,KAAK,EAAE;EACjC,CAAC,EAAE,CAACA,KAAK,EAAE7D,KAAK,CAACI,KAAK,CAAC,CAAC;EAExB,IAAA0E,YAAA,GAAkC,IAAAC,kBAAW,EAAC;MAC5CC,MAAM,EAAEJ,iBAAiB;MACzBlE,KAAK,EAALA,KAAK;MACLM,IAAI,EAAJA,IAAI;MACJvG,GAAG,EAAEqH,OAAO,CAACtG,MAAM;MACnByJ,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;MAAEhD,IAAI,EAAE;IAAO,CAAC,CAAC;EAC5B,CAAC;EAED,IAAMuF,eAAe,GAAG,SAAlBA,eAAeA,CAAIxD,MAAS,EAAE3G,CAAS;IAAA,OAAK,YAAM;MACtDwI,YAAY,CAAC7B,MAAM,EAAE3G,CAAC,CAAC;MACvBkI,OAAO,EAAE;IACX,CAAC;EAAA;EAED,IAAMkC,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxBxC,QAAQ,CAAC;MAAEhD,IAAI,EAAE;IAAO,CAAC,CAAC;EAC5B,CAAC;EAED,IAAMyF,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIrK,CAAS;IAAA,OAAK,YAAM;MAC5CR,GAAG,CAAC;QAAE8K,MAAM,EAAEtK,CAAC;QAAEuK,WAAW,EAAE;MAAK,CAAC,CAAC;IACvC,CAAC;EAAA;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAYA,CAAIrB,KAA0C,EAAK;IACnE,IACmBhH,KAAK,GACpBgH,KAAK,CADPsB,aAAa,CAAItI,KAAK;IAGxByF,QAAQ,CAAC;MAAEhD,IAAI,EAAE,QAAQ;MAAEG,OAAO,EAAE;QAAED,KAAK,EAAE3C;MAAM;IAAE,CAAC,CAAC;IACvD+D,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGiD,KAAK,CAAC;EACnB,CAAC;EAED,IAAMuB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;IAAA,IAAAC,kBAAA;IAChC,IAAIjG,KAAK,CAACI,KAAK,KAAK,EAAE,EAAE;MACtByB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG7B,KAAK,CAACI,KAAK,CAAC;MACvB;IACF;IAEA8C,QAAQ,CAAC;MAAEhD,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3B,CAAA+F,kBAAA,GAAA5D,QAAQ,CAACsB,OAAO,cAAAsC,kBAAA,uBAAhBA,kBAAA,CAAkBrC,KAAK,EAAE;IACzBnC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,EAAI;EACb,CAAC;EAED,IAAMyE,WAAW,GAAG,IAAAC,kBAAW,EAAC,YAAM;IACpCjD,QAAQ,CAAC;MAAEhD,IAAI,EAAE;IAAQ,CAAC,CAAC;IAC3B2D,KAAK,EAAE;IACPnC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,EAAI;EACb,CAAC,EAAE,CAACA,OAAO,EAAEmC,KAAK,CAAC,CAAC;EAEpB,IAAMuC,oBAAoB,GAAG,IAAA9D,aAAM,EAAU,KAAK,CAAC;EACnD,IAAM+D,iBAAiB,GAAG;IACxBC,WAAW,EAAE,SAAAA,YAAA;MAAA,OAAOF,oBAAoB,CAACzC,OAAO,GAAG,IAAI;IAAA,CAAC;IACxD4C,SAAS,EAAE,SAAAA,UAAA;MAAA,OAAOH,oBAAoB,CAACzC,OAAO,GAAG,KAAK;IAAA;EACxD,CAAC;;EAED;EACA,IAAAkB,gBAAS,EAAC,YAAM;IAAA,IAAA2B,WAAA,EAAAC,mBAAA;IACd,IAAMxE,MAAM,GAAGkB,eAAe,CAACY,KAAK,CAAC;IACrC9B,MAAM,aAANA,MAAM,wBAAAuE,WAAA,GAANvE,MAAM,CAAEqB,GAAG,cAAAkD,WAAA,wBAAAC,mBAAA,GAAXD,WAAA,CAAa7C,OAAO,cAAA8C,mBAAA,uBAApBA,mBAAA,CAAsB7C,KAAK,EAAE;EAC/B,CAAC,EAAE,CAACG,KAAK,EAAEZ,eAAe,CAAC,CAAC;EAE5B,IAAMuD,iBAAiB,GAAG,IAAAP,kBAAW,EACnC,UAACQ,OAAgB,EAAK;IACpB,IAAIP,oBAAoB,CAACzC,OAAO,IAAIgD,OAAO,IAAI,CAAC/B,iBAAiB,EAAE;IAEnEsB,WAAW,EAAE;EACf,CAAC,EAED,CAACtB,iBAAiB,EAAEsB,WAAW,CAAC,CACjC;;EAED;EACA;EACA,IAAAU,iBAAA,GAAkC,IAAAC,uBAAgB,EAAC;MACjDrF,QAAQ,EAAEkF;IACZ,CAAC,CAAC;IAFWI,gBAAgB,GAAAF,iBAAA,CAArBtD,GAAG;EAIX,IAAAyD,sBAAe,EAAC;IACdzD,GAAG,EAAEwD,gBAAgB;IACrBE,cAAc,EAAEd,WAAW;IAC3Be,IAAI,EAAErC,iBAAiB;IACvB1E,IAAI,EAAE;EACR,CAAC,CAAC;EAEF,IAAMgH,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIzC,KAA4C,EAAK;IAAA,IAAA0C,kBAAA;IAC3E,QAAQ1C,KAAK,CAAChK,GAAG;MACf;MACA,KAAK,OAAO;QACV,IAAIuF,KAAK,CAACI,KAAK,KAAK,EAAE,IAAI2D,KAAK,KAAK,CAAC,CAAC,EAAE;UACtClC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG7B,KAAK,CAACI,KAAK,CAAC;UACvBoD,OAAO,EAAE;QACX;QACA;;MAEF;MACA,KAAK,QAAQ;QACXiB,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QAEvBzB,QAAQ,CAAC;UAAEhD,IAAI,EAAE;QAAQ,CAAC,CAAC;QAC3B,CAAAiH,kBAAA,GAAA9E,QAAQ,CAACsB,OAAO,cAAAwD,kBAAA,uBAAhBA,kBAAA,CAAkBC,IAAI,EAAE;QAExB;MAEF;QACE;IAAK;IAGTzF,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG8C,KAAK,CAAC;EACpB,CAAC;;EAED;EACA,IAAM4C,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAC1B5C,KAA0C,EACvC;IAAA,IAAA6C,kBAAA,EAAAC,kBAAA;IACH,QAAQ9C,KAAK,CAAChK,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;QACXgK,KAAK,CAACC,cAAc,EAAE;QACtBD,KAAK,CAACE,eAAe,EAAE;QAEvBzB,QAAQ,CAAC;UAAEhD,IAAI,EAAE;QAAQ,CAAC,CAAC;QAC3B,CAAAoH,kBAAA,GAAAjF,QAAQ,CAACsB,OAAO,cAAA2D,kBAAA,uBAAhBA,kBAAA,CAAkBF,IAAI,EAAE;QACxBvD,KAAK,EAAE;QAEP;MAEF;QACE,CAAA0D,kBAAA,GAAAlF,QAAQ,CAACsB,OAAO,cAAA4D,kBAAA,uBAAhBA,kBAAA,CAAkB3D,KAAK,EAAE;IAAA;EAE/B,CAAC;;EAED;EACA,IAAM4D,MAAM,GAAG1F,OAAO,CAACiC,KAAK,CAAC;EAE7B,oBACExL,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAClJ,IAAA,CAAAyO,GAAG,EAAAvM,QAAA;IACFoI,GAAG,EAAE,IAAAoE,yBAAW,EAACnF,YAAY,EAAEuE,gBAAgB,CAAS;IACxDnF,SAAS,EAAE0F;EAAuB,GAC9BxE,QAAQ,gBAEZtK,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAChJ,aAAA,CAAAyO,YAAY,EAAAzM,QAAA;IACXoI,GAAG,EAAE,IAAAoE,yBAAW,EAACrF,QAAQ,EAAE8C,SAAS,EAAEjE,YAAY,CAAS;IAC3D0G,IAAI,EAAC,UAAU;IACf,iBAAehD,iBAAkB;IACjC,qBAAkB;EAAM,GACnBtD,EAAE,GAAG;IAAEA,EAAE,EAAFA,EAAE;IAAE,kBAAkB,KAAAuG,MAAA,CAAKvG,EAAE;EAAkB,CAAC,GAAG,CAAC,CAAC;IACjEwG,KAAK,EACHvG,OAAO,gBACLhJ,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAClJ,IAAA,CAAAyO,GAAG;MAAClC,KAAK,EAAE;IAAG,gBACbhN,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACvJ,QAAA,CAAAoP,OAAO;MAACC,IAAI,EAAC;IAAO,EAAG,CACpB,GACJhI,KAAK,CAACI,KAAK,gBACb7H,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACjJ,UAAA,CAAAgP,SAAS;MACRC,OAAO,EAAElC,mBAAoB;MAC7B3E,MAAM,EAAC,MAAM;MACb8G,OAAO,EAAC,MAAM;MACdC,UAAU,EAAC,QAAQ;MACnB,cAAW;IAAa,gBAExB7P,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACrJ,UAAA,CAAAmB,OAAS;MAACqO,IAAI,EAAC,SAAS;MAAC;IAAW,EAAG,CAC9B,gBAEZ9P,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACtJ,WAAA,CAAAoB,OAAU;MAACqO,IAAI,EAAC,SAAS;MAAC;IAAW,EAEzC;IACD5K,KAAK,GAAA+C,YAAA,GAAEgH,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEvD,IAAI,cAAAzD,YAAA,cAAAA,YAAA,GAAIR,KAAK,CAACI,KAAM;IACnCoB,QAAQ,EAAEsE,YAAa;IACvBwC,OAAO,EAAE9C,WAAY;IACrB7D,SAAS,EAAEuF,kBAAmB;IAC9BgB,OAAO,EAAExC,WAAY;IACrB6C,YAAY,EAAC,KAAK;IAClBlH,MAAM,EAAEA;EAAO,GACXyB,UAAU,EACd,EAED8B,iBAAiB,iBAChBrM,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACsG,yBAAyB;IACxBlF,GAAG,EAAE8B,UAAkB;IACvBwC,IAAI,EAAC,SAAS;IACdrC,KAAK,EAAEA;EAAM,gBAEbhN,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,QAAAhH,QAAA;IAAKoI,GAAG,EAAEd;EAAU,GAAK6D,iBAAiB,GACvCjF,MAAM,CACH,eAEN7I,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAACuG,wBAAwB;IAACC,SAAS,EAAE5H;EAAkB,GACpDqC,eAAe,CAACE,GAAG,CAAC,UAAAsF,KAAA,EAAkBrN,CAAC,EAAK;IAAA,IAArB2G,MAAM,GAAA0G,KAAA,CAAN1G,MAAM;MAAEqB,GAAG,GAAAqF,KAAA,CAAHrF,GAAG;IACjC,oBACE/K,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAC9I,wBAAA,CAAAwP,uBAAuB;MACtBnO,GAAG,EAAEa,CAAE;MACPgI,GAAG,EAAEA,GAAI;MACTsE,IAAI,EAAC,QAAQ;MACb,iBAAetM,CAAC,KAAKyI,KAAM;MAC3B,iBAAezI,CAAC,GAAG,CAAE;MACrB,gBAAcwG,OAAO,CAACtG,MAAO;MAC7B8K,WAAW,EAAEb,eAAe,CAACxD,MAAM,EAAE3G,CAAC,CAAE;MACxCuN,YAAY,EAAElD,gBAAgB,CAACrK,CAAC,CAAE;MAClCwN,QAAQ,EAAExN,CAAC,KAAKyI,KAAM;MACtBgF,QAAQ,EAAE,CAAC;IAAE,GAEZ/G,YAAY,CAACC,MAAM,EAAE3G,CAAC,CAAC,CACA;EAE9B,CAAC,CAAC,CACuB,eAE3B/C,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,QAAAhH,QAAA;IAAKoI,GAAG,EAAEb;EAAU,GAAK4D,iBAAiB,GACvC,OAAOpF,MAAM,KAAK,UAAU,GACzBA,MAAM,CAAC;IAAES,OAAO,EAAEwE;EAAY,CAAC,CAAC,GAChCjF,MAAM,CACN,CAET,eAED1I,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAC/I,eAAA,CAAA6P,cAAc,EAAM1H,EAAE,GAAG;IAAEA,EAAE,KAAAuG,MAAA,CAAKvG,EAAE;EAAkB,CAAC,GAAG,CAAC,CAAC,EAAG,4JAIhE,CAAiB,EAEhBsD,iBAAiB,iBAChBrM,MAAA,CAAAyB,OAAA,CAAAkI,aAAA,CAAC/I,eAAA,CAAA6P,cAAc;IAACpB,IAAI,EAAC,QAAQ;IAAC,eAAY,MAAM;IAAC,aAAU;EAAQ,GAChE9F,OAAO,CAACtG,MAAM,KAAK,CAAC,gCAAAqM,MAAA,CAEd/F,OAAO,CAACtG,MAAM,2BAAwB,CAEhD,CACG;AAEV,CAAC;AAAAyN,OAAA,CAAA3I,iBAAA,GAAAA,iBAAA;AAnUYA,iBAAiB,CAAA4I,WAAA;AAqU9B,IAAMV,yBAAyB,GAAG,IAAAW,yBAAM,EAAC1B,QAAG,CAAC,CAAA2B,UAAA;EAAAF,WAAA;EAAAG,WAAA;AAAA,mCAC7B,IAAAC,kBAAQ,EAAC,oBAAoB,CAAC,CAE7C;AAED,IAAMb,wBAAwB,GAAG,IAAAU,yBAAM,EAAC1B,QAAG,CAAC,CAAA2B,UAAA;EAAAF,WAAA;EAAAG,WAAA;AAAA,yDAG3C"}
@@ -10,7 +10,7 @@ var _styledComponents = _interopRequireWildcard(require("styled-components"));
10
10
  var _Box = require("../Box");
11
11
  var _tokens = require("./tokens");
12
12
  var _themeGet = require("@styled-system/theme-get");
13
- var _excluded = ["selected", "disabled", "onSelect", "onClick"];
13
+ var _excluded = ["selected", "disabled", "hover", "onSelect", "onClick"];
14
14
  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); }
15
15
  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; }
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -22,6 +22,7 @@ var Toggle = function Toggle(_ref) {
22
22
  var _ref$selected = _ref.selected,
23
23
  selected = _ref$selected === void 0 ? false : _ref$selected,
24
24
  disabled = _ref.disabled,
25
+ hover = _ref.hover,
25
26
  onSelect = _ref.onSelect,
26
27
  onClick = _ref.onClick,
27
28
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -49,7 +50,8 @@ var Toggle = function Toggle(_ref) {
49
50
  role: "toggle",
50
51
  "aria-checked": selected,
51
52
  selected: selected,
52
- disabled: disabled
53
+ disabled: disabled,
54
+ hover: hover
53
55
  }, rest), /*#__PURE__*/_react.default.createElement(Switch, {
54
56
  selected: selected
55
57
  }));
@@ -66,6 +68,6 @@ var Container = (0, _styledComponents.default)(_Box.Box).withConfig({
66
68
  displayName: "Toggle__Container",
67
69
  componentId: "sc-1yxwor4-1"
68
70
  })(["user-select:none;border-radius:100px;width:51px;height:31px;flex-shrink:0;", ""], function (props) {
69
- return (0, _styledComponents.css)(["", " ", " ", ""], props.selected ? _tokens.TOGGLE_STATES.selected : _tokens.TOGGLE_STATES.default, props.hover && _tokens.TOGGLE_STATES.hover, props.disabled && (props.selected ? _tokens.TOGGLE_STATES.disabled.selected : _tokens.TOGGLE_STATES.disabled.default));
71
+ return (0, _styledComponents.css)(["", " ", " ", " &:hover{", "}"], props.selected ? _tokens.TOGGLE_STATES.selected : _tokens.TOGGLE_STATES.default, props.hover && _tokens.TOGGLE_STATES.hover, props.disabled && (props.selected ? _tokens.TOGGLE_STATES.disabled.selected : _tokens.TOGGLE_STATES.disabled.default), _tokens.TOGGLE_STATES.hover);
70
72
  });
71
73
  //# sourceMappingURL=Toggle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","names":["_react","_interopRequireDefault","require","_styledComponents","_interopRequireWildcard","_Box","_tokens","_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","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Toggle","_ref","_ref$selected","selected","disabled","onSelect","onClick","rest","isSelectable","undefined","handleClick","event","handleKeyPress","preventDefault","createElement","Container","display","alignItems","tabIndex","onKeyPress","role","Switch","exports","displayName","styled","Box","withConfig","componentId","themeGet","props","css","SWITCH_STATES","TOGGLE_STATES","hover"],"sources":["../../../src/elements/Toggle/Toggle.tsx"],"sourcesContent":["import React from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { Box, BoxProps } from \"../Box\"\nimport { SWITCH_STATES, TOGGLE_STATES } from \"./tokens\"\nimport { themeGet } from \"@styled-system/theme-get\"\n\nexport interface ToggleProps\n extends BoxProps,\n Omit<React.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Disable toggle interactions */\n disabled?: boolean\n /** Select the toggle on render */\n selected?: boolean\n /** Used to force the toggle into the visual hover state */\n hover?: boolean\n /** Callback when selected */\n onSelect?: (selected: boolean) => void\n}\n\n/** A toggle */\nexport const Toggle: React.FC<ToggleProps> = ({\n selected = false,\n disabled,\n onSelect,\n onClick,\n ...rest\n}) => {\n const isSelectable = !disabled && onSelect !== undefined\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (isSelectable && onSelect) {\n onSelect(!selected)\n }\n\n if (onClick) {\n onClick(event)\n }\n }\n\n const handleKeyPress = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \" \" && isSelectable && onSelect) {\n event.preventDefault()\n onSelect(!selected)\n }\n }\n\n return (\n <Container\n display=\"flex\"\n alignItems=\"center\"\n onClick={handleClick}\n tabIndex={disabled ? -1 : 0}\n onKeyPress={handleKeyPress}\n role=\"toggle\"\n aria-checked={selected}\n selected={selected}\n disabled={disabled}\n {...rest}\n >\n <Switch selected={selected} />\n </Container>\n )\n}\n\nconst Switch = styled(Box)<{ selected: boolean }>`\n width: 26px;\n height: 26px;\n margin: 3px;\n border-radius: 50%;\n transition: transform 0.3s;\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n\n ${(props) => {\n return css`\n ${props.selected ? SWITCH_STATES.selected : SWITCH_STATES.default}\n `\n }}\n`\n\nconst Container = styled(Box)<{\n selected: boolean\n hover?: boolean\n disabled?: boolean\n}>`\n user-select: none;\n border-radius: 100px;\n width: 51px;\n height: 31px;\n flex-shrink: 0;\n\n ${(props) => {\n return css`\n ${props.selected ? TOGGLE_STATES.selected : TOGGLE_STATES.default}\n ${props.hover && TOGGLE_STATES.hover}\n ${props.disabled &&\n (props.selected\n ? TOGGLE_STATES.disabled.selected\n : TOGGLE_STATES.disabled.default)}\n `\n }}\n`\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAAmD,IAAAM,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,SAAAN,wBAAAU,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,SAAApB,uBAAAa,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAG,OAAA,EAAAH,GAAA;AAAA,SAAAkB,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,yBAAAF,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,GAAAQ,6BAAA,CAAAJ,MAAA,EAAAG,QAAA,OAAAhB,GAAA,EAAAU,CAAA,MAAAb,MAAA,CAAAqB,qBAAA,QAAAC,gBAAA,GAAAtB,MAAA,CAAAqB,qBAAA,CAAAL,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAS,gBAAA,CAAAP,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAmB,gBAAA,CAAAT,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoB,oBAAA,CAAAlB,IAAA,CAAAU,MAAA,EAAAb,GAAA,aAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,cAAAS,MAAA;AAAA,SAAAQ,8BAAAJ,MAAA,EAAAG,QAAA,QAAAH,MAAA,yBAAAJ,MAAA,WAAAa,UAAA,GAAAzB,MAAA,CAAA0B,IAAA,CAAAV,MAAA,OAAAb,GAAA,EAAAU,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAY,UAAA,CAAAV,MAAA,EAAAF,CAAA,MAAAV,GAAA,GAAAsB,UAAA,CAAAZ,CAAA,OAAAM,QAAA,CAAAI,OAAA,CAAApB,GAAA,kBAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,YAAAS,MAAA;AAenD;AACO,IAAMe,MAA6B,GAAG,SAAhCA,MAA6BA,CAAAC,IAAA,EAMpC;EAAA,IAAAC,aAAA,GAAAD,IAAA,CALJE,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAG,KAAK,GAAAA,aAAA;IAChBE,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRC,OAAO,GAAAL,IAAA,CAAPK,OAAO;IACJC,IAAI,GAAAhB,wBAAA,CAAAU,IAAA,EAAA3C,SAAA;EAEP,IAAMkD,YAAY,GAAG,CAACJ,QAAQ,IAAIC,QAAQ,KAAKI,SAAS;EAExD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAmD,EAAK;IAC3E,IAAIH,YAAY,IAAIH,QAAQ,EAAE;MAC5BA,QAAQ,CAAC,CAACF,QAAQ,CAAC;IACrB;IAEA,IAAIG,OAAO,EAAE;MACXA,OAAO,CAACK,KAAK,CAAC;IAChB;EACF,CAAC;EAED,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAID,KAA0C,EAAK;IACrE,IAAIA,KAAK,CAACnC,GAAG,KAAK,GAAG,IAAIgC,YAAY,IAAIH,QAAQ,EAAE;MACjDM,KAAK,CAACE,cAAc,EAAE;MACtBR,QAAQ,CAAC,CAACF,QAAQ,CAAC;IACrB;EACF,CAAC;EAED,oBACErD,MAAA,CAAAiB,OAAA,CAAA+C,aAAA,CAACC,SAAS,EAAAjC,QAAA;IACRkC,OAAO,EAAC,MAAM;IACdC,UAAU,EAAC,QAAQ;IACnBX,OAAO,EAAEI,WAAY;IACrBQ,QAAQ,EAAEd,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAE;IAC5Be,UAAU,EAAEP,cAAe;IAC3BQ,IAAI,EAAC,QAAQ;IACb,gBAAcjB,QAAS;IACvBA,QAAQ,EAAEA,QAAS;IACnBC,QAAQ,EAAEA;EAAS,GACfG,IAAI,gBAERzD,MAAA,CAAAiB,OAAA,CAAA+C,aAAA,CAACO,MAAM;IAAClB,QAAQ,EAAEA;EAAS,EAAG,CACpB;AAEhB,CAAC;AAAAmB,OAAA,CAAAtB,MAAA,GAAAA,MAAA;AA1CYA,MAA6B,CAAAuB,WAAA;AA4C1C,IAAMF,MAAM,GAAG,IAAAG,yBAAM,EAACC,QAAG,CAAC,CAAAC,UAAA;EAAAH,WAAA;EAAAI,WAAA;AAAA,2GAMV,IAAAC,kBAAQ,EAAC,oBAAoB,CAAC,EAE1C,UAACC,KAAK,EAAK;EACX,WAAOC,qBAAG,YACND,KAAK,CAAC1B,QAAQ,GAAG4B,qBAAa,CAAC5B,QAAQ,GAAG4B,qBAAa,CAAChE,OAAO;AAErE,CAAC,CACF;AAED,IAAMgD,SAAS,GAAG,IAAAS,yBAAM,EAACC,QAAG,CAAC,CAAAC,UAAA;EAAAH,WAAA;EAAAI,WAAA;AAAA,uFAWzB,UAACE,KAAK,EAAK;EACX,WAAOC,qBAAG,sBACND,KAAK,CAAC1B,QAAQ,GAAG6B,qBAAa,CAAC7B,QAAQ,GAAG6B,qBAAa,CAACjE,OAAO,EAC/D8D,KAAK,CAACI,KAAK,IAAID,qBAAa,CAACC,KAAK,EAClCJ,KAAK,CAACzB,QAAQ,KACfyB,KAAK,CAAC1B,QAAQ,GACX6B,qBAAa,CAAC5B,QAAQ,CAACD,QAAQ,GAC/B6B,qBAAa,CAAC5B,QAAQ,CAACrC,OAAO,CAAC;AAEvC,CAAC,CACF"}
1
+ {"version":3,"file":"Toggle.js","names":["_react","_interopRequireDefault","require","_styledComponents","_interopRequireWildcard","_Box","_tokens","_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","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Toggle","_ref","_ref$selected","selected","disabled","hover","onSelect","onClick","rest","isSelectable","undefined","handleClick","event","handleKeyPress","preventDefault","createElement","Container","display","alignItems","tabIndex","onKeyPress","role","Switch","exports","displayName","styled","Box","withConfig","componentId","themeGet","props","css","SWITCH_STATES","TOGGLE_STATES"],"sources":["../../../src/elements/Toggle/Toggle.tsx"],"sourcesContent":["import React from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { Box, BoxProps } from \"../Box\"\nimport { SWITCH_STATES, TOGGLE_STATES } from \"./tokens\"\nimport { themeGet } from \"@styled-system/theme-get\"\n\nexport interface ToggleProps\n extends BoxProps,\n Omit<React.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Disable toggle interactions */\n disabled?: boolean\n /** Select the toggle on render */\n selected?: boolean\n /** Used to force the toggle into the visual hover state */\n hover?: boolean\n /** Callback when selected */\n onSelect?: (selected: boolean) => void\n}\n\n/** A toggle */\nexport const Toggle: React.FC<ToggleProps> = ({\n selected = false,\n disabled,\n hover,\n onSelect,\n onClick,\n ...rest\n}) => {\n const isSelectable = !disabled && onSelect !== undefined\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (isSelectable && onSelect) {\n onSelect(!selected)\n }\n\n if (onClick) {\n onClick(event)\n }\n }\n\n const handleKeyPress = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \" \" && isSelectable && onSelect) {\n event.preventDefault()\n onSelect(!selected)\n }\n }\n\n return (\n <Container\n display=\"flex\"\n alignItems=\"center\"\n onClick={handleClick}\n tabIndex={disabled ? -1 : 0}\n onKeyPress={handleKeyPress}\n role=\"toggle\"\n aria-checked={selected}\n selected={selected}\n disabled={disabled}\n hover={hover}\n {...rest}\n >\n <Switch selected={selected} />\n </Container>\n )\n}\n\nconst Switch = styled(Box)<{ selected: boolean }>`\n width: 26px;\n height: 26px;\n margin: 3px;\n border-radius: 50%;\n transition: transform 0.3s;\n box-shadow: ${themeGet(\"effects.dropShadow\")};\n\n ${(props) => {\n return css`\n ${props.selected ? SWITCH_STATES.selected : SWITCH_STATES.default}\n `\n }}\n`\n\nconst Container = styled(Box)<{\n selected: boolean\n hover?: boolean\n disabled?: boolean\n}>`\n user-select: none;\n border-radius: 100px;\n width: 51px;\n height: 31px;\n flex-shrink: 0;\n\n ${(props) => {\n return css`\n ${props.selected ? TOGGLE_STATES.selected : TOGGLE_STATES.default}\n ${props.hover && TOGGLE_STATES.hover}\n ${props.disabled &&\n (props.selected\n ? TOGGLE_STATES.disabled.selected\n : TOGGLE_STATES.disabled.default)}\n\n &:hover {\n ${TOGGLE_STATES.hover}\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": "38.6.0",
3
+ "version": "38.7.1",
4
4
  "description": "Design system library for react components",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {
@@ -182,5 +182,5 @@
182
182
  "url": "http://localhost"
183
183
  }
184
184
  },
185
- "gitHead": "46409b914911531e0c0f9cf89115f2cc8105c0e4"
185
+ "gitHead": "c79f0d31a6a83f9aa9c66ec6ebbcb3f13c65fbd7"
186
186
  }