linear-react-components-ui 2.0.0-beta.5 → 2.0.0-rc.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.
Files changed (36) hide show
  1. package/lib/assets/styles/radio.css +1 -1
  2. package/lib/assets/styles/selectfield.css +1 -1
  3. package/lib/assets/styles/split.css +1 -1
  4. package/lib/form/index.js +65 -65
  5. package/lib/form/index.js.map +1 -1
  6. package/lib/form2/useForm/index.js +74 -63
  7. package/lib/form2/useForm/index.js.map +1 -1
  8. package/lib/inputs/base/types.d.ts +2 -2
  9. package/lib/inputs/mask/types.d.ts +2 -1
  10. package/lib/inputs/period/helper.d.ts +1 -0
  11. package/lib/inputs/period/helper.js +27 -19
  12. package/lib/inputs/period/helper.js.map +1 -1
  13. package/lib/inputs/period/index.js +143 -139
  14. package/lib/inputs/period/index.js.map +1 -1
  15. package/lib/inputs2/selectfield/base.d.ts +1 -2
  16. package/lib/inputs2/selectfield/base.js +260 -382
  17. package/lib/inputs2/selectfield/base.js.map +1 -1
  18. package/lib/inputs2/selectfield/context.d.ts +1 -1
  19. package/lib/inputs2/selectfield/context.js.map +1 -1
  20. package/lib/inputs2/selectfield/helpers.d.ts +5 -0
  21. package/lib/inputs2/selectfield/helpers.js +22 -13
  22. package/lib/inputs2/selectfield/helpers.js.map +1 -1
  23. package/lib/inputs2/selectfield/index.js.map +1 -1
  24. package/lib/inputs2/selectfield/listbox.js +17 -18
  25. package/lib/inputs2/selectfield/listbox.js.map +1 -1
  26. package/lib/inputs2/selectfield/selections.d.ts +1 -1
  27. package/lib/inputs2/selectfield/selections.js +11 -11
  28. package/lib/inputs2/selectfield/selections.js.map +1 -1
  29. package/lib/inputs2/selectfield/triggers.js +15 -15
  30. package/lib/inputs2/selectfield/triggers.js.map +1 -1
  31. package/lib/radio/index.js +74 -84
  32. package/lib/radio/index.js.map +1 -1
  33. package/lib/table/Row.js +57 -46
  34. package/lib/table/Row.js.map +1 -1
  35. package/lib/table/types.d.ts +2 -1
  36. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sources":["../../../src/lib/inputs2/selectfield/base.tsx"],"sourcesContent":["import '../../assets/styles/selectfield.scss';\n\nimport React, { Fragment } from 'react';\nimport _ from 'lodash';\nimport { v1 as uuidV1 } from 'uuid';\nimport { createPortal } from 'react-dom';\nimport Hint from '../../hint';\nimport Popover, { PopoverText } from '../../popover';\nimport { Tooltip } from '../../tooltip';\nimport { mergeRefs } from '../../form2/helpers';\nimport { LeftSlot, RightSlot, type SlotProps } from '../slot';\nimport { ListBox } from './listbox';\nimport { Triggers } from './triggers';\nimport { Selections } from './selections';\nimport { SelectFieldContext } from './context';\nimport { Options, type OptionsProps } from './options';\nimport { Item, type SelectFieldItemProps } from './item';\nimport { Keys, MultipleVariantEnum, SelectFieldInputBaseProps } from './types';\nimport { isTypingKey, NAVIGATION_KEYS } from './helpers';\n\nconst SELECT_FIELD_CONTROLS_ID = `select-field-controls-${uuidV1()}`;\nexport const InputBase = React.forwardRef<HTMLInputElement, SelectFieldInputBaseProps>(\n (props, ref) => {\n const {\n name, label, errors, children, onChange, tooltip, tooltipPosition, tooltipWidth, hintPosition = 'below',\n themePopover = 'light', popoverAlign = 'left', skeletonize = false, striped = false, undigitable = false, externalSearch = false,\n openDropdownOnFocus = true, showClearButton = true, textAlign = 'left', searchOnDropdown = false, onSearch = undefined,\n customClass = '', customClassLabel = '', customClassWrapper = '', customClassInputContainer = '',\n notFoundFilterLabel = 'Nenhuma opção encontrada.', multipleInputLabelEmpty = 'Nenhum registro selecionado',\n multipleInputLabelManySelection = 'Múltiplos registros selecionados', searchInputPlaceholder = 'Pesquisar registros', \n dropdownAlignButton = 'left', dropdownMaxWidth = undefined, disabled, readOnly, ...rest\n } = props;\n const [inputValue, setInputValue] = React.useState('');\n const [filterValue, setFilterValue] = React.useState('');\n const [listBoxOpen, setListBoxOpen] = React.useState(false);\n const [activeDescendant, setActiveDescendant] = React.useState<string | undefined>(undefined);\n const isMultipleDefault = _.isEqual(props?.multiple, MultipleVariantEnum.default);\n const isMultipleWithCheckboxes = _.isEqual(props?.multiple, MultipleVariantEnum.checkboxes);\n const isMultipleSelect = isMultipleDefault || isMultipleWithCheckboxes;\n const liSelectedRef = React.useRef<HTMLLIElement | null>(null);\n const selectFieldRoot = React.useRef<HTMLDivElement | null>(null);\n const selectInputRef = React.useRef<HTMLInputElement | null>(null);\n const selectListBoxRef = React.useRef<HTMLDivElement | null>(null);\n const selectContainerRef = React.useRef<HTMLDivElement | null>(null);\n const selectSearchInputRef = React.useRef<HTMLInputElement | null>(null);\n\n const listOptionsMap = React.useMemo(() => {\n const optionsMap = new Map<string, string>();\n React.Children.forEach(children, (child) => {\n if (React.isValidElement<SelectFieldItemProps>(child)) {\n optionsMap.set(child.props.value, child.props.label);\n }\n });\n return optionsMap;\n }, [children]);\n\n React.useEffect(() => {\n if (isMultipleWithCheckboxes) {\n setInputValue(multipleInputLabelEmpty);\n }\n }, []);\n\n React.useEffect(() => {\n if (openDropdownOnFocus && listBoxOpen) {\n requestAnimationFrame(() => {\n if (isMultipleWithCheckboxes) {\n selectSearchInputRef.current?.focus?.();\n }\n });\n }\n }, [listBoxOpen]);\n\n React.useEffect(() => {\n if (!isMultipleWithCheckboxes && !props?.value) setInputValue('');\n if (!props?.value || document.activeElement === selectInputRef.current) return;\n const lazyInputValue = listOptionsMap.get(rest.value);\n if (!isMultipleWithCheckboxes) setInputValue(lazyInputValue ?? '');\n if (isMultipleWithCheckboxes) {\n const firstSelectionLabel = listOptionsMap.get(props?.value[0]);\n switch (_.size(props?.value)) {\n case 0:\n return setInputValue(multipleInputLabelEmpty);\n case 1:\n return setInputValue(firstSelectionLabel ?? '');\n default:\n return setInputValue(multipleInputLabelManySelection);\n }\n }\n }, [props?.value, listOptionsMap]);\n\n const hasLabel = !_.isEmpty(props?.label);\n const hasHintMessages = Boolean(props.hint?.length);\n const hasValidationErrors = Boolean(errors?.length);\n\n const { childrenItems } = React.useMemo(() => {\n const itens: React.ReactNode[] = [];\n\n React.Children.map(children, (childElement, index) => {\n if (React.isValidElement<SelectFieldItemProps>(childElement)) {\n const clonedChild = React.cloneElement(childElement, {\n key: childElement.key ?? `child-item-${index + 1}`,\n });\n if (childElement.type === Item) itens.push(clonedChild);\n }\n });\n\n return { childrenItems: itens };\n }, [children, disabled]); \n\n const { leftSlotElements, rightSlotElements } = React.useMemo(() => {\n const left: React.ReactNode[] = [];\n const right: React.ReactNode[] = [];\n\n React.Children.map(children, (childElement, index) => {\n if (React.isValidElement<SlotProps>(childElement)) {\n const clonedChild = React.cloneElement(childElement, {\n key: childElement.key ?? `slot-${index}`,\n disabled: disabled,\n 'aria-disabled': disabled,\n });\n if (childElement.type === LeftSlot) left.push(clonedChild);\n if (childElement.type === RightSlot) right.push(clonedChild);\n }\n });\n\n return { leftSlotElements: left, rightSlotElements: right };\n }, [children, disabled]);\n\n const { optionItens } = React.useMemo(() => {\n const itens: React.ReactNode[] = [];\n\n React.Children.map(children, (childElement, index) => {\n if (React.isValidElement<OptionsProps>(childElement)) {\n const clonedChildItem = React.cloneElement(childElement, {\n key: childElement.key ?? `option-list-${index}`,\n disabled: disabled,\n });\n if (childElement.type === Options) itens.push(clonedChildItem);\n }\n });\n\n return { optionItens: itens };\n }, [children, disabled]);\n\n const hasLeftSlotElements = Boolean(leftSlotElements?.length);\n const hasRightSlotElements = Boolean(rightSlotElements?.length);\n\n const handleCloseListBox = () => {\n setListBoxOpen(false);\n setFilterValue('');\n };\n\n const handleOpenListBox = () => {\n const currentValue = !isMultipleSelect ?\n props?.value\n : _.orderBy([...props.value], value => _.toNumber(value), ['asc'])[0];\n setActiveDescendant(_.toString(currentValue) ?? undefined);\n };\n\n const handleChangeListBoxState = () => {\n setListBoxOpen((prevState) => {\n if (prevState) {\n setFilterValue('');\n }\n if (selectInputRef.current !== document.activeElement) {\n selectInputRef?.current?.focus?.();\n }\n return !prevState;\n });\n };\n\n const handleChangeLiSelected = (liElement: HTMLLIElement | null) => {\n liSelectedRef.current = liElement;\n };\n\n const handleOnChange = (value?: any, inputLabel?: string, addOrRemove?: boolean) => {\n let multipleValue = props?.value;\n if (!addOrRemove) multipleValue = _.union(props.value, [value]);\n if (addOrRemove) multipleValue = _.without(props.value, value);\n const changedValue = !isMultipleSelect ?\n value\n : _.orderBy(multipleValue, multiValue => _.toNumber(multiValue), ['asc']);\n const syntheticEvent = {\n target: {\n name,\n value: changedValue as any,\n },\n } as React.ChangeEvent<HTMLInputElement>;\n onChange?.(syntheticEvent);\n if (!isMultipleSelect) {\n setListBoxOpen(false);\n setFilterValue('');\n setInputValue(inputLabel ?? '');\n if (document.activeElement === selectSearchInputRef.current) {\n selectInputRef?.current?.focus?.();\n setListBoxOpen(false);\n }\n }\n };\n\n const handleCheckMultiple = (checkOrUncheckAll?: boolean) => {\n const checkAll = Boolean(checkOrUncheckAll);\n const allValues: any[] = [];\n listOptionsMap.forEach((__, key) => allValues.push(key));\n const value: any = checkAll ? allValues : [];\n const syntheticEvent = {\n target: {\n name,\n value,\n },\n } as React.ChangeEvent<HTMLInputElement>;\n onChange?.(syntheticEvent);\n };\n\n const handleClearValue = () => {\n const resetValue = !isMultipleSelect ? '' : [];\n const syntheticEvent = {\n target: {\n name,\n value: resetValue as any,\n },\n } as React.ChangeEvent<HTMLInputElement>;\n onChange?.(syntheticEvent);\n setListBoxOpen(false);\n if (!isMultipleSelect) {\n setFilterValue('');\n setInputValue('');\n }\n if (isMultipleWithCheckboxes) {\n setInputValue(multipleInputLabelEmpty);\n }\n };\n\n const handleOnBlur = (event: React.FocusEvent<HTMLInputElement>) => {\n props?.onBlur?.(event);\n if (!event.relatedTarget || event.relatedTarget !== selectSearchInputRef.current) {\n setListBoxOpen(false);\n }\n setFilterValue('');\n };\n\n const handleOnFocus = (event: React.FocusEvent<HTMLInputElement>) => {\n props?.onFocus?.(event);\n if (openDropdownOnFocus) {\n setListBoxOpen(true);\n handleOpenListBox();\n }\n };\n\n const handleOnChangeInput = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFilterValue(event.target.value);\n setInputValue(event.target.value);\n };\n\n const handleOnPaste = (event: React.ClipboardEvent<HTMLInputElement>) => {\n if (undigitable || isMultipleWithCheckboxes) {\n event.preventDefault();\n } else {\n props.onPaste?.(event);\n }\n };\n\n const handleOnBeforeInput = (event: React.InputEvent<HTMLInputElement>) => {\n if (undigitable || isMultipleWithCheckboxes) {\n event.preventDefault();\n } else {\n props.onBeforeInput?.(event);\n }\n };\n\n const handleOnSearch = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (externalSearch) {\n onSearch?.(event);\n } else {\n setFilterValue(event.target.value);\n }\n };\n\n const handleOnKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n props?.onKeyDown?.(event);\n const notUndigitableKeys: string[] = [Keys.backspace, Keys.delete];\n if ((undigitable) && notUndigitableKeys.includes(event.key)) {\n event.preventDefault();\n return;\n }\n const shouldOpenByTyping = isTypingKey(event) || event.key === Keys.arrowDown;\n if (shouldOpenByTyping && selectInputRef.current === document.activeElement) {\n if (event.key === Keys.arrowDown) {\n event.preventDefault();\n }\n requestAnimationFrame(() => {\n const ulListElement = selectListBoxRef.current?.querySelector('ul[role=\"listbox\"]');\n const liElementsFiltered = (ulListElement?.querySelectorAll(\n 'li[data-state-filtered=\"true\"]',\n ) ?? []) as HTMLLIElement[];\n if (!listBoxOpen && event.key === Keys.arrowDown) {\n const currentValue = !isMultipleSelect ?\n props?.value\n : _.orderBy([...props.value], value => _.toNumber(value), ['asc'])[0];\n setActiveDescendant(_.toString(currentValue) ?? undefined);\n } else {\n setActiveDescendant(liElementsFiltered[0]?.id ?? undefined);\n }\n });\n if (!listBoxOpen) {\n setListBoxOpen(true);\n handleOpenListBox();\n }\n }\n if (listBoxOpen && NAVIGATION_KEYS.includes(event.key)) {\n event.preventDefault();\n }\n requestAnimationFrame(() => {\n const ulListElement = selectListBoxRef.current?.querySelector('ul[role=\"listbox\"]');\n const liElementsFiltered = (ulListElement?.querySelectorAll(\n 'li[data-state-filtered=\"true\"]',\n ) ?? []) as HTMLLIElement[];\n const currentElementIndex = Array.from(liElementsFiltered).findIndex(\n liElement => liElement.id === activeDescendant,\n );\n let nextElementIndex = currentElementIndex;\n if (listBoxOpen) {\n if (NAVIGATION_KEYS.includes(event.key)) {\n switch (event.key) {\n case Keys.escape:\n setListBoxOpen(false);\n setFilterValue('');\n selectInputRef.current?.focus();\n if (event.target === selectSearchInputRef.current) {\n setListBoxOpen(false);\n }\n break;\n case Keys.arrowDown:\n nextElementIndex = Math.min(currentElementIndex + 1, liElementsFiltered.length - 1);\n break;\n case Keys.arrowUp:\n nextElementIndex = Math.max(currentElementIndex - 1, 0);\n break;\n case Keys.enter:\n if (activeDescendant) {\n const selectedLIOption = liElementsFiltered[nextElementIndex];\n if (selectedLIOption) {\n selectedLIOption.click();\n }\n }\n break;\n default:\n break;\n }\n const nextLIOption = liElementsFiltered[nextElementIndex];\n if (nextLIOption) {\n setActiveDescendant(nextLIOption?.id ?? '');\n nextLIOption.scrollIntoView({ block: 'nearest' });\n }\n }\n } else return null;\n });\n };\n\n const contextValues = ({\n selectFieldId: SELECT_FIELD_CONTROLS_ID, label: props.label, striped, listBoxOpen, \n filterValue, disabled, liSelectedRef, selectInputRef, selectSearchInputRef, handleOnSearch, \n searchOnDropdown, nameSelect: String(props.name), valueSelect: props?.value, \n activeDescendant, handleOnChange, handleOnKeyDown, selectContainerRef, handleCloseListBox, \n notFoundFilterLabel, handleChangeLiSelected, isMultipleSelect, isMultipleDefault, \n isMultipleWithCheckboxes, searchInputPlaceholder, showClearButton, dropdownAlignButton, \n handleClearValue, handleCheckMultiple, handleChangeListBoxState, optionItens,\n });\n\n return (\n <Fragment>\n <SelectFieldContext.Provider value={contextValues}>\n <div\n ref={selectFieldRoot}\n data-testid=\"test-select-field-root\"\n className={`select-field-root ${customClassWrapper}`}\n data-state-error={hasValidationErrors}\n data-state-hint-position={hintPosition}>\n {hasLabel && (\n <span\n className={`root-label ${customClassLabel}`}\n data-state-skeletonize={skeletonize}>\n <label\n data-testid=\"test-select-field-label\"\n className=\"label\"\n title={label}\n htmlFor={name}\n aria-disabled={disabled}\n aria-readonly={readOnly}\n data-state-input-required={props.required}>\n {label}\n </label>\n {hasHintMessages && hintPosition === 'onLabelRight' && !skeletonize && (\n <Popover\n customClass=\"label-popover\"\n theme={themePopover}\n align={popoverAlign}\n iconColor=\"#03bde2\">\n <PopoverText text={props?.hint ?? ''} />\n </Popover>\n )}\n </span>\n )}\n <div\n ref={selectContainerRef}\n className={`container ${customClassInputContainer}`}\n aria-expanded={listBoxOpen}\n data-state-skeletonize={skeletonize}>\n {(hasLeftSlotElements && !skeletonize) && leftSlotElements}\n <div className=\"input-root\">\n <input\n {...rest}\n ref={mergeRefs(ref, selectInputRef)}\n readOnly={props.readOnly || undigitable}\n className={`input ${customClass}`}\n placeholder={rest.placeholder}\n data-state-error={hasValidationErrors}\n data-state-multiple={isMultipleSelect}\n data-state-read-only={readOnly}\n data-state-text-align={textAlign}\n data-state-undigitable={undigitable}\n data-state-skeletonize={skeletonize}\n data-state-multiple-with-checkboxes={isMultipleWithCheckboxes}\n id={name}\n type=\"text\"\n role=\"combobox\"\n multiple={false}\n disabled={disabled}\n data-testid=\"test-select-field-input\"\n aria-autocomplete=\"list\"\n aria-expanded={listBoxOpen}\n aria-controls={SELECT_FIELD_CONTROLS_ID}\n aria-activedescendant={activeDescendant}\n tabIndex={(!readOnly && !skeletonize) ? 0 : -1}\n value={inputValue}\n onBlur={handleOnBlur}\n onFocus={handleOnFocus}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChangeInput}\n onPaste={handleOnPaste}\n onBeforeInput={handleOnBeforeInput} />\n {isMultipleDefault && (\n <Selections\n isDisabled={Boolean(disabled)}\n isReadOnly={Boolean(readOnly)}\n listOfOptionsToSelect={listOptionsMap} />\n )}\n </div>\n {(hasRightSlotElements && !skeletonize) && rightSlotElements}\n <div\n className=\"triggers\"\n data-state-disabled={disabled}\n data-state-read-only={readOnly}\n data-state-skeletonize={skeletonize}>\n <Triggers />\n </div>\n {listBoxOpen && createPortal(\n <ListBox\n ref={selectListBoxRef}\n dropdownMaxWidth={dropdownMaxWidth}>\n {childrenItems}\n </ListBox>, \n document.body,\n )\n }\n </div>\n {hintPosition === 'below' && (\n <Hint\n customClass=\"hint\"\n skeletonize={skeletonize}\n description={props.hint}\n disabled={disabled}\n visible={hasHintMessages} />\n )}\n {hasValidationErrors && (\n <span\n data-testid=\"test-select-field-list-errors\"\n className=\"error\"\n data-state-skeletonize={skeletonize}\n aria-describedby={String(name).concat('-errors')}>\n {errors?.map((error, index) => (\n <React.Fragment key={`${index + 1}-${error}`}>\n {error}\n {' '}\n </React.Fragment>\n ))}\n </span>\n )}\n </div>\n </SelectFieldContext.Provider>\n <Tooltip\n targetRef={selectInputRef}\n text={tooltip}\n position={tooltipPosition}\n width={tooltipWidth}\n space={tooltipPosition === 'right' ? 64 : undefined} />\n </Fragment>\n );\n },\n);\n\nInputBase.displayName = 'SelectFieldInputBase';\n"],"names":["SELECT_FIELD_CONTROLS_ID","uuidV1","InputBase","React","forwardRef","props","ref","$","_c","children","disabled","errors","label","name","onChange","readOnly","rest","t0","t1","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t2","t20","t21","t3","t4","t5","t6","t7","t8","t9","tooltip","tooltipPosition","tooltipWidth","hintPosition","themePopover","popoverAlign","skeletonize","striped","undigitable","externalSearch","openDropdownOnFocus","showClearButton","textAlign","searchOnDropdown","onSearch","customClass","customClassLabel","customClassWrapper","customClassInputContainer","notFoundFilterLabel","multipleInputLabelEmpty","multipleInputLabelManySelection","searchInputPlaceholder","dropdownAlignButton","dropdownMaxWidth","undefined","inputValue","setInputValue","useState","filterValue","setFilterValue","listBoxOpen","setListBoxOpen","activeDescendant","setActiveDescendant","t22","multiple","_","isEqual","MultipleVariantEnum","default","isMultipleDefault","t23","checkboxes","isMultipleWithCheckboxes","isMultipleSelect","liSelectedRef","useRef","selectFieldRoot","selectInputRef","selectListBoxRef","selectContainerRef","selectSearchInputRef","optionsMap","Map","Children","forEach","child","isValidElement","set","value","listOptionsMap","t24","t25","Symbol","for","useEffect","t26","requestAnimationFrame","current","focus","t27","t28","document","activeElement","lazyInputValue","get","firstSelectionLabel","size","t29","t30","t31","isEmpty","hasLabel","hasHintMessages","Boolean","hint","length","hasValidationErrors","t32","itens","map","childElement","index","clonedChild","cloneElement","key","type","Item","push","childrenItems","t33","left","right","childElement_0","index_0","clonedChild_0","LeftSlot","RightSlot","leftSlotElements","rightSlotElements","t34","itens_0","childElement_1","index_1","clonedChildItem","Options","optionItens","hasLeftSlotElements","hasRightSlotElements","t35","handleCloseListBox","t36","currentValue","orderBy","_temp","toString","handleOpenListBox","t37","prevState","handleChangeListBoxState","t38","liElement","handleChangeLiSelected","t39","value_0","inputLabel","addOrRemove","multipleValue","union","without","changedValue","_temp2","target","handleOnChange","t40","checkOrUncheckAll","checkAll","allValues","__","handleCheckMultiple","t41","resetValue","handleClearValue","t42","event","onBlur","relatedTarget","handleOnBlur","t43","event_0","onFocus","handleOnFocus","t44","event_1","handleOnChangeInput","t45","event_2","preventDefault","onPaste","handleOnPaste","t46","event_3","onBeforeInput","handleOnBeforeInput","t47","event_4","handleOnSearch","t48","event_5","onKeyDown","notUndigitableKeys","Keys","backspace","delete","includes","isTypingKey","arrowDown","liElementsFiltered","querySelector","querySelectorAll","currentValue_0","_temp3","id","NAVIGATION_KEYS","liElementsFiltered_0","currentElementIndex","Array","from","findIndex","liElement_0","nextElementIndex","bb497","escape","Math","min","arrowUp","max","enter","selectedLIOption","click","nextLIOption","scrollIntoView","block","handleOnKeyDown","t49","t50","String","t51","t52","selectFieldId","nameSelect","valueSelect","contextValues","t53","t54","required","jsx","Popover","PopoverText","t55","t56","t57","mergeRefs","t58","t59","t60","t61","placeholder","t62","Selections","t63","jsxs","t64","t65","Triggers","t66","t67","createPortal","ListBox","body","t68","t69","Hint","t70","concat","_temp4","t71","t72","SelectFieldContext","t73","t74","Tooltip","t75","Fragment","displayName","toNumber","multiValue","value_2","error","index_2"],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sources":["../../../src/lib/inputs2/selectfield/base.tsx"],"sourcesContent":["import '../../assets/styles/selectfield.scss';\n\nimport {\n Children, cloneElement, forwardRef, Fragment, isValidElement, useEffect,\n useId, useMemo, useRef, useState, type ChangeEvent, type ClipboardEvent,\n type FocusEvent, type InputEvent, type KeyboardEvent, type ReactNode,\n type MouseEvent, \n} from 'react';\nimport _ from 'lodash';\nimport { createPortal } from 'react-dom';\nimport Hint from '../../hint';\nimport Popover, { PopoverText } from '../../popover';\nimport { Tooltip } from '../../tooltip';\nimport { mergeRefs } from '../../form2/helpers';\nimport { LeftSlot, RightSlot, type SlotProps } from '../slot';\nimport { ListBox } from './listbox';\nimport { Triggers } from './triggers';\nimport { Selections } from './selections';\nimport { SelectFieldContext } from './context';\nimport { Options, type OptionsProps } from './options';\nimport { Item, type SelectFieldItemProps } from './item';\nimport { Keys, MultipleVariantEnum, SelectFieldInputBaseProps } from './types';\nimport { isTypingKey, NAVIGATION_KEYS, scrollListBoxToElement } from './helpers';\n\nexport const InputBase = forwardRef<HTMLInputElement, SelectFieldInputBaseProps>(\n (props, ref) => {\n const {\n name, label, errors, children, onChange, tooltip, tooltipPosition, tooltipWidth, hintPosition = 'below',\n themePopover = 'light', popoverAlign = 'left', skeletonize = false, striped = false, undigitable = false, externalSearch = false,\n openDropdownOnFocus = true, showClearButton = true, textAlign = 'left', searchOnDropdown = false, onSearch = undefined,\n customClass = '', customClassLabel = '', customClassWrapper = '', customClassInputContainer = '',\n notFoundFilterLabel = 'Nenhuma opção encontrada.', multipleInputLabelEmpty = 'Nenhum registro selecionado',\n multipleInputLabelManySelection = 'Múltiplos registros selecionados', searchInputPlaceholder = 'Pesquisar registros',\n dropdownAlignButton = 'left', dropdownMaxWidth = undefined, disabled, readOnly, ...rest\n } = props;\n const SELECT_FIELD_CONTROLS_ID = useId();\n const [inputValue, setInputValue] = useState('');\n const [filterValue, setFilterValue] = useState('');\n const [listBoxOpen, setListBoxOpen] = useState(false);\n const [activeDescendant, setActiveDescendant] = useState<string | undefined>(undefined);\n const isMultipleDefault = _.isEqual(props?.multiple, MultipleVariantEnum.default);\n const isMultipleWithCheckboxes = _.isEqual(props?.multiple, MultipleVariantEnum.checkboxes);\n const isMultipleSelect = isMultipleDefault || isMultipleWithCheckboxes;\n const liSelectedRef = useRef<HTMLLIElement | null>(null);\n const selectFieldRoot = useRef<HTMLDivElement | null>(null);\n const selectInputRef = useRef<HTMLInputElement | null>(null);\n const selectListBoxRef = useRef<HTMLDivElement | null>(null);\n const selectContainerRef = useRef<HTMLDivElement | null>(null);\n const selectSearchInputRef = useRef<HTMLInputElement | null>(null);\n\n const listOptionsMap = useMemo(() => {\n const optionsMap = new Map<string, string>();\n Children.forEach(children, (child) => {\n if (isValidElement<SelectFieldItemProps>(child)) {\n optionsMap.set(child.props.value, child.props.label);\n }\n });\n return optionsMap;\n }, [children]);\n\n useEffect(() => {\n if (isMultipleWithCheckboxes) {\n setInputValue(multipleInputLabelEmpty);\n }\n }, []);\n\n useEffect(() => {\n if (openDropdownOnFocus && listBoxOpen) {\n if (isMultipleWithCheckboxes) {\n setTimeout(() => { selectSearchInputRef.current?.focus?.(); }, 10);\n }\n }\n\n if (listBoxOpen) {\n /**\n * Scroll automático para o item selecionado na abertura do listbox.\n *\n * Usa requestAnimationFrame para aguardar que o DOM esteja renderizado e que o container\n * tenha dimensões estáveis (clientHeight > 0), já que a animação CSS \"revealelement\"\n * inicia com height: 0%, o que invalida o cálculo de scroll se executado antes.\n *\n * O scroll é feito via scrollListBoxToElement (helpers.ts) que manipula diretamente\n * o scrollTop do <ul>, sem usar scrollIntoView(), evitando propagação indesejada\n * de scroll para containers ancestrais(ex: body).\n */\n let retries = 0;\n const maxRetries = 20;\n const scrollToViewSelectedElement = () => {\n const listBox = selectListBoxRef.current?.querySelector('ul[role=\"listbox\"]');\n const currentValue = !isMultipleSelect ?\n props?.value\n : _.orderBy([...props.value], value => _.toNumber(value), ['asc'])[0];\n const currentLiElement = listBox?.querySelector(`li[id=\"${\n _.toString(currentValue)}\"]`) as HTMLLIElement | null;\n if (currentLiElement && listBox) {\n if (listBox.clientHeight > 0) {\n scrollListBoxToElement(listBox, currentLiElement, 'center');\n } else if (retries < maxRetries) {\n retries++;\n requestAnimationFrame(scrollToViewSelectedElement);\n }\n }\n };\n requestAnimationFrame(scrollToViewSelectedElement);\n }\n }, [listBoxOpen]);\n\n useEffect(() => {\n if (!isMultipleWithCheckboxes && !props?.value) setInputValue('');\n if (!props?.value || document.activeElement === selectInputRef.current) return;\n const lazyInputValue = listOptionsMap.get(rest.value);\n if (!isMultipleWithCheckboxes) setInputValue(lazyInputValue ?? '');\n if (isMultipleWithCheckboxes) {\n const firstSelectionLabel = listOptionsMap.get(props?.value[0]);\n switch (_.size(props?.value)) {\n case 0:\n return setInputValue(multipleInputLabelEmpty);\n case 1:\n return setInputValue(firstSelectionLabel ?? '');\n default:\n return setInputValue(multipleInputLabelManySelection);\n }\n }\n }, [props?.value, listOptionsMap]);\n\n const hasLabel = !_.isEmpty(props?.label);\n const hasHintMessages = Boolean(props.hint?.length);\n const hasValidationErrors = Boolean(errors?.length);\n\n const { childrenItems } = useMemo(() => {\n const itens: ReactNode[] = [];\n\n Children.map(children, (childElement, index) => {\n if (isValidElement<SelectFieldItemProps>(childElement)) {\n const clonedChild = cloneElement(childElement, {\n key: childElement.key ?? `child-item-${index + 1}`,\n });\n if (childElement.type === Item) itens.push(clonedChild);\n }\n });\n\n return { childrenItems: itens };\n }, [children, disabled]);\n\n const { leftSlotElements, rightSlotElements } = useMemo(() => {\n const left: ReactNode[] = [];\n const right: ReactNode[] = [];\n\n Children.map(children, (childElement, index) => {\n if (isValidElement<SlotProps>(childElement)) {\n const clonedChild = cloneElement(childElement, {\n key: childElement.key ?? `slot-${index}`,\n disabled: disabled,\n 'aria-disabled': disabled,\n });\n if (childElement.type === LeftSlot) left.push(clonedChild);\n if (childElement.type === RightSlot) right.push(clonedChild);\n }\n });\n\n return { leftSlotElements: left, rightSlotElements: right };\n }, [children, disabled]);\n\n const { optionItens } = useMemo(() => {\n const itens: ReactNode[] = [];\n\n Children.map(children, (childElement, index) => {\n if (isValidElement<OptionsProps>(childElement)) {\n const clonedChildItem = cloneElement(childElement, {\n key: childElement.key ?? `option-list-${index}`,\n disabled: disabled,\n });\n if (childElement.type === Options) itens.push(clonedChildItem);\n }\n });\n\n return { optionItens: itens };\n }, [children, disabled]);\n\n const hasLeftSlotElements = Boolean(leftSlotElements?.length);\n const hasRightSlotElements = Boolean(rightSlotElements?.length);\n\n const handleCloseListBox = () => {\n setListBoxOpen(false);\n setFilterValue('');\n };\n\n const handleOpenListBox = () => {\n const currentValue = !isMultipleSelect ?\n props?.value\n : _.orderBy([...props.value], value => _.toNumber(value), ['asc'])[0];\n setActiveDescendant(_.toString(currentValue) ?? undefined);\n };\n\n const handleChangeListBoxState = () => {\n setListBoxOpen((prevState) => {\n if (prevState) {\n setFilterValue('');\n }\n if (selectInputRef.current !== document.activeElement) {\n selectInputRef?.current?.focus?.();\n }\n handleOpenListBox();\n return !prevState;\n });\n };\n\n const handleChangeLiSelected = (liElement: HTMLLIElement | null) => {\n liSelectedRef.current = liElement;\n };\n\n const handleOnChange = (value?: any, inputLabel?: string, addOrRemove?: boolean) => {\n let multipleValue = props?.value;\n if (!addOrRemove) multipleValue = _.union(props.value, [value]);\n if (addOrRemove) multipleValue = _.without(props.value, value);\n const changedValue = !isMultipleSelect ?\n value\n : _.orderBy(multipleValue, multiValue => _.toNumber(multiValue), ['asc']);\n const syntheticEvent = {\n target: {\n name,\n value: changedValue as any,\n },\n } as ChangeEvent<HTMLInputElement>;\n onChange?.(syntheticEvent);\n if (!isMultipleSelect) {\n setListBoxOpen(false);\n setFilterValue('');\n setInputValue(inputLabel ?? '');\n if (document.activeElement === selectSearchInputRef.current) {\n selectInputRef?.current?.focus?.();\n setListBoxOpen(false);\n }\n }\n };\n\n const handleCheckMultiple = (checkOrUncheckAll?: boolean) => {\n const checkAll = Boolean(checkOrUncheckAll);\n const allValues: any[] = [];\n listOptionsMap.forEach((__, key) => allValues.push(key));\n const value: any = checkAll ? allValues : [];\n const syntheticEvent = {\n target: {\n name,\n value,\n },\n } as ChangeEvent<HTMLInputElement>;\n onChange?.(syntheticEvent);\n };\n\n const handleClearValue = () => {\n const resetValue = !isMultipleSelect ? '' : [];\n const syntheticEvent = {\n target: {\n name,\n value: resetValue as any,\n },\n } as ChangeEvent<HTMLInputElement>;\n onChange?.(syntheticEvent);\n setListBoxOpen(false);\n if (!isMultipleSelect) {\n setFilterValue('');\n setInputValue('');\n }\n if (isMultipleWithCheckboxes) {\n setInputValue(multipleInputLabelEmpty);\n }\n };\n\n const handleOnBlur = (event: FocusEvent<HTMLInputElement>) => {\n props?.onBlur?.(event);\n if (!event.relatedTarget || event.relatedTarget !== selectSearchInputRef.current) {\n setListBoxOpen(false);\n }\n setFilterValue('');\n };\n\n const handleOnFocus = (event: FocusEvent<HTMLInputElement>) => {\n props?.onFocus?.(event);\n if (openDropdownOnFocus) {\n setListBoxOpen(true);\n handleOpenListBox();\n }\n };\n\n const handleOnChangeInput = (event: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(event.target.value);\n setInputValue(event.target.value);\n };\n\n const handleOnPaste = (event: ClipboardEvent<HTMLInputElement>) => {\n if (undigitable || isMultipleWithCheckboxes) {\n event.preventDefault();\n } else {\n props.onPaste?.(event);\n }\n };\n\n const handleOnBeforeInput = (event: InputEvent<HTMLInputElement>) => {\n if (undigitable || isMultipleWithCheckboxes) {\n event.preventDefault();\n } else {\n props.onBeforeInput?.(event);\n }\n };\n\n const handleOnMouseDown = (event: MouseEvent<HTMLInputElement>) => {\n if (undigitable) {\n event.preventDefault();\n } else {\n props.onMouseDown?.(event);\n if (openDropdownOnFocus && !listBoxOpen) {\n setListBoxOpen(true);\n handleOpenListBox();\n }\n }\n };\n\n const handleOnSearch = (event: ChangeEvent<HTMLInputElement>) => {\n if (externalSearch) {\n onSearch?.(event);\n } else {\n setFilterValue(event.target.value);\n }\n };\n\n const handleOnKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n props?.onKeyDown?.(event);\n const notUndigitableKeys: string[] = [Keys.backspace, Keys.delete];\n if ((undigitable) && notUndigitableKeys.includes(event.key)) {\n event.preventDefault();\n return;\n }\n const shouldOpenByTyping = isTypingKey(event) || event.key === Keys.arrowDown;\n if (shouldOpenByTyping && selectInputRef.current === document.activeElement) {\n if (event.key === Keys.arrowDown) {\n event.preventDefault();\n }\n requestAnimationFrame(() => {\n const ulListElement = selectListBoxRef.current?.querySelector('ul[role=\"listbox\"]');\n const liElementsFiltered = (ulListElement?.querySelectorAll(\n 'li[data-state-filtered=\"true\"]',\n ) ?? []) as HTMLLIElement[];\n if (!listBoxOpen && event.key === Keys.arrowDown) {\n const currentValue = !isMultipleSelect ?\n props?.value\n : _.orderBy([...props.value], value => _.toNumber(value), ['asc'])[0];\n setActiveDescendant(_.toString(currentValue) ?? undefined);\n } else {\n setActiveDescendant(liElementsFiltered[0]?.id ?? undefined);\n }\n });\n if (!listBoxOpen) {\n setListBoxOpen(true);\n handleOpenListBox();\n }\n }\n if (listBoxOpen && NAVIGATION_KEYS.includes(event.key)) {\n event.preventDefault();\n }\n requestAnimationFrame(() => {\n const ulListElement = selectListBoxRef.current?.querySelector('ul[role=\"listbox\"]');\n const liElementsFiltered = (ulListElement?.querySelectorAll(\n 'li[data-state-filtered=\"true\"]',\n ) ?? []) as HTMLLIElement[];\n const currentElementIndex = Array.from(liElementsFiltered).findIndex(\n liElement => liElement.id === activeDescendant,\n );\n let nextElementIndex = currentElementIndex;\n if (listBoxOpen) {\n if (NAVIGATION_KEYS.includes(event.key)) {\n switch (event.key) {\n case Keys.escape:\n setListBoxOpen(false);\n setFilterValue('');\n selectInputRef.current?.focus();\n if (event.target === selectSearchInputRef.current) {\n setListBoxOpen(false);\n }\n break;\n case Keys.arrowDown:\n nextElementIndex = Math.min(currentElementIndex + 1, liElementsFiltered.length - 1);\n break;\n case Keys.arrowUp:\n nextElementIndex = Math.max(currentElementIndex - 1, 0);\n break;\n case Keys.enter:\n if (activeDescendant) {\n const selectedLIOption = liElementsFiltered[nextElementIndex];\n if (selectedLIOption) {\n selectedLIOption.click();\n }\n }\n break;\n default:\n break;\n }\n const nextLIOption = liElementsFiltered[nextElementIndex];\n if (nextLIOption) {\n setActiveDescendant(nextLIOption?.id ?? '');\n const ulListBox = selectListBoxRef.current?.querySelector('ul[role=\"listbox\"]');\n scrollListBoxToElement(ulListBox, nextLIOption, 'nearest');\n }\n }\n } else return null;\n });\n };\n\n const contextValues = ({\n selectFieldId: SELECT_FIELD_CONTROLS_ID, label: props.label, striped, listBoxOpen,\n filterValue, disabled, liSelectedRef, selectInputRef, selectSearchInputRef, handleOnSearch,\n searchOnDropdown, nameSelect: String(props.name), valueSelect: props?.value,\n activeDescendant, handleOnChange, handleOnKeyDown, selectContainerRef, handleCloseListBox,\n notFoundFilterLabel, handleChangeLiSelected, isMultipleSelect, isMultipleDefault,\n isMultipleWithCheckboxes, searchInputPlaceholder, showClearButton, dropdownAlignButton,\n handleClearValue, handleCheckMultiple, handleChangeListBoxState, optionItens,\n });\n\n return (\n <Fragment>\n <SelectFieldContext.Provider value={contextValues}>\n <div\n ref={selectFieldRoot}\n data-testid=\"test-select-field-root\"\n className={`select-field-root ${customClassWrapper}`}\n data-state-error={hasValidationErrors}\n data-state-hint-position={hintPosition}>\n {hasLabel && (\n <span\n className={`root-label ${customClassLabel}`}\n data-state-skeletonize={skeletonize}>\n <label\n data-testid=\"test-select-field-label\"\n className=\"label\"\n title={label}\n htmlFor={name}\n aria-disabled={disabled}\n aria-readonly={readOnly}\n data-state-input-required={props.required}>\n {label}\n </label>\n {hasHintMessages && hintPosition === 'onLabelRight' && !skeletonize && (\n <Popover\n customClass=\"label-popover\"\n theme={themePopover}\n align={popoverAlign}\n iconColor=\"#03bde2\">\n <PopoverText text={props?.hint ?? ''} />\n </Popover>\n )}\n </span>\n )}\n <div\n ref={selectContainerRef}\n className={`container ${customClassInputContainer}`}\n aria-expanded={listBoxOpen}\n data-state-skeletonize={skeletonize}>\n {(hasLeftSlotElements && !skeletonize) && leftSlotElements}\n <div className=\"input-root\">\n <input\n {...rest}\n ref={mergeRefs(ref, selectInputRef)}\n readOnly={props.readOnly || undigitable}\n className={`input ${customClass}`}\n placeholder={rest.placeholder}\n data-state-error={hasValidationErrors}\n data-state-multiple={isMultipleSelect}\n data-state-read-only={readOnly}\n data-state-text-align={textAlign}\n data-state-undigitable={undigitable}\n data-state-skeletonize={skeletonize}\n data-state-multiple-with-checkboxes={isMultipleWithCheckboxes}\n id={name}\n type=\"text\"\n role=\"combobox\"\n multiple={false}\n disabled={disabled}\n data-testid=\"test-select-field-input\"\n aria-autocomplete=\"list\"\n aria-expanded={listBoxOpen}\n aria-controls={SELECT_FIELD_CONTROLS_ID}\n aria-activedescendant={activeDescendant}\n tabIndex={(!readOnly && !skeletonize) ? 0 : -1}\n value={inputValue}\n onBlur={handleOnBlur}\n onFocus={handleOnFocus}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChangeInput}\n onPaste={handleOnPaste}\n onMouseDown={handleOnMouseDown}\n onBeforeInput={handleOnBeforeInput} />\n {isMultipleDefault && (\n <Selections\n disabled={Boolean(disabled)}\n isReadOnly={Boolean(readOnly)}\n listOfOptionsToSelect={listOptionsMap} />\n )}\n </div>\n {(hasRightSlotElements && !skeletonize) && rightSlotElements}\n <div\n className=\"triggers\"\n data-state-disabled={disabled}\n data-state-read-only={readOnly}\n data-state-skeletonize={skeletonize}>\n <Triggers />\n </div>\n {listBoxOpen && createPortal(\n <ListBox\n ref={selectListBoxRef}\n dropdownMaxWidth={dropdownMaxWidth}>\n {childrenItems}\n </ListBox>,\n document.body,\n )}\n </div>\n {hintPosition === 'below' && (\n <Hint\n customClass=\"hint\"\n skeletonize={skeletonize}\n description={props.hint}\n disabled={disabled}\n visible={hasHintMessages} />\n )}\n {hasValidationErrors && (\n <span\n data-testid=\"test-select-field-list-errors\"\n className=\"error\"\n data-state-skeletonize={skeletonize}\n aria-describedby={String(name).concat('-errors')}>\n {errors?.map((error, index) => (\n <Fragment key={`${index + 1}-${error}`}>\n {error}\n {' '}\n </Fragment>\n ))}\n </span>\n )}\n </div>\n </SelectFieldContext.Provider>\n <Tooltip\n targetRef={selectInputRef}\n text={tooltip}\n position={tooltipPosition}\n width={tooltipWidth}\n space={tooltipPosition === 'right' ? 64 : undefined} />\n </Fragment>\n );\n },\n);\n\nInputBase.displayName = 'SelectFieldInputBase';\n"],"names":["InputBase","forwardRef","props","ref","name","label","errors","children","onChange","tooltip","tooltipPosition","tooltipWidth","hintPosition","themePopover","popoverAlign","skeletonize","striped","undigitable","externalSearch","openDropdownOnFocus","showClearButton","textAlign","searchOnDropdown","onSearch","undefined","customClass","customClassLabel","customClassWrapper","customClassInputContainer","notFoundFilterLabel","multipleInputLabelEmpty","multipleInputLabelManySelection","searchInputPlaceholder","dropdownAlignButton","dropdownMaxWidth","disabled","readOnly","rest","SELECT_FIELD_CONTROLS_ID","useId","inputValue","setInputValue","useState","filterValue","setFilterValue","listBoxOpen","setListBoxOpen","activeDescendant","setActiveDescendant","isMultipleDefault","_","isEqual","multiple","MultipleVariantEnum","default","isMultipleWithCheckboxes","checkboxes","isMultipleSelect","liSelectedRef","useRef","selectFieldRoot","selectInputRef","selectListBoxRef","selectContainerRef","selectSearchInputRef","listOptionsMap","useMemo","optionsMap","Map","Children","forEach","child","isValidElement","set","value","useEffect","setTimeout","current","focus","retries","maxRetries","scrollToViewSelectedElement","listBox","querySelector","currentValue","orderBy","toNumber","currentLiElement","toString","clientHeight","scrollListBoxToElement","requestAnimationFrame","document","activeElement","lazyInputValue","get","firstSelectionLabel","size","hasLabel","isEmpty","hasHintMessages","Boolean","hint","length","hasValidationErrors","childrenItems","itens","map","childElement","index","clonedChild","cloneElement","key","type","Item","push","leftSlotElements","rightSlotElements","left","right","LeftSlot","RightSlot","optionItens","clonedChildItem","Options","hasLeftSlotElements","hasRightSlotElements","handleCloseListBox","handleOpenListBox","handleChangeListBoxState","prevState","handleChangeLiSelected","liElement","handleOnChange","inputLabel","addOrRemove","multipleValue","union","without","changedValue","multiValue","target","handleCheckMultiple","checkOrUncheckAll","checkAll","allValues","__","handleClearValue","resetValue","handleOnBlur","event","onBlur","relatedTarget","handleOnFocus","onFocus","handleOnChangeInput","handleOnPaste","preventDefault","onPaste","handleOnBeforeInput","onBeforeInput","handleOnMouseDown","onMouseDown","handleOnSearch","handleOnKeyDown","onKeyDown","notUndigitableKeys","Keys","backspace","delete","includes","isTypingKey","arrowDown","liElementsFiltered","querySelectorAll","id","NAVIGATION_KEYS","currentElementIndex","Array","from","findIndex","nextElementIndex","escape","Math","min","arrowUp","max","enter","selectedLIOption","click","nextLIOption","ulListBox","contextValues","selectFieldId","nameSelect","String","valueSelect","Fragment","jsx","SelectFieldContext","jsxs","required","Popover","PopoverText","mergeRefs","placeholder","Selections","Triggers","createPortal","ListBox","body","Hint","concat","error","Tooltip","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;AAwBO,MAAMA,KAAYC,GACvB,CAACC,GAAOC,OAAQ;AACd,QAAM;AAAA,IACJC,MAAAA;AAAAA,IAAMC,OAAAA;AAAAA,IAAOC,QAAAA;AAAAA,IAAQC,UAAAA;AAAAA,IAAUC,UAAAA;AAAAA,IAAUC,SAAAA;AAAAA,IAASC,iBAAAA;AAAAA,IAAiBC,cAAAA;AAAAA,IAAcC,cAAAA,IAAe;AAAA,IAChGC,cAAAA,KAAe;AAAA,IAASC,cAAAA,KAAe;AAAA,IAAQC,aAAAA,IAAc;AAAA,IAAOC,SAAAA,KAAU;AAAA,IAAOC,aAAAA,IAAc;AAAA,IAAOC,gBAAAA,KAAiB;AAAA,IAC3HC,qBAAAA,IAAsB;AAAA,IAAMC,iBAAAA,KAAkB;AAAA,IAAMC,WAAAA,KAAY;AAAA,IAAQC,kBAAAA,KAAmB;AAAA,IAAOC,UAAAA,KAAWC;AAAAA,IAC7GC,aAAAA,KAAc;AAAA,IAAIC,kBAAAA,KAAmB;AAAA,IAAIC,oBAAAA,KAAqB;AAAA,IAAIC,2BAAAA,KAA4B;AAAA,IAC9FC,qBAAAA,KAAsB;AAAA,IAA6BC,yBAAAA,IAA0B;AAAA,IAC7EC,iCAAAA,KAAkC;AAAA,IAAoCC,wBAAAA,KAAyB;AAAA,IAC/FC,qBAAAA,KAAsB;AAAA,IAAQC,kBAAAA,KAAmBV;AAAAA,IAAWW,UAAAA;AAAAA,IAAUC,UAAAA;AAAAA,IAAU,GAAGC;AAAAA,EAAAA,IACjFnC,GACEoC,IAA2BC,GAAAA,GAC3B,CAACC,IAAYC,CAAa,IAAIC,EAAS,EAAE,GACzC,CAACC,IAAaC,CAAc,IAAIF,EAAS,EAAE,GAC3C,CAACG,GAAaC,CAAc,IAAIJ,EAAS,EAAK,GAC9C,CAACK,GAAkBC,CAAmB,IAAIN,EAA6BlB,MAAS,GAChFyB,IAAoBC,EAAEC,QAAQjD,GAAOkD,UAAUC,GAAoBC,OAAO,GAC1EC,IAA2BL,EAAEC,QAAQjD,GAAOkD,UAAUC,GAAoBG,UAAU,GACpFC,IAAmBR,KAAqBM,GACxCG,IAAgBC,EAA6B,IAAI,GACjDC,KAAkBD,EAA8B,IAAI,GACpDE,IAAiBF,EAAgC,IAAI,GACrDG,IAAmBH,EAA8B,IAAI,GACrDI,IAAqBJ,EAA8B,IAAI,GACvDK,IAAuBL,EAAgC,IAAI,GAE3DM,IAAiBC,EAAQ,MAAM;AACnC,UAAMC,wBAAiBC,IAAAA;AACvBC,WAAAA,EAASC,QAAQ/D,GAAWgE,CAAAA,MAAU;AACpC,MAAIC,EAAqCD,CAAK,KAC5CJ,EAAWM,IAAIF,EAAMrE,MAAMwE,OAAOH,EAAMrE,MAAMG,KAAK;AAAA,IAEvD,CAAC,GACM8D;AAAAA,EACT,GAAG,CAAC5D,CAAQ,CAAC;AAEboE,EAAAA,EAAU,MAAM;AACd,IAAIpB,KACFd,EAAcX,CAAuB;AAAA,EAEzC,GAAG,CAAA,CAAE,GAEL6C,EAAU,MAAM;AAOd,QANIxD,KAAuB0B,KACrBU,KACFqB,WAAW,MAAM;AAAEZ,MAAAA,EAAqBa,SAASC,QAAAA;AAAAA,IAAW,GAAG,EAAE,GAIjEjC,GAAa;AAYf,UAAIkC,IAAU;AACd,YAAMC,IAAa,IACbC,IAA8BA,MAAM;AACxC,cAAMC,IAAUpB,EAAiBe,SAASM,cAAc,oBAAoB,GACtEC,IAAgB3B,IAElBP,EAAEmC,QAAQ,CAAC,GAAGnF,EAAMwE,KAAK,GAAGA,CAAAA,MAASxB,EAAEoC,SAASZ,CAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IADpExE,GAAOwE,OAEHa,IAAmBL,GAASC,cAAc,UAC9CjC,EAAEsC,SAASJ,CAAY,CAAC,IAAI;AAC9B,QAAIG,KAAoBL,MAClBA,EAAQO,eAAe,IACzBC,GAAuBR,GAASK,GAAkB,QAAQ,IACjDR,IAAUC,MACnBD,KACAY,sBAAsBV,CAA2B;AAAA,MAGvD;AACAU,4BAAsBV,CAA2B;AAAA,IACnD;AAAA,EACF,GAAG,CAACpC,CAAW,CAAC,GAEhB8B,EAAU,MAAM;AAEd,QADI,CAACpB,KAA4B,CAACrD,GAAOwE,WAAqB,EAAE,GAC5D,CAACxE,GAAOwE,SAASkB,SAASC,kBAAkBhC,EAAegB,QAAS;AACxE,UAAMiB,IAAiB7B,EAAe8B,IAAI1D,EAAKqC,KAAK;AAEpD,QADKnB,KAA0Bd,EAAcqD,KAAkB,EAAE,GAC7DvC,GAA0B;AAC5B,YAAMyC,IAAsB/B,EAAe8B,IAAI7F,GAAOwE,MAAM,CAAC,CAAC;AAC9D,cAAQxB,EAAE+C,KAAK/F,GAAOwE,KAAK,GAAA;AAAA,QACzB,KAAK;AACH,iBAAOjC,EAAcX,CAAuB;AAAA,QAC9C,KAAK;AACH,iBAAOW,EAAcuD,KAAuB,EAAE;AAAA,QAChD;AACE,iBAAOvD,EAAcV,EAA+B;AAAA,MAAA;AAAA,IAE1D;AAAA,EACF,GAAG,CAAC7B,GAAOwE,OAAOT,CAAc,CAAC;AAEjC,QAAMiC,KAAW,CAAChD,EAAEiD,QAAQjG,GAAOG,KAAK,GAClC+F,IAAkBC,EAAQnG,EAAMoG,MAAMC,QACtCC,IAAsBH,EAAQ/F,GAAQiG,QAEtC;AAAA,IAAEE,eAAAA;AAAAA,EAAAA,IAAkBvC,EAAQ,MAAM;AACtC,UAAMwC,IAAqB,CAAA;AAE3BrC,WAAAA,EAASsC,IAAIpG,GAAU,CAACqG,GAAcC,MAAU;AAC9C,UAAIrC,EAAqCoC,CAAY,GAAG;AACtD,cAAME,IAAcC,EAAaH,GAAc;AAAA,UAC7CI,KAAKJ,EAAaI,OAAO,cAAcH,IAAQ,CAAC;AAAA,QAAA,CACjD;AACD,QAAID,EAAaK,SAASC,MAAMR,EAAMS,KAAKL,CAAW;AAAA,MACxD;AAAA,IACF,CAAC,GAEM;AAAA,MAAEL,eAAeC;AAAAA,IAAAA;AAAAA,EAC1B,GAAG,CAACnG,GAAU4B,CAAQ,CAAC,GAEjB;AAAA,IAAEiF,kBAAAA;AAAAA,IAAkBC,mBAAAA;AAAAA,EAAAA,IAAsBnD,EAAQ,MAAM;AAC5D,UAAMoD,IAAoB,CAAA,GACpBC,IAAqB,CAAA;AAE3BlD,WAAAA,EAASsC,IAAIpG,GAAU,CAACqG,GAAcC,MAAU;AAC9C,UAAIrC,EAA0BoC,CAAY,GAAG;AAC3C,cAAME,IAAcC,EAAaH,GAAc;AAAA,UAC7CI,KAAKJ,EAAaI,OAAO,QAAQH,CAAK;AAAA,UACtC1E,UAAAA;AAAAA,UACA,iBAAiBA;AAAAA,QAAAA,CAClB;AACD,QAAIyE,EAAaK,SAASO,MAAUF,EAAKH,KAAKL,CAAW,GACrDF,EAAaK,SAASQ,MAAWF,EAAMJ,KAAKL,CAAW;AAAA,MAC7D;AAAA,IACF,CAAC,GAEM;AAAA,MAAEM,kBAAkBE;AAAAA,MAAMD,mBAAmBE;AAAAA,IAAAA;AAAAA,EACtD,GAAG,CAAChH,GAAU4B,CAAQ,CAAC,GAEjB;AAAA,IAAEuF,aAAAA;AAAAA,EAAAA,IAAgBxD,EAAQ,MAAM;AACpC,UAAMwC,IAAqB,CAAA;AAE3BrC,WAAAA,EAASsC,IAAIpG,GAAU,CAACqG,GAAcC,MAAU;AAC9C,UAAIrC,EAA6BoC,CAAY,GAAG;AAC9C,cAAMe,IAAkBZ,EAAaH,GAAc;AAAA,UACjDI,KAAKJ,EAAaI,OAAO,eAAeH,CAAK;AAAA,UAC7C1E,UAAAA;AAAAA,QAAAA,CACD;AACD,QAAIyE,EAAaK,SAASW,MAASlB,EAAMS,KAAKQ,CAAe;AAAA,MAC/D;AAAA,IACF,CAAC,GAEM;AAAA,MAAED,aAAahB;AAAAA,IAAAA;AAAAA,EACxB,GAAG,CAACnG,GAAU4B,CAAQ,CAAC,GAEjB0F,KAAsBxB,EAAQe,IAAkBb,QAChDuB,KAAuBzB,EAAQgB,IAAmBd,QAElDwB,KAAqBA,MAAM;AAC/BjF,IAAAA,EAAe,EAAK,GACpBF,EAAe,EAAE;AAAA,EACnB,GAEMoF,IAAoBA,MAAM;AAC9B,UAAM5C,IAAgB3B,IAElBP,EAAEmC,QAAQ,CAAC,GAAGnF,EAAMwE,KAAK,GAAGA,CAAAA,MAASxB,EAAEoC,SAASZ,CAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IADpExE,GAAOwE;AAET1B,IAAAA,EAAoBE,EAAEsC,SAASJ,CAAY,KAAK5D,MAAS;AAAA,EAC3D,GAEMyG,KAA2BA,MAAM;AACrCnF,IAAAA,EAAgBoF,CAAAA,OACVA,KACFtF,EAAe,EAAE,GAEfiB,EAAegB,YAAYe,SAASC,iBACtChC,GAAgBgB,SAASC,QAAAA,GAE3BkD,EAAAA,GACO,CAACE,EACT;AAAA,EACH,GAEMC,KAAyBA,CAACC,MAAoC;AAClE1E,IAAAA,EAAcmB,UAAUuD;AAAAA,EAC1B,GAEMC,KAAiBA,CAAC3D,GAAa4D,GAAqBC,MAA0B;AAClF,QAAIC,IAAgBtI,GAAOwE;AAC3B,IAAK6D,MAAaC,IAAgBtF,EAAEuF,MAAMvI,EAAMwE,OAAO,CAACA,CAAK,CAAC,IAC1D6D,MAAaC,IAAgBtF,EAAEwF,QAAQxI,EAAMwE,OAAOA,CAAK;AAC7D,UAAMiE,IAAgBlF,IAElBP,EAAEmC,QAAQmD,GAAeI,CAAAA,MAAc1F,EAAEoC,SAASsD,CAAU,GAAG,CAAC,KAAK,CAAC,IADxElE;AAQFlE,IAAAA,IANuB;AAAA,MACrBqI,QAAQ;AAAA,QACNzI,MAAAA;AAAAA,QACAsE,OAAOiE;AAAAA,MAAAA;AAAAA,IACT,CAEuB,GACpBlF,MACHX,EAAe,EAAK,GACpBF,EAAe,EAAE,GACjBH,EAAc6F,KAAc,EAAE,GAC1B1C,SAASC,kBAAkB7B,EAAqBa,YAClDhB,GAAgBgB,SAASC,QAAAA,GACzBhC,EAAe,EAAK;AAAA,EAG1B,GAEMgG,KAAsBA,CAACC,MAAgC;AAC3D,UAAMC,IAAW3C,EAAQ0C,GACnBE,IAAmB,CAAA;AACzBhF,IAAAA,EAAeK,QAAQ,CAAC4E,GAAIlC,MAAQiC,EAAU9B,KAAKH,CAAG,CAAC,GAQvDxG,IANuB;AAAA,MACrBqI,QAAQ;AAAA,QACNzI,MAAAA;AAAAA,QACAsE,OAJesE,IAAWC,IAAY,CAAA;AAAA,MAItCvE;AAAAA,IACF,CAEuB;AAAA,EAC3B,GAEMyE,KAAmBA,MAAM;AAQ7B3I,IAAAA,IANuB;AAAA,MACrBqI,QAAQ;AAAA,QACNzI,MAAAA;AAAAA,QACAsE,OAJgBjB,IAAwB,CAAA,IAAL;AAAA,MAI5B2F;AAAAA,IACT,CAEuB,GACzBtG,EAAe,EAAK,GACfW,MACHb,EAAe,EAAE,GACjBH,EAAc,EAAE,IAEdc,KACFd,EAAcX,CAAuB;AAAA,EAEzC,GAEMuH,KAAeA,CAACC,MAAwC;AAC5DpJ,IAAAA,GAAOqJ,SAASD,CAAK,IACjB,CAACA,EAAME,iBAAiBF,EAAME,kBAAkBxF,EAAqBa,YACvE/B,EAAe,EAAK,GAEtBF,EAAe,EAAE;AAAA,EACnB,GAEM6G,KAAgBA,CAACH,MAAwC;AAC7DpJ,IAAAA,GAAOwJ,UAAUJ,CAAK,GAClBnI,MACF2B,EAAe,EAAI,GACnBkF,EAAAA;AAAAA,EAEJ,GAEM2B,KAAsBA,CAACL,MAAyC;AACpE1G,IAAAA,EAAe0G,EAAMT,OAAOnE,KAAK,GACjCjC,EAAc6G,EAAMT,OAAOnE,KAAK;AAAA,EAClC,GAEMkF,KAAgBA,CAACN,MAA4C;AACjE,IAAIrI,KAAesC,IACjB+F,EAAMO,eAAAA,IAEN3J,EAAM4J,UAAUR,CAAK;AAAA,EAEzB,GAEMS,KAAsBA,CAACT,MAAwC;AACnE,IAAIrI,KAAesC,IACjB+F,EAAMO,eAAAA,IAEN3J,EAAM8J,gBAAgBV,CAAK;AAAA,EAE/B,GAEMW,KAAoBA,CAACX,MAAwC;AACjE,IAAIrI,IACFqI,EAAMO,eAAAA,KAEN3J,EAAMgK,cAAcZ,CAAK,GACrBnI,KAAuB,CAAC0B,MAC1BC,EAAe,EAAI,GACnBkF,EAAAA;AAAAA,EAGN,GAEMmC,KAAiBA,CAACb,MAAyC;AAC/D,IAAIpI,KACFK,KAAW+H,CAAK,IAEhB1G,EAAe0G,EAAMT,OAAOnE,KAAK;AAAA,EAErC,GAEM0F,KAAkBA,CAACd,MAA2C;AAClEpJ,IAAAA,GAAOmK,YAAYf,CAAK;AACxB,UAAMgB,IAA+B,CAACC,EAAKC,WAAWD,EAAKE,MAAM;AACjE,QAAKxJ,KAAgBqJ,EAAmBI,SAASpB,EAAMtC,GAAG,GAAG;AAC3DsC,MAAAA,EAAMO,eAAAA;AACN;AAAA,IACF;AAEA,KAD2Bc,GAAYrB,CAAK,KAAKA,EAAMtC,QAAQuD,EAAKK,cAC1C/G,EAAegB,YAAYe,SAASC,kBACxDyD,EAAMtC,QAAQuD,EAAKK,aACrBtB,EAAMO,eAAAA,GAERlE,sBAAsB,MAAM;AAE1B,YAAMkF,IADgB/G,EAAiBe,SAASM,cAAc,oBAAoB,GACvC2F,iBACzC,gCACF,KAAK,CAAA;AACL,UAAI,CAACjI,KAAeyG,EAAMtC,QAAQuD,EAAKK,WAAW;AAChD,cAAMxF,IAAgB3B,IAElBP,EAAEmC,QAAQ,CAAC,GAAGnF,EAAMwE,KAAK,GAAGA,CAAAA,MAASxB,EAAEoC,SAASZ,CAAK,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IADpExE,GAAOwE;AAET1B,QAAAA,EAAoBE,EAAEsC,SAASJ,CAAY,KAAK5D,MAAS;AAAA,MAC3D;AACEwB,QAAAA,EAAoB6H,EAAmB,CAAC,GAAGE,MAAMvJ,MAAS;AAAA,IAE9D,CAAC,GACIqB,MACHC,EAAe,EAAI,GACnBkF,EAAAA,KAGAnF,KAAemI,GAAgBN,SAASpB,EAAMtC,GAAG,KACnDsC,EAAMO,eAAAA,GAERlE,sBAAsB,MAAM;AAE1B,YAAMkF,IADgB/G,EAAiBe,SAASM,cAAc,oBAAoB,GACvC2F,iBACzC,gCACF,KAAK,CAAA,GACCG,IAAsBC,MAAMC,KAAKN,CAAkB,EAAEO,UACzDhD,CAAAA,MAAaA,EAAU2C,OAAOhI,CAChC;AACA,UAAIsI,IAAmBJ;AACvB,UAAIpI;AACF,YAAImI,GAAgBN,SAASpB,EAAMtC,GAAG,GAAG;AACvC,kBAAQsC,EAAMtC,KAAAA;AAAAA,YACZ,KAAKuD,EAAKe;AACRxI,cAAAA,EAAe,EAAK,GACpBF,EAAe,EAAE,GACjBiB,EAAegB,SAASC,MAAAA,GACpBwE,EAAMT,WAAW7E,EAAqBa,WACxC/B,EAAe,EAAK;AAEtB;AAAA,YACF,KAAKyH,EAAKK;AACRS,cAAAA,IAAmBE,KAAKC,IAAIP,IAAsB,GAAGJ,EAAmBtE,SAAS,CAAC;AAClF;AAAA,YACF,KAAKgE,EAAKkB;AACRJ,cAAAA,IAAmBE,KAAKG,IAAIT,IAAsB,GAAG,CAAC;AACtD;AAAA,YACF,KAAKV,EAAKoB;AACR,kBAAI5I,GAAkB;AACpB,sBAAM6I,IAAmBf,EAAmBQ,CAAgB;AAC5D,gBAAIO,KACFA,EAAiBC,MAAAA;AAAAA,cAErB;AACA;AAAA,UAEA;AAEJ,gBAAMC,IAAejB,EAAmBQ,CAAgB;AACxD,cAAIS,GAAc;AAChB9I,YAAAA,EAAoB8I,GAAcf,MAAM,EAAE;AAC1C,kBAAMgB,IAAYjI,EAAiBe,SAASM,cAAc,oBAAoB;AAC9EO,YAAAA,GAAuBqG,GAAWD,GAAc,SAAS;AAAA,UAC3D;AAAA,QACF;AAAA,YACK,QAAO;AAAA,IAChB,CAAC;AAAA,EACH,GAEME,KAAiB;AAAA,IACrBC,eAAe3J;AAAAA,IAA0BjC,OAAOH,EAAMG;AAAAA,IAAOW,SAAAA;AAAAA,IAAS6B,aAAAA;AAAAA,IACtEF,aAAAA;AAAAA,IAAaR,UAAAA;AAAAA,IAAUuB,eAAAA;AAAAA,IAAeG,gBAAAA;AAAAA,IAAgBG,sBAAAA;AAAAA,IAAsBmG,gBAAAA;AAAAA,IAC5E7I,kBAAAA;AAAAA,IAAkB4K,YAAYC,OAAOjM,EAAME,IAAI;AAAA,IAAGgM,aAAalM,GAAOwE;AAAAA,IACtE3B,kBAAAA;AAAAA,IAAkBsF,gBAAAA;AAAAA,IAAgB+B,iBAAAA;AAAAA,IAAiBrG,oBAAAA;AAAAA,IAAoBgE,oBAAAA;AAAAA,IACvElG,qBAAAA;AAAAA,IAAqBsG,wBAAAA;AAAAA,IAAwB1E,kBAAAA;AAAAA,IAAkBR,mBAAAA;AAAAA,IAC/DM,0BAAAA;AAAAA,IAA0BvB,wBAAAA;AAAAA,IAAwBZ,iBAAAA;AAAAA,IAAiBa,qBAAAA;AAAAA,IACnEkH,kBAAAA;AAAAA,IAAkBL,qBAAAA;AAAAA,IAAqBb,0BAAAA;AAAAA,IAA0BP,aAAAA;AAAAA,EAAAA;AAGnE,2BACG2E,IAAA,EACC,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAmB,UAAnB,EAA4B,OAAOP,IAClC,UAAA,gBAAAQ,EAAC,SACC,KAAK5I,IACL,eAAY,0BACZ,WAAW,qBAAqBjC,EAAkB,IAClD,oBAAkB6E,GAClB,4BAA0B5F,GACzBsF,UAAAA;AAAAA,MAAAA,wBACE,QAAA,EACC,WAAW,cAAcxE,EAAgB,IACzC,0BAAwBX,GACxB,UAAA;AAAA,QAAA,gBAAAuL,EAAC,WACC,eAAY,2BACZ,WAAU,SACV,OAAOjM,GACP,SAASD,GACT,iBAAe+B,GACf,iBAAeC,GACf,6BAA2BlC,EAAMuM,UAChCpM,UAAAA,GACH;AAAA,QACC+F,KAAmBxF,MAAiB,kBAAkB,CAACG,KACtD,gBAAAuL,EAACI,IAAA,EACC,aAAY,iBACZ,OAAO7L,IACP,OAAOC,IACP,WAAU,WACV,UAAA,gBAAAwL,EAACK,MAAY,MAAMzM,GAAOoG,QAAQ,GAAA,CAAG,EAAA,CACvC;AAAA,MAAA,GAEJ;AAAA,MAEF,gBAAAkG,EAAC,OAAA,EACC,KAAKzI,GACL,WAAW,aAAanC,EAAyB,IACjD,iBAAeiB,GACf,0BAAwB9B,GACtB8G,UAAAA;AAAAA,QAAAA,MAAuB,CAAC9G,KAAgBqG;AAAAA,QAC1C,gBAAAoF,EAAC,OAAA,EAAI,WAAU,cACb,UAAA;AAAA,UAAA,gBAAAF,EAAC,SAAA,EACC,GAAIjK,GACJ,KAAKuK,GAAUzM,IAAK0D,CAAc,GAClC,UAAU3D,EAAMkC,YAAYnB,GAC5B,WAAW,SAASQ,EAAW,IAC/B,aAAaY,EAAKwK,aAClB,oBAAkBrG,GAClB,uBAAqB/C,GACrB,wBAAsBrB,GACtB,yBAAuBf,IACvB,0BAAwBJ,GACxB,0BAAwBF,GACxB,uCAAqCwC,GACrC,IAAInD,GACJ,MAAK,QACL,MAAK,YACL,UAAU,IACV,UAAA+B,GACA,eAAY,2BACZ,qBAAkB,QAClB,iBAAeU,GACf,iBAAeP,GACf,yBAAuBS,GACvB,UAAW,CAACX,KAAY,CAACrB,IAAe,IAAI,IAC5C,OAAOyB,IACP,QAAQ6G,IACR,SAASI,IACT,WAAWW,IACX,UAAUT,IACV,SAASC,IACT,aAAaK,IACb,eAAeF,IAAoB;AAAA,UACpC9G,KACC,gBAAAqJ,EAACQ,IAAA,EACC,UAAUzG,EAAQlE,GAClB,YAAYkE,EAAQjE,GACpB,uBAAuB6B,EAAAA,CAAe;AAAA,QAAA,GAE5C;AAAA,QACE6D,MAAwB,CAAC/G,KAAgBsG;AAAAA,QAC3C,gBAAAiF,EAAC,OAAA,EACC,WAAU,YACV,uBAAqBnK,GACrB,wBAAsBC,GACtB,0BAAwBrB,GACxB,UAAA,gBAAAuL,EAACS,IAAA,CAAA,CAAQ,GACX;AAAA,QACClK,KAAemK,GACd,gBAAAV,EAACW,IAAA,EACC,KAAKnJ,GACL,kBAAA5B,IACCuE,UAAAA,IACH,GACAb,SAASsH,IACX;AAAA,MAAA,GACF;AAAA,MACCtM,MAAiB,WAChB,gBAAA0L,EAACa,IAAA,EACC,aAAY,QACZ,aAAApM,GACA,aAAab,EAAMoG,MACnB,UAAAnE,GACA,SAASiE,EAAAA,CAAgB;AAAA,MAE5BI,uBACE,QAAA,EACC,eAAY,iCACZ,WAAU,SACV,0BAAwBzF,GACxB,oBAAkBoL,OAAO/L,CAAI,EAAEgN,OAAO,SAAS,GAC9C9M,UAAAA,GAAQqG,IAAI,CAAC0G,GAAOxG,MACnB,gBAAA2F,EAACH,IAAA,EACEgB,UAAAA;AAAAA,QAAAA;AAAAA,QACA;AAAA,MAAA,EAAA,GAFY,GAAGxG,IAAQ,CAAC,IAAIwG,CAAK,EAGpC,CACD,EAAA,CACH;AAAA,IAAA,EAAA,CAEJ,EAAA,CACF;AAAA,IACA,gBAAAf,EAACgB,IAAA,EACC,WAAWzJ,GACX,MAAMpD,IACN,UAAUC,GACV,OAAOC,IACP,OAAOD,MAAoB,UAAU,KAAKc,OAAAA,CAAU;AAAA,EAAA,GACxD;AAEJ,CACF;AAEAxB,GAAUuN,cAAc;"}
@@ -3,7 +3,7 @@ import { Position } from '../../@types/Position';
3
3
  interface SelectFieldContextProps {
4
4
  striped?: boolean;
5
5
  listBoxOpen: boolean;
6
- isDisabled?: boolean;
6
+ disabled?: boolean;
7
7
  showClearButton?: boolean;
8
8
  searchOnDropdown?: boolean;
9
9
  isMultipleSelect?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sources":["../../../src/lib/inputs2/selectfield/context.tsx"],"sourcesContent":["import { createContext, ChangeEvent, ReactNode, RefObject, useContext, KeyboardEventHandler } from 'react';\nimport type { Position } from '../../@types/Position';\n\ninterface SelectFieldContextProps {\n striped?: boolean;\n listBoxOpen: boolean;\n isDisabled?: boolean;\n showClearButton?: boolean;\n searchOnDropdown?: boolean;\n isMultipleSelect?: boolean;\n isMultipleDefault?: boolean;\n isMultipleWithCheckboxes?: boolean;\n label?: string;\n filterValue?: string;\n nameSelect?: string;\n valueSelect?: any;\n selectFieldId: string;\n activeDescendant?: string;\n notFoundFilterLabel: string;\n searchInputPlaceholder: string;\n optionItens: ReactNode[] | undefined | null;\n dropdownAlignButton?: Extract<Position, 'left' | 'right'>;\n liSelectedRef: RefObject<HTMLLIElement | null>;\n selectInputRef: RefObject<HTMLInputElement | null>;\n selectContainerRef: RefObject<HTMLDivElement | null>;\n selectSearchInputRef: RefObject<HTMLInputElement | null>;\n handleOnSearch?: (event: ChangeEvent<HTMLInputElement>) => void;\n handleOnChange?: (value?: string, label?: string, addOrRemove?: boolean) => void;\n handleOnKeyDown?: KeyboardEventHandler;\n handleClearValue?: () => void;\n handleCloseListBox: () => void;\n handleCheckMultiple: (checkOrUncheckAll?: boolean) => void;\n handleChangeLiSelected: (liElement: HTMLLIElement | null) => void;\n handleChangeListBoxState: () => void;\n}\n\nconst SelectFieldContext = createContext({} as SelectFieldContextProps);\n\nconst useSelectFieldContext = () => {\n const context = useContext(SelectFieldContext);\n\n if (context === undefined)\n throw new Error('useSelectFieldContext must be used within a SelectFieldProvider');\n\n return context;\n};\n\nexport { SelectFieldContext, useSelectFieldContext };\nexport type { SelectFieldContextProps };\n"],"names":["SelectFieldContext","createContext","useSelectFieldContext","context","useContext","undefined","Error"],"mappings":";AAoCA,MAAMA,IAAqBC,EAAc,CAAA,CAA6B,GAEhEC,IAAwBA,MAAA;AAC5B,QAAAC,IAAgBC,EAAWJ,CAAkB;AAE7C,MAAIG,MAAYE;AACd,UAAM,IAAIC,MAAM,iEAAiE;AAAE,SAE9EH;AAAO;"}
1
+ {"version":3,"file":"context.js","sources":["../../../src/lib/inputs2/selectfield/context.tsx"],"sourcesContent":["import { createContext, ChangeEvent, ReactNode, RefObject, useContext, KeyboardEventHandler } from 'react';\nimport type { Position } from '../../@types/Position';\n\ninterface SelectFieldContextProps {\n striped?: boolean;\n listBoxOpen: boolean;\n disabled?: boolean;\n showClearButton?: boolean;\n searchOnDropdown?: boolean;\n isMultipleSelect?: boolean;\n isMultipleDefault?: boolean;\n isMultipleWithCheckboxes?: boolean;\n label?: string;\n filterValue?: string;\n nameSelect?: string;\n valueSelect?: any;\n selectFieldId: string;\n activeDescendant?: string;\n notFoundFilterLabel: string;\n searchInputPlaceholder: string;\n optionItens: ReactNode[] | undefined | null;\n dropdownAlignButton?: Extract<Position, 'left' | 'right'>;\n liSelectedRef: RefObject<HTMLLIElement | null>;\n selectInputRef: RefObject<HTMLInputElement | null>;\n selectContainerRef: RefObject<HTMLDivElement | null>;\n selectSearchInputRef: RefObject<HTMLInputElement | null>;\n handleOnSearch?: (event: ChangeEvent<HTMLInputElement>) => void;\n handleOnChange?: (value?: string, label?: string, addOrRemove?: boolean) => void;\n handleOnKeyDown?: KeyboardEventHandler;\n handleClearValue?: () => void;\n handleCloseListBox: () => void;\n handleCheckMultiple: (checkOrUncheckAll?: boolean) => void;\n handleChangeLiSelected: (liElement: HTMLLIElement | null) => void;\n handleChangeListBoxState: () => void;\n}\n\nconst SelectFieldContext = createContext({} as SelectFieldContextProps);\n\nconst useSelectFieldContext = () => {\n const context = useContext(SelectFieldContext);\n\n if (context === undefined)\n throw new Error('useSelectFieldContext must be used within a SelectFieldProvider');\n\n return context;\n};\n\nexport { SelectFieldContext, useSelectFieldContext };\nexport type { SelectFieldContextProps };\n"],"names":["SelectFieldContext","createContext","useSelectFieldContext","context","useContext","undefined","Error"],"mappings":";AAoCA,MAAMA,IAAqBC,EAAc,CAAA,CAA6B,GAEhEC,IAAwBA,MAAA;AAC5B,QAAAC,IAAgBC,EAAWJ,CAAkB;AAE7C,MAAIG,MAAYE;AACd,UAAM,IAAIC,MAAM,iEAAiE;AAAE,SAE9EH;AAAO;"}
@@ -3,3 +3,8 @@ export declare const setFocusOnOffsetElement: (current: HTMLElement, nextOrBefor
3
3
  export declare const options: string[];
4
4
  export declare const NAVIGATION_KEYS: string[];
5
5
  export declare const isTypingKey: (event: KeyboardEvent) => boolean;
6
+ /**
7
+ * Rola o container do listbox para que o elemento fique visível,
8
+ * sem propagar scroll para containers ancestrais(ex: body).
9
+ */
10
+ export declare const scrollListBoxToElement: (container: Element | null | undefined, element: HTMLElement | null, behavior?: "center" | "nearest") => void;
@@ -1,17 +1,26 @@
1
- import { OPTIONS_ON_DENIED as n } from "../../permissionValidations.js";
2
- import { Keys as t } from "./types.js";
3
- const c = ["a[href]", "button:not([disabled])", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])", '[tabindex]:not([tabindex="-1"])'].join(","), f = (e, o) => {
4
- const s = Array.from(document.querySelectorAll(c)), l = o === "next" ? 1 : -1, r = s.indexOf(e), a = s[r + l];
5
- a && a.focus();
6
- }, m = [n.disabled, n.unvisible, n.readOnly, n.hideContent], y = [t.escape, t.arrowDown, t.arrowUp, t.enter], b = (e) => {
7
- if (e.ctrlKey || e.metaKey || e.altKey) return !1;
8
- const o = [t.backspace, t.delete, t.spaceBar];
9
- return e.key.length === 1 || o.includes(e.key);
1
+ import { OPTIONS_ON_DENIED as i } from "../../permissionValidations.js";
2
+ import { Keys as s } from "./types.js";
3
+ const d = ["a[href]", "button:not([disabled])", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])", '[tabindex]:not([tabindex="-1"])'].join(","), m = (t, e) => {
4
+ const l = Array.from(document.querySelectorAll(d)), o = e === "next" ? 1 : -1, n = l.indexOf(t), c = l[n + o];
5
+ c && c.focus();
6
+ }, b = [i.disabled, i.unvisible, i.readOnly, i.hideContent], u = [s.escape, s.arrowDown, s.arrowUp, s.enter], y = (t) => {
7
+ if (t.ctrlKey || t.metaKey || t.altKey) return !1;
8
+ const e = [s.backspace, s.delete, s.spaceBar];
9
+ return t.key.length === 1 || e.includes(t.key);
10
+ }, O = (t, e, l = "center") => {
11
+ if (!t || !e) return;
12
+ const o = t.getBoundingClientRect(), n = e.getBoundingClientRect();
13
+ if (l === "center") {
14
+ const c = n.top - o.top + t.scrollTop, r = e.offsetHeight, a = t.clientHeight;
15
+ t.scrollTop = Math.max(0, c - a / 2 + r / 2);
16
+ } else
17
+ n.top < o.top ? t.scrollTop -= o.top - n.top : n.bottom > o.bottom && (t.scrollTop += n.bottom - o.bottom);
10
18
  };
