linear-react-components-ui 2.2.0-beta.1 → 2.2.0-beta.11

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.
@@ -17,6 +17,7 @@ import { Item } from "./item.js";
17
17
  import { MultipleVariantEnum, Keys } from "./types.js";
18
18
  import { scrollListBoxToElement, isTypingKey, NAVIGATION_KEYS } from "./helpers.js";
19
19
  import PopoverText from "../../popover/PopoverText.js";
20
+ const REMOTE_SEARCH_DEBOUNCE_MS = 300;
20
21
  const InputBase = forwardRef((props, ref) => {
21
22
  const {
22
23
  name,
@@ -33,12 +34,10 @@ const InputBase = forwardRef((props, ref) => {
33
34
  skeletonize = false,
34
35
  striped = false,
35
36
  undigitable = false,
36
- externalSearch = false,
37
37
  openDropdownOnFocus = true,
38
38
  showClearButton = true,
39
39
  textAlign = "left",
40
40
  searchOnDropdown = false,
41
- onSearch = void 0,
42
41
  customClass = "",
43
42
  customClassLabel = "",
44
43
  customClassWrapper = "",
@@ -51,8 +50,7 @@ const InputBase = forwardRef((props, ref) => {
51
50
  dropdownMaxWidth = void 0,
52
51
  disabled,
53
52
  readOnly,
54
- onEndReached,
55
- onEndReachedThreshold,
53
+ onRemoteSearch = void 0,
56
54
  ...rest
57
55
  } = props;
58
56
  const SELECT_FIELD_CONTROLS_ID = useId();
@@ -69,6 +67,9 @@ const InputBase = forwardRef((props, ref) => {
69
67
  const selectListBoxRef = useRef(null);
70
68
  const selectContainerRef = useRef(null);
71
69
  const selectSearchInputRef = useRef(null);
70
+ const remoteSearchTimeoutRef = useRef(null);
71
+ const hasFocusRef = useRef(false);
72
+ const hasRemoteSearch = Boolean(onRemoteSearch);
72
73
  const listOptionsMap = useMemo(() => {
73
74
  const optionsMap = /* @__PURE__ */ new Map();
74
75
  Children.forEach(children, (child) => {
@@ -112,9 +113,15 @@ const InputBase = forwardRef((props, ref) => {
112
113
  }, [listBoxOpen]);
113
114
  useEffect(() => {
114
115
  if (props?.value && !isMultipleSelect) setActiveDescendant(props?.value);
115
- if (!isMultipleWithCheckboxes && !props?.value) setInputValue("");
116
- const lazyInputValue = listOptionsMap.get(rest.value);
117
- if (!isMultipleWithCheckboxes) setInputValue(lazyInputValue ?? "");
116
+ const isSearchingRemotely = hasRemoteSearch && (filterValue !== "" || hasFocusRef.current);
117
+ if (!isMultipleWithCheckboxes && !isSearchingRemotely) {
118
+ if (!props?.value) {
119
+ setInputValue("");
120
+ } else {
121
+ const lazyInputValue = listOptionsMap.get(rest.value);
122
+ setInputValue(lazyInputValue ?? "");
123
+ }
124
+ }
118
125
  if (isMultipleWithCheckboxes) {
119
126
  const firstSelectionLabel = listOptionsMap.get(props?.value[0]);
120
127
  switch (_.size(props?.value)) {
@@ -127,6 +134,9 @@ const InputBase = forwardRef((props, ref) => {
127
134
  }
128
135
  }
129
136
  }, [props?.value, listOptionsMap]);
137
+ useEffect(() => () => {
138
+ if (remoteSearchTimeoutRef.current) clearTimeout(remoteSearchTimeoutRef.current);
139
+ }, []);
130
140
  const hasLabel = !_.isEmpty(props?.label);
131
141
  const hasHintMessages = Boolean(props.hint?.length);
132
142
  const hasValidationErrors = Boolean(errors?.length);
@@ -264,6 +274,7 @@ const InputBase = forwardRef((props, ref) => {
264
274
  }
265
275
  };
266
276
  const handleOnBlur = (event) => {
277
+ hasFocusRef.current = false;
267
278
  props?.onBlur?.(event);
268
279
  if (!event.relatedTarget || event.relatedTarget !== selectSearchInputRef.current) {
269
280
  setListBoxOpen(false);
@@ -271,15 +282,24 @@ const InputBase = forwardRef((props, ref) => {
271
282
  setFilterValue("");
272
283
  };
273
284
  const handleOnFocus = (event_0) => {
285
+ hasFocusRef.current = true;
274
286
  props?.onFocus?.(event_0);
275
287
  if (openDropdownOnFocus) {
276
288
  setListBoxOpen(true);
277
289
  handleOpenListBox();
278
290
  }
279
291
  };
292
+ const handleRemoteSearch = (value_3) => {
293
+ if (!onRemoteSearch) return;
294
+ if (remoteSearchTimeoutRef.current) clearTimeout(remoteSearchTimeoutRef.current);
295
+ remoteSearchTimeoutRef.current = setTimeout(() => {
296
+ onRemoteSearch(value_3);
297
+ }, REMOTE_SEARCH_DEBOUNCE_MS);
298
+ };
280
299
  const handleOnChangeInput = (event_1) => {
281
300
  setFilterValue(event_1.target.value);
282
301
  setInputValue(event_1.target.value);
302
+ handleRemoteSearch(event_1.target.value);
283
303
  };
284
304
  const handleOnPaste = (event_2) => {
285
305
  if (undigitable || isMultipleWithCheckboxes) {
@@ -307,11 +327,8 @@ const InputBase = forwardRef((props, ref) => {
307
327
  }
308
328
  };
309
329
  const handleOnSearch = (event_5) => {
310
- if (externalSearch) {
311
- onSearch?.(event_5);
312
- } else {
313
- setFilterValue(event_5.target.value);
314
- }
330
+ setFilterValue(event_5.target.value);
331
+ handleRemoteSearch(event_5.target.value);
315
332
  };
316
333
  const handleOnKeyDown = (event_6) => {
317
334
  props?.onKeyDown?.(event_6);
@@ -329,7 +346,7 @@ const InputBase = forwardRef((props, ref) => {
329
346
  const ulListElement = selectListBoxRef.current?.querySelector('ul[role="listbox"]');
330
347
  const liElementsFiltered = ulListElement?.querySelectorAll('li[data-state-filtered="true"]') ?? [];
331
348
  if (!listBoxOpen && event_6.key === Keys.arrowDown) {
332
- const currentValue_1 = !isMultipleSelect ? props?.value : _.orderBy([...props.value], (value_3) => _.toNumber(value_3), ["asc"])[0];
349
+ const currentValue_1 = !isMultipleSelect ? props?.value : _.orderBy([...props.value], (value_4) => _.toNumber(value_4), ["asc"])[0];
333
350
  setActiveDescendant(_.toString(currentValue_1) ?? void 0);
334
351
  } else {
335
352
  setActiveDescendant(liElementsFiltered[0]?.id ?? void 0);
@@ -414,7 +431,8 @@ const InputBase = forwardRef((props, ref) => {
414
431
  handleClearValue,
415
432
  handleCheckMultiple,
416
433
  handleChangeListBoxState,
417
- optionItens
434
+ optionItens,
435
+ hasRemoteSearch
418
436
  };
419
437
  return /* @__PURE__ */ jsxs(Fragment, { children: [
420
438
  /* @__PURE__ */ jsx(SelectFieldContext.Provider, { value: contextValues, children: /* @__PURE__ */ jsxs("div", { ref: selectFieldRoot, "data-testid": "test-select-field-root", className: `select-field-root ${customClassWrapper}`, "data-state-error": hasValidationErrors, "data-state-hint-position": hintPosition, children: [
@@ -430,7 +448,7 @@ const InputBase = forwardRef((props, ref) => {
430
448
  ] }),
431
449
  hasRightSlotElements && !skeletonize && rightSlotElements,
432
450
  /* @__PURE__ */ jsx("div", { className: "triggers", "data-state-disabled": disabled, "data-state-read-only": readOnly, "data-state-skeletonize": skeletonize, children: /* @__PURE__ */ jsx(Triggers, {}) }),
433
- listBoxOpen && createPortal(/* @__PURE__ */ jsx(ListBox, { ref: selectListBoxRef, dropdownMaxWidth, onEndReached, onEndReachedThreshold, children: childrenItems }), document.body)
451
+ listBoxOpen && createPortal(/* @__PURE__ */ jsx(ListBox, { ref: selectListBoxRef, dropdownMaxWidth, children: childrenItems }), document.body)
434
452
  ] }),
435
453
  hintPosition === "below" && /* @__PURE__ */ jsx(Hint, { customClass: "hint", skeletonize, description: props.hint, disabled, visible: hasHintMessages }),
436
454
  hasValidationErrors && /* @__PURE__ */ jsx("span", { "data-testid": "test-select-field-list-errors", className: "error", "data-state-skeletonize": skeletonize, "aria-describedby": String(name).concat("-errors"), children: errors?.map((error, index_2) => /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -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 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, onEndReached,\n onEndReachedThreshold, ...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 (props?.value && !isMultipleSelect) setActiveDescendant(props?.value);\n if (!isMultipleWithCheckboxes && !props?.value) setInputValue('');\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 onEndReached={onEndReached}\n onEndReachedThreshold={onEndReachedThreshold}>\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","onEndReached","onEndReachedThreshold","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","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","document","activeElement","handleChangeLiSelected","liElement","handleOnChange","inputLabel","addOrRemove","multipleValue","union","without","changedValue","multiValue","syntheticEvent","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","shouldOpenByTyping","isTypingKey","arrowDown","ulListElement","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","required","mergeRefs","placeholder","createPortal","body","concat","error","displayName"],"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\nconst REMOTE_SEARCH_DEBOUNCE_MS = 300;\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,\n openDropdownOnFocus = true, showClearButton = true, textAlign = 'left', searchOnDropdown = false,\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, onRemoteSearch = undefined, ...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 const remoteSearchTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const hasFocusRef = useRef(false);\n const hasRemoteSearch = Boolean(onRemoteSearch);\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=\"${_.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 (props?.value && !isMultipleSelect) setActiveDescendant(props?.value);\n /**\n * Com busca remota, cada tecla digitada dispara uma nova pesquisa que atualiza\n * `children`/`listOptionsMap` de forma assíncrona (debounce). Enquanto o usuário está\n * digitando (ou o input ainda está em foco após limpar o texto) esse resync não deve\n * sobrescrever o que foi digitado com o label do valor selecionado — senão o campo\n * \"salta\" para o valor antigo (ou para vazio) a cada busca, em vez de apagar letra por\n * letra normalmente.\n */\n const isSearchingRemotely = hasRemoteSearch && (filterValue !== '' || hasFocusRef.current);\n if (!isMultipleWithCheckboxes && !isSearchingRemotely) {\n if (!props?.value) {\n setInputValue('');\n } else {\n const lazyInputValue = listOptionsMap.get(rest.value);\n setInputValue(lazyInputValue ?? '');\n }\n }\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 useEffect(() => () => {\n if (remoteSearchTimeoutRef.current) clearTimeout(remoteSearchTimeoutRef.current);\n }, []);\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 hasFocusRef.current = false;\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 hasFocusRef.current = true;\n props?.onFocus?.(event);\n if (openDropdownOnFocus) {\n setListBoxOpen(true);\n handleOpenListBox();\n }\n };\n\n const handleRemoteSearch = (value: string) => {\n if (!onRemoteSearch) return;\n if (remoteSearchTimeoutRef.current) clearTimeout(remoteSearchTimeoutRef.current);\n remoteSearchTimeoutRef.current = setTimeout(() => {\n onRemoteSearch(value);\n }, REMOTE_SEARCH_DEBOUNCE_MS);\n };\n\n const handleOnChangeInput = (event: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(event.target.value);\n setInputValue(event.target.value);\n handleRemoteSearch(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 setFilterValue(event.target.value);\n handleRemoteSearch(event.target.value);\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, hasRemoteSearch,\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":["REMOTE_SEARCH_DEBOUNCE_MS","InputBase","forwardRef","props","ref","name","label","errors","children","onChange","tooltip","tooltipPosition","tooltipWidth","hintPosition","themePopover","popoverAlign","skeletonize","striped","undigitable","openDropdownOnFocus","showClearButton","textAlign","searchOnDropdown","customClass","customClassLabel","customClassWrapper","customClassInputContainer","notFoundFilterLabel","multipleInputLabelEmpty","multipleInputLabelManySelection","searchInputPlaceholder","dropdownAlignButton","dropdownMaxWidth","undefined","disabled","readOnly","onRemoteSearch","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","remoteSearchTimeoutRef","hasFocusRef","hasRemoteSearch","Boolean","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","isSearchingRemotely","lazyInputValue","get","firstSelectionLabel","size","clearTimeout","hasLabel","isEmpty","hasHintMessages","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","document","activeElement","handleChangeLiSelected","liElement","handleOnChange","inputLabel","addOrRemove","multipleValue","union","without","changedValue","multiValue","syntheticEvent","target","handleCheckMultiple","checkOrUncheckAll","checkAll","allValues","__","handleClearValue","resetValue","handleOnBlur","event","onBlur","relatedTarget","handleOnFocus","onFocus","handleRemoteSearch","handleOnChangeInput","handleOnPaste","preventDefault","onPaste","handleOnBeforeInput","onBeforeInput","handleOnMouseDown","onMouseDown","handleOnSearch","handleOnKeyDown","onKeyDown","notUndigitableKeys","Keys","backspace","delete","includes","shouldOpenByTyping","isTypingKey","arrowDown","ulListElement","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","required","mergeRefs","placeholder","createPortal","body","concat","error","displayName"],"mappings":"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"}
@@ -6,6 +6,7 @@ interface SelectFieldContextProps {
6
6
  disabled?: boolean;
7
7
  showClearButton?: boolean;
8
8
  searchOnDropdown?: boolean;
9
+ hasRemoteSearch?: boolean;
9
10
  isMultipleSelect?: boolean;
10
11
  isMultipleDefault?: boolean;
11
12
  isMultipleWithCheckboxes?: 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 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,qBAAqBC,cAAc,CAAA,CAA6B;AAEtE,MAAMC,wBAAwBA,MAAA;AAC5B,QAAAC,UAAgBC,WAAWJ,kBAAkB;AAE7C,MAAIG,YAAYE,QAAS;AACvB,UAAM,IAAIC,MAAM,iEAAiE;AAAA,EAAE;AAAA,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 hasRemoteSearch?: 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":";AAqCA,MAAMA,qBAAqBC,cAAc,CAAA,CAA6B;AAEtE,MAAMC,wBAAwBA,MAAA;AAC5B,QAAAC,UAAgBC,WAAWJ,kBAAkB;AAE7C,MAAIG,YAAYE,QAAS;AACvB,UAAM,IAAIC,MAAM,iEAAiE;AAAA,EAAE;AAAA,SAE9EH;AAAO;"}
@@ -5,7 +5,7 @@ import { forwardRef } from "react";
5
5
  import { Input } from "../checkboxfield/index.js";
6
6
  import { useSelectFieldContext } from "./context.js";
7
7
  const Item = forwardRef((props, ref) => {
8
- const $ = compilerRuntimeExports.c(43);
8
+ const $ = compilerRuntimeExports.c(44);
9
9
  const {
10
10
  disabled,
11
11
  readOnly,
@@ -20,7 +20,8 @@ const Item = forwardRef((props, ref) => {
20
20
  handleChangeLiSelected,
21
21
  isMultipleSelect,
22
22
  isMultipleDefault,
23
- isMultipleWithCheckboxes
23
+ isMultipleWithCheckboxes,
24
+ hasRemoteSearch
24
25
  } = useSelectFieldContext();
25
26
  let t0;
26
27
  if ($[0] !== props.value) {
@@ -45,17 +46,18 @@ const Item = forwardRef((props, ref) => {
45
46
  const ariaSelected = t1;
46
47
  const addOrRemove = !isMultipleSelect ? void 0 : ariaSelected;
47
48
  let t2;
48
- if ($[6] !== filterValue || $[7] !== props.label) {
49
- t2 = String(props.label).toLowerCase().includes(filterValue?.toString().toLowerCase() ?? "");
49
+ if ($[6] !== filterValue || $[7] !== hasRemoteSearch || $[8] !== props.label) {
50
+ t2 = hasRemoteSearch || Boolean(String(props.label).toLowerCase().includes(filterValue?.toString().toLowerCase() ?? ""));
50
51
  $[6] = filterValue;
51
- $[7] = props.label;
52
- $[8] = t2;
52
+ $[7] = hasRemoteSearch;
53
+ $[8] = props.label;
54
+ $[9] = t2;
53
55
  } else {
54
- t2 = $[8];
56
+ t2 = $[9];
55
57
  }
56
- const hasPartOfFilter = Boolean(t2);
58
+ const hasPartOfFilter = t2;
57
59
  let t3;
58
- if ($[9] !== addOrRemove || $[10] !== ariaSelected || $[11] !== handleOnChange || $[12] !== isMultipleDefault || $[13] !== props.label || $[14] !== props.value) {
60
+ if ($[10] !== addOrRemove || $[11] !== ariaSelected || $[12] !== handleOnChange || $[13] !== isMultipleDefault || $[14] !== props.label || $[15] !== props.value) {
59
61
  t3 = (event) => {
60
62
  if (isMultipleDefault && ariaSelected) {
61
63
  event.preventDefault();
@@ -63,19 +65,19 @@ const Item = forwardRef((props, ref) => {
63
65
  handleOnChange?.(props.value, props.label, addOrRemove);
64
66
  }
65
67
  };
66
- $[9] = addOrRemove;
67
- $[10] = ariaSelected;
68
- $[11] = handleOnChange;
69
- $[12] = isMultipleDefault;
70
- $[13] = props.label;
71
- $[14] = props.value;
72
- $[15] = t3;
68
+ $[10] = addOrRemove;
69
+ $[11] = ariaSelected;
70
+ $[12] = handleOnChange;
71
+ $[13] = isMultipleDefault;
72
+ $[14] = props.label;
73
+ $[15] = props.value;
74
+ $[16] = t3;
73
75
  } else {
74
- t3 = $[15];
76
+ t3 = $[16];
75
77
  }
76
78
  const handleOnClickItem = t3;
77
79
  let t4;
78
- if ($[16] !== ariaSelected || $[17] !== handleChangeLiSelected || $[18] !== ref) {
80
+ if ($[17] !== ariaSelected || $[18] !== handleChangeLiSelected || $[19] !== ref) {
79
81
  t4 = (el) => {
80
82
  if (el) {
81
83
  if (ariaSelected) {
@@ -90,52 +92,52 @@ const Item = forwardRef((props, ref) => {
90
92
  }
91
93
  }
92
94
  };
93
- $[16] = ariaSelected;
94
- $[17] = handleChangeLiSelected;
95
- $[18] = ref;
96
- $[19] = t4;
95
+ $[17] = ariaSelected;
96
+ $[18] = handleChangeLiSelected;
97
+ $[19] = ref;
98
+ $[20] = t4;
97
99
  } else {
98
- t4 = $[19];
100
+ t4 = $[20];
99
101
  }
100
102
  const t5 = props.hidden || !hasPartOfFilter;
101
103
  const t6 = props["aria-hidden"] || !hasPartOfFilter;
102
104
  let t7;
103
- if ($[20] !== ariaSelected || $[21] !== disabled || $[22] !== hasFocus || $[23] !== isMultipleWithCheckboxes || $[24] !== props.label || $[25] !== props.value || $[26] !== readOnly) {
105
+ if ($[21] !== ariaSelected || $[22] !== disabled || $[23] !== hasFocus || $[24] !== isMultipleWithCheckboxes || $[25] !== props.label || $[26] !== props.value || $[27] !== readOnly) {
104
106
  t7 = isMultipleWithCheckboxes && /* @__PURE__ */ jsx(Input, { rounded: true, disabled, readOnly, checked: ariaSelected, size: "default", variant: "secondary", "data-state-in-focus-select-field": hasFocus, name: String(props.label).concat("-").concat(props.value) });
105
- $[20] = ariaSelected;
106
- $[21] = disabled;
107
- $[22] = hasFocus;
108
- $[23] = isMultipleWithCheckboxes;
109
- $[24] = props.label;
110
- $[25] = props.value;
111
- $[26] = readOnly;
112
- $[27] = t7;
107
+ $[21] = ariaSelected;
108
+ $[22] = disabled;
109
+ $[23] = hasFocus;
110
+ $[24] = isMultipleWithCheckboxes;
111
+ $[25] = props.label;
112
+ $[26] = props.value;
113
+ $[27] = readOnly;
114
+ $[28] = t7;
113
115
  } else {
114
- t7 = $[27];
116
+ t7 = $[28];
115
117
  }
116
118
  let t8;
117
- if ($[28] !== ariaSelected || $[29] !== children || $[30] !== disabled || $[31] !== handleOnClickItem || $[32] !== hasFocus || $[33] !== hasPartOfFilter || $[34] !== isMultipleDefault || $[35] !== isMultipleWithCheckboxes || $[36] !== props || $[37] !== striped || $[38] !== t4 || $[39] !== t5 || $[40] !== t6 || $[41] !== t7) {
119
+ if ($[29] !== ariaSelected || $[30] !== children || $[31] !== disabled || $[32] !== handleOnClickItem || $[33] !== hasFocus || $[34] !== hasPartOfFilter || $[35] !== isMultipleDefault || $[36] !== isMultipleWithCheckboxes || $[37] !== props || $[38] !== striped || $[39] !== t4 || $[40] !== t5 || $[41] !== t6 || $[42] !== t7) {
118
120
  t8 = /* @__PURE__ */ jsxs("li", { ref: t4, id: props.value, hidden: t5, tabIndex: -1, title: props.label, "aria-label": props.label, "aria-selected": ariaSelected, "aria-hidden": t6, "aria-disabled": disabled, "data-content-value": props.value, "data-content-label": props.label, "data-state-striped": striped, "data-state-in-focus": hasFocus, "data-state-filtered": hasPartOfFilter, "data-state-multiple-with-default": isMultipleDefault, "data-state-multiple-with-checkboxes": isMultipleWithCheckboxes, "data-testid": "test-select-field-listbox-item", role: "option", onClick: handleOnClickItem, onMouseDown: _temp, ...props, children: [
119
121
  t7,
120
122
  children
121
123
  ] }, props.value);
122
- $[28] = ariaSelected;
123
- $[29] = children;
124
- $[30] = disabled;
125
- $[31] = handleOnClickItem;
126
- $[32] = hasFocus;
127
- $[33] = hasPartOfFilter;
128
- $[34] = isMultipleDefault;
129
- $[35] = isMultipleWithCheckboxes;
130
- $[36] = props;
131
- $[37] = striped;
132
- $[38] = t4;
133
- $[39] = t5;
134
- $[40] = t6;
135
- $[41] = t7;
136
- $[42] = t8;
124
+ $[29] = ariaSelected;
125
+ $[30] = children;
126
+ $[31] = disabled;
127
+ $[32] = handleOnClickItem;
128
+ $[33] = hasFocus;
129
+ $[34] = hasPartOfFilter;
130
+ $[35] = isMultipleDefault;
131
+ $[36] = isMultipleWithCheckboxes;
132
+ $[37] = props;
133
+ $[38] = striped;
134
+ $[39] = t4;
135
+ $[40] = t5;
136
+ $[41] = t6;
137
+ $[42] = t7;
138
+ $[43] = t8;
137
139
  } else {
138
- t8 = $[42];
140
+ t8 = $[43];
139
141
  }
140
142
  return t8;
141
143
  });
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../src/lib/inputs2/selectfield/item.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { ComponentProps, forwardRef, MouseEvent, ReactNode } from 'react';\nimport * as Checkbox from '../checkboxfield';\nimport { useSelectFieldContext } from './context';\n\ninterface SelectFieldItemProps extends ComponentProps<'li'> {\n value: any;\n label: string;\n disabled?: boolean;\n readOnly?: boolean;\n children: ReactNode;\n}\n\nconst Item = forwardRef<HTMLLIElement, SelectFieldItemProps>(\n (props, ref) => {\n const { disabled, readOnly, children } = props;\n const {\n striped, filterValue, valueSelect, activeDescendant, handleOnChange, handleChangeLiSelected,\n isMultipleSelect, isMultipleDefault, isMultipleWithCheckboxes,\n } = useSelectFieldContext();\n\n const valueToString = _.toString(props.value);\n const hasFocus = Boolean(activeDescendant === valueToString);\n const ariaSelected = !isMultipleSelect ?\n Boolean(props.value === valueSelect)\n : [...valueSelect].includes(props.value);\n const addOrRemove = !isMultipleSelect ? undefined : ariaSelected;\n const hasPartOfFilter = Boolean(\n String(props.label)\n .toLowerCase()\n .includes(filterValue?.toString().toLowerCase() ?? ''),\n );\n\n const handleOnClickItem = (event: MouseEvent<HTMLLIElement>) => {\n if (isMultipleDefault && ariaSelected) event.preventDefault();\n else { handleOnChange?.(props.value, props.label, addOrRemove); }\n };\n\n return (\n <li\n ref={(el) => {\n if (el) {\n if (ariaSelected) { handleChangeLiSelected(el); }\n if (typeof ref === 'function') {\n ref(el);\n } else if (ref) {\n ref.current = el;\n }\n }\n }}\n key={props.value}\n id={props.value}\n hidden={props.hidden || !hasPartOfFilter}\n tabIndex={-1}\n title={props.label}\n aria-label={props.label}\n aria-selected={ariaSelected}\n aria-hidden={props['aria-hidden'] || !hasPartOfFilter}\n aria-disabled={disabled}\n data-content-value={props.value}\n data-content-label={props.label}\n data-state-striped={striped}\n data-state-in-focus={hasFocus}\n data-state-filtered={hasPartOfFilter}\n data-state-multiple-with-default={isMultipleDefault}\n data-state-multiple-with-checkboxes={isMultipleWithCheckboxes}\n data-testid=\"test-select-field-listbox-item\"\n role=\"option\"\n onClick={handleOnClickItem}\n onMouseDown={(event) => { event.preventDefault(); }}\n {...props}>\n {isMultipleWithCheckboxes && (\n <Checkbox.Input\n rounded\n disabled={disabled}\n readOnly={readOnly}\n checked={ariaSelected}\n size=\"default\"\n variant=\"secondary\"\n data-state-in-focus-select-field={hasFocus}\n name={String(props.label).concat('-').concat(props.value)} />\n )}\n {children}\n </li>\n );\n },\n);\n\nItem.displayName = 'SelectFieldItem';\nexport { Item };\nexport type { SelectFieldItemProps };\n"],"names":["Item","forwardRef","props","ref","$","_c","disabled","readOnly","children","striped","filterValue","valueSelect","activeDescendant","handleOnChange","handleChangeLiSelected","isMultipleSelect","isMultipleDefault","isMultipleWithCheckboxes","useSelectFieldContext","t0","value","_","toString","valueToString","hasFocus","Boolean","t1","includes","ariaSelected","addOrRemove","undefined","t2","label","String","toLowerCase","hasPartOfFilter","t3","event","preventDefault","handleOnClickItem","t4","el","current","t5","hidden","t6","t7","Checkbox.Input","concat","t8","_temp","displayName","event_0"],"mappings":"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"}
1
+ {"version":3,"file":"item.js","sources":["../../../src/lib/inputs2/selectfield/item.tsx"],"sourcesContent":["import _ from 'lodash';\nimport { ComponentProps, forwardRef, MouseEvent, ReactNode } from 'react';\nimport * as Checkbox from '../checkboxfield';\nimport { useSelectFieldContext } from './context';\n\ninterface SelectFieldItemProps extends ComponentProps<'li'> {\n value: any;\n label: string;\n disabled?: boolean;\n readOnly?: boolean;\n children: ReactNode;\n}\n\nconst Item = forwardRef<HTMLLIElement, SelectFieldItemProps>(\n (props, ref) => {\n const { disabled, readOnly, children } = props;\n const {\n striped, filterValue, valueSelect, activeDescendant, handleOnChange, handleChangeLiSelected,\n isMultipleSelect, isMultipleDefault, isMultipleWithCheckboxes, hasRemoteSearch,\n } = useSelectFieldContext();\n\n const valueToString = _.toString(props.value);\n const hasFocus = Boolean(activeDescendant === valueToString);\n const ariaSelected = !isMultipleSelect\n ? Boolean(props.value === valueSelect)\n : [...valueSelect].includes(props.value);\n const addOrRemove = !isMultipleSelect ? undefined : ariaSelected;\n const hasPartOfFilter = hasRemoteSearch || Boolean(\n String(props.label)\n .toLowerCase()\n .includes(filterValue?.toString().toLowerCase() ?? ''),\n );\n\n const handleOnClickItem = (event: MouseEvent<HTMLLIElement>) => {\n if (isMultipleDefault && ariaSelected) event.preventDefault();\n else { handleOnChange?.(props.value, props.label, addOrRemove); }\n };\n\n return (\n <li\n ref={(el) => {\n if (el) {\n if (ariaSelected) { handleChangeLiSelected(el); }\n if (typeof ref === 'function') {\n ref(el);\n } else if (ref) {\n ref.current = el;\n }\n }\n }}\n key={props.value}\n id={props.value}\n hidden={props.hidden || !hasPartOfFilter}\n tabIndex={-1}\n title={props.label}\n aria-label={props.label}\n aria-selected={ariaSelected}\n aria-hidden={props['aria-hidden'] || !hasPartOfFilter}\n aria-disabled={disabled}\n data-content-value={props.value}\n data-content-label={props.label}\n data-state-striped={striped}\n data-state-in-focus={hasFocus}\n data-state-filtered={hasPartOfFilter}\n data-state-multiple-with-default={isMultipleDefault}\n data-state-multiple-with-checkboxes={isMultipleWithCheckboxes}\n data-testid=\"test-select-field-listbox-item\"\n role=\"option\"\n onClick={handleOnClickItem}\n onMouseDown={(event) => { event.preventDefault(); }}\n {...props}>\n {isMultipleWithCheckboxes && (\n <Checkbox.Input\n rounded\n disabled={disabled}\n readOnly={readOnly}\n checked={ariaSelected}\n size=\"default\"\n variant=\"secondary\"\n data-state-in-focus-select-field={hasFocus}\n name={String(props.label).concat('-').concat(props.value)} />\n )}\n {children}\n </li>\n );\n },\n);\n\nItem.displayName = 'SelectFieldItem';\nexport { Item };\nexport type { SelectFieldItemProps };\n"],"names":["Item","forwardRef","props","ref","$","_c","disabled","readOnly","children","striped","filterValue","valueSelect","activeDescendant","handleOnChange","handleChangeLiSelected","isMultipleSelect","isMultipleDefault","isMultipleWithCheckboxes","hasRemoteSearch","useSelectFieldContext","t0","value","_","toString","valueToString","hasFocus","Boolean","t1","includes","ariaSelected","addOrRemove","undefined","t2","label","String","toLowerCase","hasPartOfFilter","t3","event","preventDefault","handleOnClickItem","t4","el","current","t5","hidden","t6","t7","Checkbox.Input","concat","t8","_temp","displayName","event_0"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { ComponentProps } from 'react';
2
- import { UseScrollEndReachedParams } from 'src/lib/hooks/useScrollEndReached/types';
3
- interface SelectFieldListBoxProps extends ComponentProps<'div'>, UseScrollEndReachedParams {
2
+ interface SelectFieldListBoxProps extends ComponentProps<'div'> {
4
3
  dropdownMaxWidth?: number;
5
4
  }
6
5
  declare const ListBox: import('react').ForwardRefExoticComponent<Omit<SelectFieldListBoxProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
@@ -1,7 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import _ from "../../_virtual/lodash.js";
3
3
  import { forwardRef, useState, useRef, useEffect } from "react";
4
- import { useScrollEndReached } from "../../hooks/useScrollEndReached/index.js";
5
4
  import { Search } from "./search.js";
6
5
  import { useSelectFieldContext } from "./context.js";
7
6
  const MAX_HEIGHT = 27 * 15 + 1;
@@ -9,8 +8,6 @@ const ListBox = forwardRef((props, ref) => {
9
8
  const {
10
9
  children,
11
10
  dropdownMaxWidth,
12
- onEndReached,
13
- onEndReachedThreshold,
14
11
  ...rest
15
12
  } = props;
16
13
  const {
@@ -69,11 +66,6 @@ const ListBox = forwardRef((props, ref) => {
69
66
  window.removeEventListener("scroll", updatePosition, true);
70
67
  };
71
68
  }, [listBoxOpen, valueSelect, selectContainerRef]);
72
- useScrollEndReached({
73
- elementRef: listBoxRef,
74
- onEndReached,
75
- onEndReachedThreshold
76
- });
77
69
  return /* @__PURE__ */ jsxs("div", { ref, style: listBoxStyles, "aria-expanded": listBoxOpen, className: "select-field-listbox", "data-testid": "test-select-field-listbox", "data-dropdown-max-width": dropdownMaxWidth, ...rest, children: [
78
70
  shouldBeShowSearchInput && /* @__PURE__ */ jsx(Search, {}),
79
71
  /* @__PURE__ */ jsxs("ul", { id: selectFieldId, role: "listbox", ref: listBoxRef, children: [