@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":"useDatesState.js","sources":["../../../../../../src/components/DatePicker/useDatesState.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { DatePickerType, PickerBaseProps } from '@mantine/dates';\nimport dayjs from 'dayjs';\nimport { useEffect, useState } from 'react';\nimport { useUncontrolledDates } from './useControlledDates';\n\ninterface UseDatesRangeInput<Type extends DatePickerType = 'default'>\n extends PickerBaseProps<Type> {\n level: 'year' | 'month' | 'day';\n type: Type;\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void;\n applyTimezone?: boolean;\n}\n\nfunction isInRange(date: Date, range: [Date, Date]) {\n const _range = [...range].sort((a, b) => a.getTime() - b.getTime());\n return (\n dayjs(_range[0]).startOf('day').subtract(1, 'ms').isBefore(date) &&\n dayjs(_range[1]).endOf('day').add(1, 'ms').isAfter(date)\n );\n}\n\nexport function useDatesState<Type extends DatePickerType = 'default'>({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n applyTimezone = true,\n}: UseDatesRangeInput<Type>) {\n const [_value, setValue] = useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n applyTimezone,\n });\n\n const [pickedDate, setPickedDate] = useState<Date | null>(\n type === 'range' ? (_value[0] && !_value[1] ? _value[0] : null) : null,\n );\n const [hoveredDate, setHoveredDate] = useState<Date | null>(null);\n\n const onDateChange = (date: Date) => {\n if (type === 'range') {\n if (pickedDate instanceof Date && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n const result: [Date, Date] = [date, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n\n if (\n _value[0] &&\n !_value[1] &&\n dayjs(date).isSame(_value[0], level) &&\n !allowSingleDateInRange\n ) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n\n const isDateInRange = (date: Date) => {\n if (pickedDate instanceof Date && hoveredDate instanceof Date) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n\n if (_value[0] instanceof Date && _value[1] instanceof Date) {\n return isInRange(date, _value);\n }\n\n return false;\n };\n\n const handleReset = () => {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n };\n const onRootMouseLeave =\n type === 'range'\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n setHoveredDate(null);\n }\n : onMouseLeave;\n\n const isFirstInRange = (date: Date) => {\n if (!(_value[0] instanceof Date)) {\n return false;\n }\n\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n\n return false;\n };\n\n const isLastInRange = (date: Date) => {\n if (_value[1] instanceof Date) {\n return dayjs(date).isSame(_value[1], level);\n }\n\n if (!(_value[0] instanceof Date) || !hoveredDate) {\n return false;\n }\n\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n\n const getControlProps = (date: Date) => {\n if (type === 'range') {\n return {\n selected: _value.some(\n (selection: Date) => selection && dayjs(selection).isSame(date, level),\n ),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n 'data-celltype': level,\n 'data-date': `${date.getMonth()}-${date.getDate()}`,\n };\n }\n\n const selected = dayjs(_value).isSame(date, level);\n return {\n selected,\n 'data-autofocus': selected || undefined,\n 'data-celltype': level,\n 'data-date': `${date.getMonth()}-${date.getDate()}`,\n };\n };\n\n const onHoveredDateChange = type === 'range' && pickedDate ? setHoveredDate : () => {};\n\n useEffect(() => {\n if (type === 'range' && !_value[0] && !_value[1]) {\n setPickedDate(null);\n }\n }, [value]);\n\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n setPickedDate,\n pickedDate,\n controlledValue: _value,\n setControlledValue: setValue,\n handleReset,\n } as const;\n}\n"],"names":["isInRange","date","range","_range","_toConsumableArray","sort","a","b","getTime","dayjs","startOf","subtract","isBefore","endOf","add","isAfter","useDatesState","_ref","type","level","value","defaultValue","onChange","allowSingleDateInRange","allowDeselect","onMouseLeave","_ref$applyTimezone","applyTimezone","_useUncontrolledDates","useUncontrolledDates","_useUncontrolledDates2","_slicedToArray","_value","setValue","_useState","useState","_useState2","pickedDate","setPickedDate","_useState3","_useState4","hoveredDate","setHoveredDate","onDateChange","Date","isSame","result","isDateInRange","handleReset","onRootMouseLeave","event","isFirstInRange","isLastInRange","getControlProps","selected","some","selection","inRange","firstInRange","lastInRange","undefined","concat","getMonth","getDate","onHoveredDateChange","useEffect","controlledValue","setControlledValue"],"mappings":"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"}
1
+ {"version":3,"file":"useDatesState.js","sources":["../../../../../../src/components/DatePicker/useDatesState.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-empty-function */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { DatePickerType, PickerBaseProps } from '@mantine/dates';\nimport dayjs from 'dayjs';\nimport { useEffect, useState } from 'react';\nimport { useUncontrolledDates } from './useControlledDates';\n\ninterface UseDatesRangeInput<Type extends DatePickerType = 'default'>\n extends PickerBaseProps<Type> {\n level: 'year' | 'month' | 'day';\n type: Type;\n onMouseLeave?: (event: React.MouseEvent<HTMLDivElement>) => void;\n applyTimezone?: boolean;\n}\n\ntype ChangeValue = 'day' | 'month' | 'year';\ntype OnDateChange = (date: Date, changeValue: ChangeValue) => void;\n\nfunction isInRange(date: Date, range: [Date, Date]) {\n const _range = [...range].sort((a, b) => a.getTime() - b.getTime());\n return (\n dayjs(_range[0]).startOf('day').subtract(1, 'ms').isBefore(date) &&\n dayjs(_range[1]).endOf('day').add(1, 'ms').isAfter(date)\n );\n}\n\nexport function useDatesState<Type extends DatePickerType = 'default'>({\n type,\n level,\n value,\n defaultValue,\n onChange,\n allowSingleDateInRange,\n allowDeselect,\n onMouseLeave,\n applyTimezone = true,\n}: UseDatesRangeInput<Type>) {\n const [_value, setValue] = useUncontrolledDates({\n type,\n value,\n defaultValue,\n onChange,\n applyTimezone,\n });\n\n const [pickedDate, setPickedDate] = useState<Date | null>(\n type === 'range' ? (_value[0] && !_value[1] ? _value[0] : null) : null,\n );\n const [hoveredDate, setHoveredDate] = useState<Date | null>(null);\n\n const onDateChange: OnDateChange = (date, changeValue) => {\n const shouldChangeValue =\n (changeValue === 'month' || changeValue === 'year') && type === 'default';\n if (shouldChangeValue) {\n const prevDate = _value || new Date();\n\n const newDate = new Date(prevDate);\n if (changeValue === 'month') {\n newDate.setMonth(date.getMonth());\n } else if (changeValue === 'year') {\n newDate.setFullYear(date.getFullYear());\n }\n\n date = newDate;\n }\n\n if (type === 'range') {\n if (pickedDate instanceof Date && !_value[1]) {\n if (dayjs(date).isSame(pickedDate, level) && !allowSingleDateInRange) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n const result: [Date, Date] = [date, pickedDate];\n result.sort((a, b) => a.getTime() - b.getTime());\n setValue(result);\n setHoveredDate(null);\n setPickedDate(null);\n return;\n }\n\n if (\n _value[0] &&\n !_value[1] &&\n dayjs(date).isSame(_value[0], level) &&\n !allowSingleDateInRange\n ) {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n return;\n }\n\n setValue([date, null]);\n setHoveredDate(null);\n setPickedDate(date);\n return;\n }\n\n if (_value && allowDeselect && dayjs(date).isSame(_value, level)) {\n setValue(null);\n } else {\n setValue(date);\n }\n };\n\n const isDateInRange = (date: Date) => {\n if (pickedDate instanceof Date && hoveredDate instanceof Date) {\n return isInRange(date, [hoveredDate, pickedDate]);\n }\n\n if (_value[0] instanceof Date && _value[1] instanceof Date) {\n return isInRange(date, _value);\n }\n\n return false;\n };\n\n const handleReset = () => {\n setPickedDate(null);\n setHoveredDate(null);\n setValue([null, null]);\n };\n const onRootMouseLeave =\n type === 'range'\n ? (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseLeave?.(event);\n setHoveredDate(null);\n }\n : onMouseLeave;\n\n const isFirstInRange = (date: Date) => {\n if (!(_value[0] instanceof Date)) {\n return false;\n }\n\n if (dayjs(date).isSame(_value[0], level)) {\n return !(hoveredDate && dayjs(hoveredDate).isBefore(_value[0]));\n }\n\n return false;\n };\n\n const isLastInRange = (date: Date) => {\n if (_value[1] instanceof Date) {\n return dayjs(date).isSame(_value[1], level);\n }\n\n if (!(_value[0] instanceof Date) || !hoveredDate) {\n return false;\n }\n\n return dayjs(hoveredDate).isBefore(_value[0]) && dayjs(date).isSame(_value[0], level);\n };\n\n const getControlProps = (date: Date) => {\n if (type === 'range') {\n return {\n selected: _value.some(\n (selection: Date) => selection && dayjs(selection).isSame(date, level),\n ),\n inRange: isDateInRange(date),\n firstInRange: isFirstInRange(date),\n lastInRange: isLastInRange(date),\n 'data-autofocus': (!!_value[0] && dayjs(_value[0]).isSame(date, level)) || undefined,\n 'data-celltype': level,\n 'data-date': `${date.getMonth()}-${date.getDate()}`,\n };\n }\n\n const selected = dayjs(_value).isSame(date, level);\n return {\n selected,\n 'data-autofocus': selected || undefined,\n 'data-celltype': level,\n 'data-date': `${date.getMonth()}-${date.getDate()}`,\n };\n };\n\n const onHoveredDateChange = type === 'range' && pickedDate ? setHoveredDate : () => {};\n\n useEffect(() => {\n if (type === 'range' && !_value[0] && !_value[1]) {\n setPickedDate(null);\n }\n }, [value]);\n\n return {\n onDateChange,\n onRootMouseLeave,\n onHoveredDateChange,\n getControlProps,\n setPickedDate,\n pickedDate,\n controlledValue: _value,\n setControlledValue: setValue,\n handleReset,\n } as const;\n}\n"],"names":["isInRange","date","range","_range","_toConsumableArray","sort","a","b","getTime","dayjs","startOf","subtract","isBefore","endOf","add","isAfter","useDatesState","_ref","type","level","value","defaultValue","onChange","allowSingleDateInRange","allowDeselect","onMouseLeave","_ref$applyTimezone","applyTimezone","_useUncontrolledDates","useUncontrolledDates","_useUncontrolledDates2","_slicedToArray","_value","setValue","_useState","useState","_useState2","pickedDate","setPickedDate","_useState3","_useState4","hoveredDate","setHoveredDate","onDateChange","changeValue","shouldChangeValue","prevDate","Date","newDate","setMonth","getMonth","setFullYear","getFullYear","isSame","result","isDateInRange","handleReset","onRootMouseLeave","event","isFirstInRange","isLastInRange","getControlProps","selected","some","selection","inRange","firstInRange","lastInRange","undefined","concat","getDate","onHoveredDateChange","useEffect","controlledValue","setControlledValue"],"mappings":"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"}
@@ -42,7 +42,11 @@ var usePopup = function usePopup(_ref) {
42
42
  padding: GAP,
43
43
  fallbackAxisSideDirection: 'end'
44
44
  }), offset(GAP)],
45
- whileElementsMounted: autoUpdate
45
+ whileElementsMounted: function whileElementsMounted(reference, floating, update) {
46
+ return autoUpdate(reference, floating, update, {
47
+ elementResize: false
48
+ });
49
+ }
46
50
  }),
47
51
  refs = _useFloating.refs,
48
52
  floatingStyles = _useFloating.floatingStyles,