11
19
  export {
12
- y as NAVIGATION_KEYS,
13
- b as isTypingKey,
14
- m as options,
15
- f as setFocusOnOffsetElement
20
+ u as NAVIGATION_KEYS,
21
+ y as isTypingKey,
22
+ b as options,
23
+ O as scrollListBoxToElement,
24
+ m as setFocusOnOffsetElement
16
25
  };
17
26
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../src/lib/inputs2/selectfield/helpers.ts"],"sourcesContent":["import { KeyboardEvent } from 'react';\nimport { OPTIONS_ON_DENIED } from '../../permissionValidations';\nimport { Keys } from './types';\n\nconst FOCUSABLE_SELECTOR = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(',');\nexport const setFocusOnOffsetElement = (\n current: HTMLElement, nextOrBefore: 'next' | 'before',\n) => {\n const elementFocusables = Array.from(document.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR));\n const offsetElement = nextOrBefore === 'next' ? 1 : -1;\n const elementIndex = elementFocusables.indexOf(current);\n const nextElement = elementFocusables[elementIndex + offsetElement];\n if (nextElement) nextElement.focus();\n};\nexport const options = [\n OPTIONS_ON_DENIED.disabled,\n OPTIONS_ON_DENIED.unvisible,\n OPTIONS_ON_DENIED.readOnly,\n OPTIONS_ON_DENIED.hideContent,\n];\nexport const NAVIGATION_KEYS: string[] = [Keys.escape, Keys.arrowDown, Keys.arrowUp, Keys.enter];\nexport const isTypingKey = (event: KeyboardEvent) => {\n if (event.ctrlKey || event.metaKey || event.altKey) return false;\n const validKeys: string[] = [Keys.backspace, Keys.delete, Keys.spaceBar];\n return ((event.key.length === 1) || validKeys.includes(event.key));\n};\n"],"names":["FOCUSABLE_SELECTOR","join","setFocusOnOffsetElement","current","nextOrBefore","elementFocusables","Array","from","document","querySelectorAll","offsetElement","elementIndex","indexOf","nextElement","focus","options","OPTIONS_ON_DENIED","disabled","unvisible","readOnly","hideContent","NAVIGATION_KEYS","Keys","escape","arrowDown","arrowUp","enter","isTypingKey","event","ctrlKey","metaKey","altKey","validKeys","backspace","delete","spaceBar","key","length","includes"],"mappings":";;AAIA,MAAMA,IAAqB,CACzB,WACA,0BACA,yBACA,0BACA,4BACA,iCAAiC,EACjCC,KAAK,GAAG,GACGC,IAA0BA,CACrCC,GAAsBC,MACnB;AACH,QAAMC,IAAoBC,MAAMC,KAAKC,SAASC,iBAA8BT,CAAkB,CAAC,GACzFU,IAAgBN,MAAiB,SAAS,IAAI,IAC9CO,IAAeN,EAAkBO,QAAQT,CAAO,GAChDU,IAAcR,EAAkBM,IAAeD,CAAa;AAClE,EAAIG,OAAyBC,MAAAA;AAC/B,GACaC,IAAU,CACrBC,EAAkBC,UAClBD,EAAkBE,WAClBF,EAAkBG,UAClBH,EAAkBI,WAAW,GAElBC,IAA4B,CAACC,EAAKC,QAAQD,EAAKE,WAAWF,EAAKG,SAASH,EAAKI,KAAK,GAClFC,IAAcA,CAACC,MAAyB;AACnD,MAAIA,EAAMC,WAAWD,EAAME,WAAWF,EAAMG,OAAQ,QAAO;AAC3D,QAAMC,IAAsB,CAACV,EAAKW,WAAWX,EAAKY,QAAQZ,EAAKa,QAAQ;AACvE,SAASP,EAAMQ,IAAIC,WAAW,KAAML,EAAUM,SAASV,EAAMQ,GAAG;AAClE;"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../src/lib/inputs2/selectfield/helpers.ts"],"sourcesContent":["import { KeyboardEvent } from 'react';\nimport { OPTIONS_ON_DENIED } from '../../permissionValidations';\nimport { Keys } from './types';\n\nconst FOCUSABLE_SELECTOR = [\n 'a[href]',\n 'button:not([disabled])',\n 'input:not([disabled])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(',');\nexport const setFocusOnOffsetElement = (\n current: HTMLElement, nextOrBefore: 'next' | 'before',\n) => {\n const elementFocusables = Array.from(document.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR));\n const offsetElement = nextOrBefore === 'next' ? 1 : -1;\n const elementIndex = elementFocusables.indexOf(current);\n const nextElement = elementFocusables[elementIndex + offsetElement];\n if (nextElement) nextElement.focus();\n};\nexport const options = [\n OPTIONS_ON_DENIED.disabled,\n OPTIONS_ON_DENIED.unvisible,\n OPTIONS_ON_DENIED.readOnly,\n OPTIONS_ON_DENIED.hideContent,\n];\nexport const NAVIGATION_KEYS: string[] = [Keys.escape, Keys.arrowDown, Keys.arrowUp, Keys.enter];\nexport const isTypingKey = (event: KeyboardEvent) => {\n if (event.ctrlKey || event.metaKey || event.altKey) return false;\n const validKeys: string[] = [Keys.backspace, Keys.delete, Keys.spaceBar];\n return ((event.key.length === 1) || validKeys.includes(event.key));\n};\n\n/**\n * Rola o container do listbox para que o elemento fique visível,\n * sem propagar scroll para containers ancestrais(ex: body).\n */\nexport const scrollListBoxToElement = (\n container: Element | null | undefined,\n element: HTMLElement | null,\n behavior: 'center' | 'nearest' = 'center',\n) => {\n if (!container || !element) return;\n\n const containerRect = container.getBoundingClientRect();\n const elementRect = element.getBoundingClientRect();\n\n if (behavior === 'center') {\n const elementOffsetInContainer = elementRect.top - containerRect.top + container.scrollTop;\n const elementHeight = element.offsetHeight;\n const containerHeight = container.clientHeight;\n container.scrollTop = Math.max(0, elementOffsetInContainer - \n (containerHeight / 2) + (elementHeight / 2));\n } else {\n if (elementRect.top < containerRect.top) {\n container.scrollTop -= containerRect.top - elementRect.top;\n } else if (elementRect.bottom > containerRect.bottom) {\n container.scrollTop += elementRect.bottom - containerRect.bottom;\n }\n }\n};\n"],"names":["FOCUSABLE_SELECTOR","join","setFocusOnOffsetElement","current","nextOrBefore","elementFocusables","Array","from","document","querySelectorAll","offsetElement","elementIndex","indexOf","nextElement","focus","options","OPTIONS_ON_DENIED","disabled","unvisible","readOnly","hideContent","NAVIGATION_KEYS","Keys","escape","arrowDown","arrowUp","enter","isTypingKey","event","ctrlKey","metaKey","altKey","validKeys","backspace","delete","spaceBar","key","length","includes","scrollListBoxToElement","container","element","behavior","containerRect","getBoundingClientRect","elementRect","elementOffsetInContainer","top","scrollTop","elementHeight","offsetHeight","containerHeight","clientHeight","Math","max","bottom"],"mappings":";;AAIA,MAAMA,IAAqB,CACzB,WACA,0BACA,yBACA,0BACA,4BACA,iCAAiC,EACjCC,KAAK,GAAG,GACGC,IAA0BA,CACrCC,GAAsBC,MACnB;AACH,QAAMC,IAAoBC,MAAMC,KAAKC,SAASC,iBAA8BT,CAAkB,CAAC,GACzFU,IAAgBN,MAAiB,SAAS,IAAI,IAC9CO,IAAeN,EAAkBO,QAAQT,CAAO,GAChDU,IAAcR,EAAkBM,IAAeD,CAAa;AAClE,EAAIG,OAAyBC,MAAAA;AAC/B,GACaC,IAAU,CACrBC,EAAkBC,UAClBD,EAAkBE,WAClBF,EAAkBG,UAClBH,EAAkBI,WAAW,GAElBC,IAA4B,CAACC,EAAKC,QAAQD,EAAKE,WAAWF,EAAKG,SAASH,EAAKI,KAAK,GAClFC,IAAcA,CAACC,MAAyB;AACnD,MAAIA,EAAMC,WAAWD,EAAME,WAAWF,EAAMG,OAAQ,QAAO;AAC3D,QAAMC,IAAsB,CAACV,EAAKW,WAAWX,EAAKY,QAAQZ,EAAKa,QAAQ;AACvE,SAASP,EAAMQ,IAAIC,WAAW,KAAML,EAAUM,SAASV,EAAMQ,GAAG;AAClE,GAMaG,IAAyBA,CACpCC,GACAC,GACAC,IAAiC,aAC9B;AACH,MAAI,CAACF,KAAa,CAACC,EAAS;AAE5B,QAAME,IAAgBH,EAAUI,sBAAAA,GAC1BC,IAAcJ,EAAQG,sBAAAA;AAE5B,MAAIF,MAAa,UAAU;AACzB,UAAMI,IAA2BD,EAAYE,MAAMJ,EAAcI,MAAMP,EAAUQ,WAC3EC,IAAgBR,EAAQS,cACxBC,IAAkBX,EAAUY;AAClCZ,IAAAA,EAAUQ,YAAYK,KAAKC,IAAI,GAAGR,IAC/BK,IAAkB,IAAMF,IAAgB,CAAE;AAAA,EAC/C;AACE,IAAIJ,EAAYE,MAAMJ,EAAcI,MAClCP,EAAUQ,aAAaL,EAAcI,MAAMF,EAAYE,MAC9CF,EAAYU,SAASZ,EAAcY,WAC5Cf,EAAUQ,aAAaH,EAAYU,SAASZ,EAAcY;AAGhE;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/inputs2/selectfield/index.tsx"],"sourcesContent":["import '../../assets/styles/selectfield.scss';\n\nimport React from 'react';\nimport GridCol from '../../gridlayout';\nimport type { OnDenied } from '../../@types/PermissionAttr';\nimport { actionsOnPermissionDenied } from '../../permissionValidations';\nimport { LeftSlot, RightSlot } from '../slot';\nimport { Options } from './options';\nimport { Item } from './item';\nimport { SelectFieldInputBaseProps, type SelectFieldInputProps } from './types';\nimport { options } from './helpers';\nimport { InputBase } from './base';\nimport { Simple } from './simple';\n\nconst Input = React.forwardRef<HTMLInputElement, SelectFieldInputProps>((\n { onDeniedActions, permissionAttr, gridLayout, disabled, readOnly, ...props },\n ref,\n) => {\n const onDenied: OnDenied = React.useMemo(() => {\n return onDeniedActions || actionsOnPermissionDenied(options, permissionAttr);\n }, [onDeniedActions, permissionAttr]);\n const { hideContent, unvisible } = onDenied;\n const isReadOnly = Boolean(readOnly || onDenied.readOnly);\n const isDisabled = Boolean(disabled || onDenied.disabled);\n const inputProps = { \n readOnly: isReadOnly, disabled: isDisabled, ...props, \n } satisfies SelectFieldInputBaseProps;\n\n if (hideContent || unvisible) return null;\n\n if (gridLayout) {\n return (\n <GridCol cols={gridLayout}>\n <InputBase ref={ref} {...inputProps} />\n </GridCol>\n );\n }\n\n return (\n <InputBase ref={ref} {...inputProps} />\n );\n});\n\nInput.displayName = 'SelectFieldInput';\nexport { Input, Item, Simple, Options, LeftSlot, RightSlot };\nexport type { SelectFieldInputProps };\n"],"names":["Input","React","forwardRef","t0","ref","$","_c","disabled","gridLayout","onDeniedActions","permissionAttr","props","readOnly","t1","actionsOnPermissionDenied","options","onDenied","hideContent","unvisible","isReadOnly","Boolean","isDisabled","t2","inputProps","t3","jsx","InputBase","t4","GridCol","displayName"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,IAAQC,EAAMC,WAAoD,CAAAC,GAAAC,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AAAA,EAAAP,SAAAF,KACtE;AAAA,IAAAM,iBAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAF,YAAAA;AAAAA,IAAAD,UAAAA;AAAAA,IAAAK,UAAAA;AAAAA,IAAA,GAAAD;AAAAA,EAAAA,IAAAR,GAA8EE,OAAAF,GAAAE,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,GAAAN,OAAAO,MAAAL,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA,GAAAM,IAAAN,EAAA,CAAA,GAAAO,IAAAP,EAAA,CAAA;AAAA,MAAAQ;AAAA,EAAAR,EAAA,CAAA,MAAAI,KAAAJ,SAAAK,KAIrEG,IAAAJ,KAAmBK,EAA0BC,GAASL,CAAc,GAACL,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAQ,KAAAA,IAAAR,EAAA,CAAA;AAD9E,QAAAW,IACEH,GAEF;AAAA,IAAAI,aAAAA;AAAAA,IAAAC,WAAAA;AAAAA,EAAAA,IAAmCF,GACnCG,IAAmBC,GAAQR,KAAYI,EAAQJ,WAC/CS,IAAmBD,GAAQb,KAAYS,EAAQT;AAAW,MAAAe;AAAA,EAAAjB,EAAA,EAAA,MAAAgB,KAAAhB,UAAAc,KAAAd,EAAA,EAAA,MAAAM,KACvCW,IAAA;AAAA,IAAAV,UACPO;AAAAA,IAAUZ,UAAYc;AAAAA,IAAU,GAAKV;AAAAA,EAAAA,GAChDN,QAAAgB,GAAAhB,QAAAc,GAAAd,QAAAM,GAAAN,QAAAiB,KAAAA,IAAAjB,EAAA,EAAA;AAFD,QAAAkB,IAAmBD;AAInB,MAAIL,KAAAC;AAAwB,WAAS;AAErC,MAAIV,GAAU;AAAA,QAAAgB;AAAA,IAAAnB,EAAA,EAAA,MAAAkB,KAAAlB,UAAAD,KAGRoB,IAAA,gBAAAC,EAACC,GAAA,EAAetB,KAAAA,GAAG,GAAMmB,EAAAA,CAAU,GAAIlB,QAAAkB,GAAAlB,QAAAD,GAAAC,QAAAmB,KAAAA,IAAAnB,EAAA,EAAA;AAAA,QAAAsB;AAAA,WAAAtB,EAAA,EAAA,MAAAG,KAAAH,UAAAmB,KADzCG,IAAA,gBAAAF,EAACG,GAAA,EAAcpB,MAAAA,GACbgB,UAAAA,GACF,GAAUnB,QAAAG,GAAAH,QAAAmB,GAAAnB,QAAAsB,KAAAA,IAAAtB,EAAA,EAAA,GAFVsB;AAAAA,EAEU;AAEb,MAAAH;AAAA,SAAAnB,EAAA,EAAA,MAAAkB,KAAAlB,UAAAD,KAGCoB,IAAA,gBAAAC,EAACC,GAAA,EAAetB,KAAAA,GAAG,GAAMmB,EAAAA,CAAU,GAAIlB,QAAAkB,GAAAlB,QAAAD,GAAAC,QAAAmB,KAAAA,IAAAnB,EAAA,EAAA,GAAvCmB;AAAuC,CAE1C;AAEDxB,EAAM6B,cAAc;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/inputs2/selectfield/index.tsx"],"sourcesContent":["import '../../assets/styles/selectfield.scss';\n\nimport React from 'react';\nimport GridCol from '../../gridlayout';\nimport type { OnDenied } from '../../@types/PermissionAttr';\nimport { actionsOnPermissionDenied } from '../../permissionValidations';\nimport { LeftSlot, RightSlot } from '../slot';\nimport { Options } from './options';\nimport { Item } from './item';\nimport { SelectFieldInputBaseProps, type SelectFieldInputProps } from './types';\nimport { options } from './helpers';\nimport { InputBase } from './base';\nimport { Simple } from './simple';\n\nconst Input = React.forwardRef<HTMLInputElement, SelectFieldInputProps>((\n { onDeniedActions, permissionAttr, gridLayout, disabled, readOnly, ...props },\n ref,\n) => {\n const onDenied: OnDenied = React.useMemo(() => {\n return onDeniedActions || actionsOnPermissionDenied(options, permissionAttr);\n }, [onDeniedActions, permissionAttr]);\n const { hideContent, unvisible } = onDenied;\n const isReadOnly = Boolean(readOnly || onDenied.readOnly);\n const isDisabled = Boolean(disabled || onDenied.disabled);\n const inputProps = {\n readOnly: isReadOnly, disabled: isDisabled, ...props,\n } satisfies SelectFieldInputBaseProps;\n\n if (hideContent || unvisible) return null;\n\n if (gridLayout) {\n return (\n <GridCol cols={gridLayout}>\n <InputBase ref={ref} {...inputProps} />\n </GridCol>\n );\n }\n\n return (\n <InputBase ref={ref} {...inputProps} />\n );\n});\n\nInput.displayName = 'SelectFieldInput';\nexport { Input, Item, Simple, Options, LeftSlot, RightSlot };\nexport type { SelectFieldInputProps };\n"],"names":["Input","React","forwardRef","t0","ref","$","_c","disabled","gridLayout","onDeniedActions","permissionAttr","props","readOnly","t1","actionsOnPermissionDenied","options","onDenied","hideContent","unvisible","isReadOnly","Boolean","isDisabled","t2","inputProps","t3","jsx","InputBase","t4","GridCol","displayName"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,IAAQC,EAAMC,WAAoD,CAAAC,GAAAC,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA;AAAA,MAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC;AAAA,EAAAP,SAAAF,KACtE;AAAA,IAAAM,iBAAAA;AAAAA,IAAAC,gBAAAA;AAAAA,IAAAF,YAAAA;AAAAA,IAAAD,UAAAA;AAAAA,IAAAK,UAAAA;AAAAA,IAAA,GAAAD;AAAAA,EAAAA,IAAAR,GAA6EE,OAAAF,GAAAE,OAAAE,GAAAF,OAAAG,GAAAH,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,GAAAN,OAAAO,MAAAL,IAAAF,EAAA,CAAA,GAAAG,IAAAH,EAAA,CAAA,GAAAI,IAAAJ,EAAA,CAAA,GAAAK,IAAAL,EAAA,CAAA,GAAAM,IAAAN,EAAA,CAAA,GAAAO,IAAAP,EAAA,CAAA;AAAA,MAAAQ;AAAA,EAAAR,EAAA,CAAA,MAAAI,KAAAJ,SAAAK,KAIpEG,IAAAJ,KAAmBK,EAA0BC,GAASL,CAAc,GAACL,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAQ,KAAAA,IAAAR,EAAA,CAAA;AAD9E,QAAAW,IACEH,GAEF;AAAA,IAAAI,aAAAA;AAAAA,IAAAC,WAAAA;AAAAA,EAAAA,IAAmCF,GACnCG,IAAmBC,GAAQR,KAAYI,EAAQJ,WAC/CS,IAAmBD,GAAQb,KAAYS,EAAQT;AAAW,MAAAe;AAAA,EAAAjB,EAAA,EAAA,MAAAgB,KAAAhB,UAAAc,KAAAd,EAAA,EAAA,MAAAM,KACvCW,IAAA;AAAA,IAAAV,UACPO;AAAAA,IAAUZ,UAAYc;AAAAA,IAAU,GAAKV;AAAAA,EAAAA,GAChDN,QAAAgB,GAAAhB,QAAAc,GAAAd,QAAAM,GAAAN,QAAAiB,KAAAA,IAAAjB,EAAA,EAAA;AAFD,QAAAkB,IAAmBD;AAInB,MAAIL,KAAAC;AAAwB,WAAS;AAErC,MAAIV,GAAU;AAAA,QAAAgB;AAAA,IAAAnB,EAAA,EAAA,MAAAkB,KAAAlB,UAAAD,KAGRoB,IAAA,gBAAAC,EAACC,GAAA,EAAetB,KAAAA,GAAG,GAAMmB,EAAAA,CAAU,GAAIlB,QAAAkB,GAAAlB,QAAAD,GAAAC,QAAAmB,KAAAA,IAAAnB,EAAA,EAAA;AAAA,QAAAsB;AAAA,WAAAtB,EAAA,EAAA,MAAAG,KAAAH,UAAAmB,KADzCG,IAAA,gBAAAF,EAACG,GAAA,EAAcpB,MAAAA,GACbgB,UAAAA,GACF,GAAUnB,QAAAG,GAAAH,QAAAmB,GAAAnB,QAAAsB,KAAAA,IAAAtB,EAAA,EAAA,GAFVsB;AAAAA,EAEU;AAEb,MAAAH;AAAA,SAAAnB,EAAA,EAAA,MAAAkB,KAAAlB,UAAAD,KAGCoB,IAAA,gBAAAC,EAACC,GAAA,EAAetB,KAAAA,GAAG,GAAMmB,EAAAA,CAAU,GAAIlB,QAAAkB,GAAAlB,QAAAD,GAAAC,QAAAmB,KAAAA,IAAAnB,EAAA,EAAA,GAAvCmB;AAAuC,CAE1C;AAEDxB,EAAM6B,cAAc;"}
@@ -1,4 +1,4 @@
1
- import { jsxs as p, jsx as f } from "react/jsx-runtime";
1
+ import { jsxs as f, jsx as p } from "react/jsx-runtime";
2
2
  import h from "../../_virtual/lodash.js";
