@razorpay/blade 12.20.1 → 12.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/build/lib/native/components/ActionList/ActionListItem.js +1 -1
  2. package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
  3. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +1 -1
  4. package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  5. package/build/lib/native/components/BottomSheet/BottomSheet.native.js +1 -1
  6. package/build/lib/native/components/BottomSheet/BottomSheet.native.js.map +1 -1
  7. package/build/lib/native/components/BottomSheet/BottomSheetContext.js.map +1 -1
  8. package/build/lib/native/components/Collapsible/Collapsible.js +3 -1
  9. package/build/lib/native/components/Collapsible/Collapsible.js.map +1 -1
  10. package/build/lib/native/components/Collapsible/CollapsibleBody.js +2 -1
  11. package/build/lib/native/components/Collapsible/CollapsibleBody.js.map +1 -1
  12. package/build/lib/native/components/Collapsible/CollapsibleButton.js +2 -3
  13. package/build/lib/native/components/Collapsible/CollapsibleButton.js.map +1 -1
  14. package/build/lib/native/components/Collapsible/CollapsibleLink.js +2 -3
  15. package/build/lib/native/components/Collapsible/CollapsibleLink.js.map +1 -1
  16. package/build/lib/native/components/Collapsible/componentIds.js +4 -0
  17. package/build/lib/native/components/Collapsible/componentIds.js.map +1 -0
  18. package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
  19. package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
  20. package/build/lib/native/components/Dropdown/DropdownHeaderFooter.js +1 -1
  21. package/build/lib/native/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
  22. package/build/lib/native/components/Dropdown/useDropdown.js +1 -1
  23. package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
  24. package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
  25. package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
  26. package/build/lib/native/components/Input/DropdownInputTriggers/AutoComplete.js +1 -1
  27. package/build/lib/native/components/Input/DropdownInputTriggers/AutoComplete.js.map +1 -1
  28. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +2 -1
  29. package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  30. package/build/lib/web/development/components/ActionList/ActionListBox.web.js +3 -3
  31. package/build/lib/web/development/components/ActionList/ActionListBox.web.js.map +1 -1
  32. package/build/lib/web/development/components/ActionList/ActionListItem.js +4 -4
  33. package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
  34. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +9 -2
  35. package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  36. package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js +3 -3
  37. package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js.map +1 -1
  38. package/build/lib/web/development/components/BottomSheet/BottomSheetContext.js.map +1 -1
  39. package/build/lib/web/development/components/BottomSheet/BottomSheetHeader.web.js +1 -1
  40. package/build/lib/web/development/components/BottomSheet/BottomSheetHeader.web.js.map +1 -1
  41. package/build/lib/web/development/components/Collapsible/Collapsible.js +7 -2
  42. package/build/lib/web/development/components/Collapsible/Collapsible.js.map +1 -1
  43. package/build/lib/web/development/components/Collapsible/CollapsibleBody.js +2 -1
  44. package/build/lib/web/development/components/Collapsible/CollapsibleBody.js.map +1 -1
  45. package/build/lib/web/development/components/Collapsible/CollapsibleButton.js +2 -3
  46. package/build/lib/web/development/components/Collapsible/CollapsibleButton.js.map +1 -1
  47. package/build/lib/web/development/components/Collapsible/CollapsibleLink.js +2 -3
  48. package/build/lib/web/development/components/Collapsible/CollapsibleLink.js.map +1 -1
  49. package/build/lib/web/development/components/Collapsible/componentIds.js +9 -0
  50. package/build/lib/web/development/components/Collapsible/componentIds.js.map +1 -0
  51. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js +6 -3
  52. package/build/lib/web/development/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  53. package/build/lib/web/development/components/DatePicker/useDatesState.js +12 -1
  54. package/build/lib/web/development/components/DatePicker/useDatesState.js.map +1 -1
  55. package/build/lib/web/development/components/DatePicker/usePopup.js +5 -1
  56. package/build/lib/web/development/components/DatePicker/usePopup.js.map +1 -1
  57. package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js +6 -3
  58. package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
  59. package/build/lib/web/development/components/Dropdown/Dropdown.js +8 -6
  60. package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
  61. package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js +18 -8
  62. package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
  63. package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js +5 -1
  64. package/build/lib/web/development/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
  65. package/build/lib/web/development/components/Dropdown/useDropdown.js +16 -6
  66. package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
  67. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +7 -3
  68. package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
  69. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +5 -2
  70. package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  71. package/build/lib/web/development/components/Input/DropdownInputTriggers/AutoComplete.js +11 -8
  72. package/build/lib/web/development/components/Input/DropdownInputTriggers/AutoComplete.js.map +1 -1
  73. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +24 -12
  74. package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  75. package/build/lib/web/development/components/ListView/ListViewFilters.web.js +3 -2
  76. package/build/lib/web/development/components/ListView/ListViewFilters.web.js.map +1 -1
  77. package/build/lib/web/development/components/StepGroup/StepGroup.web.js +26 -4
  78. package/build/lib/web/development/components/StepGroup/StepGroup.web.js.map +1 -1
  79. package/build/lib/web/development/components/StepGroup/StepItem.web.js +2 -1
  80. package/build/lib/web/development/components/StepGroup/StepItem.web.js.map +1 -1
  81. package/build/lib/web/production/components/ActionList/ActionListBox.web.js +3 -3
  82. package/build/lib/web/production/components/ActionList/ActionListBox.web.js.map +1 -1
  83. package/build/lib/web/production/components/ActionList/ActionListItem.js +4 -4
  84. package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
  85. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +9 -2
  86. package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
  87. package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js +3 -3
  88. package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js.map +1 -1
  89. package/build/lib/web/production/components/BottomSheet/BottomSheetContext.js.map +1 -1
  90. package/build/lib/web/production/components/BottomSheet/BottomSheetHeader.web.js +1 -1
  91. package/build/lib/web/production/components/BottomSheet/BottomSheetHeader.web.js.map +1 -1
  92. package/build/lib/web/production/components/Collapsible/Collapsible.js +7 -2
  93. package/build/lib/web/production/components/Collapsible/Collapsible.js.map +1 -1
  94. package/build/lib/web/production/components/Collapsible/CollapsibleBody.js +2 -1
  95. package/build/lib/web/production/components/Collapsible/CollapsibleBody.js.map +1 -1
  96. package/build/lib/web/production/components/Collapsible/CollapsibleButton.js +2 -3
  97. package/build/lib/web/production/components/Collapsible/CollapsibleButton.js.map +1 -1
  98. package/build/lib/web/production/components/Collapsible/CollapsibleLink.js +2 -3
  99. package/build/lib/web/production/components/Collapsible/CollapsibleLink.js.map +1 -1
  100. package/build/lib/web/production/components/Collapsible/componentIds.js +9 -0
  101. package/build/lib/web/production/components/Collapsible/componentIds.js.map +1 -0
  102. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js +6 -3
  103. package/build/lib/web/production/components/DatePicker/BaseDatePicker.web.js.map +1 -1
  104. package/build/lib/web/production/components/DatePicker/useDatesState.js +12 -1
  105. package/build/lib/web/production/components/DatePicker/useDatesState.js.map +1 -1
  106. package/build/lib/web/production/components/DatePicker/usePopup.js +5 -1
  107. package/build/lib/web/production/components/DatePicker/usePopup.js.map +1 -1
  108. package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js +6 -3
  109. package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
  110. package/build/lib/web/production/components/Dropdown/Dropdown.js +8 -6
  111. package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
  112. package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js +18 -8
  113. package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
  114. package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js +5 -1
  115. package/build/lib/web/production/components/Dropdown/FilterChipSelectInput.web.js.map +1 -1
  116. package/build/lib/web/production/components/Dropdown/useDropdown.js +16 -6
  117. package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
  118. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +7 -3
  119. package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
  120. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +5 -2
  121. package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
  122. package/build/lib/web/production/components/Input/DropdownInputTriggers/AutoComplete.js +11 -8
  123. package/build/lib/web/production/components/Input/DropdownInputTriggers/AutoComplete.js.map +1 -1
  124. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +24 -12
  125. package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
  126. package/build/lib/web/production/components/ListView/ListViewFilters.web.js +3 -2
  127. package/build/lib/web/production/components/ListView/ListViewFilters.web.js.map +1 -1
  128. package/build/lib/web/production/components/StepGroup/StepGroup.web.js +26 -4
  129. package/build/lib/web/production/components/StepGroup/StepGroup.web.js.map +1 -1
  130. package/build/lib/web/production/components/StepGroup/StepItem.web.js +2 -1
  131. package/build/lib/web/production/components/StepGroup/StepItem.web.js.map +1 -1
  132. package/build/types/components/index.d.ts +20 -9
  133. package/build/types/components/index.native.d.ts +19 -8
  134. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AutoComplete.js","sources":["../../../../../../src/components/Input/DropdownInputTriggers/AutoComplete.tsx"],"sourcesContent":["import React from 'react';\nimport { useDropdown } from '../../Dropdown/useDropdown';\nimport type { AutoCompleteProps, BaseDropdownInputTriggerProps } from './types';\nimport { BaseDropdownInputTrigger } from './BaseDropdownInputTrigger';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { BladeElementRef } from '~utils/types';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { isReactNative } from '~utils';\n\nconst useAutoComplete = ({\n props,\n inputValue,\n setInputValue,\n getOptionValues,\n}: {\n props: AutoCompleteProps;\n setInputValue: (inputValue: string) => void;\n inputValue: string;\n getOptionValues: () => string[];\n}): {\n onTriggerKeydown: BaseDropdownInputTriggerProps['onTriggerKeydown'];\n onSelectionChange: BaseDropdownInputTriggerProps['onChange'];\n onInputValueChange: BaseDropdownInputTriggerProps['onInputValueChange'];\n} => {\n const {\n onTriggerKeydown: onBaseDropdownInputKeydown,\n isOpen,\n setIsOpen,\n selectedIndices,\n setSelectedIndices,\n setControlledValueIndices,\n isControlled,\n options,\n setFilteredValues: setGlobalFilteredValues,\n activeTagIndex,\n setActiveTagIndex,\n setActiveIndex,\n filteredValues: globalFilteredValues,\n selectionType,\n triggererRef,\n hasAutoCompleteInBottomSheetHeader,\n } = useDropdown();\n\n const resetFilters = (): void => setGlobalFilteredValues(getOptionValues());\n\n // Makes sure that first item is always in focus\n React.useEffect((): void => {\n const firstItemOptionIndex = options.findIndex(\n (option) => option.value === globalFilteredValues[0],\n );\n\n if (firstItemOptionIndex >= 0) {\n setActiveIndex(firstItemOptionIndex);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [globalFilteredValues.length, options.length]);\n\n // When input is empty or its single select, we want all items to be shown in filter on open of dropdown\n React.useEffect(() => {\n if (isOpen && !inputValue) {\n resetFilters();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen, options]);\n\n React.useEffect(() => {\n if (isOpen && selectionType === 'single') {\n resetFilters();\n }\n\n // Just setting autoFocus is setting the input in focus state but its not showing keyboard active.\n // We do this in web to get around that\n if (hasAutoCompleteInBottomSheetHeader && isOpen && !isReactNative()) {\n triggererRef.current?.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n const onInputValueChange: BaseDropdownInputTriggerProps['onInputValueChange'] = ({\n name,\n value,\n }) => {\n setInputValue(value ?? '');\n props.onInputValueChange?.({ name, value });\n setActiveTagIndex(-1);\n\n if (!isOpen) {\n setIsOpen(true);\n }\n\n // default filtering when filteredValues is uncontrolled\n if (!props.filteredValues) {\n // eslint-disable-next-line no-lonely-if\n if (value && options && options.length > 0) {\n const filteredOptions = getOptionValues().filter((optionValue) =>\n optionValue.toLowerCase().includes(value.toLowerCase()),\n );\n setGlobalFilteredValues(filteredOptions);\n } else {\n resetFilters();\n }\n }\n };\n\n const onTriggerKeydown: BaseDropdownInputTriggerProps['onTriggerKeydown'] = (e) => {\n // Pressing backspace on empty input should remove the last tag\n if (e.key === 'Backspace' && !inputValue && activeTagIndex < 0 && selectedIndices.length > 0) {\n if (isControlled) {\n setControlledValueIndices(selectedIndices.slice(0, -1));\n } else {\n setSelectedIndices(selectedIndices.slice(0, -1));\n }\n }\n onBaseDropdownInputKeydown?.(e);\n };\n\n const onSelectionChange: BaseDropdownInputTriggerProps['onChange'] = ({ values }) => {\n if (selectionType === 'multiple') {\n setInputValue('');\n props.onInputValueChange?.({ name: props.name, value: '' });\n setActiveTagIndex(-1);\n resetFilters();\n } else {\n const displayText = options.find((option) => option.value === values[0])?.title;\n props.onInputValueChange?.({\n name: props.name,\n value: displayText,\n });\n // Use displayText as inputValue only if its not controlled by user\n if (typeof props.value === 'undefined') {\n setInputValue(displayText ?? '');\n }\n }\n props.onChange?.({ name: props.name, values });\n };\n return {\n onSelectionChange,\n onTriggerKeydown,\n onInputValueChange,\n };\n};\n\nconst _AutoComplete = (\n props: AutoCompleteProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const [uncontrolledInputValue, setInputValue] = React.useState('');\n const inputValue = props.inputValue ?? uncontrolledInputValue;\n\n const {\n options,\n setFilteredValues: setGlobalFilteredValues,\n hasAutoCompleteInBottomSheetHeader,\n setHasAutoCompleteInBottomSheetHeader,\n onTriggerClick,\n dropdownTriggerer,\n } = useDropdown();\n\n const getOptionValues = React.useCallback(() => {\n return options.map((option) => option.value);\n }, [options]);\n\n const { onSelectionChange, onTriggerKeydown, onInputValueChange } = useAutoComplete({\n props,\n inputValue,\n setInputValue,\n getOptionValues,\n });\n\n React.useEffect(() => {\n if (dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete) {\n // When AutoComplete is mounted but not as trigger,\n // it has to be somewhere in the BottomSheet (most likely header based on UI but works in other parts too)\n setHasAutoCompleteInBottomSheetHeader(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // handles controlled filteredValues state (syncs it with our global filteredValues)\n React.useEffect(() => {\n if (props.filteredValues) {\n setGlobalFilteredValues(props.filteredValues);\n }\n }, [props.filteredValues, setGlobalFilteredValues]);\n\n // set autoFocus to true when used inside bottomsheet\n const defaultAutoFocusState = hasAutoCompleteInBottomSheetHeader ? true : undefined;\n\n return (\n <BaseBox position=\"relative\">\n <BaseDropdownInputTrigger\n {...props}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={props.autoFocus ?? defaultAutoFocusState}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n onChange={onSelectionChange}\n isSelectInput={false}\n inputValue={inputValue}\n syncInputValueWithSelection={(value) => {\n if (!value) {\n setInputValue('');\n return;\n }\n const selectedOption = options.find((option) => option.value === value);\n setInputValue(selectedOption?.title ?? '');\n }}\n onTriggerKeydown={onTriggerKeydown}\n onInputValueChange={onInputValueChange}\n onTriggerClick={(triggerEvent) => {\n if (!hasAutoCompleteInBottomSheetHeader) {\n // we don't want clicking on autocomplete to open / close Dropdown when it is used inside BottomSheet's header\n onTriggerClick();\n }\n props?.onClick?.(triggerEvent);\n }}\n />\n </BaseBox>\n );\n};\n\n/**\n * ### AutoComplete\n *\n * Extension on top of SelectInput which allows you type and filter between ActionList items\n *\n * To be used in combination of `Dropdown` and `ActionList` component\n *\n * ---\n *\n * #### Usage in Desktop\n *\n * ```diff\n * <Dropdown>\n * + <AutoComplete label=\"Select Fruits\" />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem title=\"Mango\" value=\"mango\" />\n * <ActionListItem title=\"Apple\" value=\"apple\" />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * #### Usage in Mobile\n *\n * ```diff\n * <Dropdown>\n * + <SelectInput label=\"Select Fruits\" />\n * <BottomSheet>\n * <BottomSheetHeader>\n * + <AutoComplete label=\"Select Fruits\" />\n * </BottomSheetHeader>\n * <BottomSheetBody>\n * <ActionList>\n * <ActionListItem title=\"Mango\" value=\"mango\" />\n * <ActionListItem title=\"Apple\" value=\"apple\" />\n * </ActionList>\n * </BottomSheetBody>\n * </BottomSheet>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-autocomplete--with-single-select AutoComplete Documentation}.\n */\nconst AutoComplete = assignWithoutSideEffects(React.forwardRef(_AutoComplete), {\n componentId: dropdownComponentIds.triggers.AutoComplete,\n});\n\nexport { AutoComplete };\n"],"names":["useAutoComplete","_ref","props","inputValue","setInputValue","getOptionValues","_useDropdown","useDropdown","onBaseDropdownInputKeydown","onTriggerKeydown","isOpen","setIsOpen","selectedIndices","setSelectedIndices","setControlledValueIndices","isControlled","options","setGlobalFilteredValues","setFilteredValues","activeTagIndex","setActiveTagIndex","setActiveIndex","globalFilteredValues","filteredValues","selectionType","triggererRef","hasAutoCompleteInBottomSheetHeader","resetFilters","React","useEffect","firstItemOptionIndex","findIndex","option","value","length","isReactNative","_triggererRef$current","current","focus","onInputValueChange","_ref2","name","filteredOptions","filter","optionValue","toLowerCase","includes","e","key","slice","onSelectionChange","_ref3","values","_options$find","displayText","find","title","onChange","_AutoComplete","ref","_props$inputValue","_props$autoFocus","_React$useState","useState","_React$useState2","_slicedToArray","uncontrolledInputValue","_useDropdown2","setHasAutoCompleteInBottomSheetHeader","onTriggerClick","dropdownTriggerer","useCallback","map","_useAutoComplete","dropdownComponentIds","triggers","AutoComplete","defaultAutoFocusState","undefined","_jsx","BaseBox","position","children","BaseDropdownInputTrigger","Object","assign","autoFocus","isSelectInput","syncInputValueWithSelection","_selectedOption$title","selectedOption","triggerEvent","onClick","assignWithoutSideEffects","forwardRef","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"AutoComplete.js","sources":["../../../../../../src/components/Input/DropdownInputTriggers/AutoComplete.tsx"],"sourcesContent":["import React from 'react';\nimport { useDropdown } from '../../Dropdown/useDropdown';\nimport type { AutoCompleteProps, BaseDropdownInputTriggerProps } from './types';\nimport { BaseDropdownInputTrigger } from './BaseDropdownInputTrigger';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport BaseBox from '~components/Box/BaseBox';\nimport type { BladeElementRef } from '~utils/types';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { isReactNative } from '~utils';\n\nconst useAutoComplete = ({\n props,\n inputValue,\n setInputValue,\n getOptionValues,\n}: {\n props: AutoCompleteProps;\n setInputValue: (inputValue: string) => void;\n inputValue: string;\n getOptionValues: () => string[];\n}): {\n onTriggerKeydown: BaseDropdownInputTriggerProps['onTriggerKeydown'];\n onSelectionChange: BaseDropdownInputTriggerProps['onChange'];\n onInputValueChange: BaseDropdownInputTriggerProps['onInputValueChange'];\n} => {\n const {\n onTriggerKeydown: onBaseDropdownInputKeydown,\n isOpen,\n setIsOpen,\n selectedIndices,\n setSelectedIndices,\n setControlledValueIndices,\n isControlled,\n options,\n setFilteredValues: setGlobalFilteredValues,\n activeTagIndex,\n setActiveTagIndex,\n setActiveIndex,\n filteredValues: globalFilteredValues,\n selectionType,\n triggererRef,\n hasAutoCompleteInHeader,\n } = useDropdown();\n\n const resetFilters = (): void => setGlobalFilteredValues(getOptionValues());\n\n // Makes sure that first item is always in focus\n React.useEffect((): void => {\n const firstItemOptionIndex = options.findIndex(\n (option) => option.value === globalFilteredValues[0],\n );\n\n if (firstItemOptionIndex >= 0) {\n setActiveIndex(firstItemOptionIndex);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [globalFilteredValues.length, options.length]);\n\n // When input is empty or its single select, we want all items to be shown in filter on open of dropdown\n React.useEffect(() => {\n if (isOpen && !inputValue) {\n resetFilters();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen, options]);\n\n React.useEffect(() => {\n if (isOpen && selectionType === 'single') {\n resetFilters();\n }\n\n // Just setting autoFocus is setting the input in focus state but its not showing keyboard active.\n // We do this in web to get around that\n if (hasAutoCompleteInHeader && isOpen && !isReactNative()) {\n triggererRef.current?.focus();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n\n const onInputValueChange: BaseDropdownInputTriggerProps['onInputValueChange'] = ({\n name,\n value,\n }) => {\n setInputValue(value ?? '');\n props.onInputValueChange?.({ name, value });\n setActiveTagIndex(-1);\n\n if (!isOpen) {\n setIsOpen(true);\n }\n\n // default filtering when filteredValues is uncontrolled\n if (!props.filteredValues) {\n // eslint-disable-next-line no-lonely-if\n if (value && options && options.length > 0) {\n const filteredOptions = getOptionValues().filter((optionValue) =>\n optionValue.toLowerCase().includes(value.toLowerCase()),\n );\n setGlobalFilteredValues(filteredOptions);\n } else {\n resetFilters();\n }\n }\n };\n\n const onTriggerKeydown: BaseDropdownInputTriggerProps['onTriggerKeydown'] = (e) => {\n // Pressing backspace on empty input should remove the last tag\n if (e.key === 'Backspace' && !inputValue && activeTagIndex < 0 && selectedIndices.length > 0) {\n if (isControlled) {\n setControlledValueIndices(selectedIndices.slice(0, -1));\n } else {\n setSelectedIndices(selectedIndices.slice(0, -1));\n }\n }\n onBaseDropdownInputKeydown?.(e);\n };\n\n const onSelectionChange: BaseDropdownInputTriggerProps['onChange'] = ({ values }) => {\n console.log('selection change', values);\n if (selectionType === 'multiple') {\n setInputValue('');\n props.onInputValueChange?.({ name: props.name, value: '' });\n setActiveTagIndex(-1);\n resetFilters();\n } else {\n const displayText = options.find((option) => option.value === values[0])?.title;\n props.onInputValueChange?.({\n name: props.name,\n value: displayText,\n });\n // Use displayText as inputValue only if its not controlled by user\n if (hasAutoCompleteInHeader) {\n setInputValue('');\n } else if (typeof props.value === 'undefined') {\n setInputValue(displayText ?? '');\n }\n }\n props.onChange?.({ name: props.name, values });\n };\n return {\n onSelectionChange,\n onTriggerKeydown,\n onInputValueChange,\n };\n};\n\nconst _AutoComplete = (\n props: AutoCompleteProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const [uncontrolledInputValue, setInputValue] = React.useState('');\n const inputValue = props.inputValue ?? uncontrolledInputValue;\n\n const {\n options,\n setFilteredValues: setGlobalFilteredValues,\n hasAutoCompleteInHeader,\n setHasAutoCompleteInHeader,\n onTriggerClick,\n dropdownTriggerer,\n } = useDropdown();\n\n const getOptionValues = React.useCallback(() => {\n return options.map((option) => option.value);\n }, [options]);\n\n const { onSelectionChange, onTriggerKeydown, onInputValueChange } = useAutoComplete({\n props,\n inputValue,\n setInputValue,\n getOptionValues,\n });\n\n React.useEffect(() => {\n if (dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete) {\n // When AutoComplete is mounted but not as trigger,\n // it has to be somewhere in the BottomSheet (most likely header based on UI but works in other parts too)\n setHasAutoCompleteInHeader(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // handles controlled filteredValues state (syncs it with our global filteredValues)\n React.useEffect(() => {\n if (props.filteredValues) {\n setGlobalFilteredValues(props.filteredValues);\n }\n }, [props.filteredValues, setGlobalFilteredValues]);\n\n // set autoFocus to true when used inside bottomsheet\n const defaultAutoFocusState = hasAutoCompleteInHeader ? true : undefined;\n\n return (\n <BaseBox position=\"relative\">\n <BaseDropdownInputTrigger\n {...props}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={props.autoFocus ?? defaultAutoFocusState}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n onChange={onSelectionChange}\n isSelectInput={false}\n inputValue={inputValue}\n syncInputValueWithSelection={(value) => {\n if (!value) {\n setInputValue('');\n return;\n }\n const selectedOption = options.find((option) => option.value === value);\n setInputValue(selectedOption?.title ?? '');\n }}\n onTriggerKeydown={onTriggerKeydown}\n onInputValueChange={onInputValueChange}\n onTriggerClick={(triggerEvent) => {\n if (!hasAutoCompleteInHeader) {\n // we don't want clicking on autocomplete to open / close Dropdown when it is used inside BottomSheet's header\n onTriggerClick();\n }\n props?.onClick?.(triggerEvent);\n }}\n />\n </BaseBox>\n );\n};\n\n/**\n * ### AutoComplete\n *\n * Extension on top of SelectInput which allows you type and filter between ActionList items\n *\n * To be used in combination of `Dropdown` and `ActionList` component\n *\n * ---\n *\n * #### Usage in Desktop\n *\n * ```diff\n * <Dropdown>\n * + <AutoComplete label=\"Select Fruits\" />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem title=\"Mango\" value=\"mango\" />\n * <ActionListItem title=\"Apple\" value=\"apple\" />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * #### Usage in Mobile\n *\n * ```diff\n * <Dropdown>\n * + <SelectInput label=\"Select Fruits\" />\n * <BottomSheet>\n * <BottomSheetHeader>\n * + <AutoComplete label=\"Select Fruits\" />\n * </BottomSheetHeader>\n * <BottomSheetBody>\n * <ActionList>\n * <ActionListItem title=\"Mango\" value=\"mango\" />\n * <ActionListItem title=\"Apple\" value=\"apple\" />\n * </ActionList>\n * </BottomSheetBody>\n * </BottomSheet>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-autocomplete--with-single-select AutoComplete Documentation}.\n */\nconst AutoComplete = assignWithoutSideEffects(React.forwardRef(_AutoComplete), {\n componentId: dropdownComponentIds.triggers.AutoComplete,\n});\n\nexport { AutoComplete };\n"],"names":["useAutoComplete","_ref","props","inputValue","setInputValue","getOptionValues","_useDropdown","useDropdown","onBaseDropdownInputKeydown","onTriggerKeydown","isOpen","setIsOpen","selectedIndices","setSelectedIndices","setControlledValueIndices","isControlled","options","setGlobalFilteredValues","setFilteredValues","activeTagIndex","setActiveTagIndex","setActiveIndex","globalFilteredValues","filteredValues","selectionType","triggererRef","hasAutoCompleteInHeader","resetFilters","React","useEffect","firstItemOptionIndex","findIndex","option","value","length","isReactNative","_triggererRef$current","current","focus","onInputValueChange","_ref2","name","filteredOptions","filter","optionValue","toLowerCase","includes","e","key","slice","onSelectionChange","_ref3","values","console","log","_options$find","displayText","find","title","onChange","_AutoComplete","ref","_props$inputValue","_props$autoFocus","_React$useState","useState","_React$useState2","_slicedToArray","uncontrolledInputValue","_useDropdown2","setHasAutoCompleteInHeader","onTriggerClick","dropdownTriggerer","useCallback","map","_useAutoComplete","dropdownComponentIds","triggers","AutoComplete","defaultAutoFocusState","undefined","_jsx","BaseBox","position","children","BaseDropdownInputTrigger","Object","assign","autoFocus","isSelectInput","syncInputValueWithSelection","_selectedOption$title","selectedOption","triggerEvent","onClick","assignWithoutSideEffects","forwardRef","componentId"],"mappings":"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"}
@@ -18,9 +18,10 @@ import { rowDensityToIsTableInputCellMapping, tableEditableCellRowDensityToInput
18
18
  import { useTableEditableCell } from '../../Table/TableEditableCellContext.js';
19
19
  import { makeAnalyticsAttribute } from '../../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
20
20
  import { fireNativeEvent } from '../../../utils/fireNativeEvent/fireNativeEvent.native.js';
21
+ import { dropdownComponentIds } from '../../Dropdown/dropdownComponentIds.js';
21
22
  import { jsx } from 'react/jsx-runtime';
22
23
 
23
- var useControlledDropdownInput=function useControlledDropdownInput(props){var isFirstRender=useFirstRender();var _useDropdown=useDropdown(),changeCallbackTriggerer=_useDropdown.changeCallbackTriggerer,isControlled=_useDropdown.isControlled,options=_useDropdown.options,selectedIndices=_useDropdown.selectedIndices,controlledValueIndices=_useDropdown.controlledValueIndices,setSelectedIndices=_useDropdown.setSelectedIndices,selectionType=_useDropdown.selectionType,setIsControlled=_useDropdown.setIsControlled;var getValuesArrayFromIndices=function getValuesArrayFromIndices(){var indices=[];if(isControlled){indices=controlledValueIndices;}else {indices=selectedIndices;}return indices.map(function(selectionIndex){return options[selectionIndex].value;});};var selectValues=function selectValues(valuesToSelect){if(options.length>0){if(isEmpty(valuesToSelect)){setSelectedIndices([]);}else if(typeof valuesToSelect==='string'){var selectedItemIndex=options.findIndex(function(option){return option.value===valuesToSelect;});if(selectedItemIndex>=0){setSelectedIndices([selectedItemIndex]);}}else {var uniqueValues=Array.from(new Set(valuesToSelect));var userValues=selectionType==='single'?[valuesToSelect==null?void 0:valuesToSelect[0]]:uniqueValues;var selectedItemIndices=userValues.map(function(optionValue){return options.findIndex(function(option){return option.value===optionValue;});}).filter(function(value){return value>=0;});setSelectedIndices(selectedItemIndices);}}};React__default.useEffect(function(){if(options.length>0&&props.defaultValue){selectValues(props.defaultValue);}},[options.length]);React__default.useEffect(function(){if(options.length>0&&props.value!==undefined){if(!isControlled){setIsControlled(true);}selectValues(props.value);if(selectionType==='single'&&!Array.isArray(props.value)&&!props.isSelectInput){props.syncInputValueWithSelection==null?void 0:props.syncInputValueWithSelection(props.value);}}},[props.value,options]);React__default.useEffect(function(){if(!isFirstRender){props.onChange==null?void 0:props.onChange({name:props.name,values:getValuesArrayFromIndices()});if(isBrowser()){fireNativeEvent(props.triggererRef);}}},[changeCallbackTriggerer]);};var _BaseDropdownInputTrigger=function _BaseDropdownInputTrigger(props,ref){var _props$placeholder,_props$validationStat,_props$maxRows,_props$label;var _useDropdown2=useDropdown(),isOpen=_useDropdown2.isOpen,activeTagIndex=_useDropdown2.activeTagIndex,setActiveTagIndex=_useDropdown2.setActiveTagIndex,displayValue=_useDropdown2.displayValue,selectionType=_useDropdown2.selectionType,dropdownTriggerer=_useDropdown2.dropdownTriggerer,dropdownBaseId=_useDropdown2.dropdownBaseId,selectedIndices=_useDropdown2.selectedIndices,triggererRef=_useDropdown2.triggererRef,triggererWrapperRef=_useDropdown2.triggererWrapperRef,isTagDismissedRef=_useDropdown2.isTagDismissedRef,onTriggerClick=_useDropdown2.onTriggerClick,value=_useDropdown2.value,shouldIgnoreBlurAnimation=_useDropdown2.shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation=_useDropdown2.setShouldIgnoreBlurAnimation,activeIndex=_useDropdown2.activeIndex,hasFooterAction=_useDropdown2.hasFooterAction,hasAutoCompleteInBottomSheetHeader=_useDropdown2.hasAutoCompleteInBottomSheetHeader,options=_useDropdown2.options,removeOption=_useDropdown2.removeOption,setChangeCallbackTriggerer=_useDropdown2.setChangeCallbackTriggerer,changeCallbackTriggerer=_useDropdown2.changeCallbackTriggerer;var _useTableContext=useTableContext(),rowDensity=_useTableContext.rowDensity;var _useTableEditableCell=useTableEditableCell(),isInsideTableEditableCell=_useTableEditableCell.isInsideTableEditableCell;var dropdownTriggerPlaceholder=(_props$placeholder=props.placeholder)!=null?_props$placeholder:'Select Option';var isAutoCompleteInHeader=!props.isSelectInput&&hasAutoCompleteInBottomSheetHeader;var getShowAllTags=React__default.useCallback(function(){if(hasAutoCompleteInBottomSheetHeader){if(props.isSelectInput){return false;}return true;}return isOpen;},[hasAutoCompleteInBottomSheetHeader,props.isSelectInput,isOpen]);useControlledDropdownInput({onChange:props.onChange,name:props.name,value:props.value,defaultValue:props.defaultValue,syncInputValueWithSelection:props.syncInputValueWithSelection,isSelectInput:props.isSelectInput,triggererRef:triggererRef});var getValue=function getValue(){var prefix='';if(props.labelPosition==='inside-input'&&props.label){prefix=`${props.label}: `;}if(props.isSelectInput){if(selectionType==='single'){return `${prefix}${displayValue}`;}return undefined;}return props.inputValue;};var getTags=React__default.useMemo(function(){return function(_ref){var size=_ref.size;if(selectionType==='single'){return undefined;}return getTagsGroup({size:size,tags:selectedIndices.map(function(selectedIndex){var _options$selectedInde;return (_options$selectedInde=options[selectedIndex])==null?void 0:_options$selectedInde.title;}),activeTagIndex:activeTagIndex,isDisabled:props.isDisabled,onDismiss:function onDismiss(_ref2){var tagIndex=_ref2.tagIndex;if(isTagDismissedRef.current){isTagDismissedRef.current.value=true;}if(!isReactNative()){var _triggererRef$current;(_triggererRef$current=triggererRef.current)==null?void 0:_triggererRef$current.focus();}removeOption(selectedIndices[tagIndex]);setChangeCallbackTriggerer(Number(changeCallbackTriggerer)+1);}});};},[selectedIndices,selectionType,activeTagIndex,changeCallbackTriggerer,options]);var tableInputProps={isTableInputCell:rowDensityToIsTableInputCellMapping[rowDensity],id:'table-editable-cell-input',size:tableEditableCellRowDensityToInputSizeMap[rowDensity],trailingIcon:validationStateToInputTrailingIconMap[(_props$validationStat=props.validationState)!=null?_props$validationStat:'none'],showHintsAsTooltip:true};var isValidationStateNone=props.validationState==='none'||props.validationState===undefined;return jsx(BaseInput,Object.assign({as:props.isSelectInput?'button':'input',ref:!isReactNative()?function(node){triggererRef.current=node;if(ref){if(typeof ref==='function'){ref(node);}else {ref.current=node;}}}:null,isDropdownTrigger:true,setInputWrapperRef:function setInputWrapperRef(wrapperNode){triggererWrapperRef.current=wrapperNode;},maxTagRows:(_props$maxRows=props.maxRows)!=null?_props$maxRows:'single',tags:getTags({size:props.size||'medium'}),showAllTags:getShowAllTags(),activeTagIndex:activeTagIndex,setActiveTagIndex:setActiveTagIndex,shouldIgnoreBlurAnimation:shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation:setShouldIgnoreBlurAnimation,textAlign:"left",label:props.label,placeholder:selectionType==='multiple'&&selectedIndices.length>0?undefined:dropdownTriggerPlaceholder,hideLabelText:((_props$label=props.label)==null?void 0:_props$label.length)===0,accessibilityLabel:props.accessibilityLabel,labelPosition:props.labelPosition==='inside-input'?undefined:props.labelPosition,isLabelInsideInput:props.labelPosition==='inside-input',necessityIndicator:props.necessityIndicator,autoCompleteSuggestionType:"none",validationState:props.validationState,helpText:props.helpText,errorText:props.errorText,successText:props.successText,name:props.name,isDisabled:props.isDisabled,isRequired:props.isRequired,prefix:props.prefix,suffix:props.suffix,autoFocus:props.autoFocus,value:getValue(),onClick:function onClick(e){if(props.isDisabled){return;}props.onTriggerClick==null?void 0:props.onTriggerClick(e);},onFocus:props.onFocus,onBlur:function onBlur(_ref3){var name=_ref3.name;props.onBlur==null?void 0:props.onBlur({name:name,value:value});},leadingIcon:props.icon,componentName:props.isSelectInput?MetaConstants.SelectInput:MetaConstants.AutoComplete,testID:props.testID,id:`${dropdownBaseId}-trigger`,labelId:`${dropdownBaseId}-label`,hasPopup:getActionListContainerRole(hasFooterAction,dropdownTriggerer),isPopupExpanded:isOpen,activeDescendant:activeIndex>=0?`${dropdownBaseId}-${activeIndex}`:undefined,popupId:`${dropdownBaseId}-actionlist`,onChange:props.isSelectInput?undefined:props.onInputValueChange,onKeyDown:props.onTriggerKeydown,size:props.size},makeAnalyticsAttribute(props),{onTrailingInteractionElementClick:function onTrailingInteractionElementClick(){if(!props.isDisabled){if(!isReactNative()){var _triggererRef$current2;(_triggererRef$current2=triggererRef.current)==null?void 0:_triggererRef$current2.focus();}onTriggerClick();}},trailingInteractionElement:isAutoCompleteInHeader||isInsideTableEditableCell&&!isValidationStateNone?null:jsx(InputChevronIcon,{isDisabled:props.isDisabled,isOpen:isOpen})},isInsideTableEditableCell?tableInputProps:undefined));};var BaseDropdownInputTrigger=React__default.forwardRef(_BaseDropdownInputTrigger);
24
+ var useControlledDropdownInput=function useControlledDropdownInput(props){var isFirstRender=useFirstRender();var _useDropdown=useDropdown(),changeCallbackTriggerer=_useDropdown.changeCallbackTriggerer,isControlled=_useDropdown.isControlled,options=_useDropdown.options,selectedIndices=_useDropdown.selectedIndices,controlledValueIndices=_useDropdown.controlledValueIndices,setSelectedIndices=_useDropdown.setSelectedIndices,selectionType=_useDropdown.selectionType,setIsControlled=_useDropdown.setIsControlled;var getValuesArrayFromIndices=function getValuesArrayFromIndices(){var indices=[];if(isControlled){indices=controlledValueIndices;}else {indices=selectedIndices;}return indices.map(function(selectionIndex){return options[selectionIndex].value;});};var selectValues=function selectValues(valuesToSelect){if(options.length>0){if(isEmpty(valuesToSelect)){setSelectedIndices([]);}else if(typeof valuesToSelect==='string'){var selectedItemIndex=options.findIndex(function(option){return option.value===valuesToSelect;});if(selectedItemIndex>=0){setSelectedIndices([selectedItemIndex]);}}else {var uniqueValues=Array.from(new Set(valuesToSelect));var userValues=selectionType==='single'?[valuesToSelect==null?void 0:valuesToSelect[0]]:uniqueValues;var selectedItemIndices=userValues.map(function(optionValue){return options.findIndex(function(option){return option.value===optionValue;});}).filter(function(value){return value>=0;});setSelectedIndices(selectedItemIndices);}}};React__default.useEffect(function(){if(options.length>0&&props.defaultValue){selectValues(props.defaultValue);}},[options.length]);React__default.useEffect(function(){if(options.length>0&&props.value!==undefined){if(!isControlled){setIsControlled(true);}selectValues(props.value);if(selectionType==='single'&&!Array.isArray(props.value)&&!props.isSelectInput){props.syncInputValueWithSelection==null?void 0:props.syncInputValueWithSelection(props.value);}}},[props.value,options]);React__default.useEffect(function(){if(!isFirstRender){props.onChange==null?void 0:props.onChange({name:props.name,values:getValuesArrayFromIndices()});if(isBrowser()){fireNativeEvent(props.triggererRef);}}},[changeCallbackTriggerer]);};var _BaseDropdownInputTrigger=function _BaseDropdownInputTrigger(props,ref){var _props$placeholder,_props$validationStat,_props$maxRows,_props$label;var _useDropdown2=useDropdown(),isOpen=_useDropdown2.isOpen,activeTagIndex=_useDropdown2.activeTagIndex,setActiveTagIndex=_useDropdown2.setActiveTagIndex,displayValue=_useDropdown2.displayValue,selectionType=_useDropdown2.selectionType,dropdownTriggerer=_useDropdown2.dropdownTriggerer,dropdownBaseId=_useDropdown2.dropdownBaseId,selectedIndices=_useDropdown2.selectedIndices,triggererRef=_useDropdown2.triggererRef,headerAutoCompleteRef=_useDropdown2.headerAutoCompleteRef,triggererWrapperRef=_useDropdown2.triggererWrapperRef,isTagDismissedRef=_useDropdown2.isTagDismissedRef,onTriggerClick=_useDropdown2.onTriggerClick,value=_useDropdown2.value,shouldIgnoreBlurAnimation=_useDropdown2.shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation=_useDropdown2.setShouldIgnoreBlurAnimation,activeIndex=_useDropdown2.activeIndex,hasFooterAction=_useDropdown2.hasFooterAction,options=_useDropdown2.options,removeOption=_useDropdown2.removeOption,setChangeCallbackTriggerer=_useDropdown2.setChangeCallbackTriggerer,changeCallbackTriggerer=_useDropdown2.changeCallbackTriggerer;var _useTableContext=useTableContext(),rowDensity=_useTableContext.rowDensity;var _useTableEditableCell=useTableEditableCell(),isInsideTableEditableCell=_useTableEditableCell.isInsideTableEditableCell;var dropdownTriggerPlaceholder=(_props$placeholder=props.placeholder)!=null?_props$placeholder:'Select Option';var isAutoCompleteInHeader=!props.isSelectInput&&dropdownTriggerer!==dropdownComponentIds.triggers.AutoComplete;var getShowAllTags=React__default.useCallback(function(){if(isAutoCompleteInHeader){if(props.isSelectInput){return false;}return true;}return isOpen;},[isAutoCompleteInHeader,props.isSelectInput,isOpen]);useControlledDropdownInput({onChange:props.onChange,name:props.name,value:props.value,defaultValue:props.defaultValue,syncInputValueWithSelection:props.syncInputValueWithSelection,isSelectInput:props.isSelectInput,triggererRef:triggererRef});var getValue=function getValue(){var prefix='';if(props.labelPosition==='inside-input'&&props.label){prefix=`${props.label}: `;}if(props.isSelectInput){if(selectionType==='single'){return `${prefix}${displayValue}`;}return undefined;}return props.inputValue;};var getTags=React__default.useMemo(function(){return function(_ref){var size=_ref.size;if(selectionType==='single'){return undefined;}return getTagsGroup({size:size,tags:selectedIndices.map(function(selectedIndex){var _options$selectedInde;return (_options$selectedInde=options[selectedIndex])==null?void 0:_options$selectedInde.title;}),activeTagIndex:activeTagIndex,isDisabled:props.isDisabled,onDismiss:function onDismiss(_ref2){var tagIndex=_ref2.tagIndex;if(isTagDismissedRef.current){isTagDismissedRef.current.value=true;}if(!isReactNative()){var _triggererRef$current;(_triggererRef$current=triggererRef.current)==null?void 0:_triggererRef$current.focus();}removeOption(selectedIndices[tagIndex]);setChangeCallbackTriggerer(Number(changeCallbackTriggerer)+1);}});};},[selectedIndices,selectionType,activeTagIndex,changeCallbackTriggerer,options]);var tableInputProps={isTableInputCell:rowDensityToIsTableInputCellMapping[rowDensity],id:'table-editable-cell-input',size:tableEditableCellRowDensityToInputSizeMap[rowDensity],trailingIcon:validationStateToInputTrailingIconMap[(_props$validationStat=props.validationState)!=null?_props$validationStat:'none'],showHintsAsTooltip:true};var isValidationStateNone=props.validationState==='none'||props.validationState===undefined;return jsx(BaseInput,Object.assign({as:props.isSelectInput?'button':'input',ref:isReactNative()?null:function(node){if(isAutoCompleteInHeader){headerAutoCompleteRef.current=node;}else {triggererRef.current=node;}if(ref){if(typeof ref==='function'){ref(node);}else {ref.current=node;}}},isDropdownTrigger:true,setInputWrapperRef:function setInputWrapperRef(wrapperNode){if(!isAutoCompleteInHeader){triggererWrapperRef.current=wrapperNode;}},maxTagRows:(_props$maxRows=props.maxRows)!=null?_props$maxRows:'single',tags:getTags({size:props.size||'medium'}),showAllTags:getShowAllTags(),activeTagIndex:activeTagIndex,setActiveTagIndex:setActiveTagIndex,shouldIgnoreBlurAnimation:shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation:setShouldIgnoreBlurAnimation,textAlign:"left",label:props.label,placeholder:selectionType==='multiple'&&selectedIndices.length>0?undefined:dropdownTriggerPlaceholder,hideLabelText:((_props$label=props.label)==null?void 0:_props$label.length)===0,accessibilityLabel:props.accessibilityLabel,labelPosition:props.labelPosition==='inside-input'?undefined:props.labelPosition,isLabelInsideInput:props.labelPosition==='inside-input',necessityIndicator:props.necessityIndicator,autoCompleteSuggestionType:"none",validationState:props.validationState,helpText:props.helpText,errorText:props.errorText,successText:props.successText,name:props.name,isDisabled:props.isDisabled,isRequired:props.isRequired,prefix:props.prefix,suffix:props.suffix,autoFocus:props.autoFocus,value:getValue(),onClick:function onClick(e){if(props.isDisabled){return;}props.onTriggerClick==null?void 0:props.onTriggerClick(e);},onFocus:props.onFocus,onBlur:function onBlur(_ref3){var name=_ref3.name;props.onBlur==null?void 0:props.onBlur({name:name,value:value});},leadingIcon:props.icon,componentName:props.isSelectInput?MetaConstants.SelectInput:MetaConstants.AutoComplete,testID:props.testID,id:`${dropdownBaseId}-trigger`,labelId:`${dropdownBaseId}-label`,role:isAutoCompleteInHeader?'searchbox':'combobox',hasPopup:isAutoCompleteInHeader?false:getActionListContainerRole(hasFooterAction,dropdownTriggerer),isPopupExpanded:isOpen,activeDescendant:activeIndex>=0?`${dropdownBaseId}-${activeIndex}`:undefined,popupId:isAutoCompleteInHeader?undefined:`${dropdownBaseId}-actionlist`,onChange:props.isSelectInput?undefined:props.onInputValueChange,onKeyDown:props.onTriggerKeydown,size:props.size},makeAnalyticsAttribute(props),{onTrailingInteractionElementClick:function onTrailingInteractionElementClick(){if(!props.isDisabled){if(!isReactNative()){var _triggererRef$current2;(_triggererRef$current2=triggererRef.current)==null?void 0:_triggererRef$current2.focus();}onTriggerClick();}},trailingInteractionElement:isAutoCompleteInHeader||isInsideTableEditableCell&&!isValidationStateNone?null:jsx(InputChevronIcon,{isDisabled:props.isDisabled,isOpen:isOpen})},isInsideTableEditableCell?tableInputProps:undefined,{tabIndex:isAutoCompleteInHeader?0:undefined}));};var BaseDropdownInputTrigger=React__default.forwardRef(_BaseDropdownInputTrigger);
24
25
 
25
26
  export { BaseDropdownInputTrigger };
26
27
  //# sourceMappingURL=BaseDropdownInputTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDropdownInputTrigger.js","sources":["../../../../../../src/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseInput } from '../BaseInput';\nimport type { BaseInputProps } from '../BaseInput';\nimport { InputChevronIcon } from './InputChevronIcon';\nimport type { BaseDropdownInputTriggerProps, useControlledDropdownInputProps } from './types';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { isReactNative, isBrowser } from '~utils';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { getTagsGroup } from '~components/Tag/getTagsGroup';\nimport type { BladeElementRef } from '~utils/types';\nimport { useFirstRender } from '~utils/useFirstRender';\nimport { useTableContext } from '~components/Table/TableContext';\nimport {\n rowDensityToIsTableInputCellMapping,\n tableEditableCellRowDensityToInputSizeMap,\n validationStateToInputTrailingIconMap,\n} from '~components/Table/tokens';\nimport { useTableEditableCell } from '~components/Table/TableEditableCellContext';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { fireNativeEvent } from '~utils/fireNativeEvent';\n\nconst useControlledDropdownInput = (props: useControlledDropdownInputProps): void => {\n const isFirstRender = useFirstRender();\n const {\n changeCallbackTriggerer,\n isControlled,\n options,\n selectedIndices,\n controlledValueIndices,\n setSelectedIndices,\n selectionType,\n setIsControlled,\n } = useDropdown();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n const selectValues = (valuesToSelect: string | string[]): void => {\n if (options.length > 0) {\n // we use empty `''` for clearing the input\n if (isEmpty(valuesToSelect)) {\n setSelectedIndices([]);\n } else if (typeof valuesToSelect === 'string') {\n // single select control\n const selectedItemIndex = options.findIndex((option) => option.value === valuesToSelect);\n if (selectedItemIndex >= 0) {\n setSelectedIndices([selectedItemIndex]);\n }\n } else {\n // multiselect control\n\n // Handles repeated values in user state\n const uniqueValues = Array.from(new Set(valuesToSelect));\n // Handle selectionType single with multiselect values\n const userValues = selectionType === 'single' ? [valuesToSelect?.[0]] : uniqueValues;\n\n const selectedItemIndices = userValues\n .map((optionValue) => options.findIndex((option) => option.value === optionValue))\n .filter((value) => value >= 0);\n\n setSelectedIndices(selectedItemIndices);\n }\n }\n };\n\n // Handles `defaultValue` prop\n React.useEffect(() => {\n if (options.length > 0 && props.defaultValue) {\n selectValues(props.defaultValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.length]);\n\n // Handles `value` prop\n React.useEffect(() => {\n if (options.length > 0 && props.value !== undefined) {\n if (!isControlled) {\n setIsControlled(true);\n }\n\n selectValues(props.value);\n\n // in single select AutoComplete, we have to set inputValue of autocomplete according to the new selection.\n if (selectionType === 'single' && !Array.isArray(props.value) && !props.isSelectInput) {\n props.syncInputValueWithSelection?.(props.value);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value, options]);\n\n // onChange behaviour\n React.useEffect(() => {\n // Ignore calling onChange on mount\n\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name,\n values: getValuesArrayFromIndices(),\n });\n if (isBrowser()) {\n fireNativeEvent(props.triggererRef, ['change', 'input']);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n};\n\nconst _BaseDropdownInputTrigger = (\n props: BaseDropdownInputTriggerProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n isOpen,\n activeTagIndex,\n setActiveTagIndex,\n displayValue,\n selectionType,\n dropdownTriggerer,\n dropdownBaseId,\n selectedIndices,\n triggererRef,\n triggererWrapperRef,\n isTagDismissedRef,\n onTriggerClick,\n value,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n activeIndex,\n hasFooterAction,\n hasAutoCompleteInBottomSheetHeader,\n options,\n removeOption,\n setChangeCallbackTriggerer,\n changeCallbackTriggerer,\n } = useDropdown();\n const { rowDensity } = useTableContext();\n const { isInsideTableEditableCell } = useTableEditableCell();\n\n const dropdownTriggerPlaceholder = props.placeholder ?? 'Select Option';\n const isAutoCompleteInHeader = !props.isSelectInput && hasAutoCompleteInBottomSheetHeader;\n\n const getShowAllTags = React.useCallback((): boolean => {\n if (hasAutoCompleteInBottomSheetHeader) {\n // When AutoComplete is in bottomsheet header, we never want to show all tags in outer select input\n if (props.isSelectInput) {\n return false;\n }\n\n // ... And we always want to show all tags in inner AutoComplete\n return true;\n }\n\n return isOpen;\n }, [hasAutoCompleteInBottomSheetHeader, props.isSelectInput, isOpen]);\n\n useControlledDropdownInput({\n onChange: props.onChange,\n name: props.name,\n value: props.value,\n defaultValue: props.defaultValue,\n syncInputValueWithSelection: props.syncInputValueWithSelection,\n isSelectInput: props.isSelectInput,\n triggererRef,\n });\n\n const getValue = (): string | undefined => {\n let prefix = '';\n if (props.labelPosition === 'inside-input' && props.label) {\n prefix = `${props.label}: `;\n }\n\n if (props.isSelectInput) {\n if (selectionType === 'single') {\n return `${prefix}${displayValue}`;\n }\n\n // In multiselect, we return tags so no display value is required\n return undefined;\n }\n\n // In AutoComplete, input has a special value too\n return props.inputValue;\n };\n\n const getTags = React.useMemo(\n () => ({ size }: { size: NonNullable<BaseInputProps['size']> }) => {\n if (selectionType === 'single') {\n return undefined;\n }\n\n return getTagsGroup({\n size,\n tags: selectedIndices.map((selectedIndex) => options[selectedIndex]?.title),\n activeTagIndex,\n isDisabled: props.isDisabled,\n onDismiss: ({ tagIndex }) => {\n if (isTagDismissedRef.current) {\n isTagDismissedRef.current.value = true;\n }\n\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n\n removeOption(selectedIndices[tagIndex]);\n setChangeCallbackTriggerer(Number(changeCallbackTriggerer) + 1);\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedIndices, selectionType, activeTagIndex, changeCallbackTriggerer, options],\n );\n\n const tableInputProps: Partial<BaseInputProps> = {\n isTableInputCell: rowDensityToIsTableInputCellMapping[rowDensity],\n id: 'table-editable-cell-input',\n size: tableEditableCellRowDensityToInputSizeMap[rowDensity],\n trailingIcon: validationStateToInputTrailingIconMap[props.validationState ?? 'none'],\n showHintsAsTooltip: true,\n };\n\n const isValidationStateNone =\n props.validationState === 'none' || props.validationState === undefined;\n\n return (\n <BaseInput\n as={props.isSelectInput ? 'button' : 'input'}\n ref={\n (!isReactNative()\n ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n triggererRef.current = node;\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }\n : null) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n triggererWrapperRef.current = wrapperNode;\n }}\n maxTagRows={props.maxRows ?? 'single'}\n tags={getTags({ size: props.size || 'medium' })}\n showAllTags={getShowAllTags()}\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n textAlign=\"left\"\n // Form Props\n label={props.label as string}\n placeholder={\n selectionType === 'multiple' && selectedIndices.length > 0\n ? undefined\n : dropdownTriggerPlaceholder\n }\n hideLabelText={props.label?.length === 0}\n accessibilityLabel={props.accessibilityLabel}\n labelPosition={props.labelPosition === 'inside-input' ? undefined : props.labelPosition}\n isLabelInsideInput={props.labelPosition === 'inside-input'}\n necessityIndicator={props.necessityIndicator}\n autoCompleteSuggestionType=\"none\"\n validationState={props.validationState}\n helpText={props.helpText}\n errorText={props.errorText}\n successText={props.successText}\n name={props.name}\n isDisabled={props.isDisabled}\n isRequired={props.isRequired}\n prefix={props.prefix}\n suffix={props.suffix}\n autoFocus={props.autoFocus} // eslint-disable-line jsx-a11y/no-autofocus\n value={getValue()}\n onClick={(e) => {\n if (props.isDisabled) {\n return;\n }\n props.onTriggerClick?.(e);\n }}\n onFocus={props.onFocus}\n onBlur={({ name }) => {\n props.onBlur?.({ name, value });\n }}\n leadingIcon={props.icon}\n // Meta Props\n componentName={props.isSelectInput ? MetaConstants.SelectInput : MetaConstants.AutoComplete}\n testID={props.testID}\n // a11y Props\n id={`${dropdownBaseId}-trigger`}\n labelId={`${dropdownBaseId}-label`}\n hasPopup={getActionListContainerRole(hasFooterAction, dropdownTriggerer)}\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={`${dropdownBaseId}-actionlist`}\n // Special Props for Unique behaviour between Select and AutoComplete\n onChange={props.isSelectInput ? undefined : props.onInputValueChange}\n onKeyDown={props.onTriggerKeydown}\n size={props.size}\n {...makeAnalyticsAttribute(props)}\n onTrailingInteractionElementClick={() => {\n if (!props.isDisabled) {\n // Icon onClicks to the SelectInput itself\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n onTriggerClick();\n }\n }}\n trailingInteractionElement={\n isAutoCompleteInHeader || (isInsideTableEditableCell && !isValidationStateNone) ? null : (\n <InputChevronIcon isDisabled={props.isDisabled} isOpen={isOpen} />\n )\n }\n {...(isInsideTableEditableCell ? tableInputProps : undefined)}\n />\n );\n};\n\nconst BaseDropdownInputTrigger = React.forwardRef(_BaseDropdownInputTrigger);\n\nexport { BaseDropdownInputTrigger };\n"],"names":["useControlledDropdownInput","props","isFirstRender","useFirstRender","_useDropdown","useDropdown","changeCallbackTriggerer","isControlled","options","selectedIndices","controlledValueIndices","setSelectedIndices","selectionType","setIsControlled","getValuesArrayFromIndices","indices","map","selectionIndex","value","selectValues","valuesToSelect","length","isEmpty","selectedItemIndex","findIndex","option","uniqueValues","Array","from","Set","userValues","selectedItemIndices","optionValue","filter","React","useEffect","defaultValue","undefined","isArray","isSelectInput","syncInputValueWithSelection","onChange","name","values","isBrowser","fireNativeEvent","triggererRef","_BaseDropdownInputTrigger","ref","_props$placeholder","_props$validationStat","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","hasAutoCompleteInBottomSheetHeader","removeOption","setChangeCallbackTriggerer","_useTableContext","useTableContext","rowDensity","_useTableEditableCell","useTableEditableCell","isInsideTableEditableCell","dropdownTriggerPlaceholder","placeholder","isAutoCompleteInHeader","getShowAllTags","useCallback","getValue","prefix","labelPosition","label","inputValue","getTags","useMemo","_ref","size","getTagsGroup","tags","selectedIndex","_options$selectedInde","title","isDisabled","onDismiss","_ref2","tagIndex","current","isReactNative","_triggererRef$current","focus","Number","tableInputProps","isTableInputCell","rowDensityToIsTableInputCellMapping","id","tableEditableCellRowDensityToInputSizeMap","trailingIcon","validationStateToInputTrailingIconMap","validationState","showHintsAsTooltip","isValidationStateNone","_jsx","BaseInput","Object","assign","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","onFocus","onBlur","_ref3","leadingIcon","icon","componentName","MetaConstants","SelectInput","AutoComplete","testID","labelId","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","makeAnalyticsAttribute","onTrailingInteractionElementClick","_triggererRef$current2","trailingInteractionElement","InputChevronIcon","BaseDropdownInputTrigger","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"BaseDropdownInputTrigger.js","sources":["../../../../../../src/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseInput } from '../BaseInput';\nimport type { BaseInputProps } from '../BaseInput';\nimport { InputChevronIcon } from './InputChevronIcon';\nimport type { BaseDropdownInputTriggerProps, useControlledDropdownInputProps } from './types';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { isReactNative, isBrowser } from '~utils';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { getTagsGroup } from '~components/Tag/getTagsGroup';\nimport type { BladeElementRef } from '~utils/types';\nimport { useFirstRender } from '~utils/useFirstRender';\nimport { useTableContext } from '~components/Table/TableContext';\nimport {\n rowDensityToIsTableInputCellMapping,\n tableEditableCellRowDensityToInputSizeMap,\n validationStateToInputTrailingIconMap,\n} from '~components/Table/tokens';\nimport { useTableEditableCell } from '~components/Table/TableEditableCellContext';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { fireNativeEvent } from '~utils/fireNativeEvent';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\n\nconst useControlledDropdownInput = (props: useControlledDropdownInputProps): void => {\n const isFirstRender = useFirstRender();\n const {\n changeCallbackTriggerer,\n isControlled,\n options,\n selectedIndices,\n controlledValueIndices,\n setSelectedIndices,\n selectionType,\n setIsControlled,\n } = useDropdown();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n const selectValues = (valuesToSelect: string | string[]): void => {\n if (options.length > 0) {\n // we use empty `''` for clearing the input\n if (isEmpty(valuesToSelect)) {\n setSelectedIndices([]);\n } else if (typeof valuesToSelect === 'string') {\n // single select control\n const selectedItemIndex = options.findIndex((option) => option.value === valuesToSelect);\n if (selectedItemIndex >= 0) {\n setSelectedIndices([selectedItemIndex]);\n }\n } else {\n // multiselect control\n\n // Handles repeated values in user state\n const uniqueValues = Array.from(new Set(valuesToSelect));\n // Handle selectionType single with multiselect values\n const userValues = selectionType === 'single' ? [valuesToSelect?.[0]] : uniqueValues;\n\n const selectedItemIndices = userValues\n .map((optionValue) => options.findIndex((option) => option.value === optionValue))\n .filter((value) => value >= 0);\n\n setSelectedIndices(selectedItemIndices);\n }\n }\n };\n\n // Handles `defaultValue` prop\n React.useEffect(() => {\n if (options.length > 0 && props.defaultValue) {\n selectValues(props.defaultValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.length]);\n\n // Handles `value` prop\n React.useEffect(() => {\n if (options.length > 0 && props.value !== undefined) {\n if (!isControlled) {\n setIsControlled(true);\n }\n\n selectValues(props.value);\n\n // in single select AutoComplete, we have to set inputValue of autocomplete according to the new selection.\n if (selectionType === 'single' && !Array.isArray(props.value) && !props.isSelectInput) {\n props.syncInputValueWithSelection?.(props.value);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value, options]);\n\n // onChange behaviour\n React.useEffect(() => {\n // Ignore calling onChange on mount\n\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name,\n values: getValuesArrayFromIndices(),\n });\n if (isBrowser()) {\n fireNativeEvent(props.triggererRef, ['change', 'input']);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n};\n\nconst _BaseDropdownInputTrigger = (\n props: BaseDropdownInputTriggerProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n isOpen,\n activeTagIndex,\n setActiveTagIndex,\n displayValue,\n selectionType,\n dropdownTriggerer,\n dropdownBaseId,\n selectedIndices,\n triggererRef,\n headerAutoCompleteRef,\n triggererWrapperRef,\n isTagDismissedRef,\n onTriggerClick,\n value,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n activeIndex,\n hasFooterAction,\n options,\n removeOption,\n setChangeCallbackTriggerer,\n changeCallbackTriggerer,\n } = useDropdown();\n const { rowDensity } = useTableContext();\n const { isInsideTableEditableCell } = useTableEditableCell();\n\n const dropdownTriggerPlaceholder = props.placeholder ?? 'Select Option';\n const isAutoCompleteInHeader =\n !props.isSelectInput && dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete;\n\n const getShowAllTags = React.useCallback((): boolean => {\n if (isAutoCompleteInHeader) {\n // When AutoComplete is in bottomsheet header, we never want to show all tags in outer select input\n if (props.isSelectInput) {\n return false;\n }\n\n // ... And we always want to show all tags in inner AutoComplete\n return true;\n }\n\n return isOpen;\n }, [isAutoCompleteInHeader, props.isSelectInput, isOpen]);\n\n useControlledDropdownInput({\n onChange: props.onChange,\n name: props.name,\n value: props.value,\n defaultValue: props.defaultValue,\n syncInputValueWithSelection: props.syncInputValueWithSelection,\n isSelectInput: props.isSelectInput,\n triggererRef,\n });\n\n const getValue = (): string | undefined => {\n let prefix = '';\n if (props.labelPosition === 'inside-input' && props.label) {\n prefix = `${props.label}: `;\n }\n\n if (props.isSelectInput) {\n if (selectionType === 'single') {\n return `${prefix}${displayValue}`;\n }\n\n // In multiselect, we return tags so no display value is required\n return undefined;\n }\n\n // In AutoComplete, input has a special value too\n return props.inputValue;\n };\n\n const getTags = React.useMemo(\n () => ({ size }: { size: NonNullable<BaseInputProps['size']> }) => {\n if (selectionType === 'single') {\n return undefined;\n }\n\n return getTagsGroup({\n size,\n tags: selectedIndices.map((selectedIndex) => options[selectedIndex]?.title),\n activeTagIndex,\n isDisabled: props.isDisabled,\n onDismiss: ({ tagIndex }) => {\n if (isTagDismissedRef.current) {\n isTagDismissedRef.current.value = true;\n }\n\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n\n removeOption(selectedIndices[tagIndex]);\n setChangeCallbackTriggerer(Number(changeCallbackTriggerer) + 1);\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedIndices, selectionType, activeTagIndex, changeCallbackTriggerer, options],\n );\n\n const tableInputProps: Partial<BaseInputProps> = {\n isTableInputCell: rowDensityToIsTableInputCellMapping[rowDensity],\n id: 'table-editable-cell-input',\n size: tableEditableCellRowDensityToInputSizeMap[rowDensity],\n trailingIcon: validationStateToInputTrailingIconMap[props.validationState ?? 'none'],\n showHintsAsTooltip: true,\n };\n\n const isValidationStateNone =\n props.validationState === 'none' || props.validationState === undefined;\n\n return (\n <BaseInput\n as={props.isSelectInput ? 'button' : 'input'}\n ref={\n (isReactNative()\n ? null\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n if (isAutoCompleteInHeader) {\n headerAutoCompleteRef.current = node;\n } else {\n triggererRef.current = node;\n }\n\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n // when autocomplete is in header, its not a trigger but a component inside of DropdownOverlay\n if (!isAutoCompleteInHeader) {\n triggererWrapperRef.current = wrapperNode;\n }\n }}\n maxTagRows={props.maxRows ?? 'single'}\n tags={getTags({ size: props.size || 'medium' })}\n showAllTags={getShowAllTags()}\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n textAlign=\"left\"\n // Form Props\n label={props.label as string}\n placeholder={\n selectionType === 'multiple' && selectedIndices.length > 0\n ? undefined\n : dropdownTriggerPlaceholder\n }\n hideLabelText={props.label?.length === 0}\n accessibilityLabel={props.accessibilityLabel}\n labelPosition={props.labelPosition === 'inside-input' ? undefined : props.labelPosition}\n isLabelInsideInput={props.labelPosition === 'inside-input'}\n necessityIndicator={props.necessityIndicator}\n autoCompleteSuggestionType=\"none\"\n validationState={props.validationState}\n helpText={props.helpText}\n errorText={props.errorText}\n successText={props.successText}\n name={props.name}\n isDisabled={props.isDisabled}\n isRequired={props.isRequired}\n prefix={props.prefix}\n suffix={props.suffix}\n autoFocus={props.autoFocus} // eslint-disable-line jsx-a11y/no-autofocus\n value={getValue()}\n onClick={(e) => {\n if (props.isDisabled) {\n return;\n }\n props.onTriggerClick?.(e);\n }}\n onFocus={props.onFocus}\n onBlur={({ name }) => {\n props.onBlur?.({ name, value });\n }}\n leadingIcon={props.icon}\n // Meta Props\n componentName={props.isSelectInput ? MetaConstants.SelectInput : MetaConstants.AutoComplete}\n testID={props.testID}\n // a11y Props\n id={`${dropdownBaseId}-trigger`}\n labelId={`${dropdownBaseId}-label`}\n role={isAutoCompleteInHeader ? 'searchbox' : 'combobox'}\n hasPopup={\n isAutoCompleteInHeader\n ? false\n : getActionListContainerRole(hasFooterAction, dropdownTriggerer)\n }\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={isAutoCompleteInHeader ? undefined : `${dropdownBaseId}-actionlist`}\n // Special Props for Unique behaviour between Select and AutoComplete\n onChange={props.isSelectInput ? undefined : props.onInputValueChange}\n onKeyDown={props.onTriggerKeydown}\n size={props.size}\n {...makeAnalyticsAttribute(props)}\n onTrailingInteractionElementClick={() => {\n if (!props.isDisabled) {\n // Icon onClicks to the SelectInput itself\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n onTriggerClick();\n }\n }}\n trailingInteractionElement={\n isAutoCompleteInHeader || (isInsideTableEditableCell && !isValidationStateNone) ? null : (\n <InputChevronIcon isDisabled={props.isDisabled} isOpen={isOpen} />\n )\n }\n {...(isInsideTableEditableCell ? tableInputProps : undefined)}\n // When AutoComplete is present inside DropdownOverlay, the floating ui adds tabIndex -1 internally. We override it with tabIndex 0 here\n tabIndex={isAutoCompleteInHeader ? 0 : undefined}\n />\n );\n};\n\nconst BaseDropdownInputTrigger = React.forwardRef(_BaseDropdownInputTrigger);\n\nexport { BaseDropdownInputTrigger };\n"],"names":["useControlledDropdownInput","props","isFirstRender","useFirstRender","_useDropdown","useDropdown","changeCallbackTriggerer","isControlled","options","selectedIndices","controlledValueIndices","setSelectedIndices","selectionType","setIsControlled","getValuesArrayFromIndices","indices","map","selectionIndex","value","selectValues","valuesToSelect","length","isEmpty","selectedItemIndex","findIndex","option","uniqueValues","Array","from","Set","userValues","selectedItemIndices","optionValue","filter","React","useEffect","defaultValue","undefined","isArray","isSelectInput","syncInputValueWithSelection","onChange","name","values","isBrowser","fireNativeEvent","triggererRef","_BaseDropdownInputTrigger","ref","_props$placeholder","_props$validationStat","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","headerAutoCompleteRef","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","removeOption","setChangeCallbackTriggerer","_useTableContext","useTableContext","rowDensity","_useTableEditableCell","useTableEditableCell","isInsideTableEditableCell","dropdownTriggerPlaceholder","placeholder","isAutoCompleteInHeader","dropdownComponentIds","triggers","AutoComplete","getShowAllTags","useCallback","getValue","prefix","labelPosition","label","inputValue","getTags","useMemo","_ref","size","getTagsGroup","tags","selectedIndex","_options$selectedInde","title","isDisabled","onDismiss","_ref2","tagIndex","current","isReactNative","_triggererRef$current","focus","Number","tableInputProps","isTableInputCell","rowDensityToIsTableInputCellMapping","id","tableEditableCellRowDensityToInputSizeMap","trailingIcon","validationStateToInputTrailingIconMap","validationState","showHintsAsTooltip","isValidationStateNone","_jsx","BaseInput","Object","assign","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","onFocus","onBlur","_ref3","leadingIcon","icon","componentName","MetaConstants","SelectInput","testID","labelId","role","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","makeAnalyticsAttribute","onTrailingInteractionElementClick","_triggererRef$current2","trailingInteractionElement","InputChevronIcon","tabIndex","BaseDropdownInputTrigger","forwardRef"],"mappings":"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"}
@@ -109,10 +109,10 @@ var useFilteredItems = function useFilteredItems(children) {
109
109
 
110
110
  var _useDropdown = useDropdown(),
111
111
  filteredValues = _useDropdown.filteredValues,
112
- hasAutoCompleteInBottomSheetHeader = _useDropdown.hasAutoCompleteInBottomSheetHeader,
112
+ hasAutoCompleteInHeader = _useDropdown.hasAutoCompleteInHeader,
113
113
  dropdownTriggerer = _useDropdown.dropdownTriggerer;
114
114
  var items = React__default.useMemo(function () {
115
- var hasAutoComplete = hasAutoCompleteInBottomSheetHeader || dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;
115
+ var hasAutoComplete = hasAutoCompleteInHeader || dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;
116
116
  if (!hasAutoComplete) {
117
117
  return childrenArray;
118
118
  }
@@ -145,7 +145,7 @@ var useFilteredItems = function useFilteredItems(children) {
145
145
  return acc;
146
146
  }, []);
147
147
  return filteredItems;
148
- }, [filteredValues, hasAutoCompleteInBottomSheetHeader, dropdownTriggerer, childrenArray]);
148
+ }, [filteredValues, hasAutoCompleteInHeader, dropdownTriggerer, childrenArray]);
149
149
  return {
150
150
  itemData: items,
151
151
  itemCount: items.length
@@ -1 +1 @@
1
- {"version":3,"file":"ActionListBox.web.js","sources":["../../../../../../src/components/ActionList/ActionListBox.web.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React, { useCallback } from 'react';\nimport type { VariableSizeList } from 'react-window';\nimport { VariableSizeList as VirtualizedList } from 'react-window';\nimport { StyledListBoxWrapper } from './styles/StyledListBoxWrapper';\nimport type { SectionData } from './actionListUtils';\nimport { actionListMaxHeight, getActionListPadding } from './styles/getBaseListBoxWrapperStyles';\nimport { componentIds } from './componentIds';\nimport { ActionListSectionTitle } from './ActionListItem';\nimport { useBottomSheetContext } from '~components/BottomSheet/BottomSheetContext';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport {\n actionListSectionTitleHeight,\n actionListDividerHeight,\n getActionListItemHeight,\n} from '~components/BaseMenu/BaseMenuItem/tokens';\nimport { useTheme } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { Divider } from '~components/Divider';\nimport type { ActionListItemProps } from '~components/ActionList';\n\ntype ActionListBoxProps = {\n childrenWithId?: React.ReactNode[] | null;\n sectionData: SectionData;\n actionListItemWrapperRole: 'listbox' | 'menu' | undefined;\n isMultiSelectable: boolean;\n isInBottomSheet: boolean;\n} & DataAnalyticsAttribute;\n\nconst _ActionListBox = React.forwardRef<HTMLDivElement, ActionListBoxProps>(\n ({ childrenWithId, actionListItemWrapperRole, isMultiSelectable, ...rest }, ref) => {\n const { isInBottomSheet } = useBottomSheetContext();\n\n return (\n <StyledListBoxWrapper\n isInBottomSheet={isInBottomSheet}\n ref={ref}\n {...makeAccessible({\n role: actionListItemWrapperRole,\n multiSelectable: actionListItemWrapperRole === 'listbox' ? isMultiSelectable : undefined,\n })}\n {...makeAnalyticsAttribute(rest)}\n >\n {childrenWithId}\n </StyledListBoxWrapper>\n );\n },\n);\n\nconst ActionListBox = assignWithoutSideEffects(React.memo(_ActionListBox), {\n displayName: 'ActionListBox',\n});\n\n/**\n * get the height of the item based on the componentId\n */\nconst getItemHeight = ({\n index,\n itemData,\n actionListItemHeight,\n}: {\n index: number;\n itemData: React.ReactNode[];\n actionListItemHeight: number;\n}): number => {\n if (getComponentId(itemData[index]) === componentIds.ActionListItem) {\n return actionListItemHeight;\n }\n\n if (getComponentId(itemData[index]) === componentIds.ActionListSectionTitle) {\n return actionListSectionTitleHeight;\n }\n // @ts-expect-error: key does exist\n if (itemData[index]?.key.includes('divider')) {\n return actionListDividerHeight;\n }\n return 0;\n};\n\n/**\n * Returns the height of item and height of container based on theme and device\n */\nconst getVirtualItemParams = ({\n theme,\n isMobile,\n itemCount,\n itemData,\n}: {\n theme: Theme;\n isMobile: boolean;\n itemCount: number;\n itemData: React.ReactNode[];\n}): {\n actionListItemHeight: number;\n actionListBoxHeight: number;\n} => {\n const itemHeightResponsive = getActionListItemHeight(theme);\n const actionListPadding = getActionListPadding(theme);\n const actionListItemHeight = isMobile\n ? itemHeightResponsive.itemHeightMobile\n : itemHeightResponsive.itemHeightDesktop;\n const shouldCalculateMinimumHeight = itemCount <= 10;\n const actionListBoxHeight = actionListMaxHeight - actionListPadding * 2;\n const actionListBoxMinHeight = shouldCalculateMinimumHeight\n ? itemData.reduce<number>((acc, _, index) => {\n const itemHeight = getItemHeight({ index, itemData, actionListItemHeight });\n return acc + itemHeight;\n }, 0)\n : actionListBoxHeight;\n const finalActionListBoxHeight = Math.min(actionListBoxHeight, actionListBoxMinHeight);\n\n return {\n actionListItemHeight,\n actionListBoxHeight: finalActionListBoxHeight,\n };\n};\n\n/**\n * Takes the children (ActionListItem) and returns the filtered items based on `filteredValues` state\n */\nconst useFilteredItems = (\n children: React.ReactNode[],\n): {\n itemData: React.ReactNode[];\n itemCount: number;\n} => {\n const childrenArray = React.Children.toArray(children); // Convert children to an array\n\n const { filteredValues, hasAutoCompleteInBottomSheetHeader, dropdownTriggerer } = useDropdown();\n\n const items = React.useMemo(() => {\n const hasAutoComplete =\n hasAutoCompleteInBottomSheetHeader ||\n dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n if (!hasAutoComplete) {\n return childrenArray;\n }\n\n const filteredItems = childrenArray.reduce<React.ReactNode[]>((acc, item, index) => {\n if (getComponentId(item) === componentIds.ActionListSection) {\n const sectionTitle = (\n <ActionListSectionTitle\n key={index}\n // @ts-expect-error: props does exist\n title={item?.props.title}\n isInsideVirtualizedList\n />\n );\n // @ts-expect-error: props does exist\n const sectionChildren = item?.props.children;\n\n const divider =\n index !== childrenArray.length - 1 ? (\n <Divider marginX=\"spacing.3\" marginY=\"spacing.1\" key={`divider-${index}`} />\n ) : null;\n const filteredSectionChildren = sectionChildren.filter(\n (item: { props: { value: string } }) => filteredValues.includes(item.props.value),\n );\n if (filteredSectionChildren.length !== 0) {\n acc.push(sectionTitle, ...filteredSectionChildren, divider);\n }\n } else {\n // @ts-expect-error: props does exist\n const value = item?.props.value;\n if (filteredValues.includes(value)) {\n acc.push(item);\n }\n }\n return acc;\n }, []);\n\n return filteredItems;\n }, [filteredValues, hasAutoCompleteInBottomSheetHeader, dropdownTriggerer, childrenArray]);\n\n return {\n itemData: items,\n itemCount: items.length,\n };\n};\n\nconst VirtualListItem = React.memo(\n ({\n index,\n style,\n data,\n onVirtualizedFocus,\n }: {\n index: number;\n style: React.CSSProperties;\n data: React.ReactNode[];\n onVirtualizedFocus: (index: number) => void;\n }): React.ReactElement | null => {\n const currentItem = data[index];\n\n if (\n React.isValidElement(currentItem) &&\n getComponentId(currentItem) === componentIds.ActionListItem\n ) {\n // Clone the element passed via `data` and add the `_virtualizedIndex` prop\n const elementWithIndex = React.cloneElement(\n currentItem as React.ReactElement<ActionListItemProps>,\n {\n _virtualizedIndex: index,\n _onVirtualizedFocus: onVirtualizedFocus,\n },\n );\n\n return <div style={style}>{elementWithIndex}</div>;\n }\n\n return <div style={style}>{data[index]}</div>;\n },\n (prevProps, nextProps) => {\n // Custom comparison function to determine if component should update\n return (\n prevProps.index === nextProps.index &&\n prevProps.style === nextProps.style &&\n prevProps.data[prevProps.index] === nextProps.data[nextProps.index]\n );\n },\n);\n\nconst _ActionListVirtualizedBox = React.forwardRef<HTMLDivElement, ActionListBoxProps>(\n ({ childrenWithId, actionListItemWrapperRole, isMultiSelectable, ...rest }, ref) => {\n const virtualizedListRef = React.useRef<VariableSizeList>(null);\n const [visibleStartIndex, setVisibleStartIndex] = React.useState(0);\n const [visibleStopIndex, setVisibleStopIndex] = React.useState(0);\n const items = React.Children.toArray(childrenWithId); // Convert children to an array\n const { isInBottomSheet } = useBottomSheetContext();\n const { itemData, itemCount } = useFilteredItems(items);\n\n const isMobile = useIsMobile();\n const { theme } = useTheme();\n const { actionListItemHeight, actionListBoxHeight } = React.useMemo(\n () => getVirtualItemParams({ theme, isMobile, itemCount, itemData }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [theme.name, isMobile, itemCount, itemData],\n );\n React.useEffect(() => {\n virtualizedListRef?.current?.resetAfterIndex(0);\n virtualizedListRef?.current?.scrollToItem(0);\n }, [itemCount]);\n\n return (\n <StyledListBoxWrapper\n isInBottomSheet={isInBottomSheet}\n // in case of virtualized list, we only render visible items. so css will hide divider for every last item visible. instead of hiding the last divider of the list.\n ref={ref}\n {...makeAccessible({\n role: actionListItemWrapperRole,\n multiSelectable: actionListItemWrapperRole === 'listbox' ? isMultiSelectable : undefined,\n })}\n {...makeAnalyticsAttribute(rest)}\n >\n <VirtualizedList<React.ReactNode[]>\n ref={virtualizedListRef}\n height={actionListBoxHeight}\n width=\"100%\"\n itemSize={(index) => getItemHeight({ index, itemData, actionListItemHeight })}\n itemCount={itemCount}\n itemData={itemData}\n itemKey={(index) =>\n // @ts-expect-error: props does exist\n itemData[index]?.props.value ??\n // @ts-expect-error: props does exist\n itemData[index]?.props.title ??\n // @ts-expect-error: props does exist\n itemData[index]?.props.key\n }\n onItemsRendered={({ visibleStartIndex, visibleStopIndex }) => {\n setVisibleStartIndex(visibleStartIndex);\n setVisibleStopIndex(visibleStopIndex);\n }}\n >\n {useCallback(\n ({ index, style, data }) => {\n return (\n <VirtualListItem\n index={index}\n style={style}\n data={data}\n onVirtualizedFocus={(index) => {\n // We need scroll Direction to determine the index to focus\n const scrollDirection =\n Math.round((visibleStartIndex + visibleStopIndex) / 2) > index\n ? 'top'\n : 'bottom';\n virtualizedListRef?.current?.resetAfterIndex(0);\n /**\n * we are scrolling to the item which is 3 items away from the current item.\n * since we can have 2 item sectoin header and divider which are not focusable.\n */\n virtualizedListRef?.current?.scrollToItem(\n index + (scrollDirection === 'top' ? -3 : 3),\n 'smart',\n );\n }}\n />\n );\n },\n [visibleStartIndex, visibleStopIndex],\n )}\n </VirtualizedList>\n </StyledListBoxWrapper>\n );\n },\n);\n\nconst ActionListVirtualizedBox = assignWithoutSideEffects(React.memo(_ActionListVirtualizedBox), {\n displayName: 'ActionListVirtualizedBox',\n});\n\nexport { ActionListBox, ActionListVirtualizedBox };\n"],"names":["_ActionListBox","React","forwardRef","_ref","ref","childrenWithId","actionListItemWrapperRole","isMultiSelectable","rest","_objectWithoutProperties","_excluded","_useBottomSheetContex","useBottomSheetContext","isInBottomSheet","_jsx","StyledListBoxWrapper","_objectSpread","makeAccessible","role","multiSelectable","undefined","makeAnalyticsAttribute","children","ActionListBox","assignWithoutSideEffects","memo","displayName","getItemHeight","_ref2","_itemData$index","index","itemData","actionListItemHeight","getComponentId","componentIds","ActionListItem","ActionListSectionTitle","actionListSectionTitleHeight","key","includes","actionListDividerHeight","getVirtualItemParams","_ref3","theme","isMobile","itemCount","itemHeightResponsive","getActionListItemHeight","actionListPadding","getActionListPadding","itemHeightMobile","itemHeightDesktop","shouldCalculateMinimumHeight","actionListBoxHeight","actionListMaxHeight","actionListBoxMinHeight","reduce","acc","_","itemHeight","finalActionListBoxHeight","Math","min","useFilteredItems","childrenArray","Children","toArray","_useDropdown","useDropdown","filteredValues","hasAutoCompleteInBottomSheetHeader","dropdownTriggerer","items","useMemo","hasAutoComplete","dropdownComponentIds","triggers","AutoComplete","filteredItems","item","ActionListSection","sectionTitle","title","props","isInsideVirtualizedList","sectionChildren","divider","length","Divider","marginX","marginY","concat","filteredSectionChildren","filter","value","push","apply","_toConsumableArray","VirtualListItem","_ref4","style","data","onVirtualizedFocus","currentItem","isValidElement","elementWithIndex","cloneElement","_virtualizedIndex","_onVirtualizedFocus","prevProps","nextProps","_ActionListVirtualizedBox","_ref5","_excluded2","virtualizedListRef","useRef","_React$useState","useState","_React$useState2","_slicedToArray","visibleStartIndex","setVisibleStartIndex","_React$useState3","_React$useState4","visibleStopIndex","setVisibleStopIndex","_useBottomSheetContex2","_useFilteredItems","useIsMobile","_useTheme","useTheme","_React$useMemo","name","useEffect","_virtualizedListRef$c","_virtualizedListRef$c2","current","resetAfterIndex","scrollToItem","VirtualizedList","height","width","itemSize","itemKey","_ref6","_itemData$index$props","_itemData$index2","_itemData$index3","_itemData$index4","onItemsRendered","_ref7","useCallback","_ref8","_virtualizedListRef$c3","_virtualizedListRef$c4","scrollDirection","round","ActionListVirtualizedBox"],"mappings":"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"}
1
+ {"version":3,"file":"ActionListBox.web.js","sources":["../../../../../../src/components/ActionList/ActionListBox.web.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React, { useCallback } from 'react';\nimport type { VariableSizeList } from 'react-window';\nimport { VariableSizeList as VirtualizedList } from 'react-window';\nimport { StyledListBoxWrapper } from './styles/StyledListBoxWrapper';\nimport type { SectionData } from './actionListUtils';\nimport { actionListMaxHeight, getActionListPadding } from './styles/getBaseListBoxWrapperStyles';\nimport { componentIds } from './componentIds';\nimport { ActionListSectionTitle } from './ActionListItem';\nimport { useBottomSheetContext } from '~components/BottomSheet/BottomSheetContext';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport {\n actionListSectionTitleHeight,\n actionListDividerHeight,\n getActionListItemHeight,\n} from '~components/BaseMenu/BaseMenuItem/tokens';\nimport { useTheme } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { getComponentId } from '~utils/isValidAllowedChildren';\nimport { Divider } from '~components/Divider';\nimport type { ActionListItemProps } from '~components/ActionList';\n\ntype ActionListBoxProps = {\n childrenWithId?: React.ReactNode[] | null;\n sectionData: SectionData;\n actionListItemWrapperRole: 'listbox' | 'menu' | undefined;\n isMultiSelectable: boolean;\n isInBottomSheet: boolean;\n} & DataAnalyticsAttribute;\n\nconst _ActionListBox = React.forwardRef<HTMLDivElement, ActionListBoxProps>(\n ({ childrenWithId, actionListItemWrapperRole, isMultiSelectable, ...rest }, ref) => {\n const { isInBottomSheet } = useBottomSheetContext();\n\n return (\n <StyledListBoxWrapper\n isInBottomSheet={isInBottomSheet}\n ref={ref}\n {...makeAccessible({\n role: actionListItemWrapperRole,\n multiSelectable: actionListItemWrapperRole === 'listbox' ? isMultiSelectable : undefined,\n })}\n {...makeAnalyticsAttribute(rest)}\n >\n {childrenWithId}\n </StyledListBoxWrapper>\n );\n },\n);\n\nconst ActionListBox = assignWithoutSideEffects(React.memo(_ActionListBox), {\n displayName: 'ActionListBox',\n});\n\n/**\n * get the height of the item based on the componentId\n */\nconst getItemHeight = ({\n index,\n itemData,\n actionListItemHeight,\n}: {\n index: number;\n itemData: React.ReactNode[];\n actionListItemHeight: number;\n}): number => {\n if (getComponentId(itemData[index]) === componentIds.ActionListItem) {\n return actionListItemHeight;\n }\n\n if (getComponentId(itemData[index]) === componentIds.ActionListSectionTitle) {\n return actionListSectionTitleHeight;\n }\n // @ts-expect-error: key does exist\n if (itemData[index]?.key.includes('divider')) {\n return actionListDividerHeight;\n }\n return 0;\n};\n\n/**\n * Returns the height of item and height of container based on theme and device\n */\nconst getVirtualItemParams = ({\n theme,\n isMobile,\n itemCount,\n itemData,\n}: {\n theme: Theme;\n isMobile: boolean;\n itemCount: number;\n itemData: React.ReactNode[];\n}): {\n actionListItemHeight: number;\n actionListBoxHeight: number;\n} => {\n const itemHeightResponsive = getActionListItemHeight(theme);\n const actionListPadding = getActionListPadding(theme);\n const actionListItemHeight = isMobile\n ? itemHeightResponsive.itemHeightMobile\n : itemHeightResponsive.itemHeightDesktop;\n const shouldCalculateMinimumHeight = itemCount <= 10;\n const actionListBoxHeight = actionListMaxHeight - actionListPadding * 2;\n const actionListBoxMinHeight = shouldCalculateMinimumHeight\n ? itemData.reduce<number>((acc, _, index) => {\n const itemHeight = getItemHeight({ index, itemData, actionListItemHeight });\n return acc + itemHeight;\n }, 0)\n : actionListBoxHeight;\n const finalActionListBoxHeight = Math.min(actionListBoxHeight, actionListBoxMinHeight);\n\n return {\n actionListItemHeight,\n actionListBoxHeight: finalActionListBoxHeight,\n };\n};\n\n/**\n * Takes the children (ActionListItem) and returns the filtered items based on `filteredValues` state\n */\nconst useFilteredItems = (\n children: React.ReactNode[],\n): {\n itemData: React.ReactNode[];\n itemCount: number;\n} => {\n const childrenArray = React.Children.toArray(children); // Convert children to an array\n\n const { filteredValues, hasAutoCompleteInHeader, dropdownTriggerer } = useDropdown();\n\n const items = React.useMemo(() => {\n const hasAutoComplete =\n hasAutoCompleteInHeader || dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;\n\n if (!hasAutoComplete) {\n return childrenArray;\n }\n\n const filteredItems = childrenArray.reduce<React.ReactNode[]>((acc, item, index) => {\n if (getComponentId(item) === componentIds.ActionListSection) {\n const sectionTitle = (\n <ActionListSectionTitle\n key={index}\n // @ts-expect-error: props does exist\n title={item?.props.title}\n isInsideVirtualizedList\n />\n );\n // @ts-expect-error: props does exist\n const sectionChildren = item?.props.children;\n\n const divider =\n index !== childrenArray.length - 1 ? (\n <Divider marginX=\"spacing.3\" marginY=\"spacing.1\" key={`divider-${index}`} />\n ) : null;\n const filteredSectionChildren = sectionChildren.filter(\n (item: { props: { value: string } }) => filteredValues.includes(item.props.value),\n );\n if (filteredSectionChildren.length !== 0) {\n acc.push(sectionTitle, ...filteredSectionChildren, divider);\n }\n } else {\n // @ts-expect-error: props does exist\n const value = item?.props.value;\n if (filteredValues.includes(value)) {\n acc.push(item);\n }\n }\n return acc;\n }, []);\n\n return filteredItems;\n }, [filteredValues, hasAutoCompleteInHeader, dropdownTriggerer, childrenArray]);\n\n return {\n itemData: items,\n itemCount: items.length,\n };\n};\n\nconst VirtualListItem = React.memo(\n ({\n index,\n style,\n data,\n onVirtualizedFocus,\n }: {\n index: number;\n style: React.CSSProperties;\n data: React.ReactNode[];\n onVirtualizedFocus: (index: number) => void;\n }): React.ReactElement | null => {\n const currentItem = data[index];\n\n if (\n React.isValidElement(currentItem) &&\n getComponentId(currentItem) === componentIds.ActionListItem\n ) {\n // Clone the element passed via `data` and add the `_virtualizedIndex` prop\n const elementWithIndex = React.cloneElement(\n currentItem as React.ReactElement<ActionListItemProps>,\n {\n _virtualizedIndex: index,\n _onVirtualizedFocus: onVirtualizedFocus,\n },\n );\n\n return <div style={style}>{elementWithIndex}</div>;\n }\n\n return <div style={style}>{data[index]}</div>;\n },\n (prevProps, nextProps) => {\n // Custom comparison function to determine if component should update\n return (\n prevProps.index === nextProps.index &&\n prevProps.style === nextProps.style &&\n prevProps.data[prevProps.index] === nextProps.data[nextProps.index]\n );\n },\n);\n\nconst _ActionListVirtualizedBox = React.forwardRef<HTMLDivElement, ActionListBoxProps>(\n ({ childrenWithId, actionListItemWrapperRole, isMultiSelectable, ...rest }, ref) => {\n const virtualizedListRef = React.useRef<VariableSizeList>(null);\n const [visibleStartIndex, setVisibleStartIndex] = React.useState(0);\n const [visibleStopIndex, setVisibleStopIndex] = React.useState(0);\n const items = React.Children.toArray(childrenWithId); // Convert children to an array\n const { isInBottomSheet } = useBottomSheetContext();\n const { itemData, itemCount } = useFilteredItems(items);\n\n const isMobile = useIsMobile();\n const { theme } = useTheme();\n const { actionListItemHeight, actionListBoxHeight } = React.useMemo(\n () => getVirtualItemParams({ theme, isMobile, itemCount, itemData }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [theme.name, isMobile, itemCount, itemData],\n );\n React.useEffect(() => {\n virtualizedListRef?.current?.resetAfterIndex(0);\n virtualizedListRef?.current?.scrollToItem(0);\n }, [itemCount]);\n\n return (\n <StyledListBoxWrapper\n isInBottomSheet={isInBottomSheet}\n // in case of virtualized list, we only render visible items. so css will hide divider for every last item visible. instead of hiding the last divider of the list.\n ref={ref}\n {...makeAccessible({\n role: actionListItemWrapperRole,\n multiSelectable: actionListItemWrapperRole === 'listbox' ? isMultiSelectable : undefined,\n })}\n {...makeAnalyticsAttribute(rest)}\n >\n <VirtualizedList<React.ReactNode[]>\n ref={virtualizedListRef}\n height={actionListBoxHeight}\n width=\"100%\"\n itemSize={(index) => getItemHeight({ index, itemData, actionListItemHeight })}\n itemCount={itemCount}\n itemData={itemData}\n itemKey={(index) =>\n // @ts-expect-error: props does exist\n itemData[index]?.props.value ??\n // @ts-expect-error: props does exist\n itemData[index]?.props.title ??\n // @ts-expect-error: props does exist\n itemData[index]?.props.key\n }\n onItemsRendered={({ visibleStartIndex, visibleStopIndex }) => {\n setVisibleStartIndex(visibleStartIndex);\n setVisibleStopIndex(visibleStopIndex);\n }}\n >\n {useCallback(\n ({ index, style, data }) => {\n return (\n <VirtualListItem\n index={index}\n style={style}\n data={data}\n onVirtualizedFocus={(index) => {\n // We need scroll Direction to determine the index to focus\n const scrollDirection =\n Math.round((visibleStartIndex + visibleStopIndex) / 2) > index\n ? 'top'\n : 'bottom';\n virtualizedListRef?.current?.resetAfterIndex(0);\n /**\n * we are scrolling to the item which is 3 items away from the current item.\n * since we can have 2 item sectoin header and divider which are not focusable.\n */\n virtualizedListRef?.current?.scrollToItem(\n index + (scrollDirection === 'top' ? -3 : 3),\n 'smart',\n );\n }}\n />\n );\n },\n [visibleStartIndex, visibleStopIndex],\n )}\n </VirtualizedList>\n </StyledListBoxWrapper>\n );\n },\n);\n\nconst ActionListVirtualizedBox = assignWithoutSideEffects(React.memo(_ActionListVirtualizedBox), {\n displayName: 'ActionListVirtualizedBox',\n});\n\nexport { ActionListBox, ActionListVirtualizedBox };\n"],"names":["_ActionListBox","React","forwardRef","_ref","ref","childrenWithId","actionListItemWrapperRole","isMultiSelectable","rest","_objectWithoutProperties","_excluded","_useBottomSheetContex","useBottomSheetContext","isInBottomSheet","_jsx","StyledListBoxWrapper","_objectSpread","makeAccessible","role","multiSelectable","undefined","makeAnalyticsAttribute","children","ActionListBox","assignWithoutSideEffects","memo","displayName","getItemHeight","_ref2","_itemData$index","index","itemData","actionListItemHeight","getComponentId","componentIds","ActionListItem","ActionListSectionTitle","actionListSectionTitleHeight","key","includes","actionListDividerHeight","getVirtualItemParams","_ref3","theme","isMobile","itemCount","itemHeightResponsive","getActionListItemHeight","actionListPadding","getActionListPadding","itemHeightMobile","itemHeightDesktop","shouldCalculateMinimumHeight","actionListBoxHeight","actionListMaxHeight","actionListBoxMinHeight","reduce","acc","_","itemHeight","finalActionListBoxHeight","Math","min","useFilteredItems","childrenArray","Children","toArray","_useDropdown","useDropdown","filteredValues","hasAutoCompleteInHeader","dropdownTriggerer","items","useMemo","hasAutoComplete","dropdownComponentIds","triggers","AutoComplete","filteredItems","item","ActionListSection","sectionTitle","title","props","isInsideVirtualizedList","sectionChildren","divider","length","Divider","marginX","marginY","concat","filteredSectionChildren","filter","value","push","apply","_toConsumableArray","VirtualListItem","_ref4","style","data","onVirtualizedFocus","currentItem","isValidElement","elementWithIndex","cloneElement","_virtualizedIndex","_onVirtualizedFocus","prevProps","nextProps","_ActionListVirtualizedBox","_ref5","_excluded2","virtualizedListRef","useRef","_React$useState","useState","_React$useState2","_slicedToArray","visibleStartIndex","setVisibleStartIndex","_React$useState3","_React$useState4","visibleStopIndex","setVisibleStopIndex","_useBottomSheetContex2","_useFilteredItems","useIsMobile","_useTheme","useTheme","_React$useMemo","name","useEffect","_virtualizedListRef$c","_virtualizedListRef$c2","current","resetAfterIndex","scrollToItem","VirtualizedList","height","width","itemSize","itemKey","_ref6","_itemData$index$props","_itemData$index2","_itemData$index3","_itemData$index4","onItemsRendered","_ref7","useCallback","_ref8","_virtualizedListRef$c3","_virtualizedListRef$c4","scrollDirection","round","ActionListVirtualizedBox"],"mappings":"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"}
@@ -81,10 +81,10 @@ var _ActionListSection = function _ActionListSection(_ref2) {
81
81
  _sectionChildValues = _ref2._sectionChildValues,
82
82
  rest = _objectWithoutProperties(_ref2, _excluded);
83
83
  var _useDropdown = useDropdown(),
84
- hasAutoCompleteInBottomSheetHeader = _useDropdown.hasAutoCompleteInBottomSheetHeader,
84
+ hasAutoCompleteInHeader = _useDropdown.hasAutoCompleteInHeader,
85
85
  dropdownTriggerer = _useDropdown.dropdownTriggerer,
86
86
  filteredValues = _useDropdown.filteredValues;
87
- var hasAutoComplete = hasAutoCompleteInBottomSheetHeader || dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;
87
+ var hasAutoComplete = hasAutoCompleteInHeader || dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;
88
88
  var isSectionVisible = React__default.useMemo(function () {
89
89
  if (hasAutoComplete) {
90
90
  var visibleActionListItemInSection = _sectionChildValues === null || _sectionChildValues === void 0 ? void 0 : _sectionChildValues.find(function (actionItemValue) {
@@ -243,7 +243,7 @@ var _ActionListItem = function _ActionListItem(props) {
243
243
  dropdownTriggerer = _useDropdown2.dropdownTriggerer,
244
244
  isKeydownPressed = _useDropdown2.isKeydownPressed,
245
245
  filteredValues = _useDropdown2.filteredValues,
246
- hasAutoCompleteInBottomSheetHeader = _useDropdown2.hasAutoCompleteInBottomSheetHeader,
246
+ hasAutoCompleteInHeader = _useDropdown2.hasAutoCompleteInHeader,
247
247
  hasUnControlledFilterChipSelectInput = _useDropdown2.hasUnControlledFilterChipSelectInput;
248
248
  React__default.useEffect(function () {
249
249
  if (activeIndex === props._index && props._virtualizedIndex !== undefined) {
@@ -252,7 +252,7 @@ var _ActionListItem = function _ActionListItem(props) {
252
252
  }
253
253
  // eslint-disable-next-line react-hooks/exhaustive-deps
254
254
  }, [activeIndex]);
255
- var hasAutoComplete = hasAutoCompleteInBottomSheetHeader || dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;
255
+ var hasAutoComplete = hasAutoCompleteInHeader || dropdownTriggerer === dropdownComponentIds.triggers.AutoComplete;
256
256
  var renderOnWebAs = props.href ? 'a' : 'button';
257
257
  /**
258
258
  * In SelectInput, returns the isSelected according to selected indexes in the state