@@ -1 +1 @@
1
- {"version":3,"file":"usePopup.js","sources":["../../../../../../src/components/DatePicker/usePopup.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { UseFloatingOptions } from '@floating-ui/react';\nimport {\n autoUpdate,\n flip,\n offset,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from '@floating-ui/react';\nimport { size, spacing } from '~tokens/global';\nimport { useTheme } from '~utils';\nimport { getFloatingPlacementParts } from '~utils/getFloatingPlacementParts';\n\ntype UsePopupProps = {\n enabled?: boolean;\n open?: boolean;\n placement: UseFloatingOptions['placement'];\n onOpenChange?: UseFloatingOptions['onOpenChange'];\n referenceRef: React.RefObject<HTMLButtonElement>;\n};\n\nconst usePopup = ({\n enabled = true,\n placement,\n open,\n onOpenChange,\n referenceRef,\n}: UsePopupProps) => {\n const GAP = spacing[4];\n const { theme } = useTheme();\n const [side] = getFloatingPlacementParts(placement!);\n const isOppositeAxis = side === 'right' || side === 'bottom';\n\n const { refs, floatingStyles, context, placement: computedPlacement } = useFloating({\n open,\n onOpenChange: (isOpen, event, reason) => {\n onOpenChange?.(isOpen, event, reason);\n if (reason === 'escape-key') {\n referenceRef.current?.focus();\n }\n },\n placement,\n strategy: 'fixed',\n elements: {\n reference: referenceRef.current,\n },\n middleware: [\n shift({ crossAxis: false, padding: GAP }),\n flip({ padding: GAP, fallbackAxisSideDirection: 'end' }),\n offset(GAP),\n ],\n whileElementsMounted: autoUpdate,\n });\n\n // we need to animate from the offset of the computed placement\n // because placement can change dynamically based on available space\n const [computedSide] = getFloatingPlacementParts(computedPlacement);\n const computedIsHorizontal = computedSide === 'left' || computedSide === 'right';\n const animationOffset = isOppositeAxis ? -size[4] : size[4];\n const { isMounted, styles: animationStyles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: {\n opacity: 0,\n transform: `translate${computedIsHorizontal ? 'X' : 'Y'}(${animationOffset}px)`,\n },\n });\n\n // remove click handler if popover is controlled\n const click = useClick(context);\n const dismiss = useDismiss(context, { enabled });\n const role = useRole(context);\n const { getReferenceProps, getFloatingProps } = useInteractions([click, dismiss, role]);\n\n return {\n refs,\n context,\n isMounted,\n floatingStyles,\n animationStyles,\n getReferenceProps,\n getFloatingProps,\n } as const;\n};\n\nexport { usePopup };\n"],"names":["usePopup","_ref","_ref$enabled","enabled","placement","open","onOpenChange","referenceRef","GAP","spacing","_useTheme","useTheme","theme","_getFloatingPlacement","getFloatingPlacementParts","_getFloatingPlacement2","_slicedToArray","side","isOppositeAxis","_useFloating","useFloating","isOpen","event","reason","_referenceRef$current","current","focus","strategy","elements","reference","middleware","shift","crossAxis","padding","flip","fallbackAxisSideDirection","offset","whileElementsMounted","autoUpdate","refs","floatingStyles","context","computedPlacement","_getFloatingPlacement3","_getFloatingPlacement4","computedSide","computedIsHorizontal","animationOffset","size","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","opacity","transform","concat","isMounted","animationStyles","styles","click","useClick","dismiss","useDismiss","role","useRole","_useInteractions","useInteractions","getReferenceProps","getFloatingProps"],"mappings":"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"}
1
+ {"version":3,"file":"usePopup.js","sources":["../../../../../../src/components/DatePicker/usePopup.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { UseFloatingOptions } from '@floating-ui/react';\nimport {\n autoUpdate,\n flip,\n offset,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n useTransitionStyles,\n} from '@floating-ui/react';\nimport { size, spacing } from '~tokens/global';\nimport { useTheme } from '~utils';\nimport { getFloatingPlacementParts } from '~utils/getFloatingPlacementParts';\n\ntype UsePopupProps = {\n enabled?: boolean;\n open?: boolean;\n placement: UseFloatingOptions['placement'];\n onOpenChange?: UseFloatingOptions['onOpenChange'];\n referenceRef: React.RefObject<HTMLButtonElement>;\n};\n\nconst usePopup = ({\n enabled = true,\n placement,\n open,\n onOpenChange,\n referenceRef,\n}: UsePopupProps) => {\n const GAP = spacing[4];\n const { theme } = useTheme();\n const [side] = getFloatingPlacementParts(placement!);\n const isOppositeAxis = side === 'right' || side === 'bottom';\n\n const { refs, floatingStyles, context, placement: computedPlacement } = useFloating({\n open,\n onOpenChange: (isOpen, event, reason) => {\n onOpenChange?.(isOpen, event, reason);\n if (reason === 'escape-key') {\n referenceRef.current?.focus();\n }\n },\n placement,\n strategy: 'fixed',\n elements: {\n reference: referenceRef.current,\n },\n middleware: [\n shift({ crossAxis: false, padding: GAP }),\n flip({ padding: GAP, fallbackAxisSideDirection: 'end' }),\n offset(GAP),\n ],\n whileElementsMounted: (reference, floating, update) =>\n autoUpdate(reference, floating, update, {\n elementResize: false,\n }),\n });\n\n // we need to animate from the offset of the computed placement\n // because placement can change dynamically based on available space\n const [computedSide] = getFloatingPlacementParts(computedPlacement);\n const computedIsHorizontal = computedSide === 'left' || computedSide === 'right';\n const animationOffset = isOppositeAxis ? -size[4] : size[4];\n const { isMounted, styles: animationStyles } = useTransitionStyles(context, {\n duration: theme.motion.duration.quick,\n initial: {\n opacity: 0,\n transform: `translate${computedIsHorizontal ? 'X' : 'Y'}(${animationOffset}px)`,\n },\n });\n\n // remove click handler if popover is controlled\n const click = useClick(context);\n const dismiss = useDismiss(context, { enabled });\n const role = useRole(context);\n const { getReferenceProps, getFloatingProps } = useInteractions([click, dismiss, role]);\n\n return {\n refs,\n context,\n isMounted,\n floatingStyles,\n animationStyles,\n getReferenceProps,\n getFloatingProps,\n } as const;\n};\n\nexport { usePopup };\n"],"names":["usePopup","_ref","_ref$enabled","enabled","placement","open","onOpenChange","referenceRef","GAP","spacing","_useTheme","useTheme","theme","_getFloatingPlacement","getFloatingPlacementParts","_getFloatingPlacement2","_slicedToArray","side","isOppositeAxis","_useFloating","useFloating","isOpen","event","reason","_referenceRef$current","current","focus","strategy","elements","reference","middleware","shift","crossAxis","padding","flip","fallbackAxisSideDirection","offset","whileElementsMounted","floating","update","autoUpdate","elementResize","refs","floatingStyles","context","computedPlacement","_getFloatingPlacement3","_getFloatingPlacement4","computedSide","computedIsHorizontal","animationOffset","size","_useTransitionStyles","useTransitionStyles","duration","motion","quick","initial","opacity","transform","concat","isMounted","animationStyles","styles","click","useClick","dismiss","useDismiss","role","useRole","_useInteractions","useInteractions","getReferenceProps","getFloatingProps"],"mappings":"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"}
@@ -13,7 +13,7 @@ import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeA
13
13
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
14
14
  import { Box } from '../Box/Box.js';
15
15
 