3
3
  import { forwardRef as D, useState as w, useRef as N, useEffect as O } from "react";
4
4
  import { Search as W } from "./search.js";
@@ -7,22 +7,22 @@ const r = 406, k = D((x, v) => {
7
7
  const {
8
8
  children: E,
9
9
  dropdownMaxWidth: d,
10
- ...b
10
+ ...y
11
11
  } = x, {
12
- listBoxOpen: i,
13
- valueSelect: y,
14
- selectFieldId: S,
15
- selectContainerRef: a,
16
- notFoundFilterLabel: c,
12
+ listBoxOpen: n,
13
+ valueSelect: S,
14
+ selectFieldId: b,
15
+ selectContainerRef: c,
16
+ notFoundFilterLabel: a,
17
17
  searchOnDropdown: B,
18
18
  isMultipleWithCheckboxes: L
19
- } = j(), [I, g] = w({}), [F, R] = w(!1), n = N(null), C = B || L;
19
+ } = j(), [I, g] = w({}), [F, R] = w(!1), i = N(null), C = B || L;
20
20
  return requestAnimationFrame(() => {
21
- const e = n.current?.childNodes, s = n.current?.querySelectorAll('li[data-state-filtered="true"]') ?? [], t = !h.isEmpty(e) && h.isEmpty(s);
21
+ const e = i.current?.childNodes, s = i.current?.querySelectorAll('li[data-state-filtered="true"]') ?? [], t = !h.isEmpty(e) && h.isEmpty(s);
22
22
  R(t);
23
23
  }), O(() => {
24
24
  const e = () => {
25
- const s = a.current?.getBoundingClientRect();
25
+ const s = c.current?.getBoundingClientRect();
26
26
  if (s) {
27
27
  const {
28
28
  top: t,
@@ -31,25 +31,24 @@ const r = 406, k = D((x, v) => {
31
31
  height: u
32
32
  } = s, l = window.innerHeight - (t + u), m = t, A = l < r && m > l, o = {
33
33
  left: H + window.scrollX,
34
- position: "absolute",
35
34
  minWidth: d ?? M
36
35
  };
37
36
  A ? (o.bottom = window.innerHeight - t - window.scrollY, o.maxHeight = Math.min(r, m)) : (o.top = t + u + window.scrollY, o.maxHeight = Math.min(r, l)), g(o);
38
37
  }
39
38
  };
40
- return i && (e(), window.addEventListener("resize", e), window.addEventListener("scroll", e, !0)), () => {
39
+ return n && (e(), window.addEventListener("resize", e), window.addEventListener("scroll", e, !0)), () => {
41
40
  window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
42
41
  };
43
- }, [i, y, a]), /* @__PURE__ */ p("div", { ref: v, style: I, "aria-expanded": i, className: "select-field-listbox", "data-testid": "test-select-field-listbox", "data-dropdown-max-width": d, ...b, children: [
44
- C && /* @__PURE__ */ f(W, {}),
45
- /* @__PURE__ */ p("ul", { id: S, role: "listbox", ref: n, children: [
42
+ }, [n, S, c]), /* @__PURE__ */ f("div", { ref: v, style: I, "aria-expanded": n, className: "select-field-listbox", "data-testid": "test-select-field-listbox", "data-dropdown-max-width": d, ...y, children: [
43
+ C && /* @__PURE__ */ p(W, {}),
44
+ /* @__PURE__ */ f("ul", { id: b, role: "listbox", ref: i, children: [
46
45
  E,
47
- F && /* @__PURE__ */ f(
46
+ F && /* @__PURE__ */ p(
48
47
  "li",
49
48
  {
50
49
  tabIndex: -1,
51
50
  "aria-disabled": !0,
52
- "aria-label": c,
51
+ "aria-label": a,
53
52
  role: "option",
54
53
  id: "not-found-values",
55
54
  className: "not-found-values",
@@ -59,7 +58,7 @@ const r = 406, k = D((x, v) => {
59
58
  onMouseDown: (e) => {
60
59
  e.preventDefault();
61
60
  },
62
- children: c
61
+ children: a
63
62
  },
64
63
  "not-found-values"
65
64
  )
@@ -1 +1 @@
1
- {"version":3,"file":"listbox.js","sources":["../../../src/lib/inputs2/selectfield/listbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { ComponentProps, CSSProperties, forwardRef, useEffect, useRef, useState } from 'react';\nimport { Search } from './search';\nimport { useSelectFieldContext } from './context';\n\ninterface SelectFieldListBoxProps extends ComponentProps<'div'> {\n dropdownMaxWidth?: number;\n}\n\nconst MAX_HEIGHT = ((27 * 15) + 1); // 27px de height do list item * 15 itens máximos na exibição + 1px de borda listbox.\nconst ListBox = forwardRef<HTMLDivElement, SelectFieldListBoxProps>((props, ref) => {\n const { children, dropdownMaxWidth, ...rest } = props;\n const {\n listBoxOpen, valueSelect, selectFieldId, selectContainerRef, notFoundFilterLabel,\n searchOnDropdown, isMultipleWithCheckboxes,\n } = useSelectFieldContext();\n\n const [listBoxStyles, setListBoxStyles] = useState<CSSProperties>({});\n const [filterResultIsEmpty, setFilterResultIsEmpty] = useState(false);\n const listBoxRef = useRef<HTMLUListElement>(null);\n const shouldBeShowSearchInput = searchOnDropdown || isMultipleWithCheckboxes;\n\n requestAnimationFrame(() => {\n const hasChildrenElementsInUL = (listBoxRef.current?.childNodes);\n const liElementsFiltered = (listBoxRef.current?.querySelectorAll(\n 'li[data-state-filtered=\"true\"]',\n ) ?? []) as HTMLLIElement[];\n const filterIsEmpty = !_.isEmpty(hasChildrenElementsInUL) && _.isEmpty(liElementsFiltered);\n setFilterResultIsEmpty(filterIsEmpty);\n });\n\n useEffect(() => {\n const updatePosition = () => {\n const selectPositionOnScreen = selectContainerRef.current?.getBoundingClientRect();\n if (selectPositionOnScreen) {\n const { top, left, width, height } = selectPositionOnScreen;\n const spaceBelow = window.innerHeight - (top + height);\n const spaceAbove = top;\n const shouldOpenUp = spaceBelow < MAX_HEIGHT && spaceAbove > spaceBelow;\n\n const styles: CSSProperties = {\n left: left + window.scrollX,\n position: 'absolute',\n minWidth: dropdownMaxWidth ?? width,\n };\n\n if (shouldOpenUp) {\n styles.bottom = window.innerHeight - top - window.scrollY;\n styles.maxHeight = Math.min(MAX_HEIGHT, spaceAbove);\n } else {\n styles.top = top + height + window.scrollY;\n styles.maxHeight = Math.min(MAX_HEIGHT, spaceBelow);\n }\n\n setListBoxStyles(styles);\n }\n };\n\n if (listBoxOpen) {\n updatePosition();\n window.addEventListener('resize', updatePosition);\n window.addEventListener('scroll', updatePosition, true);\n }\n\n return () => {\n window.removeEventListener('resize', updatePosition);\n window.removeEventListener('scroll', updatePosition, true);\n };\n }, [listBoxOpen, valueSelect, selectContainerRef]);\n\n return (\n <div\n ref={ref}\n style={listBoxStyles}\n aria-expanded={listBoxOpen}\n className=\"select-field-listbox\"\n data-testid=\"test-select-field-listbox\"\n data-dropdown-max-width={dropdownMaxWidth}\n {...rest}>\n {shouldBeShowSearchInput && (<Search />)}\n <ul\n id={selectFieldId}\n role=\"listbox\"\n ref={listBoxRef}>\n {children}\n {filterResultIsEmpty && (\n <li\n tabIndex={-1}\n aria-disabled={true}\n aria-label={notFoundFilterLabel}\n key=\"not-found-values\"\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props\n role=\"option\"\n id=\"not-found-values\"\n className=\"not-found-values\"\n onClick={(event) => { event.preventDefault(); }}\n onMouseDown={(event) => { event.preventDefault(); }}>\n {notFoundFilterLabel}\n </li>\n )}\n </ul>\n </div>\n );\n});\n\nListBox.displayName = 'SelectListBox';\nexport { ListBox };\nexport type { SelectFieldListBoxProps };\n"],"names":["MAX_HEIGHT","ListBox","forwardRef","props","ref","children","dropdownMaxWidth","rest","listBoxOpen","valueSelect","selectFieldId","selectContainerRef","notFoundFilterLabel","searchOnDropdown","isMultipleWithCheckboxes","useSelectFieldContext","listBoxStyles","setListBoxStyles","useState","filterResultIsEmpty","setFilterResultIsEmpty","listBoxRef","useRef","shouldBeShowSearchInput","requestAnimationFrame","hasChildrenElementsInUL","current","childNodes","liElementsFiltered","querySelectorAll","filterIsEmpty","_","isEmpty","useEffect","updatePosition","selectPositionOnScreen","getBoundingClientRect","top","left","width","height","spaceBelow","window","innerHeight","spaceAbove","shouldOpenUp","styles","scrollX","position","minWidth","bottom","scrollY","maxHeight","Math","min","addEventListener","removeEventListener","jsxs","Search","jsx","event","preventDefault","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"listbox.js","sources":["../../../src/lib/inputs2/selectfield/listbox.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { ComponentProps, CSSProperties, forwardRef, useEffect, useRef, useState } from 'react';\nimport { Search } from './search';\nimport { useSelectFieldContext } from './context';\n\ninterface SelectFieldListBoxProps extends ComponentProps<'div'> {\n dropdownMaxWidth?: number;\n}\n\nconst MAX_HEIGHT = ((27 * 15) + 1); // 27px de height do list item * 15 itens máximos na exibição + 1px de borda listbox.\nconst ListBox = forwardRef<HTMLDivElement, SelectFieldListBoxProps>((props, ref) => {\n const { children, dropdownMaxWidth, ...rest } = props;\n const {\n listBoxOpen, valueSelect, selectFieldId, selectContainerRef, notFoundFilterLabel,\n searchOnDropdown, isMultipleWithCheckboxes,\n } = useSelectFieldContext();\n\n const [listBoxStyles, setListBoxStyles] = useState<CSSProperties>({});\n const [filterResultIsEmpty, setFilterResultIsEmpty] = useState(false);\n const listBoxRef = useRef<HTMLUListElement>(null);\n const shouldBeShowSearchInput = searchOnDropdown || isMultipleWithCheckboxes;\n\n requestAnimationFrame(() => {\n const hasChildrenElementsInUL = (listBoxRef.current?.childNodes);\n const liElementsFiltered = (listBoxRef.current?.querySelectorAll(\n 'li[data-state-filtered=\"true\"]',\n ) ?? []) as HTMLLIElement[];\n const filterIsEmpty = !_.isEmpty(hasChildrenElementsInUL) && _.isEmpty(liElementsFiltered);\n setFilterResultIsEmpty(filterIsEmpty);\n });\n\n useEffect(() => {\n const updatePosition = () => {\n const selectPositionOnScreen = selectContainerRef.current?.getBoundingClientRect();\n if (selectPositionOnScreen) {\n const { top, left, width, height } = selectPositionOnScreen;\n const spaceBelow = window.innerHeight - (top + height);\n const spaceAbove = top;\n const shouldOpenUp = spaceBelow < MAX_HEIGHT && spaceAbove > spaceBelow;\n\n const styles: CSSProperties = {\n left: left + window.scrollX,\n minWidth: dropdownMaxWidth ?? width,\n };\n\n if (shouldOpenUp) {\n styles.bottom = window.innerHeight - top - window.scrollY;\n styles.maxHeight = Math.min(MAX_HEIGHT, spaceAbove);\n } else {\n styles.top = top + height + window.scrollY;\n styles.maxHeight = Math.min(MAX_HEIGHT, spaceBelow);\n }\n\n setListBoxStyles(styles);\n }\n };\n\n if (listBoxOpen) {\n updatePosition();\n window.addEventListener('resize', updatePosition);\n window.addEventListener('scroll', updatePosition, true);\n }\n\n return () => {\n window.removeEventListener('resize', updatePosition);\n window.removeEventListener('scroll', updatePosition, true);\n };\n }, [listBoxOpen, valueSelect, selectContainerRef]);\n\n return (\n <div\n ref={ref}\n style={listBoxStyles}\n aria-expanded={listBoxOpen}\n className=\"select-field-listbox\"\n data-testid=\"test-select-field-listbox\"\n data-dropdown-max-width={dropdownMaxWidth}\n {...rest}>\n {shouldBeShowSearchInput && (<Search />)}\n <ul\n id={selectFieldId}\n role=\"listbox\"\n ref={listBoxRef}>\n {children}\n {filterResultIsEmpty && (\n <li\n tabIndex={-1}\n aria-disabled={true}\n aria-label={notFoundFilterLabel}\n key=\"not-found-values\"\n // eslint-disable-next-line jsx-a11y/role-has-required-aria-props\n role=\"option\"\n id=\"not-found-values\"\n className=\"not-found-values\"\n onClick={(event) => { event.preventDefault(); }}\n onMouseDown={(event) => { event.preventDefault(); }}>\n {notFoundFilterLabel}\n </li>\n )}\n </ul>\n </div>\n );\n});\n\nListBox.displayName = 'SelectListBox';\nexport { ListBox };\nexport type { SelectFieldListBoxProps };\n"],"names":["MAX_HEIGHT","ListBox","forwardRef","props","ref","children","dropdownMaxWidth","rest","listBoxOpen","valueSelect","selectFieldId","selectContainerRef","notFoundFilterLabel","searchOnDropdown","isMultipleWithCheckboxes","useSelectFieldContext","listBoxStyles","setListBoxStyles","useState","filterResultIsEmpty","setFilterResultIsEmpty","listBoxRef","useRef","shouldBeShowSearchInput","requestAnimationFrame","hasChildrenElementsInUL","current","childNodes","liElementsFiltered","querySelectorAll","filterIsEmpty","_","isEmpty","useEffect","updatePosition","selectPositionOnScreen","getBoundingClientRect","top","left","width","height","spaceBelow","window","innerHeight","spaceAbove","shouldOpenUp","styles","scrollX","minWidth","bottom","scrollY","maxHeight","Math","min","addEventListener","removeEventListener","jsxs","Search","jsx","event","preventDefault","displayName"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ComponentProps } from 'react';
2
2
  interface SelectFieldSelectionsProps extends ComponentProps<'div'> {
3
- isDisabled: boolean;
3
+ disabled: boolean;
4
4
  isReadOnly: boolean;
5
5
  listOfOptionsToSelect: Map<string, string>;
6
6
  }
@@ -3,11 +3,11 @@ import { c as y } from "../../_virtual/compiler-runtime.js";
3
3
  import { forwardRef as x } from "react";
4
4
  import I from "../../icons/index.js";
5
5
  import { useSelectFieldContext as R } from "./context.js";
6
- const D = (c) => {
6
+ const N = (c) => {
7
7
  const t = y.c(22);
8
8
  let e, l, s, a, i, n;
9
9
  t[0] !== c ? ({
10
- isDisabled: e,
10
+ disabled: e,
11
11
  isReadOnly: l,
12
12
  value: n,
13
13
  label: s,
@@ -19,17 +19,17 @@ const D = (c) => {
19
19
  let r;
20
20
  t[9] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ b(I, { name: "cancel2" }), t[9] = r) : r = t[9];
21
21
  let m;
22
- t[10] !== e || t[11] !== l || t[12] !== a ? (m = /* @__PURE__ */ b("button", { type: "button", disabled: e, "data-state-read-only": l, tabIndex: -1, className: "remove", title: "Remover", onClick: a, onMouseDown: O, children: r }), t[10] = e, t[11] = l, t[12] = a, t[13] = m) : m = t[13];
22
+ t[10] !== e || t[11] !== l || t[12] !== a ? (m = /* @__PURE__ */ b("button", { type: "button", disabled: e, "data-state-read-only": l, tabIndex: -1, className: "remove", title: "Remover", onClick: a, onMouseDown: g, children: r }), t[10] = e, t[11] = l, t[12] = a, t[13] = m) : m = t[13];
23
23
  let d;
24
24
  return t[14] !== e || t[15] !== l || t[16] !== s || t[17] !== i || t[18] !== o || t[19] !== m || t[20] !== n ? (d = /* @__PURE__ */ v("span", { id: n, title: s, className: "selected", "data-state-disabled": e, "data-state-read-only": l, ...i, children: [
25
25
  o,
26
26
  m
27
27
  ] }), t[14] = e, t[15] = l, t[16] = s, t[17] = i, t[18] = o, t[19] = m, t[20] = n, t[21] = d) : d = t[21], d;
28
- }, N = x((c, t) => {
28
+ }, O = x((c, t) => {
29
29
  const e = y.c(20);
30
30
  let l, s, a, i;
31
31
  e[0] !== c ? ({
32
- isDisabled: l,
32
+ disabled: l,
33
33
  isReadOnly: s,
34
34
  listOfOptionsToSelect: a,
35
35
  ...i
@@ -47,20 +47,20 @@ const D = (c) => {
47
47
  if (!m)
48
48
  return null;
49
49
  let f;
50
- e[7] !== h || e[8] !== l || e[9] !== s || e[10] !== a || e[11] !== n ? (f = [...n].map((u) => {
50
+ e[7] !== l || e[8] !== h || e[9] !== s || e[10] !== a || e[11] !== n ? (f = [...n].map((u) => {
51
51
  const p = a.get(u);
52
- return /* @__PURE__ */ b(D, { value: u, label: p, isDisabled: l, isReadOnly: s, removeItemSelected: () => {
52
+ return /* @__PURE__ */ b(N, { value: u, label: p, disabled: l, isReadOnly: s, removeItemSelected: () => {
53
53
  h(u, p);
54
54
  } }, u);
55
- }), e[7] = h, e[8] = l, e[9] = s, e[10] = a, e[11] = n, e[12] = f) : f = e[12];
55
+ }), e[7] = l, e[8] = h, e[9] = s, e[10] = a, e[11] = n, e[12] = f) : f = e[12];
56
56
  let S;
57
57
  return e[13] !== l || e[14] !== o || e[15] !== s || e[16] !== t || e[17] !== i || e[18] !== f ? (S = /* @__PURE__ */ b("div", { ref: t, className: "selections", "data-testid": "test-select-field-input-selections", "aria-disabled": l, "aria-readonly": s, "data-state-multiple-selections": o, ...i, children: f }), e[13] = l, e[14] = o, e[15] = s, e[16] = t, e[17] = i, e[18] = f, e[19] = S) : S = e[19], S;
58
58
  });
59
- N.displayName = "SelectFieldSelections";
60
- function O(c) {
59
+ O.displayName = "SelectFieldSelections";
60
+ function g(c) {
61
61
  c.preventDefault();
62
62
  }
63
63
  export {
64
- N as Selections
64
+ O as Selections
65
65
  };
66
66
  //# sourceMappingURL=selections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selections.js","sources":["../../../src/lib/inputs2/selectfield/selections.tsx"],"sourcesContent":["import { ComponentProps, forwardRef } from 'react';\nimport Icon from '../../icons';\nimport { useSelectFieldContext } from './context';\n\ninterface SelectFieldItemSelectedProps extends ComponentProps<'span'> {\n isDisabled: boolean;\n isReadOnly: boolean;\n value?: any;\n label?: string;\n removeItemSelected: () => void;\n}\n\nconst ItemSelected = (props: SelectFieldItemSelectedProps) => {\n const { isDisabled, isReadOnly, value, label, removeItemSelected, ...rest } = props;\n\n return (\n <span\n id={value}\n title={label}\n className=\"selected\"\n data-state-disabled={isDisabled}\n data-state-read-only={isReadOnly}\n {...rest}>\n <p className=\"label\">{label}</p>\n <button\n type=\"button\"\n disabled={isDisabled}\n data-state-read-only={isReadOnly}\n tabIndex={-1}\n className=\"remove\"\n title=\"Remover\"\n onClick={removeItemSelected}\n onMouseDown={(event) => { event.preventDefault(); }}>\n <Icon name=\"cancel2\" />\n </button>\n </span>\n );\n};\n\ninterface SelectFieldSelectionsProps extends ComponentProps<'div'> {\n isDisabled: boolean;\n isReadOnly: boolean;\n listOfOptionsToSelect: Map<string, string>;\n}\n\nconst Selections = forwardRef<HTMLDivElement, SelectFieldSelectionsProps>((props, ref) => {\n const { isDisabled, isReadOnly, listOfOptionsToSelect, ...rest } = props;\n const { valueSelect, isMultipleDefault, handleOnChange } = useSelectFieldContext();\n const hasValuesSelected = Boolean([...valueSelect]?.length);\n\n const handleRemoveItemSelected = (value: any, label: string) => {\n handleOnChange?.(value, label, true);\n };\n\n if (!hasValuesSelected) return null;\n return (\n <div\n ref={ref}\n className=\"selections\"\n data-testid=\"test-select-field-input-selections\"\n aria-disabled={isDisabled}\n aria-readonly={isReadOnly}\n data-state-multiple-selections={isMultipleDefault}\n {...rest}>\n {[...valueSelect].map((value) => {\n const label = listOfOptionsToSelect.get(value)!;\n return (\n <ItemSelected\n key={value}\n value={value}\n label={label}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n removeItemSelected={() => { handleRemoveItemSelected(value, label); }} />\n );\n })}\n </div>\n );\n});\n\nSelections.displayName = 'SelectFieldSelections';\nexport { Selections };\nexport type { SelectFieldSelectionsProps };\n"],"names":["ItemSelected","props","$","_c","isDisabled","isReadOnly","label","removeItemSelected","rest","value","t0","jsx","t1","Symbol","for","Icon","t2","_temp","t3","jsxs","Selections","forwardRef","ref","listOfOptionsToSelect","valueSelect","isMultipleDefault","handleOnChange","useSelectFieldContext","hasValuesSelected","Boolean","length","handleRemoveItemSelected","map","value_0","label_0","get","displayName","event","preventDefault"],"mappings":"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"}
1
+ {"version":3,"file":"selections.js","sources":["../../../src/lib/inputs2/selectfield/selections.tsx"],"sourcesContent":["import { ComponentProps, forwardRef } from 'react';\nimport Icon from '../../icons';\nimport { useSelectFieldContext } from './context';\n\ninterface SelectFieldItemSelectedProps extends ComponentProps<'span'> {\n disabled: boolean;\n isReadOnly: boolean;\n value?: any;\n label?: string;\n removeItemSelected: () => void;\n}\n\nconst ItemSelected = (props: SelectFieldItemSelectedProps) => {\n const { disabled, isReadOnly, value, label, removeItemSelected, ...rest } = props;\n\n return (\n <span\n id={value}\n title={label}\n className=\"selected\"\n data-state-disabled={disabled}\n data-state-read-only={isReadOnly}\n {...rest}>\n <p className=\"label\">{label}</p>\n <button\n type=\"button\"\n disabled={disabled}\n data-state-read-only={isReadOnly}\n tabIndex={-1}\n className=\"remove\"\n title=\"Remover\"\n onClick={removeItemSelected}\n onMouseDown={(event) => { event.preventDefault(); }}>\n <Icon name=\"cancel2\" />\n </button>\n </span>\n );\n};\n\ninterface SelectFieldSelectionsProps extends ComponentProps<'div'> {\n disabled: boolean;\n isReadOnly: boolean;\n listOfOptionsToSelect: Map<string, string>;\n}\n\nconst Selections = forwardRef<HTMLDivElement, SelectFieldSelectionsProps>((props, ref) => {\n const { disabled, isReadOnly, listOfOptionsToSelect, ...rest } = props;\n const { valueSelect, isMultipleDefault, handleOnChange } = useSelectFieldContext();\n const hasValuesSelected = Boolean([...valueSelect]?.length);\n\n const handleRemoveItemSelected = (value: any, label: string) => {\n handleOnChange?.(value, label, true);\n };\n\n if (!hasValuesSelected) return null;\n return (\n <div\n ref={ref}\n className=\"selections\"\n data-testid=\"test-select-field-input-selections\"\n aria-disabled={disabled}\n aria-readonly={isReadOnly}\n data-state-multiple-selections={isMultipleDefault}\n {...rest}>\n {[...valueSelect].map((value) => {\n const label = listOfOptionsToSelect.get(value)!;\n return (\n <ItemSelected\n key={value}\n value={value}\n label={label}\n disabled={disabled}\n isReadOnly={isReadOnly}\n removeItemSelected={() => { handleRemoveItemSelected(value, label); }} />\n );\n })}\n </div>\n );\n});\n\nSelections.displayName = 'SelectFieldSelections';\nexport { Selections };\nexport type { SelectFieldSelectionsProps };\n"],"names":["ItemSelected","props","$","_c","disabled","isReadOnly","label","removeItemSelected","rest","value","t0","jsx","t1","Symbol","for","Icon","t2","_temp","t3","jsxs","Selections","forwardRef","ref","listOfOptionsToSelect","valueSelect","isMultipleDefault","handleOnChange","useSelectFieldContext","hasValuesSelected","Boolean","length","handleRemoveItemSelected","map","value_0","label_0","get","displayName","event","preventDefault"],"mappings":"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"}