@semcore/select 4.52.0 → 4.52.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["React","cn","createComponent","Root","sstyled","DropdownMenu","Dropdown","AbstractDropdown","enhance","selectedIndexContext","ButtonTrigger","Divider","findComponent","logger","resolveColorEnhance","addonTextChildren","InputSearch","useBox","selectContext","localizedMessages","isInputTriggerTag","style","_sstyled","insert","callAllEventHandlers","isAdvanceMode","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","RootSelect","_AbstractDropdown","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","_key","call","apply","concat","_defineProperty","_assertThisInitialized","optionValue","index","e","newValue","_this$asProps","asProps","filter","v","handlers","visible","preventDefault","emptyValue","_createClass","key","itemRef","props","node","_get","_getPrototypeOf","prototype","highlightedIndex","isHighlighted","scrollToNode","uncontrolledProps","_this2","_objectSpread","hasInputSearch","Children","Select","displayName","defaultIndex","defaultHighlightedIndex","setTimeout","_this2$menuRef$curren","_this2$menuRef$curren2","options","menuRef","current","querySelectorAll","selected","querySelector","i","getTriggerProps","_this3","_this$asProps2","disabled","state","placeholder","forwardRef","name","getI18nText","uid","hasChildren","children","isMenu","Menu","ariaControls","onKeyDown","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleArrowKeyDown","undefined","itemRefs","empty","$hiddenRef","active","onClear","handlerClear","renderChildrenTrigger","onBlur","prevHighlightedIndex","onFocus","getListProps","getPopperProps","handlePreventPopperKeyDown","getOptionProps","_props$selected","_this4","_this$asProps3","focusSourceRef","_this$asProps3$size","size","highlighted","role","onClick","bindHandlerOptionClick","ref","getOptionCheckboxProps","_this$asProps4","resolveColor","getDividerProps","my","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_this$asProps5","forcedAdvancedMode","other","_objectWithoutProperties","_excluded","advancedMode","Trigger","Popper","warn","itemProps","_ref","createElement","_assignProps","map","option","Option","_extends","id","Checkbox","_assignProps2","Object","values","_props$highlightedInd","_props$selectedIndex","_props$interaction","_props$timeout","defaultValue","defaultVisible","defaultSelectedIndex","selectedIndex","scrollToSelected","i18n","locale","interaction","inlineActions","timeout","_ref8","_ref3","arguments[0]","_ref6","styles","_ref8$tag","tag","Tag","hasInputTrigger","SSelectTrigger","_assignProps3","Text","Value","Addon","optionPropsContext","createContext","_ref4","_ref7","SSelectOption","Item","hasCheckbox","hasContent","Content","_assignProps4","Provider","providedProps","optionProps","useContext","useMemo","_useBox","_useBox2","_slicedToArray","SOptionCheckbox","componentProps","theme","indeterminate","_styles$cn","className","tabIndex","InputSearchWrapper","_ref5","_assignProps5","List","Hint","Group","OptionTitle","ItemTitle","OptionHint","ItemHint","_______childrenComponents","Input","parent","context","wrapSelect","wrapper"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Root, sstyled } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from '@semcore/dropdown';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport logger from '@semcore/utils/lib/logger';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { isInputTriggerTag } from '@semcore/popper';\n\nimport style from './style/select.shadow.css';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nfunction isSelectedOption(value, valueOption) {\n return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;\n}\n\nfunction isEmptyValue(value) {\n return Array.isArray(value) ? value.length === 0 : value === null;\n}\n\nfunction getEmptyValue(multiselect) {\n return multiselect ? [] : null;\n}\n\nclass RootSelect extends AbstractDropdown {\n static displayName = 'Select';\n\n static style = style;\n static enhance = Object.values(enhance).concat([resolveColorEnhance()]);\n\n static defaultProps = (props) => {\n const hasInputSearch =\n props.children && isAdvanceMode(props.children, [Select.InputSearch.displayName], true);\n const defaultIndex = hasInputSearch ? null : 0;\n\n return {\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n defaultHighlightedIndex: props.highlightedIndex ?? defaultIndex,\n defaultSelectedIndex: props.selectedIndex ?? defaultIndex,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n interaction: props.interaction ?? 'click',\n inlineActions: false,\n timeout: props.timeout ?? 0,\n };\n };\n\n role = 'listbox';\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n const { highlightedIndex } = this.asProps;\n const isHighlighted = index === highlightedIndex;\n\n if (isHighlighted) {\n this.scrollToNode(node);\n }\n }\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n const hasInputSearch = isAdvanceMode(\n this.asProps.Children,\n [Select.InputSearch.displayName],\n true,\n );\n\n const defaultIndex = hasInputSearch ? null : this.props.defaultHighlightedIndex;\n\n this.handlers.highlightedIndex(defaultIndex);\n\n setTimeout(() => {\n const options = this.menuRef.current?.querySelectorAll('[role=\"option\"]');\n const selected = this.menuRef.current?.querySelector('[aria-selected=\"true\"]');\n\n if (selected && options) {\n this.scrollToNode(selected);\n\n for (let i = 0; i < options.length; i++) {\n if (options[i] === selected) {\n this.handlers.highlightedIndex(i);\n break;\n }\n }\n }\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 30);\n }\n },\n ],\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n getI18nText,\n highlightedIndex,\n uid,\n Children,\n children: hasChildren,\n } = this.asProps;\n\n const isMenu = isAdvanceMode(Children, [Select.Menu.displayName], true) || !hasChildren;\n const ariaControls = isMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleArrowKeyDown.bind(this),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': isMenu ? 'listbox' : 'dialog',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-activedescendant':\n visible && highlightedIndex !== null && this.itemRefs[highlightedIndex]\n ? `igc-${uid}-option-${highlightedIndex}`\n : undefined,\n empty: isEmptyValue(value),\n value,\n name,\n $hiddenRef: forwardRef,\n multiselect,\n state,\n placeholder,\n disabled,\n active: visible,\n onClear: this.handlerClear,\n children: this.renderChildrenTrigger(value, options),\n getI18nText,\n\n onBlur: () => {\n // if popper is opened and we moved from the trigger in select - it means we moved on some controls in popper and should hide highlighted for the option\n if (this.asProps.visible) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n this.handlers.highlightedIndex(null);\n }\n },\n onFocus: () => {\n // if popper is opened and we moved to the trigger in select - it means we moved from some controls in popper and should highlight the last highlighted option\n if (this.asProps.visible) {\n const index = this.prevHighlightedIndex;\n this.handlers.highlightedIndex(index);\n }\n },\n };\n }\n\n getListProps() {\n const { multiselect } = this.asProps;\n\n return {\n ...super.getListProps(),\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getOptionProps(props, index) {\n const { value, highlightedIndex, focusSourceRef, size = 'm' } = this.asProps;\n const highlighted =\n index === highlightedIndex && focusSourceRef.current === 'keyboard' && !props.disabled;\n const selected = props.selected ?? isSelectedOption(value, props.value);\n\n return {\n ...super.getItemProps(props, index),\n highlighted,\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n 'aria-disabled': props.disabled ? 'true' : 'false',\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value, index),\n ref: (node) => this.itemRef(props, index, node),\n size,\n };\n }\n\n getOptionCheckboxProps() {\n const { size, resolveColor } = this.asProps;\n\n return {\n size,\n resolveColor,\n };\n }\n\n getDividerProps() {\n return { my: 1, 'aria-disabled': 'true' };\n }\n\n renderChildrenTrigger(value, options) {\n if (options) {\n return [].concat(value).reduce((acc, value) => {\n const selectedOption = options.find((o) => isSelectedOption(value, o.value));\n if (!selectedOption) return acc;\n if (acc.length) acc.push(', ');\n acc.push(selectedOption.label || selectedOption.value);\n return acc;\n }, []);\n }\n return Array.isArray(value)\n ? value.reduce((acc, value) => {\n if (acc.length) acc.push(', ');\n acc.push(value);\n return acc;\n }, [])\n : value;\n }\n\n bindHandlerOptionClick = (optionValue, index) => (e) => {\n let newValue = optionValue;\n const { value, multiselect } = this.asProps;\n if (Array.isArray(value)) {\n if (value.includes(optionValue)) {\n newValue = value.filter((v) => v !== optionValue);\n } else {\n newValue = value.concat(optionValue);\n }\n }\n this.handlers.value(newValue, e);\n if (!multiselect) {\n this.handlers.visible(false);\n e.preventDefault();\n }\n };\n\n handlerClear = (e) => {\n const { value } = this.asProps;\n const emptyValue = getEmptyValue(Array.isArray(value));\n this.handlers.value(emptyValue, e);\n this.handlers.visible(false);\n };\n\n render() {\n const { Children, options, multiselect, value, uid, forcedAdvancedMode, ...other } =\n this.asProps;\n const advancedMode =\n forcedAdvancedMode ||\n findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);\n\n logger.warn(\n options && advancedMode,\n \"Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'\",\n other['data-ui-name'] || Select.displayName,\n );\n\n this.itemProps = [];\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} />\n <Select.Menu>\n {options.map((option, index) => {\n return (\n <Select.Option key={option.value} id={`igc-${uid}-option-${index}`} {...option}>\n {multiselect && <Select.Option.Checkbox />}\n {option.children}\n </Select.Option>\n );\n })}\n </Select.Menu>\n </Root>\n );\n }\n\n return (\n <Root render={DropdownMenu}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction Trigger({\n Children,\n name,\n value,\n styles,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SSelectTrigger = Root;\n\n return sstyled(styles)(\n <SSelectTrigger\n render={Dropdown.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n role={'combobox'}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Value || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type='hidden' defaultValue={value} name={name} ref={$hiddenRef} />}\n </SSelectTrigger>,\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children } = props;\n\n const hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);\n const hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);\n\n return sstyled(styles)(\n <SSelectOption render={Dropdown.Item}>\n <optionPropsContext.Provider value={props}>\n {hasCheckbox && !hasContent ? (\n <Select.Option.Content>\n <Children />\n </Select.Option.Content>\n ) : (\n <Children />\n )}\n </optionPropsContext.Provider>\n </SSelectOption>,\n );\n}\n\nfunction Checkbox(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const props = React.useMemo(\n () => ({\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected, resolveColor, indeterminate } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n indeterminate,\n selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n tabIndex={-1}\n />\n );\n}\n\nconst InputSearchWrapper = function () {\n return <Root render={InputSearch} />;\n};\n\nconst Select = createComponent(\n RootSelect,\n {\n Trigger: [\n Trigger,\n {\n Addon: ButtonTrigger.Addon,\n Text: ButtonTrigger.Text,\n },\n ],\n Popper: Dropdown.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Content: DropdownMenu.Item.Content,\n Hint: DropdownMenu.Item.Hint,\n Checkbox,\n },\n ],\n Group: Dropdown.Group,\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: [InputSearchWrapper, InputSearch._______childrenComponents],\n Input: [InputSearchWrapper, InputSearch._______childrenComponents],\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport const wrapSelect = (wrapper) => wrapper;\nSelect.selectedIndexContext = selectedIndexContext;\n\nexport default Select;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,YAAY;AAC3B,OAAOC,eAAe,IAAIC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AAC9D,OAAOC,YAAY,MAAM,wBAAwB;AACjD,OAAOC,QAAQ,IAAIC,gBAAgB,EAAEC,OAAO,EAAEC,oBAAoB,QAAQ,mBAAmB;AAC7F,SAASC,aAAa,QAAQ,uBAAuB;AACrD,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,aAAa,MAAM,kCAAkC;AAC5D,OAAOC,MAAM,MAAM,2BAA2B;AAC9C,OAAOC,mBAAmB,MAAM,iDAAiD;AACjF,OAAOC,iBAAiB,MAAM,sCAAsC;AACpE,OAAOC,WAAW,MAAM,eAAe;AACvC,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,aAAa,QAAQ,WAAW;AACzC,SAASC,iBAAiB,QAAQ,gDAAgD;AAClF,SAASC,iBAAiB,QAAQ,iBAAiB;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAGpD,SAASC,oBAAoB,QAAQ,gCAAgC;AACrE,SAASC,aAAa,QAAQ,kCAAkC;AAEhE,SAASC,gBAAgBA,CAACC,KAAK,EAAEC,WAAW,EAAE;EAC5C,OAAOC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GAAGA,KAAK,CAACI,QAAQ,CAACH,WAAW,CAAC,GAAGA,WAAW,KAAKD,KAAK;AACnF;AAEA,SAASK,YAAYA,CAACL,KAAK,EAAE;EAC3B,OAAOE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GAAGA,KAAK,CAACM,MAAM,KAAK,CAAC,GAAGN,KAAK,KAAK,IAAI;AACnE;AAEA,SAASO,aAAaA,CAACC,WAAW,EAAE;EAClC,OAAOA,WAAW,GAAG,EAAE,GAAG,IAAI;AAChC;AAAC,IAEKC,UAAU,0BAAAC,iBAAA;EAAAC,SAAA,CAAAF,UAAA,EAAAC,iBAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,UAAA;EAAA,SAAAA,WAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,UAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAX,MAAA,EAAAY,IAAA,OAAAhB,KAAA,CAAAc,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAD,IAAA,CAAAC,IAAA,IAAAF,SAAA,CAAAE,IAAA;IAAA;IAAAL,KAAA,GAAAF,MAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,MAAA,SAAAU,MAAA,CAAAJ,IAAA;IAAAK,eAAA,CAAAC,sBAAA,CAAAV,KAAA,WA2BP,SAAS;IAAAS,eAAA,CAAAC,sBAAA,CAAAV,KAAA,6BA8LS,UAACW,WAAW,EAAEC,KAAK;MAAA,OAAK,UAACC,CAAC,EAAK;QACtD,IAAIC,QAAQ,GAAGH,WAAW;QAC1B,IAAAI,aAAA,GAA+Bf,KAAA,CAAKgB,OAAO;UAAnC9B,KAAK,GAAA6B,aAAA,CAAL7B,KAAK;UAAEQ,WAAW,GAAAqB,aAAA,CAAXrB,WAAW;QAC1B,IAAIN,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;UACxB,IAAIA,KAAK,CAACI,QAAQ,CAACqB,WAAW,CAAC,EAAE;YAC/BG,QAAQ,GAAG5B,KAAK,CAAC+B,MAAM,CAAC,UAACC,CAAC;cAAA,OAAKA,CAAC,KAAKP,WAAW;YAAA,EAAC;UACnD,CAAC,MAAM;YACLG,QAAQ,GAAG5B,KAAK,CAACsB,MAAM,CAACG,WAAW,CAAC;UACtC;QACF;QACAX,KAAA,CAAKmB,QAAQ,CAACjC,KAAK,CAAC4B,QAAQ,EAAED,CAAC,CAAC;QAChC,IAAI,CAACnB,WAAW,EAAE;UAChBM,KAAA,CAAKmB,QAAQ,CAACC,OAAO,CAAC,KAAK,CAAC;UAC5BP,CAAC,CAACQ,cAAc,EAAE;QACpB;MACF,CAAC;IAAA;IAAAZ,eAAA,CAAAC,sBAAA,CAAAV,KAAA,mBAEc,UAACa,CAAC,EAAK;MACpB,IAAQ3B,KAAK,GAAKc,KAAA,CAAKgB,OAAO,CAAtB9B,KAAK;MACb,IAAMoC,UAAU,GAAG7B,aAAa,CAACL,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,CAAC;MACtDc,KAAA,CAAKmB,QAAQ,CAACjC,KAAK,CAACoC,UAAU,EAAET,CAAC,CAAC;MAClCb,KAAA,CAAKmB,QAAQ,CAACC,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAAA,OAAApB,KAAA;EAAA;EAAAuB,YAAA,CAAA5B,UAAA;IAAA6B,GAAA;IAAAtC,KAAA,EAlND,SAAAuC,QAAQC,KAAK,EAAEd,KAAK,EAAEe,IAAI,EAAE;MAC1BC,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,oBAAAxB,IAAA,OAAcoB,KAAK,EAAEd,KAAK,EAAEe,IAAI;MAEhC,IAAQI,gBAAgB,GAAK,IAAI,CAACf,OAAO,CAAjCe,gBAAgB;MACxB,IAAMC,aAAa,GAAGpB,KAAK,KAAKmB,gBAAgB;MAEhD,IAAIC,aAAa,EAAE;QACjB,IAAI,CAACC,YAAY,CAACN,IAAI,CAAC;MACzB;IACF;EAAC;IAAAH,GAAA;IAAAtC,KAAA,EAED,SAAAgD,kBAAA,EAAoB;MAAA,IAAAC,MAAA;MAClB,OAAAC,aAAA,CAAAA,aAAA,KAAAR,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,8BAAAxB,IAAA;QAEEc,OAAO,EAAE,CACP,IAAI,EACJ,UAACA,OAAO,EAAK;UACX,IAAIA,OAAO,KAAK,IAAI,EAAE;YACpB,IAAMiB,cAAc,GAAGrD,aAAa,CAClCmD,MAAI,CAACnB,OAAO,CAACsB,QAAQ,EACrB,CAACC,MAAM,CAAChE,WAAW,CAACiE,WAAW,CAAC,EAChC,IAAI,CACL;YAED,IAAMC,YAAY,GAAGJ,cAAc,GAAG,IAAI,GAAGF,MAAI,CAACT,KAAK,CAACgB,uBAAuB;YAE/EP,MAAI,CAAChB,QAAQ,CAACY,gBAAgB,CAACU,YAAY,CAAC;YAE5CE,UAAU,CAAC,YAAM;cAAA,IAAAC,qBAAA,EAAAC,sBAAA;cACf,IAAMC,OAAO,IAAAF,qBAAA,GAAGT,MAAI,CAACY,OAAO,CAACC,OAAO,cAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,gBAAgB,CAAC,iBAAiB,CAAC;cACzE,IAAMC,QAAQ,IAAAL,sBAAA,GAAGV,MAAI,CAACY,OAAO,CAACC,OAAO,cAAAH,sBAAA,uBAApBA,sBAAA,CAAsBM,aAAa,CAAC,wBAAwB,CAAC;cAE9E,IAAID,QAAQ,IAAIJ,OAAO,EAAE;gBACvBX,MAAI,CAACF,YAAY,CAACiB,QAAQ,CAAC;gBAE3B,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,OAAO,CAACtD,MAAM,EAAE4D,CAAC,EAAE,EAAE;kBACvC,IAAIN,OAAO,CAACM,CAAC,CAAC,KAAKF,QAAQ,EAAE;oBAC3Bf,MAAI,CAAChB,QAAQ,CAACY,gBAAgB,CAACqB,CAAC,CAAC;oBACjC;kBACF;gBACF;cACF;cACA;cACA;YACF,CAAC,EAAE,EAAE,CAAC;UACR;QACF,CAAC,CACF;QACDlE,KAAK,EAAE;MAAI;IAEf;EAAC;IAAAsC,GAAA;IAAAtC,KAAA,EAED,SAAAmE,gBAAA,EAAkB;MAAA,IAAAC,MAAA;MAChB,IAAAC,cAAA,GAeI,IAAI,CAACvC,OAAO;QAddwC,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QACRpC,OAAO,GAAAmC,cAAA,CAAPnC,OAAO;QACPqC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACLC,WAAW,GAAAH,cAAA,CAAXG,WAAW;QACXxE,KAAK,GAAAqE,cAAA,CAALrE,KAAK;QACL4D,OAAO,GAAAS,cAAA,CAAPT,OAAO;QACPa,UAAU,GAAAJ,cAAA,CAAVI,UAAU;QACVC,IAAI,GAAAL,cAAA,CAAJK,IAAI;QACJlE,WAAW,GAAA6D,cAAA,CAAX7D,WAAW;QACXmE,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACX9B,gBAAgB,GAAAwB,cAAA,CAAhBxB,gBAAgB;QAChB+B,GAAG,GAAAP,cAAA,CAAHO,GAAG;QACHxB,QAAQ,GAAAiB,cAAA,CAARjB,QAAQ;QACEyB,WAAW,GAAAR,cAAA,CAArBS,QAAQ;MAGV,IAAMC,MAAM,GAAGjF,aAAa,CAACsD,QAAQ,EAAE,CAACC,MAAM,CAAC2B,IAAI,CAAC1B,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAACuB,WAAW;MACvF,IAAMI,YAAY,GAAGF,MAAM,UAAAzD,MAAA,CAAUsD,GAAG,oBAAAtD,MAAA,CAAiBsD,GAAG,YAAS;MAErE,OAAA1B,aAAA,CAAAA,aAAA,KAAAR,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,4BAAAxB,IAAA;QAEE8D,SAAS,EAAErF,oBAAoB,CAC7B,IAAI,CAACsF,0BAA0B,CAACC,IAAI,CAAC,IAAI,CAAC,EAC1C,IAAI,CAACC,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC,EACjC,IAAI,CAACE,kBAAkB,CAACF,IAAI,CAAC,IAAI,CAAC,CACnC;QACD,eAAe,EAAElD,OAAO,GAAG+C,YAAY,GAAGM,SAAS;QACnD,eAAe,EAAER,MAAM,GAAG,SAAS,GAAG,QAAQ;QAC9C,eAAe,EAAET,QAAQ,GAAG,MAAM,GAAG,OAAO;QAC5C,uBAAuB,EACrBpC,OAAO,IAAIW,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC2C,QAAQ,CAAC3C,gBAAgB,CAAC,UAAAvB,MAAA,CAC5DsD,GAAG,cAAAtD,MAAA,CAAWuB,gBAAgB,IACrC0C,SAAS;QACfE,KAAK,EAAEpF,YAAY,CAACL,KAAK,CAAC;QAC1BA,KAAK,EAALA,KAAK;QACL0E,IAAI,EAAJA,IAAI;QACJgB,UAAU,EAAEjB,UAAU;QACtBjE,WAAW,EAAXA,WAAW;QACX+D,KAAK,EAALA,KAAK;QACLC,WAAW,EAAXA,WAAW;QACXF,QAAQ,EAARA,QAAQ;QACRqB,MAAM,EAAEzD,OAAO;QACf0D,OAAO,EAAE,IAAI,CAACC,YAAY;QAC1Bf,QAAQ,EAAE,IAAI,CAACgB,qBAAqB,CAAC9F,KAAK,EAAE4D,OAAO,CAAC;QACpDe,WAAW,EAAXA,WAAW;QAEXoB,MAAM,EAAE,SAAAA,OAAA,EAAM;UACZ;UACA,IAAI3B,MAAI,CAACtC,OAAO,CAACI,OAAO,EAAE;YACxBkC,MAAI,CAAC4B,oBAAoB,GAAG5B,MAAI,CAACtC,OAAO,CAACe,gBAAgB;YACzDuB,MAAI,CAACnC,QAAQ,CAACY,gBAAgB,CAAC,IAAI,CAAC;UACtC;QACF,CAAC;QACDoD,OAAO,EAAE,SAAAA,QAAA,EAAM;UACb;UACA,IAAI7B,MAAI,CAACtC,OAAO,CAACI,OAAO,EAAE;YACxB,IAAMR,KAAK,GAAG0C,MAAI,CAAC4B,oBAAoB;YACvC5B,MAAI,CAACnC,QAAQ,CAACY,gBAAgB,CAACnB,KAAK,CAAC;UACvC;QACF;MAAC;IAEL;EAAC;IAAAY,GAAA;IAAAtC,KAAA,EAED,SAAAkG,aAAA,EAAe;MACb,IAAQ1F,WAAW,GAAK,IAAI,CAACsB,OAAO,CAA5BtB,WAAW;MAEnB,OAAA0C,aAAA,CAAAA,aAAA,KAAAR,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,yBAAAxB,IAAA;QAEE,sBAAsB,EAAEZ,WAAW,GAAG,MAAM,GAAG+E;MAAS;IAE5D;EAAC;IAAAjD,GAAA;IAAAtC,KAAA,EAED,SAAAmG,eAAA,EAAiB;MACf,OAAAjD,aAAA,CAAAA,aAAA,KAAAR,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,2BAAAxB,IAAA;QAEE8D,SAAS,EAAErF,oBAAoB,CAC7B,IAAI,CAACsF,0BAA0B,CAACC,IAAI,CAAC,IAAI,CAAC,EAC1C,IAAI,CAACgB,0BAA0B,CAAChB,IAAI,CAAC,IAAI,CAAC,EAC1C,IAAI,CAACE,kBAAkB,CAACF,IAAI,CAAC,IAAI,CAAC;MACnC;IAEL;EAAC;IAAA9C,GAAA;IAAAtC,KAAA,EAED,SAAAqG,eAAe7D,KAAK,EAAEd,KAAK,EAAE;MAAA,IAAA4E,eAAA;QAAAC,MAAA;MAC3B,IAAAC,cAAA,GAAgE,IAAI,CAAC1E,OAAO;QAApE9B,KAAK,GAAAwG,cAAA,CAALxG,KAAK;QAAE6C,gBAAgB,GAAA2D,cAAA,CAAhB3D,gBAAgB;QAAE4D,cAAc,GAAAD,cAAA,CAAdC,cAAc;QAAAC,mBAAA,GAAAF,cAAA,CAAEG,IAAI;QAAJA,IAAI,GAAAD,mBAAA,cAAG,GAAG,GAAAA,mBAAA;MAC3D,IAAME,WAAW,GACflF,KAAK,KAAKmB,gBAAgB,IAAI4D,cAAc,CAAC3C,OAAO,KAAK,UAAU,IAAI,CAACtB,KAAK,CAAC8B,QAAQ;MACxF,IAAMN,QAAQ,IAAAsC,eAAA,GAAG9D,KAAK,CAACwB,QAAQ,cAAAsC,eAAA,cAAAA,eAAA,GAAIvG,gBAAgB,CAACC,KAAK,EAAEwC,KAAK,CAACxC,KAAK,CAAC;MAEvE,OAAAkD,aAAA,CAAAA,aAAA,KAAAR,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,yBAAAxB,IAAA,OACwBoB,KAAK,EAAEd,KAAK;QAClCkF,WAAW,EAAXA,WAAW;QACX5C,QAAQ,EAARA,QAAQ;QACR,eAAe,EAAEA,QAAQ,GAAG,MAAM,GAAG,OAAO;QAC5C,eAAe,EAAExB,KAAK,CAAC8B,QAAQ,GAAG,MAAM,GAAG,OAAO;QAClDuC,IAAI,EAAE,QAAQ;QACdC,OAAO,EAAE,IAAI,CAACC,sBAAsB,CAACvE,KAAK,CAACxC,KAAK,EAAE0B,KAAK,CAAC;QACxDsF,GAAG,EAAE,SAAAA,IAACvE,IAAI;UAAA,OAAK8D,MAAI,CAAChE,OAAO,CAACC,KAAK,EAAEd,KAAK,EAAEe,IAAI,CAAC;QAAA;QAC/CkE,IAAI,EAAJA;MAAI;IAER;EAAC;IAAArE,GAAA;IAAAtC,KAAA,EAED,SAAAiH,uBAAA,EAAyB;MACvB,IAAAC,cAAA,GAA+B,IAAI,CAACpF,OAAO;QAAnC6E,IAAI,GAAAO,cAAA,CAAJP,IAAI;QAAEQ,YAAY,GAAAD,cAAA,CAAZC,YAAY;MAE1B,OAAO;QACLR,IAAI,EAAJA,IAAI;QACJQ,YAAY,EAAZA;MACF,CAAC;IACH;EAAC;IAAA7E,GAAA;IAAAtC,KAAA,EAED,SAAAoH,gBAAA,EAAkB;MAChB,OAAO;QAAEC,EAAE,EAAE,CAAC;QAAE,eAAe,EAAE;MAAO,CAAC;IAC3C;EAAC;IAAA/E,GAAA;IAAAtC,KAAA,EAED,SAAA8F,sBAAsB9F,KAAK,EAAE4D,OAAO,EAAE;MACpC,IAAIA,OAAO,EAAE;QACX,OAAO,EAAE,CAACtC,MAAM,CAACtB,KAAK,CAAC,CAACsH,MAAM,CAAC,UAACC,GAAG,EAAEvH,KAAK,EAAK;UAC7C,IAAMwH,cAAc,GAAG5D,OAAO,CAAC6D,IAAI,CAAC,UAACC,CAAC;YAAA,OAAK3H,gBAAgB,CAACC,KAAK,EAAE0H,CAAC,CAAC1H,KAAK,CAAC;UAAA,EAAC;UAC5E,IAAI,CAACwH,cAAc,EAAE,OAAOD,GAAG;UAC/B,IAAIA,GAAG,CAACjH,MAAM,EAAEiH,GAAG,CAACI,IAAI,CAAC,IAAI,CAAC;UAC9BJ,GAAG,CAACI,IAAI,CAACH,cAAc,CAACI,KAAK,IAAIJ,cAAc,CAACxH,KAAK,CAAC;UACtD,OAAOuH,GAAG;QACZ,CAAC,EAAE,EAAE,CAAC;MACR;MACA,OAAOrH,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GACvBA,KAAK,CAACsH,MAAM,CAAC,UAACC,GAAG,EAAEvH,KAAK,EAAK;QAC3B,IAAIuH,GAAG,CAACjH,MAAM,EAAEiH,GAAG,CAACI,IAAI,CAAC,IAAI,CAAC;QAC9BJ,GAAG,CAACI,IAAI,CAAC3H,KAAK,CAAC;QACf,OAAOuH,GAAG;MACZ,CAAC,EAAE,EAAE,CAAC,GACNvH,KAAK;IACX;EAAC;IAAAsC,GAAA;IAAAtC,KAAA,EA0BD,SAAA6H,OAAA,EAAS;MAAA,IAAAC,KAAA,QAAAhG,OAAA;MACP,IAAAiG,cAAA,GACE,IAAI,CAACjG,OAAO;QADNsB,QAAQ,GAAA2E,cAAA,CAAR3E,QAAQ;QAAEQ,OAAO,GAAAmE,cAAA,CAAPnE,OAAO;QAAEpD,WAAW,GAAAuH,cAAA,CAAXvH,WAAW;QAAER,KAAK,GAAA+H,cAAA,CAAL/H,KAAK;QAAE4E,GAAG,GAAAmD,cAAA,CAAHnD,GAAG;QAAEoD,kBAAkB,GAAAD,cAAA,CAAlBC,kBAAkB;QAAKC,KAAK,GAAAC,wBAAA,CAAAH,cAAA,EAAAI,SAAA;MAEhF,IAAMC,YAAY,GAChBJ,kBAAkB,IAClB/I,aAAa,CAACmE,QAAQ,EAAE,CAACC,MAAM,CAACgF,OAAO,CAAC/E,WAAW,EAAED,MAAM,CAACiF,MAAM,CAAChF,WAAW,CAAC,CAAC;MAElFpE,MAAM,CAACqJ,IAAI,CACT3E,OAAO,IAAIwE,YAAY,EACvB,wFAAwF,EACxFH,KAAK,CAAC,cAAc,CAAC,IAAI5E,MAAM,CAACC,WAAW,CAC5C;MAED,IAAI,CAACkF,SAAS,GAAG,EAAE;MAEnB,IAAI5E,OAAO,EAAE;QAAA,IAAA6E,IAAA,QAAA3G,OAAA;QACX,oBACEzD,KAAA,CAAAqK,aAAA,CAAchK,YAAY,EAAAiK,YAAA,KAAAF,IAAA,gBACxBpK,KAAA,CAAAqK,aAAA,CAACrF,MAAM,CAACgF,OAAO,EAAKJ,KAAK,CAAI,eAC7B5J,KAAA,CAAAqK,aAAA,CAACrF,MAAM,CAAC2B,IAAI,QACTpB,OAAO,CAACgF,GAAG,CAAC,UAACC,MAAM,EAAEnH,KAAK,EAAK;UAC9B,oBACErD,KAAA,CAAAqK,aAAA,CAACrF,MAAM,CAACyF,MAAM,EAAAC,QAAA;YAACzG,GAAG,EAAEuG,MAAM,CAAC7I,KAAM;YAACgJ,EAAE,SAAA1H,MAAA,CAASsD,GAAG,cAAAtD,MAAA,CAAWI,KAAK;UAAG,GAAKmH,MAAM,GAC3ErI,WAAW,iBAAInC,KAAA,CAAAqK,aAAA,CAACrF,MAAM,CAACyF,MAAM,CAACG,QAAQ,OAAG,EACzCJ,MAAM,CAAC/D,QAAQ,CACF;QAEpB,CAAC,CAAC,CACU,CACT;MAEX;MAEA,oBACEzG,KAAA,CAAAqK,aAAA,CAAchK,YAAY,EAAAwK,aAAA,KAAApB,KAAA,gBACxBzJ,KAAA,CAAAqK,aAAA,CAACtF,QAAQ,OAAG,CACP;IAEX;EAAC;EAAA,OAAA3C,UAAA;AAAA,EAvRsB7B,gBAAgB;AAAA2C,eAAA,CAAnCd,UAAU,iBACO,QAAQ;AAAAc,eAAA,CADzBd,UAAU,WAGCf,KAAK;AAAA6B,eAAA,CAHhBd,UAAU,aAIG0I,MAAM,CAACC,MAAM,CAACvK,OAAO,CAAC,CAACyC,MAAM,CAAC,CAACnC,mBAAmB,EAAE,CAAC,CAAC;AAAAoC,eAAA,CAJnEd,UAAU,kBAMQ,UAAC+B,KAAK,EAAK;EAAA,IAAA6G,qBAAA,EAAAC,oBAAA,EAAAC,kBAAA,EAAAC,cAAA;EAC/B,IAAMrG,cAAc,GAClBX,KAAK,CAACsC,QAAQ,IAAIhF,aAAa,CAAC0C,KAAK,CAACsC,QAAQ,EAAE,CAACzB,MAAM,CAAChE,WAAW,CAACiE,WAAW,CAAC,EAAE,IAAI,CAAC;EACzF,IAAMC,YAAY,GAAGJ,cAAc,GAAG,IAAI,GAAG,CAAC;EAE9C,OAAO;IACLqB,WAAW,EAAEhC,KAAK,CAAChC,WAAW,GAAG,gBAAgB,GAAG,eAAe;IACnEmG,IAAI,EAAE,GAAG;IACT8C,YAAY,EAAElJ,aAAa,CAACiC,KAAK,CAAChC,WAAW,CAAC;IAC9CkJ,cAAc,EAAE,KAAK;IACrBlG,uBAAuB,GAAA6F,qBAAA,GAAE7G,KAAK,CAACK,gBAAgB,cAAAwG,qBAAA,cAAAA,qBAAA,GAAI9F,YAAY;IAC/DoG,oBAAoB,GAAAL,oBAAA,GAAE9G,KAAK,CAACoH,aAAa,cAAAN,oBAAA,cAAAA,oBAAA,GAAI/F,YAAY;IACzDsG,gBAAgB,EAAE,IAAI;IACtBC,IAAI,EAAEtK,iBAAiB;IACvBuK,MAAM,EAAE,IAAI;IACZC,WAAW,GAAAT,kBAAA,GAAE/G,KAAK,CAACwH,WAAW,cAAAT,kBAAA,cAAAA,kBAAA,GAAI,OAAO;IACzCU,aAAa,EAAE,KAAK;IACpBC,OAAO,GAAAV,cAAA,GAAEhH,KAAK,CAAC0H,OAAO,cAAAV,cAAA,cAAAA,cAAA,GAAI;EAC5B,CAAC;AACH,CAAC;AAiQH,SAASnB,OAAOA,CAAA8B,KAAA,EAQb;EAAA,IAAAC,KAAA,GAAAC,YAAA;IAAAC,KAAA;EAAA,IAPDlH,QAAQ,GAAA+G,KAAA,CAAR/G,QAAQ;IACRsB,IAAI,GAAAyF,KAAA,CAAJzF,IAAI;IACJ1E,KAAK,GAAAmK,KAAA,CAALnK,KAAK;IACLuK,MAAM,GAAAJ,KAAA,CAANI,MAAM;IACN7E,UAAU,GAAAyE,KAAA,CAAVzE,UAAU;IAAA8E,SAAA,GAAAL,KAAA,CACVM,GAAG;IAAEC,GAAG,GAAAF,SAAA,cAAGzL,aAAa,GAAAyL,SAAA;IACxB7F,WAAW,GAAAwF,KAAA,CAAXxF,WAAW;EAEX,IAAMgG,eAAe,GAAGlL,iBAAiB,CAACiL,GAAG,CAAC;EAC9C,IAAME,cAAc,GAIRjM,QAAQ,CAAC0J,OAAO;EAF5B,OAAAiC,KAAA,GAAO7L,OAAO,CAAC8L,MAAM,CAAC,eACpBlM,KAAA,CAAAqK,aAAA,CAACkC,cAAc,EAAAN,KAAA,CAAAhM,EAAA,mBAAA4E,aAAA,KAAA2H,aAAA;IAAA,OAERH,GAAG;IAAA,eACK/F,WAAW,CAAC,mBAAmB,CAAC;IAAA,QACvC,UAAU;IAAA,qBACIgG,eAAe,IAAI,MAAM,IAAKpF;EAAS,GAAA6E,KAAA,KAE1DhL,iBAAiB,CAChBgE,QAAQ,EACRsH,GAAG,CAACI,IAAI,IAAI/L,aAAa,CAAC+L,IAAI,EAC9BJ,GAAG,CAACK,KAAK,IAAIhM,aAAa,CAAC+L,IAAI,EAC/BJ,GAAG,CAACM,KAAK,IAAIjM,aAAa,CAACiM,KAAK,EAChC,IAAI,CACL,EACAtG,IAAI,iBAAIrG,KAAA,CAAAqK,aAAA,UAAA4B,KAAA,CAAAhM,EAAA;IAAA,QAAY,QAAQ;IAAA,gBAAe0B,KAAK;IAAA,QAAQ0E,IAAI;IAAA,OAAOgB;EAAU,GAAI,CACnE;AAErB;AAEA,IAAMuF,kBAAkB,gBAAG5M,KAAK,CAAC6M,aAAa,CAAC,CAAC,CAAC,CAAC;AAClD,SAASpC,MAAMA,CAACtG,KAAK,EAAE;EAAA,IAAA2I,KAAA,GAAAd,YAAA;IAAAe,KAAA;EACrB,IAAMC,aAAa,GAOM1M,QAAQ,CAAC2M,IAAI;EANtC,IAAQf,MAAM,GAAe/H,KAAK,CAA1B+H,MAAM;IAAEnH,QAAQ,GAAKZ,KAAK,CAAlBY,QAAQ;EAExB,IAAMmI,WAAW,GAAGzL,aAAa,CAACsD,QAAQ,EAAE,CAACC,MAAM,CAACyF,MAAM,CAACG,QAAQ,CAAC3F,WAAW,CAAC,CAAC;EACjF,IAAMkI,UAAU,GAAG1L,aAAa,CAACsD,QAAQ,EAAE,CAACC,MAAM,CAACyF,MAAM,CAAC2C,OAAO,CAACnI,WAAW,CAAC,CAAC;EAE/E,OAAA8H,KAAA,GAAO3M,OAAO,CAAC8L,MAAM,CAAC,eACpBlM,KAAA,CAAAqK,aAAA,CAAC2C,aAAa,EAAAD,KAAA,CAAA9M,EAAA,kBAAA4E,aAAA,KAAAwI,aAAA,KAAAP,KAAA,kBACZ9M,KAAA,CAAAqK,aAAA,CAACuC,kBAAkB,CAACU,QAAQ;IAAC3L,KAAK,EAAEwC;EAAM,GACvC+I,WAAW,IAAI,CAACC,UAAU,gBACzBnN,KAAA,CAAAqK,aAAA,CAACrF,MAAM,CAACyF,MAAM,CAAC2C,OAAO,qBACpBpN,KAAA,CAAAqK,aAAA,CAACtF,QAAQ,EAAAgI,KAAA,CAAA9M,EAAA,iBAAG,CACU,gBAExBD,KAAA,CAAAqK,aAAA,CAACtF,QAAQ,EAAAgI,KAAA,CAAA9M,EAAA,iBACV,CAC2B,CAChB;AAEpB;AAEA,SAAS2K,QAAQA,CAAC2C,aAAa,EAAE;EAC/B,IAAMC,WAAW,GAAGxN,KAAK,CAACyN,UAAU,CAACb,kBAAkB,CAAC;EACxD,IAAMzI,KAAK,GAAGnE,KAAK,CAAC0N,OAAO,CACzB;IAAA,OAAA7I,aAAA;MACEc,QAAQ,EAAE6H,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE7H,QAAQ;MAC/BM,QAAQ,EAAEuH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEvH,QAAQ;MAC/BqC,IAAI,EAAEkF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAElF;IAAI,GACnBiF,aAAa,IAAI,CAAC,CAAC;EAAA,CACvB,EACF,CAACA,aAAa,EAAEC,WAAW,CAAC,CAC7B;EACD,IAAAG,OAAA,GAA0C1M,MAAM,CAACkD,KAAK,EAAEA,KAAK,CAACiC,UAAU,CAAC;IAAAwH,QAAA,GAAAC,cAAA,CAAAF,OAAA;IAAlEG,eAAe,GAAAF,QAAA;IAAEG,cAAc,GAAAH,QAAA;EACtC,IAAQtF,IAAI,GAAmDnE,KAAK,CAA5DmE,IAAI;IAAE0F,KAAK,GAA4C7J,KAAK,CAAtD6J,KAAK;IAAErI,QAAQ,GAAkCxB,KAAK,CAA/CwB,QAAQ;IAAEmD,YAAY,GAAoB3E,KAAK,CAArC2E,YAAY;IAAEmF,aAAa,GAAK9J,KAAK,CAAvB8J,aAAa;EAC1D,IAAM/B,MAAM,GAAG9L,OAAO,CAAC+D,KAAK,CAAC+H,MAAM,CAAC;EAEpC,IAAAgC,UAAA,GAA6BhC,MAAM,CAACjM,EAAE,CAAC,iBAAiB,EAAE;MACxDqI,IAAI,EAAJA,IAAI;MACJ,WAAW,EAAEQ,YAAY,CAACkF,KAAK,CAAC;MAChCC,aAAa,EAAbA,aAAa;MACbtI,QAAQ,EAARA;IACF,CAAC,CAAC;IALMwI,SAAS,GAAAD,UAAA,CAATC,SAAS;IAAE9M,KAAK,GAAA6M,UAAA,CAAL7M,KAAK;EAOxB,oBACErB,KAAA,CAAAqK,aAAA,CAACyD,eAAe,EAAApD,QAAA,KACVqD,cAAc;IAClBI,SAAS,EAAElO,EAAE,CAACkO,SAAS,EAAEJ,cAAc,CAACI,SAAS,CAAC,IAAIjH,SAAU;IAChE7F,KAAK,EAAAwD,aAAA,CAAAA,aAAA,KAAOxD,KAAK,GAAK0M,cAAc,CAAC1M,KAAK,CAAG;IAC7C+M,QAAQ,EAAE,CAAC;EAAE,GACb;AAEN;AAEA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA,EAAe;EAAA,IAAAC,KAAA,GAAAtC,YAAA;EACrC,oBAAOhM,KAAA,CAAAqK,aAAA,CAAcrJ,WAAW,EAAAuN,aAAA,KAAAD,KAAA,EAAI;AACtC,CAAC;AAED,IAAMtJ,MAAM,GAAG9E,eAAe,CAC5BkC,UAAU,EACV;EACE4H,OAAO,EAAE,CACPA,OAAO,EACP;IACE2C,KAAK,EAAEjM,aAAa,CAACiM,KAAK;IAC1BF,IAAI,EAAE/L,aAAa,CAAC+L;EACtB,CAAC,CACF;EACDxC,MAAM,EAAE3J,QAAQ,CAAC2J,MAAM;EACvBuE,IAAI,EAAEnO,YAAY,CAACmO,IAAI;EACvB7H,IAAI,EAAEtG,YAAY,CAACsG,IAAI;EACvB8D,MAAM,EAAE,CACNA,MAAM,EACN;IACEkC,KAAK,EAAEtM,YAAY,CAAC4M,IAAI,CAACN,KAAK;IAC9BS,OAAO,EAAE/M,YAAY,CAAC4M,IAAI,CAACG,OAAO;IAClCqB,IAAI,EAAEpO,YAAY,CAAC4M,IAAI,CAACwB,IAAI;IAC5B7D,QAAQ,EAARA;EACF,CAAC,CACF;EACD8D,KAAK,EAAEpO,QAAQ,CAACoO,KAAK;EACrBC,WAAW,EAAEtO,YAAY,CAACuO,SAAS;EACnCC,UAAU,EAAExO,YAAY,CAACyO,QAAQ;EACjCnO,OAAO,EAAPA,OAAO;EACPK,WAAW,EAAE,CAACqN,kBAAkB,EAAErN,WAAW,CAAC+N,yBAAyB,CAAC;EACxEC,KAAK,EAAE,CAACX,kBAAkB,EAAErN,WAAW,CAAC+N,yBAAyB;AACnE,CAAC,EACD;EAAEE,MAAM,EAAE5O,YAAY;EAAE6O,OAAO,EAAEhO;AAAc,CAAC,CACjD;AAED,OAAO,IAAMiO,UAAU,GAAG,SAAbA,UAAUA,CAAIC,OAAO;EAAA,OAAKA,OAAO;AAAA;AAC9CpK,MAAM,CAACvE,oBAAoB,GAAGA,oBAAoB;AAElD,eAAeuE,MAAM"}
1
+ {"version":3,"file":"Select.js","names":["React","cn","createComponent","Root","sstyled","DropdownMenu","Dropdown","AbstractDropdown","enhance","selectedIndexContext","ButtonTrigger","Divider","findComponent","logger","resolveColorEnhance","addonTextChildren","InputSearch","useBox","selectContext","localizedMessages","isInputTriggerTag","style","_sstyled","insert","callAllEventHandlers","isAdvanceMode","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","RootSelect","_AbstractDropdown","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","_key","call","apply","concat","_defineProperty","_assertThisInitialized","optionValue","index","e","newValue","_this$asProps","asProps","filter","v","handlers","visible","preventDefault","emptyValue","_createClass","key","itemRef","props","node","_get","_getPrototypeOf","prototype","highlightedIndex","isHighlighted","scrollToNode","uncontrolledProps","_this2","_objectSpread","hasInputSearch","Children","Select","displayName","defaultIndex","defaultHighlightedIndex","setTimeout","_this2$menuRef$curren","_this2$menuRef$curren2","options","menuRef","current","querySelectorAll","selected","querySelector","i","getTriggerProps","_this3","_this$asProps2","disabled","state","placeholder","forwardRef","name","getI18nText","uid","hasChildren","children","isMenu","Menu","ariaControls","onKeyDown","handlePreventCommonKeyDown","bind","handleOpenKeyDown","handleArrowKeyDown","undefined","itemRefs","empty","$hiddenRef","active","onClear","handlerClear","renderChildrenTrigger","onBlur","prevHighlightedIndex","onFocus","getListProps","getPopperProps","handlePreventPopperKeyDown","getOptionProps","_props$selected","_this4","_this$asProps3","focusSourceRef","_this$asProps3$size","size","highlighted","role","onClick","bindHandlerOptionClick","ref","getOptionCheckboxProps","_this$asProps4","resolveColor","getDividerProps","my","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_this$asProps5","forcedAdvancedMode","other","_objectWithoutProperties","_excluded","advancedMode","Trigger","Popper","warn","itemProps","_ref","createElement","_assignProps","map","option","Option","_extends","id","Checkbox","_assignProps2","Object","values","_props$highlightedInd","_props$selectedIndex","_props$interaction","_props$timeout","defaultValue","defaultVisible","defaultSelectedIndex","selectedIndex","scrollToSelected","i18n","locale","interaction","inlineActions","timeout","_ref8","_ref3","arguments[0]","_ref6","styles","_ref8$tag","tag","Tag","hasInputTrigger","SSelectTrigger","_assignProps3","Text","Value","Addon","optionPropsContext","createContext","_ref4","_ref7","SSelectOption","Item","hasCheckbox","hasContent","Content","_assignProps4","Provider","providedProps","optionProps","useContext","useMemo","_useBox","_useBox2","_slicedToArray","SOptionCheckbox","componentProps","theme","indeterminate","_styles$cn","className","tabIndex","InputSearchWrapper","_ref5","_assignProps5","List","Hint","Group","OptionTitle","ItemTitle","OptionHint","ItemHint","_______childrenComponents","Input","parent","context","wrapSelect","wrapper"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Root, sstyled } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport Dropdown, { AbstractDropdown, enhance, selectedIndexContext } from '@semcore/dropdown';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport logger from '@semcore/utils/lib/logger';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { isInputTriggerTag } from '@semcore/popper';\n\nimport style from './style/select.shadow.css';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { isAdvanceMode } from '@semcore/utils/lib/findComponent';\n\nfunction isSelectedOption(value, valueOption) {\n return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;\n}\n\nfunction isEmptyValue(value) {\n return Array.isArray(value) ? value.length === 0 : value === null;\n}\n\nfunction getEmptyValue(multiselect) {\n return multiselect ? [] : null;\n}\n\nclass RootSelect extends AbstractDropdown {\n static displayName = 'Select';\n\n static style = style;\n static enhance = Object.values(enhance).concat([resolveColorEnhance()]);\n\n static defaultProps = (props) => {\n const hasInputSearch =\n props.children && isAdvanceMode(props.children, [Select.InputSearch.displayName], true);\n const defaultIndex = hasInputSearch ? null : 0;\n\n return {\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n defaultHighlightedIndex: props.highlightedIndex ?? defaultIndex,\n defaultSelectedIndex: props.selectedIndex ?? defaultIndex,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n interaction: props.interaction ?? 'click',\n inlineActions: false,\n timeout: props.timeout ?? 0,\n };\n };\n\n role = 'listbox';\n\n itemRef(props, index, node) {\n super.itemRef(props, index, node);\n\n const { highlightedIndex } = this.asProps;\n const isHighlighted = index === highlightedIndex;\n\n if (isHighlighted) {\n this.scrollToNode(node);\n }\n }\n\n uncontrolledProps() {\n return {\n ...super.uncontrolledProps(),\n visible: [\n null,\n (visible) => {\n if (visible === true) {\n const hasInputSearch = isAdvanceMode(\n this.asProps.Children,\n [Select.InputSearch.displayName],\n true,\n );\n\n const defaultIndex = hasInputSearch ? null : this.props.defaultHighlightedIndex;\n\n this.handlers.highlightedIndex(defaultIndex);\n\n setTimeout(() => {\n const options = this.menuRef.current?.querySelectorAll('[role=\"option\"]');\n const selected = this.menuRef.current?.querySelector('[aria-selected=\"true\"]');\n\n if (selected && options) {\n this.scrollToNode(selected);\n\n for (let i = 0; i < options.length; i++) {\n if (options[i] === selected) {\n this.handlers.highlightedIndex(i);\n break;\n }\n }\n }\n // for some reason, Google Chrome optimizes this timeout with 0 value with previous render (when we set aria-selected)\n // and that's why its skip scrollToNodes. We selected the appropriate timeout manually.\n }, 30);\n }\n },\n ],\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n getI18nText,\n highlightedIndex,\n uid,\n Children,\n children: hasChildren,\n } = this.asProps;\n\n const isMenu = isAdvanceMode(Children, [Select.Menu.displayName], true) || !hasChildren;\n const ariaControls = isMenu ? `igc-${uid}-list` : `igc-${uid}-popper`;\n\n return {\n ...super.getTriggerProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handleOpenKeyDown.bind(this),\n this.handleArrowKeyDown.bind(this),\n ),\n 'aria-controls': visible ? ariaControls : undefined,\n 'aria-haspopup': isMenu ? 'listbox' : 'dialog',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-activedescendant':\n visible && highlightedIndex !== null && this.itemRefs[highlightedIndex]\n ? `igc-${uid}-option-${highlightedIndex}`\n : undefined,\n empty: isEmptyValue(value),\n value,\n name,\n $hiddenRef: forwardRef,\n multiselect,\n state,\n placeholder,\n disabled,\n active: visible,\n onClear: this.handlerClear,\n children: this.renderChildrenTrigger(value, options),\n getI18nText,\n\n onBlur: () => {\n // if popper is opened and we moved from the trigger in select - it means we moved on some controls in popper and should hide highlighted for the option\n if (this.asProps.visible) {\n this.prevHighlightedIndex = this.asProps.highlightedIndex;\n this.handlers.highlightedIndex(null);\n }\n },\n onFocus: () => {\n // if popper is opened and we moved to the trigger in select - it means we moved from some controls in popper and should highlight the last highlighted option\n if (this.asProps.visible) {\n const index = this.prevHighlightedIndex;\n this.handlers.highlightedIndex(index);\n }\n },\n };\n }\n\n getListProps() {\n const { multiselect } = this.asProps;\n\n return {\n ...super.getListProps(),\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n };\n }\n\n getPopperProps() {\n return {\n ...super.getPopperProps(),\n onKeyDown: callAllEventHandlers(\n this.handlePreventCommonKeyDown.bind(this),\n this.handlePreventPopperKeyDown.bind(this),\n this.handleArrowKeyDown.bind(this),\n ),\n };\n }\n\n getOptionProps(props, index) {\n const { value, highlightedIndex, focusSourceRef, size = 'm' } = this.asProps;\n const highlighted =\n index === highlightedIndex && focusSourceRef.current === 'keyboard' && !props.disabled;\n const selected = props.selected ?? isSelectedOption(value, props.value);\n\n return {\n ...super.getItemProps(props, index),\n highlighted,\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n 'aria-disabled': props.disabled ? 'true' : 'false',\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value, index),\n ref: (node) => this.itemRef(props, index, node),\n size,\n };\n }\n\n getOptionCheckboxProps() {\n const { size, resolveColor } = this.asProps;\n\n return {\n size,\n resolveColor,\n };\n }\n\n getDividerProps() {\n return { my: 1, 'aria-disabled': 'true' };\n }\n\n renderChildrenTrigger(value, options) {\n if (options) {\n return [].concat(value).reduce((acc, value) => {\n const selectedOption = options.find((o) => isSelectedOption(value, o.value));\n if (!selectedOption) return acc;\n if (acc.length) acc.push(', ');\n acc.push(selectedOption.label || selectedOption.value);\n return acc;\n }, []);\n }\n return Array.isArray(value)\n ? value.reduce((acc, value) => {\n if (acc.length) acc.push(', ');\n acc.push(value);\n return acc;\n }, [])\n : value;\n }\n\n bindHandlerOptionClick = (optionValue, index) => (e) => {\n let newValue = optionValue;\n const { value, multiselect } = this.asProps;\n if (Array.isArray(value)) {\n if (value.includes(optionValue)) {\n newValue = value.filter((v) => v !== optionValue);\n } else {\n newValue = value.concat(optionValue);\n }\n }\n this.handlers.value(newValue, e);\n if (!multiselect) {\n this.handlers.visible(false);\n e.preventDefault();\n }\n };\n\n handlerClear = (e) => {\n const { value } = this.asProps;\n const emptyValue = getEmptyValue(Array.isArray(value));\n this.handlers.value(emptyValue, e);\n this.handlers.visible(false);\n };\n\n render() {\n const { Children, options, multiselect, value, uid, forcedAdvancedMode, ...other } =\n this.asProps;\n const advancedMode =\n forcedAdvancedMode ||\n findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);\n\n logger.warn(\n options && advancedMode,\n \"Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'\",\n other['data-ui-name'] || Select.displayName,\n );\n\n this.itemProps = [];\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} />\n <Select.Menu>\n {options.map((option, index) => {\n return (\n <Select.Option key={option.value} id={`igc-${uid}-option-${index}`} {...option}>\n {multiselect && <Select.Option.Checkbox />}\n {option.children}\n </Select.Option>\n );\n })}\n </Select.Menu>\n </Root>\n );\n }\n\n return (\n <Root render={DropdownMenu}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction Trigger({\n Children,\n name,\n value,\n styles,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SSelectTrigger = Root;\n\n return sstyled(styles)(\n <SSelectTrigger\n render={Dropdown.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n role={'combobox'}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Value || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type='hidden' defaultValue={value} name={name} ref={$hiddenRef} />}\n </SSelectTrigger>,\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children } = props;\n\n const hasCheckbox = isAdvanceMode(Children, [Select.Option.Checkbox.displayName]);\n const hasContent = isAdvanceMode(Children, [Select.Option.Content.displayName]);\n\n return sstyled(styles)(\n <SSelectOption render={Dropdown.Item}>\n <optionPropsContext.Provider value={props}>\n {hasCheckbox && !hasContent ? (\n <Select.Option.Content>\n <Children />\n </Select.Option.Content>\n ) : (\n <Children />\n )}\n </optionPropsContext.Provider>\n </SSelectOption>,\n );\n}\n\nfunction Checkbox(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const props = React.useMemo(\n () => ({\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected, resolveColor, indeterminate } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n indeterminate,\n selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n tabIndex={-1}\n />\n );\n}\n\nconst InputSearchWrapper = function () {\n return <Root render={InputSearch} />;\n};\n\nconst Select = createComponent(\n RootSelect,\n {\n Trigger: [\n Trigger,\n {\n Addon: ButtonTrigger.Addon,\n Text: ButtonTrigger.Text,\n },\n ],\n Popper: Dropdown.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Content: DropdownMenu.Item.Content,\n Hint: DropdownMenu.Item.Hint,\n Checkbox,\n },\n ],\n Group: Dropdown.Group,\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: [InputSearchWrapper, InputSearch._______childrenComponents],\n Input: [InputSearchWrapper, InputSearch._______childrenComponents],\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport const wrapSelect = (wrapper) => wrapper;\nSelect.selectedIndexContext = selectedIndexContext;\n\nexport default Select;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,EAAE,MAAM,YAAY;AAC3B,OAAOC,eAAe,IAAIC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AAC9D,OAAOC,YAAY,MAAM,wBAAwB;AACjD,OAAOC,QAAQ,IAAIC,gBAAgB,EAAEC,OAAO,EAAEC,oBAAoB,QAAQ,mBAAmB;AAC7F,SAASC,aAAa,QAAQ,uBAAuB;AACrD,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,aAAa,MAAM,kCAAkC;AAC5D,OAAOC,MAAM,MAAM,2BAA2B;AAC9C,OAAOC,mBAAmB,MAAM,iDAAiD;AACjF,OAAOC,iBAAiB,MAAM,sCAAsC;AACpE,OAAOC,WAAW,MAAM,eAAe;AACvC,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,aAAa,QAAQ,WAAW;AACzC,SAASC,iBAAiB,QAAQ,gDAAgD;AAClF,SAASC,iBAAiB,QAAQ,iBAAiB;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAGpD,SAASC,oBAAoB,QAAQ,gCAAgC;AACrE,SAASC,aAAa,QAAQ,kCAAkC;AAEhE,SAASC,gBAAgBA,CAACC,KAAK,EAAEC,WAAW,EAAE;EAC5C,OAAOC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GAAGA,KAAK,CAACI,QAAQ,CAACH,WAAW,CAAC,GAAGA,WAAW,KAAKD,KAAK;AACnF;AAEA,SAASK,YAAYA,CAACL,KAAK,EAAE;EAC3B,OAAOE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GAAGA,KAAK,CAACM,MAAM,KAAK,CAAC,GAAGN,KAAK,KAAK,IAAI;AACnE;AAEA,SAASO,aAAaA,CAACC,WAAW,EAAE;EAClC,OAAOA,WAAW,GAAG,EAAE,GAAG,IAAI;AAChC;AAAC,IAEKC,UAAU,0BAAAC,iBAAA;EAAAC,SAAA,CAAAF,UAAA,EAAAC,iBAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,UAAA;EAAA,SAAAA,WAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,UAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAX,MAAA,EAAAY,IAAA,OAAAhB,KAAA,CAAAc,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAD,IAAA,CAAAC,IAAA,IAAAF,SAAA,CAAAE,IAAA;IAAA;IAAAL,KAAA,GAAAF,MAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,MAAA,SAAAU,MAAA,CAAAJ,IAAA;IAAAK,eAAA,CAAAC,sBAAA,CAAAV,KAAA,WA2BP,SAAS;IAAAS,eAAA,CAAAC,sBAAA,CAAAV,KAAA,6BA8LS,UAACW,WAAW,EAAEC,KAAK;MAAA,OAAK,UAACC,CAAC,EAAK;QACtD,IAAIC,QAAQ,GAAGH,WAAW;QAC1B,IAAAI,aAAA,GAA+Bf,KAAA,CAAKgB,OAAO;UAAnC9B,KAAK,GAAA6B,aAAA,CAAL7B,KAAK;UAAEQ,WAAW,GAAAqB,aAAA,CAAXrB,WAAW;QAC1B,IAAIN,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;UACxB,IAAIA,KAAK,CAACI,QAAQ,CAACqB,WAAW,CAAC,EAAE;YAC/BG,QAAQ,GAAG5B,KAAK,CAAC+B,MAAM,CAAC,UAACC,CAAC;cAAA,OAAKA,CAAC,KAAKP,WAAW;YAAA,EAAC;UACnD,CAAC,MAAM;YACLG,QAAQ,GAAG5B,KAAK,CAACsB,MAAM,CAACG,WAAW,CAAC;UACtC;QACF;QACAX,KAAA,CAAKmB,QAAQ,CAACjC,KAAK,CAAC4B,QAAQ,EAAED,CAAC,CAAC;QAChC,IAAI,CAACnB,WAAW,EAAE;UAChBM,KAAA,CAAKmB,QAAQ,CAACC,OAAO,CAAC,KAAK,CAAC;UAC5BP,CAAC,CAACQ,cAAc,EAAE;QACpB;MACF,CAAC;IAAA;IAAAZ,eAAA,CAAAC,sBAAA,CAAAV,KAAA,mBAEc,UAACa,CAAC,EAAK;MACpB,IAAQ3B,KAAK,GAAKc,KAAA,CAAKgB,OAAO,CAAtB9B,KAAK;MACb,IAAMoC,UAAU,GAAG7B,aAAa,CAACL,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,CAAC;MACtDc,KAAA,CAAKmB,QAAQ,CAACjC,KAAK,CAACoC,UAAU,EAAET,CAAC,CAAC;MAClCb,KAAA,CAAKmB,QAAQ,CAACC,OAAO,CAAC,KAAK,CAAC;IAC9B,CAAC;IAAA,OAAApB,KAAA;EAAA;EAAAuB,YAAA,CAAA5B,UAAA;IAAA6B,GAAA;IAAAtC,KAAA,EAlND,SAAAuC,QAAQC,KAAK,EAAEd,KAAK,EAAEe,IAAI,EAAE;MAC1BC,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,oBAAAxB,IAAA,OAAcoB,KAAK,EAAEd,KAAK,EAAEe,IAAI;MAEhC,IAAQI,gBAAgB,GAAK,IAAI,CAACf,OAAO,CAAjCe,gBAAgB;MACxB,IAAMC,aAAa,GAAGpB,KAAK,KAAKmB,gBAAgB;MAEhD,IAAIC,aAAa,EAAE;QACjB,IAAI,CAACC,YAAY,CAACN,IAAI,CAAC;MACzB;IACF;EAAC;IAAAH,GAAA;IAAAtC,KAAA,EAED,SAAAgD,kBAAA,EAAoB;MAAA,IAAAC,MAAA;MAClB,OAAAC,aAAA,CAAAA,aAAA,KAAAR,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,8BAAAxB,IAAA;QAEEc,OAAO,EAAE,CACP,IAAI,EACJ,UAACA,OAAO,EAAK;UACX,IAAIA,OAAO,KAAK,IAAI,EAAE;YACpB,IAAMiB,cAAc,GAAGrD,aAAa,CAClCmD,MAAI,CAACnB,OAAO,CAACsB,QAAQ,EACrB,CAACC,MAAM,CAAChE,WAAW,CAACiE,WAAW,CAAC,EAChC,IAAI,CACL;YAED,IAAMC,YAAY,GAAGJ,cAAc,GAAG,IAAI,GAAGF,MAAI,CAACT,KAAK,CAACgB,uBAAuB;YAE/EP,MAAI,CAAChB,QAAQ,CAACY,gBAAgB,CAACU,YAAY,CAAC;YAE5CE,UAAU,CAAC,YAAM;cAAA,IAAAC,qBAAA,EAAAC,sBAAA;cACf,IAAMC,OAAO,IAAAF,qBAAA,GAAGT,MAAI,CAACY,OAAO,CAACC,OAAO,cAAAJ,qBAAA,uBAApBA,qBAAA,CAAsBK,gBAAgB,CAAC,iBAAiB,CAAC;cACzE,IAAMC,QAAQ,IAAAL,sBAAA,GAAGV,MAAI,CAACY,OAAO,CAACC,OAAO,cAAAH,sBAAA,uBAApBA,sBAAA,CAAsBM,aAAa,CAAC,wBAAwB,CAAC;cAE9E,IAAID,QAAQ,IAAIJ,OAAO,EAAE;gBACvBX,MAAI,CAACF,YAAY,CAACiB,QAAQ,CAAC;gBAE3B,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGN,OAAO,CAACtD,MAAM,EAAE4D,CAAC,EAAE,EAAE;kBACvC,IAAIN,OAAO,CAACM,CAAC,CAAC,KAAKF,QAAQ,EAAE;oBAC3Bf,MAAI,CAAChB,QAAQ,CAACY,gBAAgB,CAACqB,CAAC,CAAC;oBACjC;kBACF;gBACF;cACF;cACA;cACA;YACF,CAAC,EAAE,EAAE,CAAC;UACR;QACF,CAAC,CACF;QACDlE,KAAK,EAAE;MAAI;IAEf;EAAC;IAAAsC,GAAA;IAAAtC,KAAA,EAED,SAAAmE,gBAAA,EAAkB;MAAA,IAAAC,MAAA;MAChB,IAAAC,cAAA,GAeI,IAAI,CAACvC,OAAO;QAddwC,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QACRpC,OAAO,GAAAmC,cAAA,CAAPnC,OAAO;QACPqC,KAAK,GAAAF,cAAA,CAALE,KAAK;QACLC,WAAW,GAAAH,cAAA,CAAXG,WAAW;QACXxE,KAAK,GAAAqE,cAAA,CAALrE,KAAK;QACL4D,OAAO,GAAAS,cAAA,CAAPT,OAAO;QACPa,UAAU,GAAAJ,cAAA,CAAVI,UAAU;QACVC,IAAI,GAAAL,cAAA,CAAJK,IAAI;QACJlE,WAAW,GAAA6D,cAAA,CAAX7D,WAAW;QACXmE,WAAW,GAAAN,cAAA,CAAXM,WAAW;QACX9B,gBAAgB,GAAAwB,cAAA,CAAhBxB,gBAAgB;QAChB+B,GAAG,GAAAP,cAAA,CAAHO,GAAG;QACHxB,QAAQ,GAAAiB,cAAA,CAARjB,QAAQ;QACEyB,WAAW,GAAAR,cAAA,CAArBS,QAAQ;MAGV,IAAMC,MAAM,GAAGjF,aAAa,CAACsD,QAAQ,EAAE,CAACC,MAAM,CAAC2B,IAAI,CAAC1B,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAACuB,WAAW;MACvF,IAAMI,YAAY,GAAGF,MAAM,UAAAzD,MAAA,CAAUsD,GAAG,oBAAAtD,MAAA,CAAiBsD,GAAG,YAAS;MAErE,OAAA1B,aAAA,CAAAA,aAAA,KAAAR,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,4BAAAxB,IAAA;QAEE8D,SAAS,EAAErF,oBAAoB,CAC7B,IAAI,CAACsF,0BAA0B,CAACC,IAAI,CAAC,IAAI,CAAC,EAC1C,IAAI,CAACC,iBAAiB,CAACD,IAAI,CAAC,IAAI,CAAC,EACjC,IAAI,CAACE,kBAAkB,CAACF,IAAI,CAAC,IAAI,CAAC,CACnC;QACD,eAAe,EAAElD,OAAO,GAAG+C,YAAY,GAAGM,SAAS;QACnD,eAAe,EAAER,MAAM,GAAG,SAAS,GAAG,QAAQ;QAC9C,eAAe,EAAET,QAAQ,GAAG,MAAM,GAAG,OAAO;QAC5C,uBAAuB,EACrBpC,OAAO,IAAIW,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC2C,QAAQ,CAAC3C,gBAAgB,CAAC,UAAAvB,MAAA,CAC5DsD,GAAG,cAAAtD,MAAA,CAAWuB,gBAAgB,IACrC0C,SAAS;QACfE,KAAK,EAAEpF,YAAY,CAACL,KAAK,CAAC;QAC1BA,KAAK,EAALA,KAAK;QACL0E,IAAI,EAAJA,IAAI;QACJgB,UAAU,EAAEjB,UAAU;QACtBjE,WAAW,EAAXA,WAAW;QACX+D,KAAK,EAALA,KAAK;QACLC,WAAW,EAAXA,WAAW;QACXF,QAAQ,EAARA,QAAQ;QACRqB,MAAM,EAAEzD,OAAO;QACf0D,OAAO,EAAE,IAAI,CAACC,YAAY;QAC1Bf,QAAQ,EAAE,IAAI,CAACgB,qBAAqB,CAAC9F,KAAK,EAAE4D,OAAO,CAAC;QACpDe,WAAW,EAAXA,WAAW;QAEXoB,MAAM,EAAE,SAAAA,OAAA,EAAM;UACZ;UACA,IAAI3B,MAAI,CAACtC,OAAO,CAACI,OAAO,EAAE;YACxBkC,MAAI,CAAC4B,oBAAoB,GAAG5B,MAAI,CAACtC,OAAO,CAACe,gBAAgB;YACzDuB,MAAI,CAACnC,QAAQ,CAACY,gBAAgB,CAAC,IAAI,CAAC;UACtC;QACF,CAAC;QACDoD,OAAO,EAAE,SAAAA,QAAA,EAAM;UACb;UACA,IAAI7B,MAAI,CAACtC,OAAO,CAACI,OAAO,EAAE;YACxB,IAAMR,KAAK,GAAG0C,MAAI,CAAC4B,oBAAoB;YACvC5B,MAAI,CAACnC,QAAQ,CAACY,gBAAgB,CAACnB,KAAK,CAAC;UACvC;QACF;MAAC;IAEL;EAAC;IAAAY,GAAA;IAAAtC,KAAA,EAED,SAAAkG,aAAA,EAAe;MACb,IAAQ1F,WAAW,GAAK,IAAI,CAACsB,OAAO,CAA5BtB,WAAW;MAEnB,OAAA0C,aAAA,CAAAA,aAAA,KAAAR,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,yBAAAxB,IAAA;QAEE,sBAAsB,EAAEZ,WAAW,GAAG,MAAM,GAAG+E;MAAS;IAE5D;EAAC;IAAAjD,GAAA;IAAAtC,KAAA,EAED,SAAAmG,eAAA,EAAiB;MACf,OAAAjD,aAAA,CAAAA,aAAA,KAAAR,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,2BAAAxB,IAAA;QAEE8D,SAAS,EAAErF,oBAAoB,CAC7B,IAAI,CAACsF,0BAA0B,CAACC,IAAI,CAAC,IAAI,CAAC,EAC1C,IAAI,CAACgB,0BAA0B,CAAChB,IAAI,CAAC,IAAI,CAAC,EAC1C,IAAI,CAACE,kBAAkB,CAACF,IAAI,CAAC,IAAI,CAAC;MACnC;IAEL;EAAC;IAAA9C,GAAA;IAAAtC,KAAA,EAED,SAAAqG,eAAe7D,KAAK,EAAEd,KAAK,EAAE;MAAA,IAAA4E,eAAA;QAAAC,MAAA;MAC3B,IAAAC,cAAA,GAAgE,IAAI,CAAC1E,OAAO;QAApE9B,KAAK,GAAAwG,cAAA,CAALxG,KAAK;QAAE6C,gBAAgB,GAAA2D,cAAA,CAAhB3D,gBAAgB;QAAE4D,cAAc,GAAAD,cAAA,CAAdC,cAAc;QAAAC,mBAAA,GAAAF,cAAA,CAAEG,IAAI;QAAJA,IAAI,GAAAD,mBAAA,cAAG,GAAG,GAAAA,mBAAA;MAC3D,IAAME,WAAW,GACflF,KAAK,KAAKmB,gBAAgB,IAAI4D,cAAc,CAAC3C,OAAO,KAAK,UAAU,IAAI,CAACtB,KAAK,CAAC8B,QAAQ;MACxF,IAAMN,QAAQ,IAAAsC,eAAA,GAAG9D,KAAK,CAACwB,QAAQ,cAAAsC,eAAA,cAAAA,eAAA,GAAIvG,gBAAgB,CAACC,KAAK,EAAEwC,KAAK,CAACxC,KAAK,CAAC;MAEvE,OAAAkD,aAAA,CAAAA,aAAA,KAAAR,IAAA,CAAAC,eAAA,CAAAlC,UAAA,CAAAmC,SAAA,yBAAAxB,IAAA,OACwBoB,KAAK,EAAEd,KAAK;QAClCkF,WAAW,EAAXA,WAAW;QACX5C,QAAQ,EAARA,QAAQ;QACR,eAAe,EAAEA,QAAQ,GAAG,MAAM,GAAG,OAAO;QAC5C,eAAe,EAAExB,KAAK,CAAC8B,QAAQ,GAAG,MAAM,GAAG,OAAO;QAClDuC,IAAI,EAAE,QAAQ;QACdC,OAAO,EAAE,IAAI,CAACC,sBAAsB,CAACvE,KAAK,CAACxC,KAAK,EAAE0B,KAAK,CAAC;QACxDsF,GAAG,EAAE,SAAAA,IAACvE,IAAI;UAAA,OAAK8D,MAAI,CAAChE,OAAO,CAACC,KAAK,EAAEd,KAAK,EAAEe,IAAI,CAAC;QAAA;QAC/CkE,IAAI,EAAJA;MAAI;IAER;EAAC;IAAArE,GAAA;IAAAtC,KAAA,EAED,SAAAiH,uBAAA,EAAyB;MACvB,IAAAC,cAAA,GAA+B,IAAI,CAACpF,OAAO;QAAnC6E,IAAI,GAAAO,cAAA,CAAJP,IAAI;QAAEQ,YAAY,GAAAD,cAAA,CAAZC,YAAY;MAE1B,OAAO;QACLR,IAAI,EAAJA,IAAI;QACJQ,YAAY,EAAZA;MACF,CAAC;IACH;EAAC;IAAA7E,GAAA;IAAAtC,KAAA,EAED,SAAAoH,gBAAA,EAAkB;MAChB,OAAO;QAAEC,EAAE,EAAE,CAAC;QAAE,eAAe,EAAE;MAAO,CAAC;IAC3C;EAAC;IAAA/E,GAAA;IAAAtC,KAAA,EAED,SAAA8F,sBAAsB9F,KAAK,EAAE4D,OAAO,EAAE;MACpC,IAAIA,OAAO,EAAE;QACX,OAAO,EAAE,CAACtC,MAAM,CAACtB,KAAK,CAAC,CAACsH,MAAM,CAAC,UAACC,GAAG,EAAEvH,KAAK,EAAK;UAC7C,IAAMwH,cAAc,GAAG5D,OAAO,CAAC6D,IAAI,CAAC,UAACC,CAAC;YAAA,OAAK3H,gBAAgB,CAACC,KAAK,EAAE0H,CAAC,CAAC1H,KAAK,CAAC;UAAA,EAAC;UAC5E,IAAI,CAACwH,cAAc,EAAE,OAAOD,GAAG;UAC/B,IAAIA,GAAG,CAACjH,MAAM,EAAEiH,GAAG,CAACI,IAAI,CAAC,IAAI,CAAC;UAC9BJ,GAAG,CAACI,IAAI,CAACH,cAAc,CAACI,KAAK,IAAIJ,cAAc,CAACxH,KAAK,CAAC;UACtD,OAAOuH,GAAG;QACZ,CAAC,EAAE,EAAE,CAAC;MACR;MACA,OAAOrH,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,GACvBA,KAAK,CAACsH,MAAM,CAAC,UAACC,GAAG,EAAEvH,KAAK,EAAK;QAC3B,IAAIuH,GAAG,CAACjH,MAAM,EAAEiH,GAAG,CAACI,IAAI,CAAC,IAAI,CAAC;QAC9BJ,GAAG,CAACI,IAAI,CAAC3H,KAAK,CAAC;QACf,OAAOuH,GAAG;MACZ,CAAC,EAAE,EAAE,CAAC,GACNvH,KAAK;IACX;EAAC;IAAAsC,GAAA;IAAAtC,KAAA,EA0BD,SAAA6H,OAAA,EAAS;MAAA,IAAAC,KAAA,QAAAhG,OAAA;MACP,IAAAiG,cAAA,GACE,IAAI,CAACjG,OAAO;QADNsB,QAAQ,GAAA2E,cAAA,CAAR3E,QAAQ;QAAEQ,OAAO,GAAAmE,cAAA,CAAPnE,OAAO;QAAEpD,WAAW,GAAAuH,cAAA,CAAXvH,WAAW;QAAER,KAAK,GAAA+H,cAAA,CAAL/H,KAAK;QAAE4E,GAAG,GAAAmD,cAAA,CAAHnD,GAAG;QAAEoD,kBAAkB,GAAAD,cAAA,CAAlBC,kBAAkB;QAAKC,KAAK,GAAAC,wBAAA,CAAAH,cAAA,EAAAI,SAAA;MAEhF,IAAMC,YAAY,GAChBJ,kBAAkB,IAClB/I,aAAa,CAACmE,QAAQ,EAAE,CAACC,MAAM,CAACgF,OAAO,CAAC/E,WAAW,EAAED,MAAM,CAACiF,MAAM,CAAChF,WAAW,CAAC,CAAC;MAElFpE,MAAM,CAACqJ,IAAI,CACT3E,OAAO,IAAIwE,YAAY,EACvB,wFAAwF,EACxFH,KAAK,CAAC,cAAc,CAAC,IAAI5E,MAAM,CAACC,WAAW,CAC5C;MAED,IAAI,CAACkF,SAAS,GAAG,EAAE;MAEnB,IAAI5E,OAAO,EAAE;QAAA,IAAA6E,IAAA,QAAA3G,OAAA;QACX,oBACEzD,KAAA,CAAAqK,aAAA,CAAchK,YAAY,EAAAiK,YAAA,KAAAF,IAAA,gBACxBpK,KAAA,CAAAqK,aAAA,CAACrF,MAAM,CAACgF,OAAO,EAAKJ,KAAK,CAAI,eAC7B5J,KAAA,CAAAqK,aAAA,CAACrF,MAAM,CAAC2B,IAAI,QACTpB,OAAO,CAACgF,GAAG,CAAC,UAACC,MAAM,EAAEnH,KAAK,EAAK;UAC9B,oBACErD,KAAA,CAAAqK,aAAA,CAACrF,MAAM,CAACyF,MAAM,EAAAC,QAAA;YAACzG,GAAG,EAAEuG,MAAM,CAAC7I,KAAM;YAACgJ,EAAE,SAAA1H,MAAA,CAASsD,GAAG,cAAAtD,MAAA,CAAWI,KAAK;UAAG,GAAKmH,MAAM,GAC3ErI,WAAW,iBAAInC,KAAA,CAAAqK,aAAA,CAACrF,MAAM,CAACyF,MAAM,CAACG,QAAQ,OAAG,EACzCJ,MAAM,CAAC/D,QAAQ,CACF;QAEpB,CAAC,CAAC,CACU,CACT;MAEX;MAEA,oBACEzG,KAAA,CAAAqK,aAAA,CAAchK,YAAY,EAAAwK,aAAA,KAAApB,KAAA,gBACxBzJ,KAAA,CAAAqK,aAAA,CAACtF,QAAQ,OAAG,CACP;IAEX;EAAC;EAAA,OAAA3C,UAAA;AAAA,EAvRsB7B,gBAAgB;AAAA2C,eAAA,CAAnCd,UAAU,iBACO,QAAQ;AAAAc,eAAA,CADzBd,UAAU,WAGCf,KAAK;AAAA6B,eAAA,CAHhBd,UAAU,aAIG0I,MAAM,CAACC,MAAM,CAACvK,OAAO,CAAC,CAACyC,MAAM,CAAC,CAACnC,mBAAmB,EAAE,CAAC,CAAC;AAAAoC,eAAA,CAJnEd,UAAU,kBAMQ,UAAC+B,KAAK,EAAK;EAAA,IAAA6G,qBAAA,EAAAC,oBAAA,EAAAC,kBAAA,EAAAC,cAAA;EAC/B,IAAMrG,cAAc,GAClBX,KAAK,CAACsC,QAAQ,IAAIhF,aAAa,CAAC0C,KAAK,CAACsC,QAAQ,EAAE,CAACzB,MAAM,CAAChE,WAAW,CAACiE,WAAW,CAAC,EAAE,IAAI,CAAC;EACzF,IAAMC,YAAY,GAAGJ,cAAc,GAAG,IAAI,GAAG,CAAC;EAE9C,OAAO;IACLqB,WAAW,EAAEhC,KAAK,CAAChC,WAAW,GAAG,gBAAgB,GAAG,eAAe;IACnEmG,IAAI,EAAE,GAAG;IACT8C,YAAY,EAAElJ,aAAa,CAACiC,KAAK,CAAChC,WAAW,CAAC;IAC9CkJ,cAAc,EAAE,KAAK;IACrBlG,uBAAuB,GAAA6F,qBAAA,GAAE7G,KAAK,CAACK,gBAAgB,cAAAwG,qBAAA,cAAAA,qBAAA,GAAI9F,YAAY;IAC/DoG,oBAAoB,GAAAL,oBAAA,GAAE9G,KAAK,CAACoH,aAAa,cAAAN,oBAAA,cAAAA,oBAAA,GAAI/F,YAAY;IACzDsG,gBAAgB,EAAE,IAAI;IACtBC,IAAI,EAAEtK,iBAAiB;IACvBuK,MAAM,EAAE,IAAI;IACZC,WAAW,GAAAT,kBAAA,GAAE/G,KAAK,CAACwH,WAAW,cAAAT,kBAAA,cAAAA,kBAAA,GAAI,OAAO;IACzCU,aAAa,EAAE,KAAK;IACpBC,OAAO,GAAAV,cAAA,GAAEhH,KAAK,CAAC0H,OAAO,cAAAV,cAAA,cAAAA,cAAA,GAAI;EAC5B,CAAC;AACH,CAAC;AAiQH,SAASnB,OAAOA,CAAA8B,KAAA,EAQb;EAAA,IAAAC,KAAA,GAAAC,YAAA;IAAAC,KAAA;EAAA,IAPDlH,QAAQ,GAAA+G,KAAA,CAAR/G,QAAQ;IACRsB,IAAI,GAAAyF,KAAA,CAAJzF,IAAI;IACJ1E,KAAK,GAAAmK,KAAA,CAALnK,KAAK;IACLuK,MAAM,GAAAJ,KAAA,CAANI,MAAM;IACN7E,UAAU,GAAAyE,KAAA,CAAVzE,UAAU;IAAA8E,SAAA,GAAAL,KAAA,CACVM,GAAG;IAAEC,GAAG,GAAAF,SAAA,cAAGzL,aAAa,GAAAyL,SAAA;IACxB7F,WAAW,GAAAwF,KAAA,CAAXxF,WAAW;EAEX,IAAMgG,eAAe,GAAGlL,iBAAiB,CAACiL,GAAG,CAAC;EAC9C,IAAME,cAAc,GAIRjM,QAAQ,CAAC0J,OAAO;EAF5B,OAAAiC,KAAA,GAAO7L,OAAO,CAAC8L,MAAM,CAAC,eACpBlM,KAAA,CAAAqK,aAAA,CAACkC,cAAc,EAAAN,KAAA,CAAAhM,EAAA,mBAAA4E,aAAA,KAAA2H,aAAA;IAAA,OAERH,GAAG;IAAA,eACK/F,WAAW,CAAC,mBAAmB,CAAC;IAAA,QACvC,UAAU;IAAA,qBACIgG,eAAe,IAAI,MAAM,IAAKpF;EAAS,GAAA6E,KAAA,KAE1DhL,iBAAiB,CAChBgE,QAAQ,EACRsH,GAAG,CAACI,IAAI,IAAI/L,aAAa,CAAC+L,IAAI,EAC9BJ,GAAG,CAACK,KAAK,IAAIhM,aAAa,CAAC+L,IAAI,EAC/BJ,GAAG,CAACM,KAAK,IAAIjM,aAAa,CAACiM,KAAK,EAChC,IAAI,CACL,EACAtG,IAAI,iBAAIrG,KAAA,CAAAqK,aAAA,UAAA4B,KAAA,CAAAhM,EAAA;IAAA,QAAY,QAAQ;IAAA,gBAAe0B,KAAK;IAAA,QAAQ0E,IAAI;IAAA,OAAOgB;EAAU,GAAI,CACnE;AAErB;AAEA,IAAMuF,kBAAkB,gBAAG5M,KAAK,CAAC6M,aAAa,CAAC,CAAC,CAAC,CAAC;AAClD,SAASpC,MAAMA,CAACtG,KAAK,EAAE;EAAA,IAAA2I,KAAA,GAAAd,YAAA;IAAAe,KAAA;EACrB,IAAMC,aAAa,GAOM1M,QAAQ,CAAC2M,IAAI;EANtC,IAAQf,MAAM,GAAe/H,KAAK,CAA1B+H,MAAM;IAAEnH,QAAQ,GAAKZ,KAAK,CAAlBY,QAAQ;EAExB,IAAMmI,WAAW,GAAGzL,aAAa,CAACsD,QAAQ,EAAE,CAACC,MAAM,CAACyF,MAAM,CAACG,QAAQ,CAAC3F,WAAW,CAAC,CAAC;EACjF,IAAMkI,UAAU,GAAG1L,aAAa,CAACsD,QAAQ,EAAE,CAACC,MAAM,CAACyF,MAAM,CAAC2C,OAAO,CAACnI,WAAW,CAAC,CAAC;EAE/E,OAAA8H,KAAA,GAAO3M,OAAO,CAAC8L,MAAM,CAAC,eACpBlM,KAAA,CAAAqK,aAAA,CAAC2C,aAAa,EAAAD,KAAA,CAAA9M,EAAA,kBAAA4E,aAAA,KAAAwI,aAAA,KAAAP,KAAA,kBACZ9M,KAAA,CAAAqK,aAAA,CAACuC,kBAAkB,CAACU,QAAQ;IAAC3L,KAAK,EAAEwC;EAAM,GACvC+I,WAAW,IAAI,CAACC,UAAU,gBACzBnN,KAAA,CAAAqK,aAAA,CAACrF,MAAM,CAACyF,MAAM,CAAC2C,OAAO,qBACpBpN,KAAA,CAAAqK,aAAA,CAACtF,QAAQ,EAAAgI,KAAA,CAAA9M,EAAA,iBAAG,CACU,gBAExBD,KAAA,CAAAqK,aAAA,CAACtF,QAAQ,EAAAgI,KAAA,CAAA9M,EAAA,iBACV,CAC2B,CAChB;AAEpB;AAEA,SAAS2K,QAAQA,CAAC2C,aAAa,EAAE;EAC/B,IAAMC,WAAW,GAAGxN,KAAK,CAACyN,UAAU,CAACb,kBAAkB,CAAC;EACxD,IAAMzI,KAAK,GAAGnE,KAAK,CAAC0N,OAAO,CACzB;IAAA,OAAA7I,aAAA;MACEc,QAAQ,EAAE6H,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE7H,QAAQ;MAC/BM,QAAQ,EAAEuH,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEvH,QAAQ;MAC/BqC,IAAI,EAAEkF,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAElF;IAAI,GACnBiF,aAAa,IAAI,CAAC,CAAC;EAAA,CACvB,EACF,CAACA,aAAa,EAAEC,WAAW,CAAC,CAC7B;EACD,IAAAG,OAAA,GAA0C1M,MAAM,CAACkD,KAAK,EAAEA,KAAK,CAACiC,UAAU,CAAC;IAAAwH,QAAA,GAAAC,cAAA,CAAAF,OAAA;IAAlEG,eAAe,GAAAF,QAAA;IAAEG,cAAc,GAAAH,QAAA;EACtC,IAAQtF,IAAI,GAAmDnE,KAAK,CAA5DmE,IAAI;IAAE0F,KAAK,GAA4C7J,KAAK,CAAtD6J,KAAK;IAAErI,QAAQ,GAAkCxB,KAAK,CAA/CwB,QAAQ;IAAEmD,YAAY,GAAoB3E,KAAK,CAArC2E,YAAY;IAAEmF,aAAa,GAAK9J,KAAK,CAAvB8J,aAAa;EAC1D,IAAM/B,MAAM,GAAG9L,OAAO,CAAC+D,KAAK,CAAC+H,MAAM,CAAC;EAEpC,IAAAgC,UAAA,GAA6BhC,MAAM,CAACjM,EAAE,CAAC,iBAAiB,EAAE;MACxDqI,IAAI,EAAJA,IAAI;MACJ,WAAW,EAAEQ,YAAY,CAACkF,KAAK,CAAC;MAChCC,aAAa,EAAbA,aAAa;MACbtI,QAAQ,EAARA;IACF,CAAC,CAAC;IALMwI,SAAS,GAAAD,UAAA,CAATC,SAAS;IAAE9M,KAAK,GAAA6M,UAAA,CAAL7M,KAAK;EAOxB,oBACErB,KAAA,CAAAqK,aAAA,CAACyD,eAAe,EAAApD,QAAA,KACVqD,cAAc;IAClBI,SAAS,EAAElO,EAAE,CAACkO,SAAS,EAAEJ,cAAc,CAACI,SAAS,CAAC,IAAIjH,SAAU;IAChE7F,KAAK,EAAAwD,aAAA,CAAAA,aAAA,KAAOxD,KAAK,GAAK0M,cAAc,CAAC1M,KAAK,CAAG;IAC7C+M,QAAQ,EAAE,CAAC;EAAE,GACb;AAEN;AAEA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA,EAAe;EAAA,IAAAC,KAAA,GAAAtC,YAAA;EACrC,oBAAOhM,KAAA,CAAAqK,aAAA,CAAcrJ,WAAW,EAAAuN,aAAA,KAAAD,KAAA,EAAI;AACtC,CAAC;AAED,IAAMtJ,MAAM,GAAG9E,eAAe,CAC5BkC,UAAU,EACV;EACE4H,OAAO,EAAE,CACPA,OAAO,EACP;IACE2C,KAAK,EAAEjM,aAAa,CAACiM,KAAK;IAC1BF,IAAI,EAAE/L,aAAa,CAAC+L;EACtB,CAAC,CACF;EACDxC,MAAM,EAAE3J,QAAQ,CAAC2J,MAAM;EACvBuE,IAAI,EAAEnO,YAAY,CAACmO,IAAI;EACvB7H,IAAI,EAAEtG,YAAY,CAACsG,IAAI;EACvB8D,MAAM,EAAE,CACNA,MAAM,EACN;IACEkC,KAAK,EAAEtM,YAAY,CAAC4M,IAAI,CAACN,KAAK;IAC9BS,OAAO,EAAE/M,YAAY,CAAC4M,IAAI,CAACG,OAAO;IAClCqB,IAAI,EAAEpO,YAAY,CAAC4M,IAAI,CAACwB,IAAI;IAC5B7D,QAAQ,EAARA;EACF,CAAC,CACF;EACD8D,KAAK,EAAEpO,QAAQ,CAACoO,KAAK;EACrBC,WAAW,EAAEtO,YAAY,CAACuO,SAAS;EACnCC,UAAU,EAAExO,YAAY,CAACyO,QAAQ;EACjCnO,OAAO,EAAPA,OAAO;EACPK,WAAW,EAAE,CAACqN,kBAAkB,EAAErN,WAAW,CAAC+N,yBAAyB,CAAC;EACxEC,KAAK,EAAE,CAACX,kBAAkB,EAAErN,WAAW,CAAC+N,yBAAyB;AACnE,CAAC,EACD;EAAEE,MAAM,EAAE5O,YAAY;EAAE6O,OAAO,EAAEhO;AAAc,CAAC,CACjD;AAED,OAAO,IAAMiO,UAAU,GAAG,SAAbA,UAAUA,CAAIC,OAAO;EAAA,OAAKA,OAAO;AAAA;AAC9CpK,MAAM,CAACvE,oBAAoB,GAAGA,oBAAoB;AAElD,eAAeuE,MAAM"}
@@ -1,118 +1,141 @@
1
- import _ from "@babel/runtime/helpers/esm/objectSpread2";
2
- import z from "@babel/runtime/helpers/esm/classCallCheck";
3
- import x from "@babel/runtime/helpers/esm/createClass";
4
- import m from "@babel/runtime/helpers/esm/assertThisInitialized";
5
- import P from "@babel/runtime/helpers/esm/inherits";
6
- import V from "@babel/runtime/helpers/esm/createSuper";
7
- import i from "@babel/runtime/helpers/esm/defineProperty";
8
- import { sstyled as j } from "@semcore/utils/lib/core/index";
9
- import E, { sstyled as h, assignProps as p, Component as b } from "@semcore/core";
10
- import a from "react";
11
- import R from "@semcore/icon/Search/m";
12
- import T from "@semcore/icon/Close/m";
13
- import S from "@semcore/input";
14
- import { ButtonLink as k } from "@semcore/button";
15
- import { selectContext as M } from "./context.mjs";
16
- import O from "@semcore/utils/lib/enhances/i18nEnhance";
17
- import { localizedMessages as v } from "./translations/__intergalactic-dynamic-locales.mjs";
18
- var w = (
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
5
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
6
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
7
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
+ import { sstyled } from "@semcore/utils/lib/core/index";
9
+ import createComponent, { sstyled as sstyled$1, assignProps, Component } from "@semcore/core";
10
+ import React from "react";
11
+ import SearchM from "@semcore/icon/Search/m";
12
+ import CloseM from "@semcore/icon/Close/m";
13
+ import Input from "@semcore/input";
14
+ import { ButtonLink } from "@semcore/button";
15
+ import { selectContext } from "./context.mjs";
16
+ import i18nEnhance from "@semcore/utils/lib/enhances/i18nEnhance";
17
+ import { localizedMessages } from "./translations/__intergalactic-dynamic-locales.mjs";
18
+ /*!__reshadow-styles__:"./style/input-search.shadow.css"*/
19
+ var style = (
19
20
  /*__reshadow_css_start__*/
20
- (j.insert(
21
+ (sstyled.insert(
21
22
  /*__inner_css_start__*/
22
- ".___SInputSearch_ozdj6_gg_._size_m_ozdj6_gg_{height:32px}.___SSearchClear_ozdj6_gg_{padding:0 var(--intergalactic-spacing-2x, 8px)}.___SSearchClear_ozdj6_gg_.__hide_ozdj6_gg_{visibility:hidden}.___SOutline_ozdj6_gg_{top:-1px;left:-1px;width:100%;border-radius:var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0 0;box-sizing:content-box}",
23
- "ozdj6_gg_"
24
- ), {
25
- __SInputSearch: "___SInputSearch_ozdj6_gg_",
26
- _size_m: "_size_m_ozdj6_gg_",
27
- __SSearchClear: "___SSearchClear_ozdj6_gg_",
28
- _hide: "__hide_ozdj6_gg_",
29
- __SOutline: "___SOutline_ozdj6_gg_"
23
+ ".___SInputSearch_1vorj_gg_._size_m_1vorj_gg_{height:32px}.___SSearchClear_1vorj_gg_{padding:0 var(--intergalactic-spacing-2x, 8px)}.___SSearchClear_1vorj_gg_.__hide_1vorj_gg_{visibility:hidden}.___SOutline_1vorj_gg_{top:-1px;left:-1px;width:100%;border-radius:var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0 0;box-sizing:content-box}",
24
+ /*__inner_css_end__*/
25
+ "1vorj_gg_"
26
+ ), /*__reshadow_css_end__*/
27
+ {
28
+ "__SInputSearch": "___SInputSearch_1vorj_gg_",
29
+ "_size_m": "_size_m_1vorj_gg_",
30
+ "__SSearchClear": "___SSearchClear_1vorj_gg_",
31
+ "_hide": "__hide_1vorj_gg_",
32
+ "__SOutline": "___SOutline_1vorj_gg_"
30
33
  })
31
- ), s = /* @__PURE__ */ function(u) {
32
- P(n, u);
33
- var o = V(n);
34
- function n() {
35
- var e;
36
- z(this, n);
37
- for (var r = arguments.length, t = new Array(r), l = 0; l < r; l++)
38
- t[l] = arguments[l];
39
- return e = o.call.apply(o, [this].concat(t)), i(m(e), "inputRef", /* @__PURE__ */ a.createRef()), i(m(e), "closeIconRef", /* @__PURE__ */ a.createRef()), i(m(e), "handleClear", function(d) {
40
- e.handlers.value("", d), setTimeout(function() {
41
- if (document.activeElement === document.body || document.activeElement === e.closeIconRef.current) {
42
- var c;
43
- (c = e.inputRef.current) === null || c === void 0 || c.focus();
34
+ );
35
+ var InputSearchRoot = /* @__PURE__ */ function(_Component) {
36
+ _inherits(InputSearchRoot2, _Component);
37
+ var _super = _createSuper(InputSearchRoot2);
38
+ function InputSearchRoot2() {
39
+ var _this;
40
+ _classCallCheck(this, InputSearchRoot2);
41
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
42
+ args[_key] = arguments[_key];
43
+ }
44
+ _this = _super.call.apply(_super, [this].concat(args));
45
+ _defineProperty(_assertThisInitialized(_this), "inputRef", /* @__PURE__ */ React.createRef());
46
+ _defineProperty(_assertThisInitialized(_this), "closeIconRef", /* @__PURE__ */ React.createRef());
47
+ _defineProperty(_assertThisInitialized(_this), "handleClear", function(e) {
48
+ _this.handlers.value("", e);
49
+ setTimeout(function() {
50
+ if (document.activeElement === document.body || document.activeElement === _this.closeIconRef.current) {
51
+ var _this$inputRef$curren;
52
+ (_this$inputRef$curren = _this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : _this$inputRef$curren.focus();
44
53
  }
45
54
  }, 0);
46
- }), e;
55
+ });
56
+ return _this;
47
57
  }
48
- return x(n, [{
58
+ _createClass(InputSearchRoot2, [{
49
59
  key: "uncontrolledProps",
50
- value: function() {
60
+ value: function uncontrolledProps() {
51
61
  return {
52
62
  value: null
53
63
  };
54
64
  }
55
65
  }, {
56
66
  key: "getValueProps",
57
- value: function() {
58
- var r = this.asProps.getI18nText;
67
+ value: function getValueProps() {
68
+ var getI18nText = this.asProps.getI18nText;
59
69
  return {
60
- autoFocus: !0,
70
+ autoFocus: true,
61
71
  ref: this.inputRef,
62
- placeholder: r("Select.InputSearch.Value:placeholder"),
63
- "aria-label": r("Select.InputSearch.Value:aria-label")
72
+ placeholder: getI18nText("Select.InputSearch.Value:placeholder"),
73
+ "aria-label": getI18nText("Select.InputSearch.Value:aria-label")
64
74
  };
65
75
  }
66
76
  }, {
67
77
  key: "getClearProps",
68
- value: function() {
69
- var r = this.asProps, t = r.value, l = r.getI18nText;
78
+ value: function getClearProps() {
79
+ var _this$asProps = this.asProps, value = _this$asProps.value, getI18nText = _this$asProps.getI18nText;
70
80
  return {
71
81
  ref: this.closeIconRef,
72
82
  /* hide through css because the width of the input changes */
73
- hide: !t,
74
- "aria-hidden": !t,
75
- "aria-label": l("clearSearch"),
83
+ hide: !value,
84
+ "aria-hidden": !value,
85
+ "aria-label": getI18nText("clearSearch"),
76
86
  onClick: this.handleClear
77
87
  };
78
88
  }
79
89
  }, {
80
90
  key: "render",
81
- value: function() {
82
- var r = this.asProps, t, l = f.Value, d = S, c = this.asProps, C = c.size, g = c.styles, I = c.children, y = c.Children;
83
- return t = h(g), /* @__PURE__ */ a.createElement(d, t.cn("SInputSearch", {
84
- size: C || this.context.size || "m",
85
- styles: g
86
- }), I ? /* @__PURE__ */ a.createElement(y, t.cn("Children", {})) : /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement(f.SearchIcon, null), /* @__PURE__ */ a.createElement(l, t.cn("Value", _({}, p({}, r)))), /* @__PURE__ */ a.createElement(f.Clear, null)));
91
+ value: function render() {
92
+ var _ref = this.asProps, _ref5;
93
+ var Value = InputSearch.Value;
94
+ var SInputSearch = Input;
95
+ var _this$asProps2 = this.asProps, size = _this$asProps2.size, styles = _this$asProps2.styles, hasChildren = _this$asProps2.children, Children = _this$asProps2.Children;
96
+ return _ref5 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SInputSearch, _ref5.cn("SInputSearch", {
97
+ "size": size || this.context.size || "m",
98
+ "styles": styles
99
+ }), hasChildren ? /* @__PURE__ */ React.createElement(Children, _ref5.cn("Children", {})) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(InputSearch.SearchIcon, null), /* @__PURE__ */ React.createElement(Value, _ref5.cn("Value", _objectSpread({}, assignProps({}, _ref)))), /* @__PURE__ */ React.createElement(InputSearch.Clear, null)));
87
100
  }
88
- }]), n;
89
- }(b);
90
- i(s, "displayName", "InputSearch");
91
- i(s, "style", w);
92
- i(s, "enhance", [O(v)]);
93
- i(s, "defaultProps", {
101
+ }]);
102
+ return InputSearchRoot2;
103
+ }(Component);
104
+ _defineProperty(InputSearchRoot, "displayName", "InputSearch");
105
+ _defineProperty(InputSearchRoot, "style", style);
106
+ _defineProperty(InputSearchRoot, "enhance", [i18nEnhance(localizedMessages)]);
107
+ _defineProperty(InputSearchRoot, "defaultProps", {
94
108
  defaultValue: "",
95
- i18n: v,
109
+ i18n: localizedMessages,
96
110
  locale: "en"
97
111
  });
98
- i(s, "contextType", M);
99
- var A = function(o) {
100
- var n = arguments[0], e, r = S.Addon, t = o.styles;
101
- return e = h(t), /* @__PURE__ */ a.createElement(r, e.cn("SSearchIcon", _({}, p({}, n))), /* @__PURE__ */ a.createElement(R, e.cn("SearchM", {})));
102
- }, F = function(o) {
103
- var n = arguments[0], e, r = S.Value, t = o.styles;
104
- return e = h(t), /* @__PURE__ */ a.createElement(r, e.cn("SSearchValue", _({}, p({}, n))));
105
- }, L = function(o) {
106
- var n = arguments[0], e, r = k, t = o.styles;
107
- return e = h(t), /* @__PURE__ */ a.createElement(r, e.cn("SSearchClear", _({}, p({
108
- addonLeft: T,
109
- use: "secondary"
110
- }, n))));
111
- }, f = E(s, {
112
- SearchIcon: A,
113
- Value: F,
114
- Clear: L
112
+ _defineProperty(InputSearchRoot, "contextType", selectContext);
113
+ var SearchIcon = function SearchIcon2(props) {
114
+ var _ref2 = arguments[0], _ref6;
115
+ var SSearchIcon = Input.Addon;
116
+ var styles = props.styles;
117
+ return _ref6 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SSearchIcon, _ref6.cn("SSearchIcon", _objectSpread({}, assignProps({}, _ref2))), /* @__PURE__ */ React.createElement(SearchM, _ref6.cn("SearchM", {})));
118
+ };
119
+ var SearchValue = function SearchValue2(props) {
120
+ var _ref3 = arguments[0], _ref7;
121
+ var SSearchValue = Input.Value;
122
+ var styles = props.styles;
123
+ return _ref7 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SSearchValue, _ref7.cn("SSearchValue", _objectSpread({}, assignProps({}, _ref3))));
124
+ };
125
+ var SearchClear = function SearchClear2(props) {
126
+ var _ref4 = arguments[0], _ref8;
127
+ var SSearchClear = ButtonLink;
128
+ var styles = props.styles;
129
+ return _ref8 = sstyled$1(styles), /* @__PURE__ */ React.createElement(SSearchClear, _ref8.cn("SSearchClear", _objectSpread({}, assignProps({
130
+ "addonLeft": CloseM,
131
+ "use": "secondary"
132
+ }, _ref4))));
133
+ };
134
+ var InputSearch = createComponent(InputSearchRoot, {
135
+ SearchIcon,
136
+ Value: SearchValue,
137
+ Clear: SearchClear
115
138
  });
116
139
  export {
117
- f as default
140
+ InputSearch as default
118
141
  };