linear-react-components-ui 1.1.26-beta.24 → 1.1.26-beta.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"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} 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 } 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 requestAnimationFrame(() => {\n if (isMultipleWithCheckboxes) {\n selectSearchInputRef.current?.focus?.();\n }\n });\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 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 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 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 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 }\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","$","_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","SELECT_FIELD_CONTROLS_ID","useId","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} 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 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 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","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":"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"}
@@ -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":";;;;;AASA,MAAMA,IAAe,KACfC,IAAUC,EAAoD,CAACC,GAAOC,MAAQ;AAClF,QAAM;AAAA,IAAEC,UAAAA;AAAAA,IAAUC,kBAAAA;AAAAA,IAAkB,GAAGC;AAAAA,EAAAA,IAASJ,GAC1C;AAAA,IACJK,aAAAA;AAAAA,IAAaC,aAAAA;AAAAA,IAAaC,eAAAA;AAAAA,IAAeC,oBAAAA;AAAAA,IAAoBC,qBAAAA;AAAAA,IAC7DC,kBAAAA;AAAAA,IAAkBC,0BAAAA;AAAAA,EAAAA,IAChBC,EAAAA,GAEE,CAACC,GAAeC,CAAgB,IAAIC,EAAwB,CAAA,CAAE,GAC9D,CAACC,GAAqBC,CAAsB,IAAIF,EAAS,EAAK,GAC9DG,IAAaC,EAAyB,IAAI,GAC1CC,IAA0BV,KAAoBC;AAEpDU,+BAAsB,MAAM;AAC1B,UAAMC,IAA2BJ,EAAWK,SAASC,YAC/CC,IAAsBP,EAAWK,SAASG,iBAC9C,gCACF,KAAK,CAAA,GACCC,IAAgB,CAACC,EAAEC,QAAQP,CAAuB,KAAKM,EAAEC,QAAQJ,CAAkB;AACzFR,IAAAA,EAAuBU,CAAa;AAAA,EACtC,CAAC,GAEDG,EAAU,MAAM;AACd,UAAMC,IAAiBA,MAAM;AAC3B,YAAMC,IAAyBxB,EAAmBe,SAASU,sBAAAA;AAC3D,UAAID,GAAwB;AAC1B,cAAM;AAAA,UAAEE,KAAAA;AAAAA,UAAKC,MAAAA;AAAAA,UAAMC,OAAAA;AAAAA,UAAOC,QAAAA;AAAAA,QAAAA,IAAWL,GAC/BM,IAAaC,OAAOC,eAAeN,IAAMG,IACzCI,IAAaP,GACbQ,IAAeJ,IAAazC,KAAc4C,IAAaH,GAEvDK,IAAwB;AAAA,UAC5BR,MAAMA,IAAOI,OAAOK;AAAAA,UACpBC,UAAU1C,KAAoBiC;AAAAA,QAAAA;AAGhC,QAAIM,KACFC,EAAOG,SAASP,OAAOC,cAAcN,IAAMK,OAAOQ,SAClDJ,EAAOK,YAAYC,KAAKC,IAAIrD,GAAY4C,CAAU,MAElDE,EAAOT,MAAMA,IAAMG,IAASE,OAAOQ,SACnCJ,EAAOK,YAAYC,KAAKC,IAAIrD,GAAYyC,CAAU,IAGpDxB,EAAiB6B,CAAM;AAAA,MACzB;AAAA,IACF;AAEA,WAAItC,MACF0B,EAAAA,GACAQ,OAAOY,iBAAiB,UAAUpB,CAAc,GAChDQ,OAAOY,iBAAiB,UAAUpB,GAAgB,EAAI,IAGjD,MAAM;AACXQ,aAAOa,oBAAoB,UAAUrB,CAAc,GACnDQ,OAAOa,oBAAoB,UAAUrB,GAAgB,EAAI;AAAA,IAC3D;AAAA,EACF,GAAG,CAAC1B,GAAaC,GAAaE,CAAkB,CAAC,GAG/C,gBAAA6C,EAAC,OAAA,EACC,KAAApD,GACA,OAAOY,GACP,iBAAeR,GACf,WAAU,wBACV,eAAY,6BACZ,2BAAyBF,GACzB,GAAIC,GACHgB,UAAAA;AAAAA,IAAAA,uBAA6BkC,GAAA,EAAM;AAAA,sBACnC,MAAA,EACC,IAAI/C,GACJ,MAAK,WACL,KAAKW,GACJhB,UAAAA;AAAAA,MAAAA;AAAAA,MACAc,KACC,gBAAAuC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,UAAU;AAAA,UACV,iBAAe;AAAA,UACf,cAAY9C;AAAAA,UAGZ,MAAK;AAAA,UACL,IAAG;AAAA,UACH,WAAU;AAAA,UACV,SAAU+C,CAAAA,MAAU;AAAEA,YAAAA,EAAMC,eAAAA;AAAAA,UAAkB;AAAA,UAC9C,aAAcD,CAAAA,MAAU;AAAEA,YAAAA,EAAMC,eAAAA;AAAAA,UAAkB;AAAA,UACjDhD,UAAAA;AAAAA,QAAAA;AAAAA,QAPG;AAAA,MAAA;AAAA,IAQN,EAAA,CAEJ;AAAA,EAAA,GACF;AAEJ,CAAC;AAEDX,EAAQ4D,cAAc;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-react-components-ui",
3
- "version": "1.1.26-beta.24",
3
+ "version": "1.1.26-beta.25",
4
4
  "description": "Linear Sistemas ReactJs Components",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",