16
- var _excluded = ["title", "subtitle", "leading", "trailing", "titleSuffix"];
16
+ var _excluded = ["title", "subtitle", "leading", "trailing", "titleSuffix", "children"];
17
17
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
18
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
19
19
  var _DrawerHeader = function _DrawerHeader(_ref) {
@@ -22,6 +22,7 @@ var _DrawerHeader = function _DrawerHeader(_ref) {
22
22
  leading = _ref.leading,
23
23
  trailing = _ref.trailing,
24
24
  titleSuffix = _ref.titleSuffix,
25
+ children = _ref.children,
25
26
  rest = _objectWithoutProperties(_ref, _excluded);
26
27
  var _React$useContext = React__default.useContext(DrawerContext),
27
28
  close = _React$useContext.close,
@@ -42,7 +43,7 @@ var _DrawerHeader = function _DrawerHeader(_ref) {
42
43
  var isDrawerExiting = isAtleastOneDrawerOpen && isExiting && stackingLevel !== 1;
43
44
  return /*#__PURE__*/jsx(BaseHeader
44
45
  // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
45
- , _objectSpread({
46
+ , _objectSpread(_objectSpread({
46
47
  showBackButton: isStackedDrawer || isDrawerExiting,
47
48
  showCloseButton: true,
48
49
  closeButtonRef: closeButtonRef,
@@ -57,7 +58,9 @@ var _DrawerHeader = function _DrawerHeader(_ref) {
57
58
  subtitle: subtitle,
58
59
  leading: leading,
59
60
  trailing: trailing
60
- }, makeAnalyticsAttribute(rest)));
61
+ }, makeAnalyticsAttribute(rest)), {}, {
62
+ children: children
63
+ }));
61
64
  };
62
65
 
63
66
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerSubcomponents.web.js","sources":["../../../../../../src/components/Drawer/DrawerSubcomponents.web.tsx"],"sourcesContent":["import React from 'react';\nimport { drawerComponentIds } from './drawerComponentIds';\nimport { DrawerContext } from './DrawerContext';\nimport type { DrawerHeaderProps } from './types';\nimport { useDrawerStack } from './StackProvider';\nimport { BaseHeader } from '~components/BaseHeaderFooter/BaseHeader';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst _DrawerHeader = ({\n title,\n subtitle,\n leading,\n trailing,\n titleSuffix,\n ...rest\n}: DrawerHeaderProps): React.ReactElement => {\n const { close, closeButtonRef, stackingLevel, isExiting } = React.useContext(DrawerContext);\n const { drawerStack } = useDrawerStack();\n const closeAllDrawers = (): void => {\n for (const onDismiss of Object.values(drawerStack)) {\n onDismiss();\n }\n };\n\n const isStackedDrawer = stackingLevel && stackingLevel > 1;\n\n const isAtleastOneDrawerOpen = Object.keys(drawerStack).length > 0;\n // This condition is to avoid back button disappear while stacked drawer is in the exiting transition\n const isDrawerExiting = isAtleastOneDrawerOpen && isExiting && stackingLevel !== 1;\n\n return (\n <BaseHeader\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n showBackButton={isStackedDrawer || isDrawerExiting}\n showCloseButton={true}\n closeButtonRef={closeButtonRef}\n onCloseButtonClick={() => closeAllDrawers()}\n onBackButtonClick={() => close()}\n title={title}\n titleSuffix={titleSuffix}\n subtitle={subtitle}\n leading={leading}\n trailing={trailing}\n {...makeAnalyticsAttribute(rest)}\n />\n );\n};\n\n/**\n * #### Usage\n *\n * ```jsx\n * <DrawerHeader\n * title=\"Announcements\"\n * subtitle=\"Checkout what's new in Razorpay\"\n * titleSuffix={<DrawerHeaderBadge>New</DrawerHeaderBadge>}\n * leading={<DrawerHeaderIcon icon={AnnouncementIcon} />}\n * trailing={<Button icon={DownloadIcon} />}\n * />\n * ```\n *\n */\nconst DrawerHeader = assignWithoutSideEffects(_DrawerHeader, {\n componentId: drawerComponentIds.DrawerHeader,\n});\n\nconst drawerPadding = 'spacing.6';\n\nconst _DrawerBody = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <Box padding={drawerPadding} overflow=\"auto\" flex=\"1\">\n {children}\n </Box>\n );\n};\nconst DrawerBody = assignWithoutSideEffects(_DrawerBody, {\n componentId: drawerComponentIds.DrawerBody,\n});\n\nexport { DrawerHeader, DrawerBody, drawerPadding };\n"],"names":["_DrawerHeader","_ref","title","subtitle","leading","trailing","titleSuffix","rest","_objectWithoutProperties","_excluded","_React$useContext","React","useContext","DrawerContext","close","closeButtonRef","stackingLevel","isExiting","_useDrawerStack","useDrawerStack","drawerStack","closeAllDrawers","_i","_Object$values","Object","values","length","onDismiss","isStackedDrawer","isAtleastOneDrawerOpen","keys","isDrawerExiting","_jsx","BaseHeader","_objectSpread","showBackButton","showCloseButton","onCloseButtonClick","onBackButtonClick","makeAnalyticsAttribute","DrawerHeader","assignWithoutSideEffects","componentId","drawerComponentIds","drawerPadding","_DrawerBody","_ref2","children","Box","padding","overflow","flex","DrawerBody"],"mappings":";;;;;;;;;;;;;;;;;;AAUA,IAAMA,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAO0B;AAAA,EAAA,IAN3CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRC,WAAW,GAAAL,IAAA,CAAXK,WAAW;AACRC,IAAAA,IAAI,GAAAC,wBAAA,CAAAP,IAAA,EAAAQ,SAAA,CAAA,CAAA;AAEP,EAAA,IAAAC,iBAAA,GAA4DC,cAAK,CAACC,UAAU,CAACC,aAAa,CAAC;IAAnFC,KAAK,GAAAJ,iBAAA,CAALI,KAAK;IAAEC,cAAc,GAAAL,iBAAA,CAAdK,cAAc;IAAEC,aAAa,GAAAN,iBAAA,CAAbM,aAAa;IAAEC,SAAS,GAAAP,iBAAA,CAATO,SAAS,CAAA;AACvD,EAAA,IAAAC,eAAA,GAAwBC,cAAc,EAAE;IAAhCC,WAAW,GAAAF,eAAA,CAAXE,WAAW,CAAA;AACnB,EAAA,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,GAAe;AAClC,IAAA,KAAA,IAAAC,EAAA,GAAAC,CAAAA,EAAAA,cAAA,GAAwBC,MAAM,CAACC,MAAM,CAACL,WAAW,CAAC,EAAAE,EAAA,GAAAC,cAAA,CAAAG,MAAA,EAAAJ,EAAA,EAAE,EAAA;AAA/C,MAAA,IAAMK,SAAS,GAAAJ,cAAA,CAAAD,EAAA,CAAA,CAAA;AAClBK,MAAAA,SAAS,EAAE,CAAA;AACb,KAAA;GACD,CAAA;AAED,EAAA,IAAMC,eAAe,GAAGZ,aAAa,IAAIA,aAAa,GAAG,CAAC,CAAA;EAE1D,IAAMa,sBAAsB,GAAGL,MAAM,CAACM,IAAI,CAACV,WAAW,CAAC,CAACM,MAAM,GAAG,CAAC,CAAA;AAClE;EACA,IAAMK,eAAe,GAAGF,sBAAsB,IAAIZ,SAAS,IAAID,aAAa,KAAK,CAAC,CAAA;AAElF,EAAA,oBACEgB,GAAA,CAACC,UAAAA;AACC;AAAA,IAAAC,aAAA,CAAA;IACAC,cAAc,EAAEP,eAAe,IAAIG,eAAgB;AACnDK,IAAAA,eAAe,EAAE,IAAK;AACtBrB,IAAAA,cAAc,EAAEA,cAAe;IAC/BsB,kBAAkB,EAAE,SAAAA,kBAAA,GAAA;MAAA,OAAMhB,eAAe,EAAE,CAAA;KAAC;IAC5CiB,iBAAiB,EAAE,SAAAA,iBAAA,GAAA;MAAA,OAAMxB,KAAK,EAAE,CAAA;KAAC;AACjCZ,IAAAA,KAAK,EAAEA,KAAM;AACbI,IAAAA,WAAW,EAAEA,WAAY;AACzBH,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,EACfkC,sBAAsB,CAAChC,IAAI,CAAC,CACjC,CAAC,CAAA;AAEN,CAAC,CAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMiC,YAAY,gBAAGC,wBAAwB,CAACzC,aAAa,EAAE;EAC3D0C,WAAW,EAAEC,kBAAkB,CAACH,YAAAA;AAClC,CAAC,EAAC;AAEII,IAAAA,aAAa,GAAG,YAAW;AAEjC,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,KAAA,EAAwE;AAAA,EAAA,IAAlEC,QAAQ,GAAAD,KAAA,CAARC,QAAQ,CAAA;EAC7B,oBACEf,GAAA,CAACgB,GAAG,EAAA;AAACC,IAAAA,OAAO,EAAEL,aAAc;AAACM,IAAAA,QAAQ,EAAC,MAAM;AAACC,IAAAA,IAAI,EAAC,GAAG;AAAAJ,IAAAA,QAAA,EAClDA,QAAAA;AAAQ,GACN,CAAC,CAAA;AAEV,CAAC,CAAA;AACD,IAAMK,UAAU,gBAAGX,wBAAwB,CAACI,WAAW,EAAE;EACvDH,WAAW,EAAEC,kBAAkB,CAACS,UAAAA;AAClC,CAAC;;;;"}
1
+ {"version":3,"file":"DrawerSubcomponents.web.js","sources":["../../../../../../src/components/Drawer/DrawerSubcomponents.web.tsx"],"sourcesContent":["import React from 'react';\nimport { drawerComponentIds } from './drawerComponentIds';\nimport { DrawerContext } from './DrawerContext';\nimport type { DrawerHeaderProps } from './types';\nimport { useDrawerStack } from './StackProvider';\nimport { BaseHeader } from '~components/BaseHeaderFooter/BaseHeader';\nimport { Box } from '~components/Box';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst _DrawerHeader = ({\n title,\n subtitle,\n leading,\n trailing,\n titleSuffix,\n children,\n ...rest\n}: DrawerHeaderProps): React.ReactElement => {\n const { close, closeButtonRef, stackingLevel, isExiting } = React.useContext(DrawerContext);\n const { drawerStack } = useDrawerStack();\n const closeAllDrawers = (): void => {\n for (const onDismiss of Object.values(drawerStack)) {\n onDismiss();\n }\n };\n\n const isStackedDrawer = stackingLevel && stackingLevel > 1;\n\n const isAtleastOneDrawerOpen = Object.keys(drawerStack).length > 0;\n // This condition is to avoid back button disappear while stacked drawer is in the exiting transition\n const isDrawerExiting = isAtleastOneDrawerOpen && isExiting && stackingLevel !== 1;\n\n return (\n <BaseHeader\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n showBackButton={isStackedDrawer || isDrawerExiting}\n showCloseButton={true}\n closeButtonRef={closeButtonRef}\n onCloseButtonClick={() => closeAllDrawers()}\n onBackButtonClick={() => close()}\n title={title}\n titleSuffix={titleSuffix}\n subtitle={subtitle}\n leading={leading}\n trailing={trailing}\n {...makeAnalyticsAttribute(rest)}\n >\n {children}\n </BaseHeader>\n );\n};\n\n/**\n * #### Usage\n *\n * ```jsx\n * <DrawerHeader\n * title=\"Announcements\"\n * subtitle=\"Checkout what's new in Razorpay\"\n * titleSuffix={<DrawerHeaderBadge>New</DrawerHeaderBadge>}\n * leading={<DrawerHeaderIcon icon={AnnouncementIcon} />}\n * trailing={<Button icon={DownloadIcon} />}\n * />\n * ```\n *\n */\nconst DrawerHeader = assignWithoutSideEffects(_DrawerHeader, {\n componentId: drawerComponentIds.DrawerHeader,\n});\n\nconst drawerPadding = 'spacing.6';\n\nconst _DrawerBody = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <Box padding={drawerPadding} overflow=\"auto\" flex=\"1\">\n {children}\n </Box>\n );\n};\nconst DrawerBody = assignWithoutSideEffects(_DrawerBody, {\n componentId: drawerComponentIds.DrawerBody,\n});\n\nexport { DrawerHeader, DrawerBody, drawerPadding };\n"],"names":["_DrawerHeader","_ref","title","subtitle","leading","trailing","titleSuffix","children","rest","_objectWithoutProperties","_excluded","_React$useContext","React","useContext","DrawerContext","close","closeButtonRef","stackingLevel","isExiting","_useDrawerStack","useDrawerStack","drawerStack","closeAllDrawers","_i","_Object$values","Object","values","length","onDismiss","isStackedDrawer","isAtleastOneDrawerOpen","keys","isDrawerExiting","_jsx","BaseHeader","_objectSpread","showBackButton","showCloseButton","onCloseButtonClick","onBackButtonClick","makeAnalyticsAttribute","DrawerHeader","assignWithoutSideEffects","componentId","drawerComponentIds","drawerPadding","_DrawerBody","_ref2","Box","padding","overflow","flex","DrawerBody"],"mappings":"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"}
@@ -102,8 +102,8 @@ var _Dropdown = function _Dropdown(_ref, ref) {
102
102
  setHasFooterAction = _React$useState16[1];
103
103
  var _React$useState17 = React__default.useState(false),
104
104
  _React$useState18 = _slicedToArray(_React$useState17, 2),
105
- hasAutoCompleteInBottomSheetHeader = _React$useState18[0],
106
- setHasAutoCompleteInBottomSheetHeader = _React$useState18[1];
105
+ hasAutoCompleteInHeader = _React$useState18[0],
106
+ setHasAutoCompleteInHeader = _React$useState18[1];
107
107
  var _React$useState19 = React__default.useState(false),
108
108
  _React$useState20 = _slicedToArray(_React$useState19, 2),
109
109
  hasUnControlledFilterChipSelectInput = _React$useState20[0],
@@ -132,6 +132,7 @@ var _Dropdown = function _Dropdown(_ref, ref) {
132
132
  * */
133
133
  var triggererWrapperRef = React__default.useRef(null);
134
134
  var triggererRef = React__default.useRef(null);
135
+ var headerAutoCompleteRef = React__default.useRef(null);
135
136
  var actionListItemRef = React__default.useRef(null);
136
137
  var dropdownTriggerer = React__default.useRef();
137
138
  var isTagDismissedRef = React__default.useRef({
@@ -221,13 +222,14 @@ var _Dropdown = function _Dropdown(_ref, ref) {
221
222
  setIsKeydownPressed: setIsKeydownPressed,
222
223
  dropdownBaseId: dropdownBaseId,
223
224
  triggererRef: triggererRef,
225
+ headerAutoCompleteRef: headerAutoCompleteRef,
224
226
  triggererWrapperRef: triggererWrapperRef,
225
227
  actionListItemRef: actionListItemRef,
226
228
  selectionType: selectionType,
227
229
  hasFooterAction: hasFooterAction,
228
230
  setHasFooterAction: setHasFooterAction,
229
- hasAutoCompleteInBottomSheetHeader: hasAutoCompleteInBottomSheetHeader,
230
- setHasAutoCompleteInBottomSheetHeader: setHasAutoCompleteInBottomSheetHeader,
231
+ hasAutoCompleteInHeader: hasAutoCompleteInHeader,
232
+ setHasAutoCompleteInHeader: setHasAutoCompleteInHeader,
231
233
  hasUnControlledFilterChipSelectInput: hasUnControlledFilterChipSelectInput,
232
234
  setHasUnControlledFilterChipSelectInput: setHasUnControlledFilterChipSelectInput,
233
235
  dropdownTriggerer: dropdownTriggerer.current,
@@ -244,13 +246,13 @@ var _Dropdown = function _Dropdown(_ref, ref) {
244
246
  return {
245
247
  isOpen: isDropdownOpen,
246
248
  dropdownHasBottomSheet: dropdownHasBottomSheet,
247
- hasAutoCompleteInBottomSheetHeader: hasAutoCompleteInBottomSheetHeader,
249
+ hasAutoCompleteInHeader: hasAutoCompleteInHeader,
248
250
  setDropdownHasBottomSheet: setDropdownHasBottomSheet,
249
251
  // This is the dismiss function which will be injected into the BottomSheet
250
252
  // Basically <BottomSheet onDismiss={onBottomSheetDismiss} />
251
253
  onBottomSheetDismiss: close
252
254
  };
253
- }, [dropdownHasBottomSheet, hasAutoCompleteInBottomSheetHeader, isDropdownOpen, close]);
255
+ }, [dropdownHasBottomSheet, hasAutoCompleteInHeader, isDropdownOpen, close]);
254
256
  return /*#__PURE__*/jsx(BottomSheetAndDropdownGlueContext.Provider, {
255
257
  value: BottomSheetAndDropdownGlueContextValue,
256
258
  children: /*#__PURE__*/jsx(DropdownContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DropdownContext } from './useDropdown';\nimport type { DropdownContextType } from './useDropdown';\nimport type { DropdownProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useId } from '~utils/useId';\nimport { ComponentIds as bottomSheetComponentIds } from '~components/BottomSheet/componentIds';\nimport { BottomSheetAndDropdownGlueContext } from '~components/BottomSheet/BottomSheetContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { throwBladeError } from '~utils/logger';\nimport type { BladeElementRef, ContainerElementType } from '~utils/types';\nimport { useControllableState } from '~utils/useControllable';\nimport { mergeRefs } from '~utils/useMergeRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst validDropdownChildren = [\n // TODO: Remove Box once CountrySelector's button sizing is fixed\n dropdownComponentIds.BaseBox,\n dropdownComponentIds.triggers.SelectInput,\n dropdownComponentIds.triggers.SearchInput,\n dropdownComponentIds.triggers.DropdownButton,\n dropdownComponentIds.triggers.DropdownIconButton,\n dropdownComponentIds.triggers.DropdownLink,\n dropdownComponentIds.DropdownOverlay,\n dropdownComponentIds.triggers.AutoComplete,\n bottomSheetComponentIds.BottomSheet,\n dropdownComponentIds.triggers.FilterChipSelectInput,\n];\n\n/**\n * ### Dropdown component\n *\n * Dropdown component is generic component that controls the dropdown functionality.\n * It can be used with multiple triggers and mostly contains ActionList component inside it\n *\n * ---\n *\n * #### Usage\n *\n * ```jsx\n * <Dropdown selectionType=\"single\">\n * <SelectInput />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem />\n * <ActionListItem />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select Dropdown Documentation}\n */\nconst _Dropdown = (\n {\n children,\n isOpen: isOpenControlled,\n onOpenChange,\n selectionType = 'single',\n testID,\n _width,\n ...rest\n }: DropdownProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const [options, setOptions] = React.useState<DropdownContextType['options']>([]);\n const [filteredValues, setFilteredValues] = React.useState<string[]>([]);\n const [selectedIndices, setSelectedIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [controlledValueIndices, setControlledValueIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [activeIndex, setActiveIndex] = React.useState(-1);\n const [activeTagIndex, setActiveTagIndex] = React.useState(-1);\n const [shouldIgnoreBlurAnimation, setShouldIgnoreBlurAnimation] = React.useState(false);\n const [hasFooterAction, setHasFooterAction] = React.useState(false);\n const [\n hasAutoCompleteInBottomSheetHeader,\n setHasAutoCompleteInBottomSheetHeader,\n ] = React.useState(false);\n const [\n hasUnControlledFilterChipSelectInput,\n setHasUnControlledFilterChipSelectInput,\n ] = React.useState(false);\n const [isKeydownPressed, setIsKeydownPressed] = React.useState(false);\n const [changeCallbackTriggerer, setChangeCallbackTriggerer] = React.useState<\n DropdownContextType['changeCallbackTriggerer']\n >(0);\n const [isControlled, setIsControlled] = React.useState(false);\n // keep track if dropdown contains bottomsheet\n const [dropdownHasBottomSheet, setDropdownHasBottomSheet] = React.useState(false);\n\n /**\n * In inputs, actual input is smaller than the visible input wrapper.\n * You can set this reference in such cases so floating ui calculations happen correctly\n * */\n const triggererWrapperRef = React.useRef<ContainerElementType>(null);\n const triggererRef = React.useRef<HTMLButtonElement>(null);\n const actionListItemRef = React.useRef<HTMLDivElement>(null);\n const dropdownTriggerer = React.useRef<DropdownContextType['dropdownTriggerer']>();\n const isTagDismissedRef = React.useRef<{ value: boolean } | null>({ value: false });\n const visibleTagsCountRef = React.useRef<{ value: number }>({ value: 0 });\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n\n const dropdownBaseId = useId('dropdown');\n const isDropdownOpenRef = React.useRef(isOpenControlled);\n\n const [isDropdownOpen, setIsDropdownOpen] = useControllableState({\n value: isOpenControlled,\n defaultValue: false,\n onChange: (isOpenControlledValue) => {\n isDropdownOpenRef.current = isOpenControlledValue;\n onOpenChange?.(isOpenControlledValue);\n },\n });\n\n isDropdownOpenRef.current = isDropdownOpen;\n\n const setIsOpen = (isOpenValue: boolean): void => {\n isDropdownOpenRef.current = isOpenValue;\n setIsDropdownOpen(() => isOpenValue);\n };\n\n const close = React.useCallback(() => {\n setActiveTagIndex(-1);\n setIsOpen(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (__DEV__) {\n if (!validDropdownChildren.includes(getComponentId(child) ?? '')) {\n throwBladeError({\n message: `Dropdown can only have one of following elements as children - \\n\\n ${validDropdownChildren.join(\n ', ',\n )} \\n\\n Check out: https://blade.razorpay.com/?path=/story/components-dropdown`,\n moduleName: 'Dropdown',\n });\n }\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SelectInput)) {\n dropdownTriggerer.current = 'SelectInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SearchInput)) {\n dropdownTriggerer.current = 'SearchInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownButton)) {\n dropdownTriggerer.current = 'DropdownButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownIconButton)) {\n dropdownTriggerer.current = 'DropdownIconButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.AutoComplete)) {\n dropdownTriggerer.current = 'AutoComplete';\n }\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.FilterChipSelectInput)) {\n dropdownTriggerer.current = 'FilterChipSelectInput';\n }\n }\n });\n\n const contextValue = React.useMemo<DropdownContextType>(\n () => ({\n isOpen: isDropdownOpen,\n setIsOpen,\n close,\n selectedIndices,\n setSelectedIndices,\n controlledValueIndices,\n setControlledValueIndices,\n options,\n setOptions,\n filteredValues,\n setFilteredValues,\n activeIndex,\n setActiveIndex,\n activeTagIndex,\n setActiveTagIndex,\n visibleTagsCountRef,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n isKeydownPressed,\n setIsKeydownPressed,\n dropdownBaseId,\n triggererRef,\n triggererWrapperRef,\n actionListItemRef,\n selectionType,\n hasFooterAction,\n setHasFooterAction,\n hasAutoCompleteInBottomSheetHeader,\n setHasAutoCompleteInBottomSheetHeader,\n hasUnControlledFilterChipSelectInput,\n setHasUnControlledFilterChipSelectInput,\n dropdownTriggerer: dropdownTriggerer.current,\n changeCallbackTriggerer,\n setChangeCallbackTriggerer,\n isControlled,\n setIsControlled,\n isTagDismissedRef,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isDropdownOpen,\n isOpenControlled,\n selectedIndices,\n controlledValueIndices,\n options,\n filteredValues,\n activeIndex,\n activeTagIndex,\n shouldIgnoreBlurAnimation,\n selectionType,\n hasFooterAction,\n isKeydownPressed,\n changeCallbackTriggerer,\n isControlled,\n ],\n );\n\n const BottomSheetAndDropdownGlueContextValue = React.useMemo((): BottomSheetAndDropdownGlueContext => {\n return {\n isOpen: isDropdownOpen,\n dropdownHasBottomSheet,\n hasAutoCompleteInBottomSheetHeader,\n setDropdownHasBottomSheet,\n // This is the dismiss function which will be injected into the BottomSheet\n // Basically <BottomSheet onDismiss={onBottomSheetDismiss} />\n onBottomSheetDismiss: close,\n };\n }, [dropdownHasBottomSheet, hasAutoCompleteInBottomSheetHeader, isDropdownOpen, close]);\n\n return (\n <BottomSheetAndDropdownGlueContext.Provider value={BottomSheetAndDropdownGlueContextValue}>\n <DropdownContext.Provider value={contextValue}>\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={mergeRefs(ref, dropdownContainerRef as any)}\n {...metaAttribute({ name: MetaConstants.Dropdown, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n width={_width}\n >\n <BaseBox position=\"relative\" textAlign={'left' as never}>\n {children}\n </BaseBox>\n </BaseBox>\n </DropdownContext.Provider>\n </BottomSheetAndDropdownGlueContext.Provider>\n );\n};\n\nconst Dropdown = assignWithoutSideEffects(React.forwardRef(_Dropdown), {\n componentId: dropdownComponentIds.Dropdown,\n});\n\nexport { Dropdown };\n"],"names":["validDropdownChildren","dropdownComponentIds","BaseBox","triggers","SelectInput","SearchInput","DropdownButton","DropdownIconButton","DropdownLink","DropdownOverlay","AutoComplete","bottomSheetComponentIds","BottomSheet","FilterChipSelectInput","_Dropdown","_ref","ref","children","isOpenControlled","isOpen","onOpenChange","_ref$selectionType","selectionType","testID","_width","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","options","setOptions","_React$useState3","_React$useState4","filteredValues","setFilteredValues","_React$useState5","_React$useState6","selectedIndices","setSelectedIndices","_React$useState7","_React$useState8","controlledValueIndices","setControlledValueIndices","_React$useState9","_React$useState10","activeIndex","setActiveIndex","_React$useState11","_React$useState12","activeTagIndex","setActiveTagIndex","_React$useState13","_React$useState14","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","_React$useState15","_React$useState16","hasFooterAction","setHasFooterAction","_React$useState17","_React$useState18","hasAutoCompleteInBottomSheetHeader","setHasAutoCompleteInBottomSheetHeader","_React$useState19","_React$useState20","hasUnControlledFilterChipSelectInput","setHasUnControlledFilterChipSelectInput","_React$useState21","_React$useState22","isKeydownPressed","setIsKeydownPressed","_React$useState23","_React$useState24","changeCallbackTriggerer","setChangeCallbackTriggerer","_React$useState25","_React$useState26","isControlled","setIsControlled","_React$useState27","_React$useState28","dropdownHasBottomSheet","setDropdownHasBottomSheet","triggererWrapperRef","useRef","triggererRef","actionListItemRef","dropdownTriggerer","isTagDismissedRef","value","visibleTagsCountRef","dropdownContainerRef","dropdownBaseId","useId","isDropdownOpenRef","_useControllableState","useControllableState","defaultValue","onChange","isOpenControlledValue","current","_useControllableState2","isDropdownOpen","setIsDropdownOpen","setIsOpen","isOpenValue","close","useCallback","Children","map","child","isValidElement","_getComponentId","includes","getComponentId","throwBladeError","message","concat","join","moduleName","isValidAllowedChildren","contextValue","useMemo","BottomSheetAndDropdownGlueContextValue","onBottomSheetDismiss","_jsx","BottomSheetAndDropdownGlueContext","Provider","DropdownContext","_objectSpread","mergeRefs","metaAttribute","name","MetaConstants","Dropdown","getStyledProps","makeAnalyticsAttribute","width","position","textAlign","assignWithoutSideEffects","forwardRef","componentId"],"mappings":"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"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import React from 'react';\nimport { DropdownContext } from './useDropdown';\nimport type { DropdownContextType } from './useDropdown';\nimport type { DropdownProps } from './types';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useId } from '~utils/useId';\nimport { ComponentIds as bottomSheetComponentIds } from '~components/BottomSheet/componentIds';\nimport { BottomSheetAndDropdownGlueContext } from '~components/BottomSheet/BottomSheetContext';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport BaseBox from '~components/Box/BaseBox';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { getComponentId, isValidAllowedChildren } from '~utils/isValidAllowedChildren';\nimport { MetaConstants, metaAttribute } from '~utils/metaAttribute';\nimport { throwBladeError } from '~utils/logger';\nimport type { BladeElementRef, ContainerElementType } from '~utils/types';\nimport { useControllableState } from '~utils/useControllable';\nimport { mergeRefs } from '~utils/useMergeRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst validDropdownChildren = [\n // TODO: Remove Box once CountrySelector's button sizing is fixed\n dropdownComponentIds.BaseBox,\n dropdownComponentIds.triggers.SelectInput,\n dropdownComponentIds.triggers.SearchInput,\n dropdownComponentIds.triggers.DropdownButton,\n dropdownComponentIds.triggers.DropdownIconButton,\n dropdownComponentIds.triggers.DropdownLink,\n dropdownComponentIds.DropdownOverlay,\n dropdownComponentIds.triggers.AutoComplete,\n bottomSheetComponentIds.BottomSheet,\n dropdownComponentIds.triggers.FilterChipSelectInput,\n];\n\n/**\n * ### Dropdown component\n *\n * Dropdown component is generic component that controls the dropdown functionality.\n * It can be used with multiple triggers and mostly contains ActionList component inside it\n *\n * ---\n *\n * #### Usage\n *\n * ```jsx\n * <Dropdown selectionType=\"single\">\n * <SelectInput />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem />\n * <ActionListItem />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select Dropdown Documentation}\n */\nconst _Dropdown = (\n {\n children,\n isOpen: isOpenControlled,\n onOpenChange,\n selectionType = 'single',\n testID,\n _width,\n ...rest\n }: DropdownProps,\n ref: React.Ref<BladeElementRef>,\n): React.ReactElement => {\n const [options, setOptions] = React.useState<DropdownContextType['options']>([]);\n const [filteredValues, setFilteredValues] = React.useState<string[]>([]);\n const [selectedIndices, setSelectedIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [controlledValueIndices, setControlledValueIndices] = React.useState<\n DropdownContextType['selectedIndices']\n >([]);\n const [activeIndex, setActiveIndex] = React.useState(-1);\n const [activeTagIndex, setActiveTagIndex] = React.useState(-1);\n const [shouldIgnoreBlurAnimation, setShouldIgnoreBlurAnimation] = React.useState(false);\n const [hasFooterAction, setHasFooterAction] = React.useState(false);\n const [hasAutoCompleteInHeader, setHasAutoCompleteInHeader] = React.useState(false);\n const [\n hasUnControlledFilterChipSelectInput,\n setHasUnControlledFilterChipSelectInput,\n ] = React.useState(false);\n const [isKeydownPressed, setIsKeydownPressed] = React.useState(false);\n const [changeCallbackTriggerer, setChangeCallbackTriggerer] = React.useState<\n DropdownContextType['changeCallbackTriggerer']\n >(0);\n const [isControlled, setIsControlled] = React.useState(false);\n // keep track if dropdown contains bottomsheet\n const [dropdownHasBottomSheet, setDropdownHasBottomSheet] = React.useState(false);\n\n /**\n * In inputs, actual input is smaller than the visible input wrapper.\n * You can set this reference in such cases so floating ui calculations happen correctly\n * */\n const triggererWrapperRef = React.useRef<ContainerElementType>(null);\n const triggererRef = React.useRef<HTMLButtonElement>(null);\n const headerAutoCompleteRef = React.useRef<HTMLButtonElement>(null);\n const actionListItemRef = React.useRef<HTMLDivElement>(null);\n const dropdownTriggerer = React.useRef<DropdownContextType['dropdownTriggerer']>();\n const isTagDismissedRef = React.useRef<{ value: boolean } | null>({ value: false });\n const visibleTagsCountRef = React.useRef<{ value: number }>({ value: 0 });\n const dropdownContainerRef = React.useRef<HTMLDivElement>(null);\n\n const dropdownBaseId = useId('dropdown');\n const isDropdownOpenRef = React.useRef(isOpenControlled);\n\n const [isDropdownOpen, setIsDropdownOpen] = useControllableState({\n value: isOpenControlled,\n defaultValue: false,\n onChange: (isOpenControlledValue) => {\n isDropdownOpenRef.current = isOpenControlledValue;\n onOpenChange?.(isOpenControlledValue);\n },\n });\n\n isDropdownOpenRef.current = isDropdownOpen;\n\n const setIsOpen = (isOpenValue: boolean): void => {\n isDropdownOpenRef.current = isOpenValue;\n setIsDropdownOpen(() => isOpenValue);\n };\n\n const close = React.useCallback(() => {\n setActiveTagIndex(-1);\n setIsOpen(false);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n if (__DEV__) {\n if (!validDropdownChildren.includes(getComponentId(child) ?? '')) {\n throwBladeError({\n message: `Dropdown can only have one of following elements as children - \\n\\n ${validDropdownChildren.join(\n ', ',\n )} \\n\\n Check out: https://blade.razorpay.com/?path=/story/components-dropdown`,\n moduleName: 'Dropdown',\n });\n }\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SelectInput)) {\n dropdownTriggerer.current = 'SelectInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.SearchInput)) {\n dropdownTriggerer.current = 'SearchInput';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownButton)) {\n dropdownTriggerer.current = 'DropdownButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.DropdownIconButton)) {\n dropdownTriggerer.current = 'DropdownIconButton';\n }\n\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.AutoComplete)) {\n dropdownTriggerer.current = 'AutoComplete';\n }\n if (isValidAllowedChildren(child, dropdownComponentIds.triggers.FilterChipSelectInput)) {\n dropdownTriggerer.current = 'FilterChipSelectInput';\n }\n }\n });\n\n const contextValue = React.useMemo<DropdownContextType>(\n () => ({\n isOpen: isDropdownOpen,\n setIsOpen,\n close,\n selectedIndices,\n setSelectedIndices,\n controlledValueIndices,\n setControlledValueIndices,\n options,\n setOptions,\n filteredValues,\n setFilteredValues,\n activeIndex,\n setActiveIndex,\n activeTagIndex,\n setActiveTagIndex,\n visibleTagsCountRef,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n isKeydownPressed,\n setIsKeydownPressed,\n dropdownBaseId,\n triggererRef,\n headerAutoCompleteRef,\n triggererWrapperRef,\n actionListItemRef,\n selectionType,\n hasFooterAction,\n setHasFooterAction,\n hasAutoCompleteInHeader,\n setHasAutoCompleteInHeader,\n hasUnControlledFilterChipSelectInput,\n setHasUnControlledFilterChipSelectInput,\n dropdownTriggerer: dropdownTriggerer.current,\n changeCallbackTriggerer,\n setChangeCallbackTriggerer,\n isControlled,\n setIsControlled,\n isTagDismissedRef,\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n isDropdownOpen,\n isOpenControlled,\n selectedIndices,\n controlledValueIndices,\n options,\n filteredValues,\n activeIndex,\n activeTagIndex,\n shouldIgnoreBlurAnimation,\n selectionType,\n hasFooterAction,\n isKeydownPressed,\n changeCallbackTriggerer,\n isControlled,\n ],\n );\n\n const BottomSheetAndDropdownGlueContextValue = React.useMemo((): BottomSheetAndDropdownGlueContext => {\n return {\n isOpen: isDropdownOpen,\n dropdownHasBottomSheet,\n hasAutoCompleteInHeader,\n setDropdownHasBottomSheet,\n // This is the dismiss function which will be injected into the BottomSheet\n // Basically <BottomSheet onDismiss={onBottomSheetDismiss} />\n onBottomSheetDismiss: close,\n };\n }, [dropdownHasBottomSheet, hasAutoCompleteInHeader, isDropdownOpen, close]);\n\n return (\n <BottomSheetAndDropdownGlueContext.Provider value={BottomSheetAndDropdownGlueContextValue}>\n <DropdownContext.Provider value={contextValue}>\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={mergeRefs(ref, dropdownContainerRef as any)}\n {...metaAttribute({ name: MetaConstants.Dropdown, testID })}\n {...getStyledProps(rest)}\n {...makeAnalyticsAttribute(rest)}\n width={_width}\n >\n <BaseBox position=\"relative\" textAlign={'left' as never}>\n {children}\n </BaseBox>\n </BaseBox>\n </DropdownContext.Provider>\n </BottomSheetAndDropdownGlueContext.Provider>\n );\n};\n\nconst Dropdown = assignWithoutSideEffects(React.forwardRef(_Dropdown), {\n componentId: dropdownComponentIds.Dropdown,\n});\n\nexport { Dropdown };\n"],"names":["validDropdownChildren","dropdownComponentIds","BaseBox","triggers","SelectInput","SearchInput","DropdownButton","DropdownIconButton","DropdownLink","DropdownOverlay","AutoComplete","bottomSheetComponentIds","BottomSheet","FilterChipSelectInput","_Dropdown","_ref","ref","children","isOpenControlled","isOpen","onOpenChange","_ref$selectionType","selectionType","testID","_width","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","options","setOptions","_React$useState3","_React$useState4","filteredValues","setFilteredValues","_React$useState5","_React$useState6","selectedIndices","setSelectedIndices","_React$useState7","_React$useState8","controlledValueIndices","setControlledValueIndices","_React$useState9","_React$useState10","activeIndex","setActiveIndex","_React$useState11","_React$useState12","activeTagIndex","setActiveTagIndex","_React$useState13","_React$useState14","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","_React$useState15","_React$useState16","hasFooterAction","setHasFooterAction","_React$useState17","_React$useState18","hasAutoCompleteInHeader","setHasAutoCompleteInHeader","_React$useState19","_React$useState20","hasUnControlledFilterChipSelectInput","setHasUnControlledFilterChipSelectInput","_React$useState21","_React$useState22","isKeydownPressed","setIsKeydownPressed","_React$useState23","_React$useState24","changeCallbackTriggerer","setChangeCallbackTriggerer","_React$useState25","_React$useState26","isControlled","setIsControlled","_React$useState27","_React$useState28","dropdownHasBottomSheet","setDropdownHasBottomSheet","triggererWrapperRef","useRef","triggererRef","headerAutoCompleteRef","actionListItemRef","dropdownTriggerer","isTagDismissedRef","value","visibleTagsCountRef","dropdownContainerRef","dropdownBaseId","useId","isDropdownOpenRef","_useControllableState","useControllableState","defaultValue","onChange","isOpenControlledValue","current","_useControllableState2","isDropdownOpen","setIsDropdownOpen","setIsOpen","isOpenValue","close","useCallback","Children","map","child","isValidElement","_getComponentId","includes","getComponentId","throwBladeError","message","concat","join","moduleName","isValidAllowedChildren","contextValue","useMemo","BottomSheetAndDropdownGlueContextValue","onBottomSheetDismiss","_jsx","BottomSheetAndDropdownGlueContext","Provider","DropdownContext","_objectSpread","mergeRefs","metaAttribute","name","MetaConstants","Dropdown","getStyledProps","makeAnalyticsAttribute","width","position","textAlign","assignWithoutSideEffects","forwardRef","componentId"],"mappings":"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"}
@@ -17,7 +17,7 @@ import { makeAnalyticsAttribute } from '../../utils/makeAnalyticsAttribute/makeA
17
17
  import { assignWithoutSideEffects } from '../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
18
18
  import { makeAccessible } from '../../utils/makeAccessible/makeAccessible.web.js';
19
19
 
20
- var _excluded = ["title", "subtitle", "leading", "titleSuffix", "trailing", "testID"];
20
+ var _excluded = ["title", "subtitle", "leading", "titleSuffix", "trailing", "testID", "children"];
21
21
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
23
  var _DropdownHeader = function _DropdownHeader(_ref) {
@@ -27,17 +27,25 @@ var _DropdownHeader = function _DropdownHeader(_ref) {
27
27
  titleSuffix = _ref.titleSuffix,
28
28
  trailing = _ref.trailing,
29
29
  testID = _ref.testID,
30
+ children = _ref.children,
30
31
  rest = _objectWithoutProperties(_ref, _excluded);
32
+ var _useDropdown = useDropdown(),
33
+ hasAutoCompleteInHeader = _useDropdown.hasAutoCompleteInHeader,
34
+ setShouldIgnoreBlurAnimation = _useDropdown.setShouldIgnoreBlurAnimation;
31
35
  return /*#__PURE__*/jsx(BaseBox, _objectSpread(_objectSpread({
32
36
  flexShrink: 0
33
37
  }, isReactNative() ? {} : {
34
38
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
39
  onMouseDown: function onMouseDown(e) {
36
- // we don't want focus to ever move on header because its static element
37
- e.preventDefault();
40
+ // we don't want focus to ever move on header because its static element except when autocomplete is present
41
+ if (!hasAutoCompleteInHeader) {
42
+ e.preventDefault();
43
+ } else {
44
+ setShouldIgnoreBlurAnimation(false);
45
+ }
38
46
  }
39
47
  }), {}, {
40
- children: /*#__PURE__*/jsx(BaseHeader, _objectSpread({
48
+ children: /*#__PURE__*/jsx(BaseHeader, _objectSpread(_objectSpread({
41
49
  title: title,
42
50
  subtitle: subtitle,
43
51
  leading: leading,
@@ -51,7 +59,9 @@ var _DropdownHeader = function _DropdownHeader(_ref) {
51
59
  // close button
52
60
  ,
53
61
  showCloseButton: false
54
- }, makeAnalyticsAttribute(rest)))
62
+ }, makeAnalyticsAttribute(rest)), {}, {
63
+ children: children
64
+ }))
55
65
  }));
56
66
  };
57
67
  var DropdownHeader = /*#__PURE__*/assignWithoutSideEffects(_DropdownHeader, {
@@ -60,9 +70,9 @@ var DropdownHeader = /*#__PURE__*/assignWithoutSideEffects(_DropdownHeader, {
60
70
  var _DropdownFooter = function _DropdownFooter(_ref2) {
61
71
  var children = _ref2.children,
62
72
  testID = _ref2.testID;
63
- var _useDropdown = useDropdown(),
64
- setHasFooterAction = _useDropdown.setHasFooterAction,
65
- isOpen = _useDropdown.isOpen;
73
+ var _useDropdown2 = useDropdown(),
74
+ setHasFooterAction = _useDropdown2.setHasFooterAction,
75
+ isOpen = _useDropdown2.isOpen;
66
76
  var footerRef = React__default.useRef(null);
67
77
  React__default.useEffect(function () {
68
78
  setHasFooterAction(true);
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownHeaderFooter.js","sources":["../../../../../../src/components/Dropdown/DropdownHeaderFooter.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport React from 'react';\nimport { useDropdown } from './useDropdown';\nimport { BaseFooter } from '~components/BaseHeaderFooter/BaseFooter';\nimport { BaseHeader } from '~components/BaseHeaderFooter/BaseHeader';\nimport type { BaseHeaderProps } from '~components/BaseHeaderFooter/BaseHeader';\nimport type { BaseFooterProps } from '~components/BaseHeaderFooter/BaseFooter';\nimport BaseBox from '~components/Box/BaseBox';\nimport { isReactNative } from '~utils';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { MetaConstants } from '~utils/metaAttribute/metaConstants';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype DropdownHeaderProps = Pick<\n BaseHeaderProps,\n | 'title'\n | 'subtitle'\n | 'leading'\n | 'trailing'\n | 'titleSuffix'\n | 'testID'\n | keyof DataAnalyticsAttribute\n>;\n\nconst _DropdownHeader = ({\n title,\n subtitle,\n leading,\n titleSuffix,\n trailing,\n testID,\n ...rest\n}: DropdownHeaderProps): React.ReactElement => {\n return (\n <BaseBox\n flexShrink={0}\n {...(isReactNative()\n ? {}\n : {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onMouseDown: (e: any) => {\n // we don't want focus to ever move on header because its static element\n e.preventDefault();\n },\n })}\n >\n <BaseHeader\n title={title}\n subtitle={subtitle}\n leading={leading}\n trailing={trailing}\n titleSuffix={titleSuffix}\n metaComponentName={MetaConstants.DropdownHeader}\n testID={testID}\n // back button\n showBackButton={false}\n // close button\n showCloseButton={false}\n {...makeAnalyticsAttribute(rest)}\n />\n </BaseBox>\n );\n};\n\nconst DropdownHeader = assignWithoutSideEffects(_DropdownHeader, {\n componentId: 'DropdownHeader',\n});\n\ntype DropdownFooter = Pick<BaseFooterProps, 'children' | 'testID'>;\n\nconst _DropdownFooter = ({ children, testID }: DropdownFooter): React.ReactElement => {\n const { setHasFooterAction, isOpen } = useDropdown();\n const footerRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n setHasFooterAction(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={footerRef as any}\n {...makeAccessible({\n role: isReactNative() ? undefined : 'group',\n })}\n >\n <BaseFooter metaComponentName={MetaConstants.DropdownFooter} testID={testID}>\n {/* We don't want any of the interactive children to get focussed on TAB when dropdown is closed so we remove them from DOM itself */}\n {isOpen ? children : null}\n </BaseFooter>\n </BaseBox>\n );\n};\n\nconst DropdownFooter = assignWithoutSideEffects(_DropdownFooter, {\n componentId: 'DropdownFooter',\n});\n\nexport { DropdownHeader, DropdownFooter };\n"],"names":["_DropdownHeader","_ref","title","subtitle","leading","titleSuffix","trailing","testID","rest","_objectWithoutProperties","_excluded","_jsx","BaseBox","_objectSpread","flexShrink","isReactNative","onMouseDown","e","preventDefault","children","BaseHeader","metaComponentName","MetaConstants","DropdownHeader","showBackButton","showCloseButton","makeAnalyticsAttribute","assignWithoutSideEffects","componentId","_DropdownFooter","_ref2","_useDropdown","useDropdown","setHasFooterAction","isOpen","footerRef","React","useRef","useEffect","ref","makeAccessible","role","undefined","BaseFooter","DropdownFooter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA0BA,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,IAAA,EAQ0B;AAAA,EAAA,IAP7CC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,WAAW,GAAAJ,IAAA,CAAXI,WAAW;IACXC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,MAAM,GAAAN,IAAA,CAANM,MAAM;AACHC,IAAAA,IAAI,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA,CAAA,CAAA;AAEP,EAAA,oBACEC,GAAA,CAACC,OAAO,EAAAC,aAAA,CAAAA,aAAA,CAAA;AACNC,IAAAA,UAAU,EAAE,CAAA;AAAE,GAAA,EACTC,aAAa,EAAE,GAChB,EAAE,GACF;AACE;AACAC,IAAAA,WAAW,EAAE,SAAAA,WAACC,CAAAA,CAAM,EAAK;AACvB;MACAA,CAAC,CAACC,cAAc,EAAE,CAAA;AACpB,KAAA;GACD,CAAA,EAAA,EAAA,EAAA;AAAAC,IAAAA,QAAA,eAELR,GAAA,CAACS,UAAU,EAAAP,aAAA,CAAA;AACTX,MAAAA,KAAK,EAAEA,KAAM;AACbC,MAAAA,QAAQ,EAAEA,QAAS;AACnBC,MAAAA,OAAO,EAAEA,OAAQ;AACjBE,MAAAA,QAAQ,EAAEA,QAAS;AACnBD,MAAAA,WAAW,EAAEA,WAAY;MACzBgB,iBAAiB,EAAEC,aAAa,CAACC,cAAe;AAChDhB,MAAAA,MAAM,EAAEA,MAAAA;AACR;AAAA;AACAiB,MAAAA,cAAc,EAAE,KAAA;AAChB;AAAA;AACAC,MAAAA,eAAe,EAAE,KAAA;AAAM,KAAA,EACnBC,sBAAsB,CAAClB,IAAI,CAAC,CACjC,CAAA;AAAC,GAAA,CACK,CAAC,CAAA;AAEd,CAAC,CAAA;AAED,IAAMe,cAAc,gBAAGI,wBAAwB,CAAC3B,eAAe,EAAE;AAC/D4B,EAAAA,WAAW,EAAE,gBAAA;AACf,CAAC,EAAC;AAIF,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAAC,KAAA,EAAiE;AAAA,EAAA,IAA3DX,QAAQ,GAAAW,KAAA,CAARX,QAAQ;IAAEZ,MAAM,GAAAuB,KAAA,CAANvB,MAAM,CAAA;AACzC,EAAA,IAAAwB,YAAA,GAAuCC,WAAW,EAAE;IAA5CC,kBAAkB,GAAAF,YAAA,CAAlBE,kBAAkB;IAAEC,MAAM,GAAAH,YAAA,CAANG,MAAM,CAAA;AAClC,EAAA,IAAMC,SAAS,GAAGC,cAAK,CAACC,MAAM,CAAiB,IAAI,CAAC,CAAA;EAEpDD,cAAK,CAACE,SAAS,CAAC,YAAM;IACpBL,kBAAkB,CAAC,IAAI,CAAC,CAAA;AACxB;GACD,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,oBACEtB,GAAA,CAACC,OAAAA;AACC;IAAAC,aAAA,CAAAA,aAAA,CAAA;AACA0B,IAAAA,GAAG,EAAEJ,SAAAA;AAAiB,GAAA,EAClBK,cAAc,CAAC;AACjBC,IAAAA,IAAI,EAAE1B,aAAa,EAAE,GAAG2B,SAAS,GAAG,OAAA;AACtC,GAAC,CAAC,CAAA,EAAA,EAAA,EAAA;IAAAvB,QAAA,eAEFR,GAAA,CAACgC,UAAU,EAAA;MAACtB,iBAAiB,EAAEC,aAAa,CAACsB,cAAe;AAACrC,MAAAA,MAAM,EAAEA,MAAO;AAAAY,MAAAA,QAAA,EAEzEe,MAAM,GAAGf,QAAQ,GAAG,IAAA;KACX,CAAA;AAAC,GAAA,CACN,CAAC,CAAA;AAEd,CAAC,CAAA;AAED,IAAMyB,cAAc,gBAAGjB,wBAAwB,CAACE,eAAe,EAAE;AAC/DD,EAAAA,WAAW,EAAE,gBAAA;AACf,CAAC;;;;"}
1
+ {"version":3,"file":"DropdownHeaderFooter.js","sources":["../../../../../../src/components/Dropdown/DropdownHeaderFooter.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\nimport React from 'react';\nimport { useDropdown } from './useDropdown';\nimport { BaseFooter } from '~components/BaseHeaderFooter/BaseFooter';\nimport { BaseHeader } from '~components/BaseHeaderFooter/BaseHeader';\nimport type { BaseHeaderProps } from '~components/BaseHeaderFooter/BaseHeader';\nimport type { BaseFooterProps } from '~components/BaseHeaderFooter/BaseFooter';\nimport BaseBox from '~components/Box/BaseBox';\nimport { isReactNative } from '~utils';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { MetaConstants } from '~utils/metaAttribute/metaConstants';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype DropdownHeaderProps = Pick<\n BaseHeaderProps,\n | 'title'\n | 'subtitle'\n | 'leading'\n | 'trailing'\n | 'titleSuffix'\n | 'testID'\n | 'children'\n | keyof DataAnalyticsAttribute\n>;\n\nconst _DropdownHeader = ({\n title,\n subtitle,\n leading,\n titleSuffix,\n trailing,\n testID,\n children,\n ...rest\n}: DropdownHeaderProps): React.ReactElement => {\n const { hasAutoCompleteInHeader, setShouldIgnoreBlurAnimation } = useDropdown();\n\n return (\n <BaseBox\n flexShrink={0}\n {...(isReactNative()\n ? {}\n : {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onMouseDown: (e: any) => {\n // we don't want focus to ever move on header because its static element except when autocomplete is present\n if (!hasAutoCompleteInHeader) {\n e.preventDefault();\n } else {\n setShouldIgnoreBlurAnimation(false);\n }\n },\n })}\n >\n <BaseHeader\n title={title}\n subtitle={subtitle}\n leading={leading}\n trailing={trailing}\n titleSuffix={titleSuffix}\n metaComponentName={MetaConstants.DropdownHeader}\n testID={testID}\n // back button\n showBackButton={false}\n // close button\n showCloseButton={false}\n {...makeAnalyticsAttribute(rest)}\n >\n {children}\n </BaseHeader>\n </BaseBox>\n );\n};\n\nconst DropdownHeader = assignWithoutSideEffects(_DropdownHeader, {\n componentId: 'DropdownHeader',\n});\n\ntype DropdownFooter = Pick<BaseFooterProps, 'children' | 'testID'>;\n\nconst _DropdownFooter = ({ children, testID }: DropdownFooter): React.ReactElement => {\n const { setHasFooterAction, isOpen } = useDropdown();\n const footerRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n setHasFooterAction(true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <BaseBox\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={footerRef as any}\n {...makeAccessible({\n role: isReactNative() ? undefined : 'group',\n })}\n >\n <BaseFooter metaComponentName={MetaConstants.DropdownFooter} testID={testID}>\n {/* We don't want any of the interactive children to get focussed on TAB when dropdown is closed so we remove them from DOM itself */}\n {isOpen ? children : null}\n </BaseFooter>\n </BaseBox>\n );\n};\n\nconst DropdownFooter = assignWithoutSideEffects(_DropdownFooter, {\n componentId: 'DropdownFooter',\n});\n\nexport { DropdownHeader, DropdownFooter };\n"],"names":["_DropdownHeader","_ref","title","subtitle","leading","titleSuffix","trailing","testID","children","rest","_objectWithoutProperties","_excluded","_useDropdown","useDropdown","hasAutoCompleteInHeader","setShouldIgnoreBlurAnimation","_jsx","BaseBox","_objectSpread","flexShrink","isReactNative","onMouseDown","e","preventDefault","BaseHeader","metaComponentName","MetaConstants","DropdownHeader","showBackButton","showCloseButton","makeAnalyticsAttribute","assignWithoutSideEffects","componentId","_DropdownFooter","_ref2","_useDropdown2","setHasFooterAction","isOpen","footerRef","React","useRef","useEffect","ref","makeAccessible","role","undefined","BaseFooter","DropdownFooter"],"mappings":"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"}
@@ -22,6 +22,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
22
22
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
23
23
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
24
24
  var _FilterChipSelectInput = function _FilterChipSelectInput(props) {
25
+ var _options$find$title, _options$find;
25
26
  var idBase = useId('filter-chip-select-input');
26
27
  var _onClick = props.onClick,
27
28
  _onBlur = props.onBlur,
@@ -55,6 +56,9 @@ var _FilterChipSelectInput = function _FilterChipSelectInput(props) {
55
56
  setSelectedIndices = _useDropdown.setSelectedIndices,
56
57
  controlledValueIndices = _useDropdown.controlledValueIndices,
57
58
  changeCallbackTriggerer = _useDropdown.changeCallbackTriggerer;
59
+ var valueTitle = (_options$find$title = (_options$find = options.find(function (option) {
60
+ return option.value === value;
61
+ })) === null || _options$find === void 0 ? void 0 : _options$find.title) !== null && _options$find$title !== void 0 ? _options$find$title : value;
58
62
  var isUnControlled = options.length > 0 && props.value === undefined;
59
63
  // Currently we are having 2 context for selectedFilters. One is for FilterChipGroup and other is for ListView
60
64
  var _useListViewFilterCon = useListViewFilterContext(),
@@ -178,7 +182,7 @@ var _FilterChipSelectInput = function _FilterChipSelectInput(props) {
178
182
  }, [changeCallbackTriggerer]);
179
183
  return /*#__PURE__*/jsx(BaseFilterChip, _objectSpread(_objectSpread({
180
184
  label: label,
181
- value: value !== null && value !== void 0 ? value : getUnControlledFilterChipValue(),
185
+ value: valueTitle !== null && valueTitle !== void 0 ? valueTitle : getUnControlledFilterChipValue(),
182
186
  onClearButtonClick: handleClearButtonClick,
183
187
  selectionType: selectionType
184
188
  }, rest), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"FilterChipSelectInput.web.js","sources":["../../../../../../src/components/Dropdown/FilterChipSelectInput.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\n\nimport React, { useEffect } from 'react';\nimport { useDropdown } from './useDropdown';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useFilterChipGroupContext } from './FilterChipGroupContext.web';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { BaseFilterChip } from '~components/FilterChip/BaseFilterChip';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport type { BaseFilterChipProps } from '~components/FilterChip/types';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { useId } from '~utils/useId';\nimport { useListViewFilterContext } from '~components/ListView/ListViewFiltersContext.web';\nimport { useFirstRender } from '~utils/useFirstRender';\n\ntype FilterChipSelectInputProps = Pick<\n BaseFilterChipProps,\n 'onKeyDown' | 'value' | 'label' | 'testID' | 'onClick' | 'selectionType' | 'onBlur'\n> & {\n accessibilityLabel?: string;\n onChange?: (props: { name: string; values: string[] }) => void;\n name?: string;\n onClearButtonClick?: (props: { name: string; values: string[] }) => void;\n} & DataAnalyticsAttribute;\n\nconst _FilterChipSelectInput = (props: FilterChipSelectInputProps): React.ReactElement => {\n const idBase = useId('filter-chip-select-input');\n const {\n onClick,\n onBlur,\n onKeyDown,\n accessibilityLabel,\n testID,\n value,\n onClearButtonClick,\n label,\n onChange,\n name,\n ...rest\n } = props;\n const [uncontrolledInputValue, setUncontrolledInputValue] = React.useState<string[]>([]);\n const isFirstRender = useFirstRender();\n\n const {\n options,\n selectedIndices,\n onTriggerClick,\n onTriggerKeydown,\n dropdownBaseId,\n isOpen,\n activeIndex,\n hasFooterAction,\n triggererRef,\n selectionType,\n isControlled,\n setHasUnControlledFilterChipSelectInput,\n setSelectedIndices,\n controlledValueIndices,\n changeCallbackTriggerer,\n } = useDropdown();\n\n const isUnControlled = options.length > 0 && props.value === undefined;\n // Currently we are having 2 context for selectedFilters. One is for FilterChipGroup and other is for ListView\n const { listViewSelectedFilters, setListViewSelectedFilters } = useListViewFilterContext();\n const {\n clearFilterCallbackTriggerer,\n setFilterChipGroupSelectedFilters,\n } = useFilterChipGroupContext();\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 useEffect(() => {\n if (isUnControlled) {\n setHasUnControlledFilterChipSelectInput(true);\n if (listViewSelectedFilters[label]) {\n const value = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(value);\n const inputValue = value.map((selectionIndex) => options[selectionIndex].value);\n setUncontrolledInputValue(inputValue);\n setFilterChipGroupSelectedFilters((prev) =>\n prev.includes(label) ? prev : [...prev, label],\n );\n }\n } else if (listViewSelectedFilters[label]) {\n const value = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isUnControlled]);\n\n const getTitleFromValue = (value: string): string => {\n const option = options.find((option) => option.value === value);\n return option ? option.title : '';\n };\n\n const getUnControlledFilterChipValue = (): string | string[] => {\n if (selectionType === 'single') {\n if (uncontrolledInputValue.length > 0) {\n return getTitleFromValue(uncontrolledInputValue[0]);\n }\n return '';\n }\n return uncontrolledInputValue;\n };\n\n const handleClearButtonClick = (): void => {\n props.onClearButtonClick?.({ name: name ?? idBase, values: getValuesArrayFromIndices() });\n props.onChange?.({ name: name ?? idBase, values: [] });\n if (isUnControlled) {\n setUncontrolledInputValue([]);\n setSelectedIndices([]);\n }\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n };\n\n useEffect(() => {\n if (clearFilterCallbackTriggerer) {\n handleClearButtonClick();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clearFilterCallbackTriggerer]);\n\n useEffect(() => {\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name || idBase,\n values: getValuesArrayFromIndices(),\n });\n if (isUnControlled) {\n setUncontrolledInputValue(getValuesArrayFromIndices());\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n useEffect(() => {\n const isValueEmpty = selectedIndices.length === 0;\n if (!isFirstRender && !isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => (prev.includes(label) ? prev : [...prev, label]));\n setListViewSelectedFilters((prev) => ({\n ...prev,\n [label]: selectedIndices as number[],\n }));\n } else if (!isFirstRender && isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n\n return (\n <BaseFilterChip\n label={label}\n value={value ?? getUnControlledFilterChipValue()}\n onClearButtonClick={handleClearButtonClick}\n selectionType={selectionType}\n {...rest}\n ref={triggererRef as any}\n accessibilityProps={{\n label: accessibilityLabel ?? label,\n hasPopup: getActionListContainerRole(hasFooterAction, 'FilterChipSelectInput'),\n expanded: isOpen,\n controls: `${dropdownBaseId}-actionlist`,\n activeDescendant: activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined,\n }}\n onClick={(e) => {\n onTriggerClick();\n // Setting it for web fails it on native typecheck and vice versa\n onClick?.(e as any);\n }}\n onBlur={(e) => {\n // With button trigger, there is no \"value\" as such. It's just clickable items\n // Setting it for web fails it on native typecheck and vice versa\n onBlur?.(e as any);\n }}\n onKeyDown={(e) => {\n onTriggerKeydown?.({ event: e as any });\n // Setting it for web fails it on native typecheck and vice versa\n onKeyDown?.(e as any);\n }}\n />\n );\n};\n\nconst FilterChipSelectInput = assignWithoutSideEffects(_FilterChipSelectInput, {\n componentId: dropdownComponentIds.triggers.FilterChipSelectInput,\n});\n\nexport { FilterChipSelectInput };\n"],"names":["_FilterChipSelectInput","props","idBase","useId","onClick","onBlur","onKeyDown","accessibilityLabel","testID","value","onClearButtonClick","label","onChange","name","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","uncontrolledInputValue","setUncontrolledInputValue","isFirstRender","useFirstRender","_useDropdown","useDropdown","options","selectedIndices","onTriggerClick","onTriggerKeydown","dropdownBaseId","isOpen","activeIndex","hasFooterAction","triggererRef","selectionType","isControlled","setHasUnControlledFilterChipSelectInput","setSelectedIndices","controlledValueIndices","changeCallbackTriggerer","isUnControlled","length","undefined","_useListViewFilterCon","useListViewFilterContext","listViewSelectedFilters","setListViewSelectedFilters","_useFilterChipGroupCo","useFilterChipGroupContext","clearFilterCallbackTriggerer","setFilterChipGroupSelectedFilters","getValuesArrayFromIndices","indices","map","selectionIndex","useEffect","inputValue","prev","includes","concat","_toConsumableArray","getTitleFromValue","option","find","title","getUnControlledFilterChipValue","handleClearButtonClick","_props$onClearButtonC","_props$onChange","call","values","filter","_","updatedFilters","_toPropertyKey","_props$onChange2","isValueEmpty","_objectSpread","_defineProperty","_jsx","BaseFilterChip","ref","accessibilityProps","hasPopup","getActionListContainerRole","expanded","controls","activeDescendant","e","event","FilterChipSelectInput","assignWithoutSideEffects","componentId","dropdownComponentIds","triggers"],"mappings":"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"}
1
+ {"version":3,"file":"FilterChipSelectInput.web.js","sources":["../../../../../../src/components/Dropdown/FilterChipSelectInput.web.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\n\nimport React, { useEffect } from 'react';\nimport { useDropdown } from './useDropdown';\nimport { dropdownComponentIds } from './dropdownComponentIds';\nimport { useFilterChipGroupContext } from './FilterChipGroupContext.web';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { BaseFilterChip } from '~components/FilterChip/BaseFilterChip';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport type { BaseFilterChipProps } from '~components/FilterChip/types';\nimport type { DataAnalyticsAttribute } from '~utils/types';\nimport { useId } from '~utils/useId';\nimport { useListViewFilterContext } from '~components/ListView/ListViewFiltersContext.web';\nimport { useFirstRender } from '~utils/useFirstRender';\n\ntype FilterChipSelectInputProps = Pick<\n BaseFilterChipProps,\n 'onKeyDown' | 'value' | 'label' | 'testID' | 'onClick' | 'selectionType' | 'onBlur'\n> & {\n accessibilityLabel?: string;\n onChange?: (props: { name: string; values: string[] }) => void;\n name?: string;\n onClearButtonClick?: (props: { name: string; values: string[] }) => void;\n} & DataAnalyticsAttribute;\n\nconst _FilterChipSelectInput = (props: FilterChipSelectInputProps): React.ReactElement => {\n const idBase = useId('filter-chip-select-input');\n const {\n onClick,\n onBlur,\n onKeyDown,\n accessibilityLabel,\n testID,\n value,\n onClearButtonClick,\n label,\n onChange,\n name,\n ...rest\n } = props;\n const [uncontrolledInputValue, setUncontrolledInputValue] = React.useState<string[]>([]);\n const isFirstRender = useFirstRender();\n\n const {\n options,\n selectedIndices,\n onTriggerClick,\n onTriggerKeydown,\n dropdownBaseId,\n isOpen,\n activeIndex,\n hasFooterAction,\n triggererRef,\n selectionType,\n isControlled,\n setHasUnControlledFilterChipSelectInput,\n setSelectedIndices,\n controlledValueIndices,\n changeCallbackTriggerer,\n } = useDropdown();\n const valueTitle = options.find((option) => option.value === value)?.title ?? value;\n\n const isUnControlled = options.length > 0 && props.value === undefined;\n // Currently we are having 2 context for selectedFilters. One is for FilterChipGroup and other is for ListView\n const { listViewSelectedFilters, setListViewSelectedFilters } = useListViewFilterContext();\n const {\n clearFilterCallbackTriggerer,\n setFilterChipGroupSelectedFilters,\n } = useFilterChipGroupContext();\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 useEffect(() => {\n if (isUnControlled) {\n setHasUnControlledFilterChipSelectInput(true);\n if (listViewSelectedFilters[label]) {\n const value = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(value);\n const inputValue = value.map((selectionIndex) => options[selectionIndex].value);\n setUncontrolledInputValue(inputValue);\n setFilterChipGroupSelectedFilters((prev) =>\n prev.includes(label) ? prev : [...prev, label],\n );\n }\n } else if (listViewSelectedFilters[label]) {\n const value = (listViewSelectedFilters[label] as unknown) as number[];\n setSelectedIndices(value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isUnControlled]);\n\n const getTitleFromValue = (value: string): string => {\n const option = options.find((option) => option.value === value);\n return option ? option.title : '';\n };\n\n const getUnControlledFilterChipValue = (): string | string[] => {\n if (selectionType === 'single') {\n if (uncontrolledInputValue.length > 0) {\n return getTitleFromValue(uncontrolledInputValue[0]);\n }\n return '';\n }\n return uncontrolledInputValue;\n };\n\n const handleClearButtonClick = (): void => {\n props.onClearButtonClick?.({ name: name ?? idBase, values: getValuesArrayFromIndices() });\n props.onChange?.({ name: name ?? idBase, values: [] });\n if (isUnControlled) {\n setUncontrolledInputValue([]);\n setSelectedIndices([]);\n }\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n };\n\n useEffect(() => {\n if (clearFilterCallbackTriggerer) {\n handleClearButtonClick();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clearFilterCallbackTriggerer]);\n\n useEffect(() => {\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name || idBase,\n values: getValuesArrayFromIndices(),\n });\n if (isUnControlled) {\n setUncontrolledInputValue(getValuesArrayFromIndices());\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n useEffect(() => {\n const isValueEmpty = selectedIndices.length === 0;\n if (!isFirstRender && !isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => (prev.includes(label) ? prev : [...prev, label]));\n setListViewSelectedFilters((prev) => ({\n ...prev,\n [label]: selectedIndices as number[],\n }));\n } else if (!isFirstRender && isValueEmpty) {\n setFilterChipGroupSelectedFilters((prev) => prev.filter((filter) => filter !== label));\n setListViewSelectedFilters((prev) => {\n const { [label]: _, ...updatedFilters } = prev;\n return updatedFilters;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n\n return (\n <BaseFilterChip\n label={label}\n value={valueTitle ?? getUnControlledFilterChipValue()}\n onClearButtonClick={handleClearButtonClick}\n selectionType={selectionType}\n {...rest}\n ref={triggererRef as any}\n accessibilityProps={{\n label: accessibilityLabel ?? label,\n hasPopup: getActionListContainerRole(hasFooterAction, 'FilterChipSelectInput'),\n expanded: isOpen,\n controls: `${dropdownBaseId}-actionlist`,\n activeDescendant: activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined,\n }}\n onClick={(e) => {\n onTriggerClick();\n // Setting it for web fails it on native typecheck and vice versa\n onClick?.(e as any);\n }}\n onBlur={(e) => {\n // With button trigger, there is no \"value\" as such. It's just clickable items\n // Setting it for web fails it on native typecheck and vice versa\n onBlur?.(e as any);\n }}\n onKeyDown={(e) => {\n onTriggerKeydown?.({ event: e as any });\n // Setting it for web fails it on native typecheck and vice versa\n onKeyDown?.(e as any);\n }}\n />\n );\n};\n\nconst FilterChipSelectInput = assignWithoutSideEffects(_FilterChipSelectInput, {\n componentId: dropdownComponentIds.triggers.FilterChipSelectInput,\n});\n\nexport { FilterChipSelectInput };\n"],"names":["_FilterChipSelectInput","props","_options$find$title","_options$find","idBase","useId","onClick","onBlur","onKeyDown","accessibilityLabel","testID","value","onClearButtonClick","label","onChange","name","rest","_objectWithoutProperties","_excluded","_React$useState","React","useState","_React$useState2","_slicedToArray","uncontrolledInputValue","setUncontrolledInputValue","isFirstRender","useFirstRender","_useDropdown","useDropdown","options","selectedIndices","onTriggerClick","onTriggerKeydown","dropdownBaseId","isOpen","activeIndex","hasFooterAction","triggererRef","selectionType","isControlled","setHasUnControlledFilterChipSelectInput","setSelectedIndices","controlledValueIndices","changeCallbackTriggerer","valueTitle","find","option","title","isUnControlled","length","undefined","_useListViewFilterCon","useListViewFilterContext","listViewSelectedFilters","setListViewSelectedFilters","_useFilterChipGroupCo","useFilterChipGroupContext","clearFilterCallbackTriggerer","setFilterChipGroupSelectedFilters","getValuesArrayFromIndices","indices","map","selectionIndex","useEffect","inputValue","prev","includes","concat","_toConsumableArray","getTitleFromValue","getUnControlledFilterChipValue","handleClearButtonClick","_props$onClearButtonC","_props$onChange","call","values","filter","_","updatedFilters","_toPropertyKey","_props$onChange2","isValueEmpty","_objectSpread","_defineProperty","_jsx","BaseFilterChip","ref","accessibilityProps","hasPopup","getActionListContainerRole","expanded","controls","activeDescendant","e","event","FilterChipSelectInput","assignWithoutSideEffects","componentId","dropdownComponentIds","triggers"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA0BA,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIC,KAAiC,EAAyB;EAAA,IAAAC,mBAAA,EAAAC,aAAA,CAAA;AACxF,EAAA,IAAMC,MAAM,GAAGC,KAAK,CAAC,0BAA0B,CAAC,CAAA;AAChD,EAAA,IACEC,QAAO,GAWLL,KAAK,CAXPK,OAAO;IACPC,OAAM,GAUJN,KAAK,CAVPM,MAAM;IACNC,UAAS,GASPP,KAAK,CATPO,SAAS;IACTC,kBAAkB,GAQhBR,KAAK,CARPQ,kBAAkB;IAClBC,MAAM,GAOJT,KAAK,CAPPS,MAAM;IACNC,KAAK,GAMHV,KAAK,CANPU,KAAK;IACLC,kBAAkB,GAKhBX,KAAK,CALPW,kBAAkB;IAClBC,KAAK,GAIHZ,KAAK,CAJPY,KAAK;IACLC,QAAQ,GAGNb,KAAK,CAHPa,QAAQ;IACRC,IAAI,GAEFd,KAAK,CAFPc,IAAI;AACDC,IAAAA,IAAI,GAAAC,wBAAA,CACLhB,KAAK,EAAAiB,SAAA,CAAA,CAAA;AACT,EAAA,IAAAC,eAAA,GAA4DC,cAAK,CAACC,QAAQ,CAAW,EAAE,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAJ,eAAA,EAAA,CAAA,CAAA;AAAjFK,IAAAA,sBAAsB,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,yBAAyB,GAAAH,gBAAA,CAAA,CAAA,CAAA,CAAA;AACxD,EAAA,IAAMI,aAAa,GAAGC,cAAc,EAAE,CAAA;AAEtC,EAAA,IAAAC,YAAA,GAgBIC,WAAW,EAAE;IAffC,OAAO,GAAAF,YAAA,CAAPE,OAAO;IACPC,eAAe,GAAAH,YAAA,CAAfG,eAAe;IACfC,cAAc,GAAAJ,YAAA,CAAdI,cAAc;IACdC,gBAAgB,GAAAL,YAAA,CAAhBK,gBAAgB;IAChBC,cAAc,GAAAN,YAAA,CAAdM,cAAc;IACdC,MAAM,GAAAP,YAAA,CAANO,MAAM;IACNC,WAAW,GAAAR,YAAA,CAAXQ,WAAW;IACXC,eAAe,GAAAT,YAAA,CAAfS,eAAe;IACfC,YAAY,GAAAV,YAAA,CAAZU,YAAY;IACZC,aAAa,GAAAX,YAAA,CAAbW,aAAa;IACbC,YAAY,GAAAZ,YAAA,CAAZY,YAAY;IACZC,uCAAuC,GAAAb,YAAA,CAAvCa,uCAAuC;IACvCC,kBAAkB,GAAAd,YAAA,CAAlBc,kBAAkB;IAClBC,sBAAsB,GAAAf,YAAA,CAAtBe,sBAAsB;IACtBC,uBAAuB,GAAAhB,YAAA,CAAvBgB,uBAAuB,CAAA;EAEzB,IAAMC,UAAU,GAAA3C,CAAAA,mBAAA,GAAAC,CAAAA,aAAA,GAAG2B,OAAO,CAACgB,IAAI,CAAC,UAACC,MAAM,EAAA;AAAA,IAAA,OAAKA,MAAM,CAACpC,KAAK,KAAKA,KAAK,CAAA;GAAC,CAAA,MAAA,IAAA,IAAAR,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAhDA,aAAA,CAAkD6C,KAAK,MAAA,IAAA,IAAA9C,mBAAA,KAAA,KAAA,CAAA,GAAAA,mBAAA,GAAIS,KAAK,CAAA;AAEnF,EAAA,IAAMsC,cAAc,GAAGnB,OAAO,CAACoB,MAAM,GAAG,CAAC,IAAIjD,KAAK,CAACU,KAAK,KAAKwC,SAAS,CAAA;AACtE;AACA,EAAA,IAAAC,qBAAA,GAAgEC,wBAAwB,EAAE;IAAlFC,uBAAuB,GAAAF,qBAAA,CAAvBE,uBAAuB;IAAEC,0BAA0B,GAAAH,qBAAA,CAA1BG,0BAA0B,CAAA;AAC3D,EAAA,IAAAC,qBAAA,GAGIC,yBAAyB,EAAE;IAF7BC,4BAA4B,GAAAF,qBAAA,CAA5BE,4BAA4B;IAC5BC,iCAAiC,GAAAH,qBAAA,CAAjCG,iCAAiC,CAAA;AAGnC,EAAA,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,GAAmB;IAChD,IAAIC,OAAiB,GAAG,EAAE,CAAA;AAC1B,IAAA,IAAIrB,YAAY,EAAE;AAChBqB,MAAAA,OAAO,GAAGlB,sBAAsB,CAAA;AAClC,KAAC,MAAM;AACLkB,MAAAA,OAAO,GAAG9B,eAAe,CAAA;AAC3B,KAAA;AAEA,IAAA,OAAO8B,OAAO,CAACC,GAAG,CAAC,UAACC,cAAc,EAAA;AAAA,MAAA,OAAKjC,OAAO,CAACiC,cAAc,CAAC,CAACpD,KAAK,CAAA;KAAC,CAAA,CAAA;GACtE,CAAA;AAEDqD,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIf,cAAc,EAAE;MAClBR,uCAAuC,CAAC,IAAI,CAAC,CAAA;AAC7C,MAAA,IAAIa,uBAAuB,CAACzC,KAAK,CAAC,EAAE;AAClC,QAAA,IAAMF,MAAK,GAAI2C,uBAAuB,CAACzC,KAAK,CAAyB,CAAA;QACrE6B,kBAAkB,CAAC/B,MAAK,CAAC,CAAA;AACzB,QAAA,IAAMsD,UAAU,GAAGtD,MAAK,CAACmD,GAAG,CAAC,UAACC,cAAc,EAAA;AAAA,UAAA,OAAKjC,OAAO,CAACiC,cAAc,CAAC,CAACpD,KAAK,CAAA;SAAC,CAAA,CAAA;QAC/Ec,yBAAyB,CAACwC,UAAU,CAAC,CAAA;QACrCN,iCAAiC,CAAC,UAACO,IAAI,EAAA;AAAA,UAAA,OACrCA,IAAI,CAACC,QAAQ,CAACtD,KAAK,CAAC,GAAGqD,IAAI,GAAAE,EAAAA,CAAAA,MAAA,CAAAC,kBAAA,CAAOH,IAAI,CAAA,EAAA,CAAErD,KAAK,CAAC,CAAA,CAAA;AAAA,SAChD,CAAC,CAAA;AACH,OAAA;AACF,KAAC,MAAM,IAAIyC,uBAAuB,CAACzC,KAAK,CAAC,EAAE;AACzC,MAAA,IAAMF,OAAK,GAAI2C,uBAAuB,CAACzC,KAAK,CAAyB,CAAA;MACrE6B,kBAAkB,CAAC/B,OAAK,CAAC,CAAA;AAC3B,KAAA;AACA;AACF,GAAC,EAAE,CAACsC,cAAc,CAAC,CAAC,CAAA;AAEpB,EAAA,IAAMqB,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAI3D,KAAa,EAAa;AACnD,IAAA,IAAMoC,MAAM,GAAGjB,OAAO,CAACgB,IAAI,CAAC,UAACC,MAAM,EAAA;AAAA,MAAA,OAAKA,MAAM,CAACpC,KAAK,KAAKA,KAAK,CAAA;KAAC,CAAA,CAAA;AAC/D,IAAA,OAAOoC,MAAM,GAAGA,MAAM,CAACC,KAAK,GAAG,EAAE,CAAA;GAClC,CAAA;AAED,EAAA,IAAMuB,8BAA8B,GAAG,SAAjCA,8BAA8BA,GAA4B;IAC9D,IAAIhC,aAAa,KAAK,QAAQ,EAAE;AAC9B,MAAA,IAAIf,sBAAsB,CAAC0B,MAAM,GAAG,CAAC,EAAE;AACrC,QAAA,OAAOoB,iBAAiB,CAAC9C,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAA;AACrD,OAAA;AACA,MAAA,OAAO,EAAE,CAAA;AACX,KAAA;AACA,IAAA,OAAOA,sBAAsB,CAAA;GAC9B,CAAA;AAED,EAAA,IAAMgD,sBAAsB,GAAG,SAAzBA,sBAAsBA,GAAe;IAAA,IAAAC,qBAAA,EAAAC,eAAA,CAAA;AACzC,IAAA,CAAAD,qBAAA,GAAAxE,KAAK,CAACW,kBAAkB,MAAA,IAAA,IAAA6D,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAxBA,qBAAA,CAAAE,IAAA,CAAA1E,KAAK,EAAsB;AAAEc,MAAAA,IAAI,EAAEA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,IAAI,GAAIX,MAAM;MAAEwE,MAAM,EAAEhB,yBAAyB,EAAC;AAAE,KAAC,CAAC,CAAA;AACzF,IAAA,CAAAc,eAAA,GAAAzE,KAAK,CAACa,QAAQ,MAAA,IAAA,IAAA4D,eAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,eAAA,CAAAC,IAAA,CAAA1E,KAAK,EAAY;AAAEc,MAAAA,IAAI,EAAEA,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,IAAI,GAAIX,MAAM;AAAEwE,MAAAA,MAAM,EAAE,EAAA;AAAG,KAAC,CAAC,CAAA;AACtD,IAAA,IAAI3B,cAAc,EAAE;MAClBxB,yBAAyB,CAAC,EAAE,CAAC,CAAA;MAC7BiB,kBAAkB,CAAC,EAAE,CAAC,CAAA;AACxB,KAAA;IACAiB,iCAAiC,CAAC,UAACO,IAAI,EAAA;AAAA,MAAA,OAAKA,IAAI,CAACW,MAAM,CAAC,UAACA,MAAM,EAAA;QAAA,OAAKA,MAAM,KAAKhE,KAAK,CAAA;OAAC,CAAA,CAAA;KAAC,CAAA,CAAA;IACtF0C,0BAA0B,CAAC,UAACW,IAAI,EAAK;AACnC,MAAA,IAAiBY,CAAC,GAAwBZ,IAAI,CAArCrD,KAAK,CAAA;QAASkE,cAAc,GAAA9D,wBAAA,CAAKiD,IAAI,GAArCrD,KAAK,CAAA,CAAAiD,GAAA,CAAAkB,cAAA,CAAA,CAAA,CAAA;AACd,MAAA,OAAOD,cAAc,CAAA;AACvB,KAAC,CAAC,CAAA;GACH,CAAA;AAEDf,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIN,4BAA4B,EAAE;AAChCc,MAAAA,sBAAsB,EAAE,CAAA;AAC1B,KAAA;AACA;AACF,GAAC,EAAE,CAACd,4BAA4B,CAAC,CAAC,CAAA;AAElCM,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAACtC,aAAa,EAAE;AAAA,MAAA,IAAAuD,gBAAA,CAAA;AAClB,MAAA,CAAAA,gBAAA,GAAAhF,KAAK,CAACa,QAAQ,MAAA,IAAA,IAAAmE,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAdA,gBAAA,CAAAN,IAAA,CAAA1E,KAAK,EAAY;AACfc,QAAAA,IAAI,EAAEd,KAAK,CAACc,IAAI,IAAIX,MAAM;QAC1BwE,MAAM,EAAEhB,yBAAyB,EAAC;AACpC,OAAC,CAAC,CAAA;AACF,MAAA,IAAIX,cAAc,EAAE;AAClBxB,QAAAA,yBAAyB,CAACmC,yBAAyB,EAAE,CAAC,CAAA;AACxD,OAAA;AACF,KAAA;AACA;AACF,GAAC,EAAE,CAAChB,uBAAuB,CAAC,CAAC,CAAA;AAC7BoB,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMkB,YAAY,GAAGnD,eAAe,CAACmB,MAAM,KAAK,CAAC,CAAA;AACjD,IAAA,IAAI,CAACxB,aAAa,IAAI,CAACwD,YAAY,EAAE;MACnCvB,iCAAiC,CAAC,UAACO,IAAI,EAAA;AAAA,QAAA,OAAMA,IAAI,CAACC,QAAQ,CAACtD,KAAK,CAAC,GAAGqD,IAAI,GAAAE,EAAAA,CAAAA,MAAA,CAAAC,kBAAA,CAAOH,IAAI,CAAA,EAAA,CAAErD,KAAK,CAAC,CAAA,CAAA;AAAA,OAAC,CAAC,CAAA;MAC7F0C,0BAA0B,CAAC,UAACW,IAAI,EAAA;QAAA,OAAAiB,aAAA,CAAAA,aAAA,CAC3BjB,EAAAA,EAAAA,IAAI,OAAAkB,eAAA,CAAA,EAAA,EACNvE,KAAK,EAAGkB,eAAe,CAAA,CAAA,CAAA;AAAA,OACxB,CAAC,CAAA;AACL,KAAC,MAAM,IAAI,CAACL,aAAa,IAAIwD,YAAY,EAAE;MACzCvB,iCAAiC,CAAC,UAACO,IAAI,EAAA;AAAA,QAAA,OAAKA,IAAI,CAACW,MAAM,CAAC,UAACA,MAAM,EAAA;UAAA,OAAKA,MAAM,KAAKhE,KAAK,CAAA;SAAC,CAAA,CAAA;OAAC,CAAA,CAAA;MACtF0C,0BAA0B,CAAC,UAACW,IAAI,EAAK;AACnC,QAAA,IAAiBY,CAAC,GAAwBZ,IAAI,CAArCrD,KAAK,CAAA;UAASkE,cAAc,GAAA9D,wBAAA,CAAKiD,IAAI,GAArCrD,KAAK,CAAA,CAAAiD,GAAA,CAAAkB,cAAA,CAAA,CAAA,CAAA;AACd,QAAA,OAAOD,cAAc,CAAA;AACvB,OAAC,CAAC,CAAA;AACJ,KAAA;AACA;AACF,GAAC,EAAE,CAACnC,uBAAuB,CAAC,CAAC,CAAA;AAE7B,EAAA,oBACEyC,GAAA,CAACC,cAAc,EAAAH,aAAA,CAAAA,aAAA,CAAA;AACbtE,IAAAA,KAAK,EAAEA,KAAM;IACbF,KAAK,EAAEkC,UAAU,KAAVA,IAAAA,IAAAA,UAAU,cAAVA,UAAU,GAAI0B,8BAA8B,EAAG;AACtD3D,IAAAA,kBAAkB,EAAE4D,sBAAuB;AAC3CjC,IAAAA,aAAa,EAAEA,aAAAA;AAAc,GAAA,EACzBvB,IAAI,CAAA,EAAA,EAAA,EAAA;AACRuE,IAAAA,GAAG,EAAEjD,YAAoB;AACzBkD,IAAAA,kBAAkB,EAAE;AAClB3E,MAAAA,KAAK,EAAEJ,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,kBAAkB,GAAII,KAAK;AAClC4E,MAAAA,QAAQ,EAAEC,0BAA0B,CAACrD,eAAe,EAAE,uBAAuB,CAAC;AAC9EsD,MAAAA,QAAQ,EAAExD,MAAM;AAChByD,MAAAA,QAAQ,EAAAxB,EAAAA,CAAAA,MAAA,CAAKlC,cAAc,EAAa,aAAA,CAAA;AACxC2D,MAAAA,gBAAgB,EAAEzD,WAAW,IAAI,CAAC,GAAAgC,EAAAA,CAAAA,MAAA,CAAMlC,cAAc,EAAAkC,GAAAA,CAAAA,CAAAA,MAAA,CAAIhC,WAAW,CAAKe,GAAAA,SAAAA;KAC1E;AACF7C,IAAAA,OAAO,EAAE,SAAAA,OAACwF,CAAAA,CAAC,EAAK;AACd9D,MAAAA,cAAc,EAAE,CAAA;AAChB;AACA1B,MAAAA,QAAO,aAAPA,QAAO,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAPA,QAAO,CAAGwF,CAAQ,CAAC,CAAA;KACnB;AACFvF,IAAAA,MAAM,EAAE,SAAAA,MAACuF,CAAAA,CAAC,EAAK;AACb;AACA;AACAvF,MAAAA,OAAM,aAANA,OAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAANA,OAAM,CAAGuF,CAAQ,CAAC,CAAA;KAClB;AACFtF,IAAAA,SAAS,EAAE,SAAAA,SAACsF,CAAAA,CAAC,EAAK;AAChB7D,MAAAA,gBAAgB,KAAhBA,IAAAA,IAAAA,gBAAgB,KAAhBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAgB,CAAG;AAAE8D,QAAAA,KAAK,EAAED,CAAAA;AAAS,OAAC,CAAC,CAAA;AACvC;AACAtF,MAAAA,UAAS,aAATA,UAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAATA,UAAS,CAAGsF,CAAQ,CAAC,CAAA;AACvB,KAAA;AAAE,GAAA,CACH,CAAC,CAAA;AAEN,CAAC,CAAA;AAED,IAAME,qBAAqB,gBAAGC,wBAAwB,CAACjG,sBAAsB,EAAE;AAC7EkG,EAAAA,WAAW,EAAEC,oBAAoB,CAACC,QAAQ,CAACJ,qBAAAA;AAC7C,CAAC;;;;"}