@bikdotai/bik-component-library 0.0.805-beta.8 → 0.0.805

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 (335) hide show
  1. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  2. package/dist/cjs/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  3. package/dist/cjs/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  4. package/dist/cjs/components/avatar/Avatar.js +1 -1
  5. package/dist/cjs/components/avatar/Avatar.js.map +1 -1
  6. package/dist/cjs/components/avatar/Avatar.styled.js +3 -3
  7. package/dist/cjs/components/avatar/Avatar.styled.js.map +1 -1
  8. package/dist/cjs/components/avatar/AvatarHelper.js +1 -1
  9. package/dist/cjs/components/avatar/AvatarHelper.js.map +1 -1
  10. package/dist/cjs/components/bik-layout/BikSidebar.js.map +1 -1
  11. package/dist/cjs/components/button/Button.js +1 -1
  12. package/dist/cjs/components/button/Button.js.map +1 -1
  13. package/dist/cjs/components/button/Button.styled.js +1 -1
  14. package/dist/cjs/components/button/Button.styled.js.map +1 -1
  15. package/dist/cjs/components/button/themes.js +1 -1
  16. package/dist/cjs/components/button/themes.js.map +1 -1
  17. package/dist/cjs/components/country-code-picker/CountryCodePicker.js.map +1 -1
  18. package/dist/cjs/components/country-code-picker/CountryPicker.js.map +1 -1
  19. package/dist/cjs/components/dropdown/Dropdown.js +1 -1
  20. package/dist/cjs/components/dropdown/Dropdown.js.map +1 -1
  21. package/dist/cjs/components/dropdown/DropdownPopover/index.js +1 -1
  22. package/dist/cjs/components/dropdown/DropdownPopover/index.js.map +1 -1
  23. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  24. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  25. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +5 -6
  26. package/dist/cjs/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  27. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  28. package/dist/cjs/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  29. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  30. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +7 -7
  31. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  32. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  33. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  34. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +4 -8
  35. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  36. package/dist/cjs/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  37. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  38. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  39. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  40. package/dist/cjs/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  41. package/dist/cjs/components/dropdown-button/DropdownButton.js +1 -1
  42. package/dist/cjs/components/dropdown-button/DropdownButton.js.map +1 -1
  43. package/dist/cjs/components/dropdown-button/DropdownButton.style.js +6 -10
  44. package/dist/cjs/components/dropdown-button/DropdownButton.style.js.map +1 -1
  45. package/dist/cjs/components/fab-menu/FABMenu.js.map +1 -1
  46. package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
  47. package/dist/cjs/components/feature-announcements/FeatureAnnouncementProvider.js.map +1 -1
  48. package/dist/cjs/components/feature-announcements/MajorUpdatePopup.js +1 -1
  49. package/dist/cjs/components/feature-announcements/MajorUpdatePopup.js.map +1 -1
  50. package/dist/cjs/components/feature-announcements/MinorUpdatePopup.js +1 -1
  51. package/dist/cjs/components/feature-announcements/MinorUpdatePopup.js.map +1 -1
  52. package/dist/cjs/components/icon-button/IconButton.js +1 -1
  53. package/dist/cjs/components/icon-button/IconButton.js.map +1 -1
  54. package/dist/cjs/components/icon-button/IconButton.styled.js +3 -3
  55. package/dist/cjs/components/icon-button/IconButton.styled.js.map +1 -1
  56. package/dist/cjs/components/icon-button/theme.js +1 -1
  57. package/dist/cjs/components/icon-button/theme.js.map +1 -1
  58. package/dist/cjs/components/input/Input.js +1 -1
  59. package/dist/cjs/components/input/Input.js.map +1 -1
  60. package/dist/cjs/components/input/Input.styled.js +1 -1
  61. package/dist/cjs/components/input/Input.styled.js.map +1 -1
  62. package/dist/cjs/components/list-item/ListItem.js +1 -1
  63. package/dist/cjs/components/list-item/ListItem.js.map +1 -1
  64. package/dist/cjs/components/list-item/ListItem.styled.js +1 -1
  65. package/dist/cjs/components/list-item/ListItem.styled.js.map +1 -1
  66. package/dist/cjs/components/list-item/themes.js +1 -1
  67. package/dist/cjs/components/list-item/themes.js.map +1 -1
  68. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  69. package/dist/cjs/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  70. package/dist/cjs/components/multi-level-dropdown/MenuItem.js +1 -1
  71. package/dist/cjs/components/multi-level-dropdown/MenuItem.js.map +1 -1
  72. package/dist/cjs/components/multi-level-dropdown/MenuList.js +1 -1
  73. package/dist/cjs/components/multi-level-dropdown/MenuList.js.map +1 -1
  74. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  75. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  76. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js +30 -33
  77. package/dist/cjs/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  78. package/dist/cjs/components/tag/Tag.js +1 -1
  79. package/dist/cjs/components/tag/Tag.js.map +1 -1
  80. package/dist/cjs/components/tag/Tag.styled.js +1 -1
  81. package/dist/cjs/components/tag/Tag.styled.js.map +1 -1
  82. package/dist/cjs/components/tag/model.js.map +1 -1
  83. package/dist/cjs/components/whats-new/WhatsNew.js +1 -1
  84. package/dist/cjs/components/whats-new/WhatsNew.js.map +1 -1
  85. package/dist/cjs/components/whats-new/WhatsNewButton.js +1 -1
  86. package/dist/cjs/components/whats-new/WhatsNewButton.js.map +1 -1
  87. package/dist/cjs/components/whats-new/WhatsNewPanel.js +1 -1
  88. package/dist/cjs/components/whats-new/WhatsNewPanel.js.map +1 -1
  89. package/dist/cjs/constants/Theme.js +1 -1
  90. package/dist/cjs/constants/Theme.js.map +1 -1
  91. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js +1 -1
  92. package/dist/cjs/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  93. package/dist/cjs/index.js +1 -1
  94. package/dist/cjs/src/components/BikGiftedChat/GiftedChat/types.d.ts +2 -2
  95. package/dist/cjs/src/components/QueryBuilder/Triggers/EVENTS/components/EventsTrigger.d.ts +1 -1
  96. package/dist/cjs/src/components/QueryBuilder/Triggers/EVENTS/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
  97. package/dist/cjs/src/components/QueryBuilder/Triggers/IG/components/IGTrigger.d.ts +1 -1
  98. package/dist/cjs/src/components/QueryBuilder/Triggers/IG/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
  99. package/dist/cjs/src/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.d.ts +2 -2
  100. package/dist/cjs/src/components/avatar/Avatar.d.ts +2 -3
  101. package/dist/cjs/src/components/avatar/AvatarHelper.d.ts +4 -5
  102. package/dist/cjs/src/components/bik-layout/MockMenus.d.ts +0 -1
  103. package/dist/cjs/src/components/bik-layout/index.d.ts +0 -2
  104. package/dist/cjs/src/components/button/Button.styled.d.ts +1 -1
  105. package/dist/cjs/src/components/button/model.d.ts +3 -3
  106. package/dist/cjs/src/components/button/themes.d.ts +2 -2
  107. package/dist/cjs/src/components/country-code-picker/CountryCodePicker.d.ts +1 -1
  108. package/dist/cjs/src/components/country-code-picker/CountryPicker.d.ts +1 -1
  109. package/dist/cjs/src/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  110. package/dist/cjs/src/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
  111. package/dist/cjs/src/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
  112. package/dist/cjs/src/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -1
  113. package/dist/cjs/src/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -1
  114. package/dist/cjs/src/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -1
  115. package/dist/cjs/src/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -2
  116. package/dist/cjs/src/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -1
  117. package/dist/cjs/src/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
  118. package/dist/cjs/src/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +0 -1
  119. package/dist/cjs/src/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +0 -2
  120. package/dist/cjs/src/components/dropdown/hooks/useDropdown.d.ts +0 -2
  121. package/dist/cjs/src/components/dropdown/type.d.ts +1 -2
  122. package/dist/cjs/src/components/dropdown-button/DropdownButton.d.ts +1 -3
  123. package/dist/cjs/src/components/dropdown-button/DropdownButton.style.d.ts +2 -9
  124. package/dist/cjs/src/components/fab-menu/FABMenu.d.ts +1 -1
  125. package/dist/cjs/src/components/feature-announcements/types/feature.types.d.ts +1 -1
  126. package/dist/cjs/src/components/icon-button/IconButton.styled.d.ts +1 -3
  127. package/dist/cjs/src/components/icon-button/model.d.ts +1 -12
  128. package/dist/cjs/src/components/input/Input.model.d.ts +1 -2
  129. package/dist/cjs/src/components/input/Input.styled.d.ts +1 -16
  130. package/dist/cjs/src/components/list-item/List.model.d.ts +1 -1
  131. package/dist/cjs/src/components/list-item/ListItem.styled.d.ts +1 -1
  132. package/dist/cjs/src/components/list-item/themes.d.ts +2 -2
  133. package/dist/cjs/src/components/multi-level-dropdown/GroupedMenuList.d.ts +0 -1
  134. package/dist/cjs/src/components/multi-level-dropdown/MenuItem.d.ts +0 -1
  135. package/dist/cjs/src/components/multi-level-dropdown/MenuList.d.ts +0 -1
  136. package/dist/cjs/src/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +3 -13
  137. package/dist/cjs/src/components/multi-level-dropdown/type.d.ts +0 -1
  138. package/dist/cjs/src/components/tag/Tag.d.ts +1 -1
  139. package/dist/cjs/src/components/tag/Tag.stories.d.ts +5 -5
  140. package/dist/cjs/src/components/tag/Tag.styled.d.ts +1 -3
  141. package/dist/cjs/src/components/tag/model.d.ts +1 -5
  142. package/dist/cjs/src/components/whats-new/WhatsNew.d.ts +0 -2
  143. package/dist/cjs/src/components/whats-new/WhatsNew.types.d.ts +0 -2
  144. package/dist/cjs/src/constants/Theme.d.ts +0 -6
  145. package/dist/cjs/src/icons/Arrows/Chevron/ChevronUp.d.ts +2 -1
  146. package/dist/cjs/src/index.d.ts +0 -1
  147. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js +1 -1
  148. package/dist/esm/components/BikGiftedChat/GiftedChat/GiftedChat.js.map +1 -1
  149. package/dist/esm/components/BikGiftedChat/GiftedChat/types.js.map +1 -1
  150. package/dist/esm/components/avatar/Avatar.js +1 -1
  151. package/dist/esm/components/avatar/Avatar.js.map +1 -1
  152. package/dist/esm/components/avatar/Avatar.styled.js +6 -6
  153. package/dist/esm/components/avatar/Avatar.styled.js.map +1 -1
  154. package/dist/esm/components/avatar/AvatarHelper.js +1 -1
  155. package/dist/esm/components/avatar/AvatarHelper.js.map +1 -1
  156. package/dist/esm/components/bik-layout/BikSidebar.js.map +1 -1
  157. package/dist/esm/components/button/Button.js +1 -1
  158. package/dist/esm/components/button/Button.js.map +1 -1
  159. package/dist/esm/components/button/Button.styled.js +1 -1
  160. package/dist/esm/components/button/Button.styled.js.map +1 -1
  161. package/dist/esm/components/button/themes.js +1 -1
  162. package/dist/esm/components/button/themes.js.map +1 -1
  163. package/dist/esm/components/country-code-picker/CountryCodePicker.js.map +1 -1
  164. package/dist/esm/components/country-code-picker/CountryPicker.js.map +1 -1
  165. package/dist/esm/components/dropdown/Dropdown.js +1 -1
  166. package/dist/esm/components/dropdown/Dropdown.js.map +1 -1
  167. package/dist/esm/components/dropdown/DropdownPopover/index.js +1 -1
  168. package/dist/esm/components/dropdown/DropdownPopover/index.js.map +1 -1
  169. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js +1 -1
  170. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.js.map +1 -1
  171. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js +2 -3
  172. package/dist/esm/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.js.map +1 -1
  173. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.js.map +1 -1
  174. package/dist/esm/components/dropdown/OpenedDropdown/components/description/Description.styled.js.map +1 -1
  175. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.js.map +1 -1
  176. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js +1 -1
  177. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuItem.js.map +1 -1
  178. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js +1 -1
  179. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.js.map +1 -1
  180. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js +2 -6
  181. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.js.map +1 -1
  182. package/dist/esm/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.js.map +1 -1
  183. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js +1 -1
  184. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.js.map +1 -1
  185. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js +1 -1
  186. package/dist/esm/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.js.map +1 -1
  187. package/dist/esm/components/dropdown-button/DropdownButton.js +1 -1
  188. package/dist/esm/components/dropdown-button/DropdownButton.js.map +1 -1
  189. package/dist/esm/components/dropdown-button/DropdownButton.style.js +4 -8
  190. package/dist/esm/components/dropdown-button/DropdownButton.style.js.map +1 -1
  191. package/dist/esm/components/fab-menu/FABMenu.js.map +1 -1
  192. package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js +1 -1
  193. package/dist/esm/components/feature-announcements/FeatureAnnouncementProvider.js.map +1 -1
  194. package/dist/esm/components/feature-announcements/MajorUpdatePopup.js +1 -1
  195. package/dist/esm/components/feature-announcements/MajorUpdatePopup.js.map +1 -1
  196. package/dist/esm/components/feature-announcements/MinorUpdatePopup.js +1 -1
  197. package/dist/esm/components/feature-announcements/MinorUpdatePopup.js.map +1 -1
  198. package/dist/esm/components/icon-button/IconButton.js +1 -1
  199. package/dist/esm/components/icon-button/IconButton.js.map +1 -1
  200. package/dist/esm/components/icon-button/IconButton.styled.js +1 -1
  201. package/dist/esm/components/icon-button/IconButton.styled.js.map +1 -1
  202. package/dist/esm/components/icon-button/theme.js +1 -1
  203. package/dist/esm/components/icon-button/theme.js.map +1 -1
  204. package/dist/esm/components/input/Input.js +1 -1
  205. package/dist/esm/components/input/Input.js.map +1 -1
  206. package/dist/esm/components/input/Input.styled.js +1 -1
  207. package/dist/esm/components/input/Input.styled.js.map +1 -1
  208. package/dist/esm/components/list-item/ListItem.js +1 -1
  209. package/dist/esm/components/list-item/ListItem.js.map +1 -1
  210. package/dist/esm/components/list-item/ListItem.styled.js +1 -1
  211. package/dist/esm/components/list-item/ListItem.styled.js.map +1 -1
  212. package/dist/esm/components/list-item/themes.js +1 -1
  213. package/dist/esm/components/list-item/themes.js.map +1 -1
  214. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js +1 -1
  215. package/dist/esm/components/multi-level-dropdown/GroupedMenuList.js.map +1 -1
  216. package/dist/esm/components/multi-level-dropdown/MenuItem.js +1 -1
  217. package/dist/esm/components/multi-level-dropdown/MenuItem.js.map +1 -1
  218. package/dist/esm/components/multi-level-dropdown/MenuList.js +1 -1
  219. package/dist/esm/components/multi-level-dropdown/MenuList.js.map +1 -1
  220. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js +1 -1
  221. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.js.map +1 -1
  222. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js +29 -32
  223. package/dist/esm/components/multi-level-dropdown/MultiLevelDropdown.styled.js.map +1 -1
  224. package/dist/esm/components/tag/Tag.js +1 -1
  225. package/dist/esm/components/tag/Tag.js.map +1 -1
  226. package/dist/esm/components/tag/Tag.styled.js +1 -1
  227. package/dist/esm/components/tag/Tag.styled.js.map +1 -1
  228. package/dist/esm/components/tag/model.js.map +1 -1
  229. package/dist/esm/components/whats-new/WhatsNew.js +1 -1
  230. package/dist/esm/components/whats-new/WhatsNew.js.map +1 -1
  231. package/dist/esm/components/whats-new/WhatsNewButton.js +1 -1
  232. package/dist/esm/components/whats-new/WhatsNewButton.js.map +1 -1
  233. package/dist/esm/components/whats-new/WhatsNewPanel.js +1 -1
  234. package/dist/esm/components/whats-new/WhatsNewPanel.js.map +1 -1
  235. package/dist/esm/constants/Theme.js +1 -1
  236. package/dist/esm/constants/Theme.js.map +1 -1
  237. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js +1 -1
  238. package/dist/esm/icons/Arrows/Chevron/ChevronUp.js.map +1 -1
  239. package/dist/esm/index.js +1 -1
  240. package/dist/esm/src/components/BikGiftedChat/GiftedChat/types.d.ts +2 -2
  241. package/dist/esm/src/components/QueryBuilder/Triggers/EVENTS/components/EventsTrigger.d.ts +1 -1
  242. package/dist/esm/src/components/QueryBuilder/Triggers/EVENTS/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
  243. package/dist/esm/src/components/QueryBuilder/Triggers/IG/components/IGTrigger.d.ts +1 -1
  244. package/dist/esm/src/components/QueryBuilder/Triggers/IG/selectors/useIGTriggerNameCacheSelector.d.ts +1 -1
  245. package/dist/esm/src/components/QueryBuilder/Triggers/components/BaseTriggerQueryBuilderNode.d.ts +2 -2
  246. package/dist/esm/src/components/avatar/Avatar.d.ts +2 -3
  247. package/dist/esm/src/components/avatar/AvatarHelper.d.ts +4 -5
  248. package/dist/esm/src/components/bik-layout/MockMenus.d.ts +0 -1
  249. package/dist/esm/src/components/bik-layout/index.d.ts +0 -2
  250. package/dist/esm/src/components/button/Button.styled.d.ts +1 -1
  251. package/dist/esm/src/components/button/model.d.ts +3 -3
  252. package/dist/esm/src/components/button/themes.d.ts +2 -2
  253. package/dist/esm/src/components/country-code-picker/CountryCodePicker.d.ts +1 -1
  254. package/dist/esm/src/components/country-code-picker/CountryPicker.d.ts +1 -1
  255. package/dist/esm/src/components/dropdown/OpenedDropdown/components/OpennedDropdown.styled.d.ts +1 -1
  256. package/dist/esm/src/components/dropdown/OpenedDropdown/components/description/Description.d.ts +1 -1
  257. package/dist/esm/src/components/dropdown/OpenedDropdown/components/description/Description.styled.d.ts +1 -1
  258. package/dist/esm/src/components/dropdown/OpenedDropdown/components/menu/FreeFormMenu.d.ts +1 -1
  259. package/dist/esm/src/components/dropdown/OpenedDropdown/components/menu/MenuItem.d.ts +1 -1
  260. package/dist/esm/src/components/dropdown/OpenedDropdown/components/menu/MenuList.d.ts +1 -1
  261. package/dist/esm/src/components/dropdown/OpenedDropdown/components/menu/MenuList.styled.d.ts +1 -2
  262. package/dist/esm/src/components/dropdown/OpenedDropdown/components/menu/SelectAllMenu.d.ts +1 -1
  263. package/dist/esm/src/components/dropdown/OpenedDropdown/components/searchbox/SearchBox.d.ts +1 -1
  264. package/dist/esm/src/components/dropdown/OpenedDropdown/components/searchbox/SearchZeroState.d.ts +0 -1
  265. package/dist/esm/src/components/dropdown/OpenedDropdown/utils/iterationOnOptions.d.ts +0 -2
  266. package/dist/esm/src/components/dropdown/hooks/useDropdown.d.ts +0 -2
  267. package/dist/esm/src/components/dropdown/type.d.ts +1 -2
  268. package/dist/esm/src/components/dropdown-button/DropdownButton.d.ts +1 -3
  269. package/dist/esm/src/components/dropdown-button/DropdownButton.style.d.ts +2 -9
  270. package/dist/esm/src/components/fab-menu/FABMenu.d.ts +1 -1
  271. package/dist/esm/src/components/feature-announcements/types/feature.types.d.ts +1 -1
  272. package/dist/esm/src/components/icon-button/IconButton.styled.d.ts +1 -3
  273. package/dist/esm/src/components/icon-button/model.d.ts +1 -12
  274. package/dist/esm/src/components/input/Input.model.d.ts +1 -2
  275. package/dist/esm/src/components/input/Input.styled.d.ts +1 -16
  276. package/dist/esm/src/components/list-item/List.model.d.ts +1 -1
  277. package/dist/esm/src/components/list-item/ListItem.styled.d.ts +1 -1
  278. package/dist/esm/src/components/list-item/themes.d.ts +2 -2
  279. package/dist/esm/src/components/multi-level-dropdown/GroupedMenuList.d.ts +0 -1
  280. package/dist/esm/src/components/multi-level-dropdown/MenuItem.d.ts +0 -1
  281. package/dist/esm/src/components/multi-level-dropdown/MenuList.d.ts +0 -1
  282. package/dist/esm/src/components/multi-level-dropdown/MultiLevelDropdown.styled.d.ts +3 -13
  283. package/dist/esm/src/components/multi-level-dropdown/type.d.ts +0 -1
  284. package/dist/esm/src/components/tag/Tag.d.ts +1 -1
  285. package/dist/esm/src/components/tag/Tag.stories.d.ts +5 -5
  286. package/dist/esm/src/components/tag/Tag.styled.d.ts +1 -3
  287. package/dist/esm/src/components/tag/model.d.ts +1 -5
  288. package/dist/esm/src/components/whats-new/WhatsNew.d.ts +0 -2
  289. package/dist/esm/src/components/whats-new/WhatsNew.types.d.ts +0 -2
  290. package/dist/esm/src/constants/Theme.d.ts +0 -6
  291. package/dist/esm/src/icons/Arrows/Chevron/ChevronUp.d.ts +2 -1
  292. package/dist/esm/src/index.d.ts +0 -1
  293. package/package.json +2 -1
  294. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -2
  295. package/dist/cjs/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  296. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -2
  297. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  298. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -294
  299. package/dist/cjs/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  300. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -2
  301. package/dist/cjs/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  302. package/dist/cjs/components/dual-icon-button/DualIconButton.js +0 -2
  303. package/dist/cjs/components/dual-icon-button/DualIconButton.js.map +0 -1
  304. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js +0 -26
  305. package/dist/cjs/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  306. package/dist/cjs/src/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +0 -33
  307. package/dist/cjs/src/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +0 -27
  308. package/dist/cjs/src/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +0 -13
  309. package/dist/cjs/src/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +0 -44
  310. package/dist/cjs/src/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +0 -3
  311. package/dist/cjs/src/components/dual-icon-button/DualIconButton.d.ts +0 -3
  312. package/dist/cjs/src/components/dual-icon-button/DualIconButton.styled.d.ts +0 -7
  313. package/dist/cjs/src/components/dual-icon-button/index.d.ts +0 -2
  314. package/dist/cjs/src/components/dual-icon-button/model.d.ts +0 -12
  315. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js +0 -2
  316. package/dist/esm/components/bik-layout/BikSidebarV2/BikSidebarV2.js.map +0 -1
  317. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js +0 -2
  318. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Popup.js.map +0 -1
  319. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js +0 -294
  320. package/dist/esm/components/bik-layout/BikSidebarV2/SidebarV2Styles.js.map +0 -1
  321. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js +0 -2
  322. package/dist/esm/components/bik-layout/BikSidebarV2/SimpleSidebarV2.js.map +0 -1
  323. package/dist/esm/components/dual-icon-button/DualIconButton.js +0 -2
  324. package/dist/esm/components/dual-icon-button/DualIconButton.js.map +0 -1
  325. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js +0 -26
  326. package/dist/esm/components/dual-icon-button/DualIconButton.styled.js.map +0 -1
  327. package/dist/esm/src/components/bik-layout/BikSidebarV2/BikSidebarV2.d.ts +0 -33
  328. package/dist/esm/src/components/bik-layout/BikSidebarV2/SidebarV2.model.d.ts +0 -27
  329. package/dist/esm/src/components/bik-layout/BikSidebarV2/SidebarV2Popup.d.ts +0 -13
  330. package/dist/esm/src/components/bik-layout/BikSidebarV2/SidebarV2Styles.d.ts +0 -44
  331. package/dist/esm/src/components/bik-layout/BikSidebarV2/SimpleSidebarV2.d.ts +0 -3
  332. package/dist/esm/src/components/dual-icon-button/DualIconButton.d.ts +0 -3
  333. package/dist/esm/src/components/dual-icon-button/DualIconButton.styled.d.ts +0 -7
  334. package/dist/esm/src/components/dual-icon-button/index.d.ts +0 -2
  335. package/dist/esm/src/components/dual-icon-button/model.d.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"MajorUpdatePopup.js","sources":["../../../../src/components/feature-announcements/MajorUpdatePopup.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport Arrow from '../../assets/icons/chevronRight2.svg';\nimport PlayIcon from '../../assets/icons/play.svg';\nimport { TEXT } from './constants';\nimport { getMajorPopupStyles } from './styles';\nimport { MajorUpdatePopupProps } from './types';\nimport {\n\tcalculateCloseTransform,\n\tdecodeHTMLEntities,\n\texecuteAfterAnimation,\n\tfindWhatsNewButton,\n\thideJoyrideArrow,\n} from './utils';\n\nconst MajorUpdatePopup: React.FC<MajorUpdatePopupProps> = ({\n\tfeature,\n\tcurrentIndex,\n\ttotalFeatures,\n\tonSkip,\n\tonExplore,\n\tonPrevious,\n\tonNext,\n\tsetIsClosing: setIsClosingParent,\n\tonSecondaryAction,\n\tratio = '16:9',\n\tpadding,\n}) => {\n\tconst [isClosing, setIsClosing] = useState(false);\n\tconst [startAnimation, setStartAnimation] = useState(false);\n\tconst [transform, setTransform] = useState('');\n\tconst popupRef = useRef<HTMLDivElement>(null);\n\tconst [isVideoPaused, setIsVideoPaused] = useState(false);\n\tconst [showPlayIcon, setShowPlayIcon] = useState(true);\n\tconst videoRef = useRef<HTMLVideoElement>(null);\n\tconst [imageAspectRatio, setImageAspectRatio] = useState<\n\t\t'16:9' | '1:1' | '4:3'\n\t>(ratio);\n\n\tconst imageRef = useRef<HTMLImageElement>(null);\n\n\tuseEffect(() => {\n\t\tif (isClosing) {\n\t\t\t// Start the shrink animation immediately\n\t\t\tsetStartAnimation(true);\n\t\t}\n\t}, [isClosing]);\n\n\tconst handleClose = (callback: () => void): void => {\n\t\thideJoyrideArrow(popupRef.current);\n\n\t\tconst targetButton = findWhatsNewButton();\n\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(callback);\n\t};\n\n\tconst handleImageLoad = (e: React.SyntheticEvent<HTMLImageElement>) => {\n\t\tconst img = e.currentTarget;\n\t\tconst width = img.naturalWidth;\n\t\tconst height = img.naturalHeight;\n\n\t\tif (width && height) {\n\t\t\tconst aspectRatio = width / height;\n\n\t\t\t// Determine closest predefined ratio\n\t\t\tif (Math.abs(aspectRatio - 16 / 9) < 0.1) {\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (Math.abs(aspectRatio - 1) < 0.1) {\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t} else if (Math.abs(aspectRatio - 4 / 3) < 0.1) {\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else if (aspectRatio > 1.5) {\n\t\t\t\t// Wide images default to 16:9\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (aspectRatio < 0.9) {\n\t\t\t\t// Tall images default to 4:3\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else {\n\t\t\t\t// Close to square, use 1:1\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleVideoLoadedMetadata = (\n\t\te: React.SyntheticEvent<HTMLVideoElement>,\n\t) => {\n\t\tconst video = e.currentTarget;\n\t\tconst width = video.videoWidth;\n\t\tconst height = video.videoHeight;\n\n\t\tif (width && height) {\n\t\t\tconst aspectRatio = width / height;\n\n\t\t\tif (Math.abs(aspectRatio - 16 / 9) < 0.1) {\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (Math.abs(aspectRatio - 1) < 0.1) {\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t} else if (Math.abs(aspectRatio - 4 / 3) < 0.1) {\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else if (aspectRatio > 1.5) {\n\t\t\t\t// Wide videos default to 16:9\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (aspectRatio < 0.9) {\n\t\t\t\t// Tall videos default to 4:3\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else {\n\t\t\t\t// Close to square, use 1:1\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleExplore = (): void => {\n\t\tconst action = feature.primaryButton?.action;\n\n\t\tif (action === 'Play Video') {\n\t\t\tonExplore();\n\t\t} else if (action === 'Open link') {\n\t\t\t// Navigate to URL\n\t\t\tconst url = feature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\t\t\tonExplore();\n\t\t} else {\n\t\t\tonExplore();\n\t\t}\n\n\t\t// Run closing animation in background\n\t\thideJoyrideArrow(popupRef.current);\n\t\tconst targetButton = findWhatsNewButton();\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t};\n\n\tconst handleSkipClick = (e: React.MouseEvent<HTMLButtonElement>): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\thandleClose(onSkip);\n\t};\n\n\tconst handlePreviousClick = (\n\t\te: React.MouseEvent<HTMLButtonElement>,\n\t): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tonPrevious();\n\t};\n\n\tconst handleNextClick = (e: React.MouseEvent<HTMLButtonElement>): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tonNext();\n\t};\n\n\tconst handleSecondaryAction = (e: React.MouseEvent): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tconst action = feature.secondaryButton?.action;\n\t\tconst closeCallback = onSecondaryAction || onSkip;\n\n\t\t// Handle based on action type\n\t\tif (action === 'Open link') {\n\t\t\t// Open URL but don't close popup\n\t\t\tconst url = feature.secondaryButton?.redirectionUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (action === 'Close popup' || action === '') {\n\t\t\t// Just close the popup (empty action also closes)\n\t\t\t// callback is executed after closing animation completes\n\t\t}\n\n\t\t// Always close popup after secondary action\n\t\thideJoyrideArrow(popupRef.current);\n\t\tconst targetButton = findWhatsNewButton();\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(closeCallback);\n\t};\n\n\tconst styles = getMajorPopupStyles(\n\t\tstartAnimation,\n\t\ttransform,\n\t\timageAspectRatio,\n\t\tpadding || feature.padding,\n\t\tfeature.primaryButton?.style,\n\t\tfeature.secondaryButton?.style,\n\t);\n\n\tconst handleVideoClick = (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\tif (videoRef.current) {\n\t\t\tif (videoRef.current.paused) {\n\t\t\t\tvideoRef.current.play();\n\t\t\t\tsetIsVideoPaused(false);\n\t\t\t\tsetShowPlayIcon(false);\n\t\t\t} else {\n\t\t\t\tvideoRef.current.pause();\n\t\t\t\tsetIsVideoPaused(true);\n\t\t\t\tsetShowPlayIcon(true);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleVideoKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tif (videoRef.current) {\n\t\t\t\tif (videoRef.current.paused) {\n\t\t\t\t\tvideoRef.current.play();\n\t\t\t\t\tsetIsVideoPaused(false);\n\t\t\t\t\tsetShowPlayIcon(false);\n\t\t\t\t} else {\n\t\t\t\t\tvideoRef.current.pause();\n\t\t\t\t\tsetIsVideoPaused(true);\n\t\t\t\t\tsetShowPlayIcon(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t<div style={styles.outerWrapper}>\n\t\t\t<div\n\t\t\t\tref={popupRef}\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.container,\n\t\t\t\t\topacity: startAnimation ? 0 : 1,\n\t\t\t\t\ttransition: 'opacity 0.2s ease-in-out, transform 0.3s ease',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<style>{`\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t`}</style>\n\t\t\t\t{/* Content Wrapper - contains image and text side by side */}\n\t\t\t\t<div style={styles.contentWrapper}>\n\t\t\t\t\t{/* Image/Video section */}\n\t\t\t\t\t<div style={styles.imageContainer}>\n\t\t\t\t\t\t{feature.productVideo ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<video\n\t\t\t\t\t\t\t\t\tref={videoRef}\n\t\t\t\t\t\t\t\t\tsrc={feature.productVideo}\n\t\t\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\t\t\t\tcontrols\n\t\t\t\t\t\t\t\t\taria-label={`Product video for ${feature.title}`}\n\t\t\t\t\t\t\t\t\tonLoadedMetadata={handleVideoLoadedMetadata}\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{(isVideoPaused || showPlayIcon) && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={styles.videoOverlay}\n\t\t\t\t\t\t\t\t\t\tonClick={handleVideoClick}\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\t\taria-label={isVideoPaused ? 'Play video' : 'Pause video'}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={handleVideoKeyDown}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<PlayIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : feature.displayImage ? (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tref={imageRef}\n\t\t\t\t\t\t\t\tsrc={feature.displayImage}\n\t\t\t\t\t\t\t\talt={feature.title}\n\t\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\t\tonLoad={handleImageLoad}\n\t\t\t\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\t\t\t\tif (feature.image) {\n\t\t\t\t\t\t\t\t\t\t(e.target as HTMLImageElement).src = feature.image;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div style={styles.imagePlaceholder}>\n\t\t\t\t\t\t\t\t{TEXT.FEATURE_PREVIEW_PLACEHOLDER}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Content section */}\n\t\t\t\t\t<div style={styles.contentContainer}>\n\t\t\t\t\t\t{/* Skip Button at top-right */}\n\t\t\t\t\t\t<div style={styles.skipButtonContainer}>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tonClick={handleSkipClick}\n\t\t\t\t\t\t\t\tstyle={styles.skipButton.base}\n\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\tObject.assign(e.currentTarget.style, styles.skipButton.hover)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\tObject.assign(e.currentTarget.style, styles.skipButton.base)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-label=\"Skip feature announcement\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSkip\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Title */}\n\t\t\t\t\t\t<h3 style={styles.title}>{feature.title}</h3>\n\n\t\t\t\t\t\t{/* Content/Description */}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tdata-popup-content\n\t\t\t\t\t\t\tstyle={styles.content}\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t\t__html: decodeHTMLEntities(\n\t\t\t\t\t\t\t\t\tfeature.content || feature.body || '',\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{/* Actions - Buttons and Navigation */}\n\t\t\t\t\t\t<div style={styles.actionsWrapper}>\n\t\t\t\t\t\t\t<div style={styles.buttonsGroup}>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tonClick={handleExplore}\n\t\t\t\t\t\t\t\t\tstyle={styles.exploreButton.base}\n\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\tstyles.exploreButton.hover,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\tstyles.exploreButton.base,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{feature.primaryButton?.text ||\n\t\t\t\t\t\t\t\t\t\tfeature.buttonText ||\n\t\t\t\t\t\t\t\t\t\tTEXT.DEFAULT_BUTTON_TEXT}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t{/* Secondary Button (Optional) */}\n\t\t\t\t\t\t\t\t{feature.secondaryButton?.text &&\n\t\t\t\t\t\t\t\t\t(feature.secondaryButton?.redirectionUrl ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={feature.secondaryButton.redirectionUrl}\n\t\t\t\t\t\t\t\t\t\t\ttarget={\n\t\t\t\t\t\t\t\t\t\t\t\tfeature.secondaryButton.redirectionUrl.startsWith(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'http',\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: '_self'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\trel={\n\t\t\t\t\t\t\t\t\t\t\t\tfeature.secondaryButton.redirectionUrl.startsWith(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'http',\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'noopener noreferrer'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={handleSecondaryAction}\n\t\t\t\t\t\t\t\t\t\t\tstyle={styles.secondaryButton.base}\n\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.hover,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.base,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tonClick={handleSecondaryAction}\n\t\t\t\t\t\t\t\t\t\t\tstyle={styles.secondaryButton.base}\n\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.hover,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.base,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Navigation arrows */}\n\t\t\t\t\t\t\t{totalFeatures > 1 && (\n\t\t\t\t\t\t\t\t<div style={styles.navigationContainer}>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tonClick={handlePreviousClick}\n\t\t\t\t\t\t\t\t\t\tdisabled={currentIndex === 0}\n\t\t\t\t\t\t\t\t\t\tstyle={styles.navigationButton(currentIndex === 0).base}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).hover,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).base,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\taria-label=\"Previous feature\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Arrow style={{ transform: 'rotate(180deg)' }} />\n\t\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tonClick={handleNextClick}\n\t\t\t\t\t\t\t\t\t\tdisabled={currentIndex === totalFeatures - 1}\n\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === totalFeatures - 1,\n\t\t\t\t\t\t\t\t\t\t\t).base\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== totalFeatures - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).hover,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== totalFeatures - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === totalFeatures - 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t).base,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\taria-label=\"Next feature\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Arrow />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{/* Close contentWrapper */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default MajorUpdatePopup;\n"],"names":["MajorUpdatePopup","_ref","feature","currentIndex","totalFeatures","onSkip","onExplore","onPrevious","onNext","setIsClosing","setIsClosingParent","onSecondaryAction","ratio","padding","isClosing","useState","startAnimation","setStartAnimation","transform","setTransform","popupRef","useRef","isVideoPaused","setIsVideoPaused","showPlayIcon","setShowPlayIcon","videoRef","imageAspectRatio","setImageAspectRatio","imageRef","useEffect","handleSecondaryAction","e","preventDefault","stopPropagation","action","_a","secondaryButton","closeCallback","url","_b","redirectionUrl","startsWith","window","open","location","href","hideJoyrideArrow","current","targetButton","findWhatsNewButton","transformValue","calculateCloseTransform","executeAfterAnimation","styles","getMajorPopupStyles","primaryButton","style","_jsx","Object","assign","outerWrapper","children","_jsxs","ref","container","opacity","transition","contentWrapper","imageContainer","productVideo","_Fragment","src","image","autoPlay","muted","loop","playsInline","controls","title","onLoadedMetadata","video","currentTarget","width","videoWidth","height","videoHeight","aspectRatio","Math","abs","videoOverlay","onClick","paused","play","pause","role","tabIndex","onKeyDown","key","PlayIcon","displayImage","alt","onLoad","img","naturalWidth","naturalHeight","onError","target","imagePlaceholder","TEXT","FEATURE_PREVIEW_PLACEHOLDER","contentContainer","skipButtonContainer","callback","handleClose","skipButton","base","onMouseEnter","hover","onMouseLeave","content","dangerouslySetInnerHTML","__html","decodeHTMLEntities","body","actionsWrapper","buttonsGroup","handleExplore","redirectUrl","exploreButton","_c","text","buttonText","DEFAULT_BUTTON_TEXT","_d","_e","rel","undefined","navigationContainer","disabled","navigationButton","Arrow"],"mappings":"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"}
1
+ {"version":3,"file":"MajorUpdatePopup.js","sources":["../../../../src/components/feature-announcements/MajorUpdatePopup.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport Arrow from '../../assets/icons/chevronRight2.svg';\nimport PlayIcon from '../../assets/icons/play.svg';\nimport { TEXT } from './constants';\nimport { getMajorPopupStyles } from './styles';\nimport { MajorUpdatePopupProps } from './types';\nimport {\n\tcalculateCloseTransform,\n\tdecodeHTMLEntities,\n\texecuteAfterAnimation,\n\tfindWhatsNewButton,\n\thideJoyrideArrow,\n} from './utils';\n\nconst MajorUpdatePopup: React.FC<MajorUpdatePopupProps> = ({\n\tfeature,\n\tcurrentIndex,\n\ttotalFeatures,\n\tonSkip,\n\tonExplore,\n\tonPrevious,\n\tonNext,\n\tsetIsClosing: setIsClosingParent,\n\tonSecondaryAction,\n\tratio = '16:9',\n\tpadding,\n}) => {\n\tconst [isClosing, setIsClosing] = useState(false);\n\tconst [startAnimation, setStartAnimation] = useState(false);\n\tconst [transform, setTransform] = useState('');\n\tconst popupRef = useRef<HTMLDivElement>(null);\n\tconst [isVideoPaused, setIsVideoPaused] = useState(false);\n\tconst [showPlayIcon, setShowPlayIcon] = useState(true);\n\tconst videoRef = useRef<HTMLVideoElement>(null);\n\tconst [imageAspectRatio, setImageAspectRatio] = useState<\n\t\t'16:9' | '1:1' | '4:3'\n\t>(ratio);\n\n\tconst imageRef = useRef<HTMLImageElement>(null);\n\n\tuseEffect(() => {\n\t\tif (isClosing) {\n\t\t\t// Start the shrink animation immediately\n\t\t\tsetStartAnimation(true);\n\t\t}\n\t}, [isClosing]);\n\n\tconst handleClose = (callback: () => void): void => {\n\t\thideJoyrideArrow(popupRef.current);\n\n\t\tconst targetButton = findWhatsNewButton();\n\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(callback);\n\t};\n\n\tconst handleImageLoad = (e: React.SyntheticEvent<HTMLImageElement>) => {\n\t\tconst img = e.currentTarget;\n\t\tconst width = img.naturalWidth;\n\t\tconst height = img.naturalHeight;\n\n\t\tif (width && height) {\n\t\t\tconst aspectRatio = width / height;\n\n\t\t\t// Determine closest predefined ratio\n\t\t\tif (Math.abs(aspectRatio - 16 / 9) < 0.1) {\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (Math.abs(aspectRatio - 1) < 0.1) {\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t} else if (Math.abs(aspectRatio - 4 / 3) < 0.1) {\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else if (aspectRatio > 1.5) {\n\t\t\t\t// Wide images default to 16:9\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (aspectRatio < 0.9) {\n\t\t\t\t// Tall images default to 4:3\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else {\n\t\t\t\t// Close to square, use 1:1\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleVideoLoadedMetadata = (\n\t\te: React.SyntheticEvent<HTMLVideoElement>,\n\t) => {\n\t\tconst video = e.currentTarget;\n\t\tconst width = video.videoWidth;\n\t\tconst height = video.videoHeight;\n\n\t\tif (width && height) {\n\t\t\tconst aspectRatio = width / height;\n\n\t\t\tif (Math.abs(aspectRatio - 16 / 9) < 0.1) {\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (Math.abs(aspectRatio - 1) < 0.1) {\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t} else if (Math.abs(aspectRatio - 4 / 3) < 0.1) {\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else if (aspectRatio > 1.5) {\n\t\t\t\t// Wide videos default to 16:9\n\t\t\t\tsetImageAspectRatio('16:9');\n\t\t\t} else if (aspectRatio < 0.9) {\n\t\t\t\t// Tall videos default to 4:3\n\t\t\t\tsetImageAspectRatio('4:3');\n\t\t\t} else {\n\t\t\t\t// Close to square, use 1:1\n\t\t\t\tsetImageAspectRatio('1:1');\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleExplore = (): void => {\n\t\tconst action = feature.primaryButton?.action;\n\n\t\tif (action === 'Play Video') {\n\t\t\tonExplore();\n\t\t} else if (action === 'Open link') {\n\t\t\t// Navigate to URL\n\t\t\tconst url = feature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tonExplore();\n\t\t}\n\n\t\t// Run closing animation in background\n\t\thideJoyrideArrow(popupRef.current);\n\t\tconst targetButton = findWhatsNewButton();\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t};\n\n\tconst handleSkipClick = (e: React.MouseEvent<HTMLButtonElement>): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\thandleClose(onSkip);\n\t};\n\n\tconst handlePreviousClick = (\n\t\te: React.MouseEvent<HTMLButtonElement>,\n\t): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tonPrevious();\n\t};\n\n\tconst handleNextClick = (e: React.MouseEvent<HTMLButtonElement>): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tonNext();\n\t};\n\n\tconst handleSecondaryAction = (e: React.MouseEvent): void => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tconst action = feature.secondaryButton?.action;\n\t\tconst closeCallback = onSecondaryAction || onSkip;\n\n\t\t// Handle based on action type\n\t\tif (action === 'Play Video') {\n\t\t\tonExplore();\n\t\t} else if (action === 'Open link') {\n\t\t\t// Open URL but don't close popup\n\t\t\tconst url = feature.secondaryButton?.redirectionUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (action === 'Close popup' || action === '') {\n\t\t\t// Just close the popup (empty action also closes)\n\t\t\t// callback is executed after closing animation completes\n\t\t}\n\n\t\t// Always close popup after secondary action\n\t\thideJoyrideArrow(popupRef.current);\n\t\tconst targetButton = findWhatsNewButton();\n\t\tif (targetButton && popupRef.current) {\n\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\tpopupRef.current,\n\t\t\t\ttargetButton,\n\t\t\t);\n\t\t\tsetTransform(transformValue);\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(closeCallback);\n\t};\n\n\tconst styles = getMajorPopupStyles(\n\t\tstartAnimation,\n\t\ttransform,\n\t\timageAspectRatio,\n\t\tpadding || feature.padding,\n\t\tfeature.primaryButton?.style,\n\t\tfeature.secondaryButton?.style,\n\t);\n\n\tconst handleVideoClick = (e: React.MouseEvent) => {\n\t\te.stopPropagation();\n\t\tif (videoRef.current) {\n\t\t\tif (videoRef.current.paused) {\n\t\t\t\tvideoRef.current.play();\n\t\t\t\tsetIsVideoPaused(false);\n\t\t\t\tsetShowPlayIcon(false);\n\t\t\t} else {\n\t\t\t\tvideoRef.current.pause();\n\t\t\t\tsetIsVideoPaused(true);\n\t\t\t\tsetShowPlayIcon(true);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst handleVideoKeyDown = (e: React.KeyboardEvent) => {\n\t\tif (e.key === 'Enter' || e.key === ' ') {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\tif (videoRef.current) {\n\t\t\t\tif (videoRef.current.paused) {\n\t\t\t\t\tvideoRef.current.play();\n\t\t\t\t\tsetIsVideoPaused(false);\n\t\t\t\t\tsetShowPlayIcon(false);\n\t\t\t\t} else {\n\t\t\t\t\tvideoRef.current.pause();\n\t\t\t\t\tsetIsVideoPaused(true);\n\t\t\t\t\tsetShowPlayIcon(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t<div style={styles.outerWrapper}>\n\t\t\t<div\n\t\t\t\tref={popupRef}\n\t\t\t\tstyle={{\n\t\t\t\t\t...styles.container,\n\t\t\t\t\topacity: startAnimation ? 0 : 1,\n\t\t\t\t\ttransition: 'opacity 0.2s ease-in-out, transform 0.3s ease',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<style>{`\n\t\t\t\t[data-popup-content] ul {\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\tpadding-left: 20px;\n\t\t\t\t\tlist-style-type: disc;\n\t\t\t\t}\n\t\t\t\t[data-popup-content] ul li {\n\t\t\t\t\tmargin-bottom: 8px;\n\t\t\t\t\tcolor: rgba(255, 255, 255, 0.8);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tline-height: 16px;\n\t\t\t\t\tfont-family: Inter, sans-serif;\n\t\t\t\t}\n\t\t\t`}</style>\n\t\t\t\t{/* Content Wrapper - contains image and text side by side */}\n\t\t\t\t<div style={styles.contentWrapper}>\n\t\t\t\t\t{/* Image/Video section */}\n\t\t\t\t\t<div style={styles.imageContainer}>\n\t\t\t\t\t\t{feature.productVideo ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<video\n\t\t\t\t\t\t\t\t\tref={videoRef}\n\t\t\t\t\t\t\t\t\tsrc={feature.productVideo}\n\t\t\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tloop\n\t\t\t\t\t\t\t\t\tplaysInline\n\t\t\t\t\t\t\t\t\tcontrols\n\t\t\t\t\t\t\t\t\taria-label={`Product video for ${feature.title}`}\n\t\t\t\t\t\t\t\t\tonLoadedMetadata={handleVideoLoadedMetadata}\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{(isVideoPaused || showPlayIcon) && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle={styles.videoOverlay}\n\t\t\t\t\t\t\t\t\t\tonClick={handleVideoClick}\n\t\t\t\t\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t\t\t\t\t\taria-label={isVideoPaused ? 'Play video' : 'Pause video'}\n\t\t\t\t\t\t\t\t\t\tonKeyDown={handleVideoKeyDown}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<PlayIcon width={20} height={20} />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : feature.displayImage ? (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tref={imageRef}\n\t\t\t\t\t\t\t\tsrc={feature.displayImage}\n\t\t\t\t\t\t\t\talt={feature.title}\n\t\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\t\tonLoad={handleImageLoad}\n\t\t\t\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\t\t\t\tif (feature.image) {\n\t\t\t\t\t\t\t\t\t\t(e.target as HTMLImageElement).src = feature.image;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div style={styles.imagePlaceholder}>\n\t\t\t\t\t\t\t\t{TEXT.FEATURE_PREVIEW_PLACEHOLDER}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{/* Content section */}\n\t\t\t\t\t<div style={styles.contentContainer}>\n\t\t\t\t\t\t{/* Skip Button at top-right */}\n\t\t\t\t\t\t<div style={styles.skipButtonContainer}>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tonClick={handleSkipClick}\n\t\t\t\t\t\t\t\tstyle={styles.skipButton.base}\n\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\tObject.assign(e.currentTarget.style, styles.skipButton.hover)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\tObject.assign(e.currentTarget.style, styles.skipButton.base)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-label=\"Skip feature announcement\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tSkip\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{/* Title */}\n\t\t\t\t\t\t<h3 style={styles.title}>{feature.title}</h3>\n\n\t\t\t\t\t\t{/* Content/Description */}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tdata-popup-content\n\t\t\t\t\t\t\tstyle={styles.content}\n\t\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t\t__html: decodeHTMLEntities(\n\t\t\t\t\t\t\t\t\tfeature.content || feature.body || '',\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{/* Actions - Buttons and Navigation */}\n\t\t\t\t\t\t<div style={styles.actionsWrapper}>\n\t\t\t\t\t\t\t<div style={styles.buttonsGroup}>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tonClick={handleExplore}\n\t\t\t\t\t\t\t\t\tstyle={styles.exploreButton.base}\n\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\tstyles.exploreButton.hover,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\tstyles.exploreButton.base,\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{feature.primaryButton?.text ||\n\t\t\t\t\t\t\t\t\t\tfeature.buttonText ||\n\t\t\t\t\t\t\t\t\t\tTEXT.DEFAULT_BUTTON_TEXT}\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t{/* Secondary Button (Optional) */}\n\t\t\t\t\t\t\t\t{feature.secondaryButton?.text &&\n\t\t\t\t\t\t\t\t\t(feature.secondaryButton?.redirectionUrl ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={feature.secondaryButton.redirectionUrl}\n\t\t\t\t\t\t\t\t\t\t\ttarget={\n\t\t\t\t\t\t\t\t\t\t\t\tfeature.secondaryButton.redirectionUrl.startsWith(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'http',\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: '_self'\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\trel={\n\t\t\t\t\t\t\t\t\t\t\t\tfeature.secondaryButton.redirectionUrl.startsWith(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'http',\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'noopener noreferrer'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={handleSecondaryAction}\n\t\t\t\t\t\t\t\t\t\t\tstyle={styles.secondaryButton.base}\n\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.hover,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.base,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\t\tonClick={handleSecondaryAction}\n\t\t\t\t\t\t\t\t\t\t\tstyle={styles.secondaryButton.base}\n\t\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.hover,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) =>\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.secondaryButton.base,\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t{/* Navigation arrows */}\n\t\t\t\t\t\t\t{totalFeatures > 1 && (\n\t\t\t\t\t\t\t\t<div style={styles.navigationContainer}>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tonClick={handlePreviousClick}\n\t\t\t\t\t\t\t\t\t\tdisabled={currentIndex === 0}\n\t\t\t\t\t\t\t\t\t\tstyle={styles.navigationButton(currentIndex === 0).base}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).hover,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== 0) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).base,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\taria-label=\"Previous feature\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Arrow style={{ transform: 'rotate(180deg)' }} />\n\t\t\t\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\tonClick={handleNextClick}\n\t\t\t\t\t\t\t\t\t\tdisabled={currentIndex === totalFeatures - 1}\n\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === totalFeatures - 1,\n\t\t\t\t\t\t\t\t\t\t\t).base\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonMouseEnter={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== totalFeatures - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(false).hover,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonMouseLeave={(e) => {\n\t\t\t\t\t\t\t\t\t\t\tif (currentIndex !== totalFeatures - 1) {\n\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\n\t\t\t\t\t\t\t\t\t\t\t\t\te.currentTarget.style,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.navigationButton(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcurrentIndex === totalFeatures - 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t).base,\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\taria-label=\"Next feature\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Arrow />\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{/* Close contentWrapper */}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default MajorUpdatePopup;\n"],"names":["MajorUpdatePopup","_ref","feature","currentIndex","totalFeatures","onSkip","onExplore","onPrevious","onNext","setIsClosing","setIsClosingParent","onSecondaryAction","ratio","padding","isClosing","useState","startAnimation","setStartAnimation","transform","setTransform","popupRef","useRef","isVideoPaused","setIsVideoPaused","showPlayIcon","setShowPlayIcon","videoRef","imageAspectRatio","setImageAspectRatio","imageRef","useEffect","handleSecondaryAction","e","preventDefault","stopPropagation","action","_a","secondaryButton","closeCallback","url","_b","redirectionUrl","startsWith","window","open","location","href","hideJoyrideArrow","current","targetButton","findWhatsNewButton","transformValue","calculateCloseTransform","executeAfterAnimation","styles","getMajorPopupStyles","primaryButton","style","_jsx","Object","assign","outerWrapper","children","_jsxs","ref","container","opacity","transition","contentWrapper","imageContainer","productVideo","_Fragment","src","image","autoPlay","muted","loop","playsInline","controls","title","onLoadedMetadata","video","currentTarget","width","videoWidth","height","videoHeight","aspectRatio","Math","abs","videoOverlay","onClick","paused","play","pause","role","tabIndex","onKeyDown","key","PlayIcon","displayImage","alt","onLoad","img","naturalWidth","naturalHeight","onError","target","imagePlaceholder","TEXT","FEATURE_PREVIEW_PLACEHOLDER","contentContainer","skipButtonContainer","callback","handleClose","skipButton","base","onMouseEnter","hover","onMouseLeave","content","dangerouslySetInnerHTML","__html","decodeHTMLEntities","body","actionsWrapper","buttonsGroup","handleExplore","redirectUrl","exploreButton","_c","text","buttonText","DEFAULT_BUTTON_TEXT","_d","_e","rel","undefined","navigationContainer","disabled","navigationButton","Arrow"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as r,useEffect as o}from"react";import{TEXT as i}from"./constants/index.js";import"../../constants/Theme.js";import"./constants/animations.js";import{getMinorPopupStyles as s}from"./styles/minorPopup.styles.js";import{decodeHTMLEntities as l}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as a,calculateCloseTransform as c,executeAfterAnimation as d}from"./utils/animationHelpers.js";import{findFeatureTagElement as u}from"./utils/elementHelpers.js";const m=m=>{let{feature:p,currentIndex:f,totalFeatures:g,onSkip:y,onExplore:v,onPrevious:h,onNext:T,setIsClosing:j}=m;var b,O;const[x,B]=n(!1),[E,w]=n(!1),[C,_]=n(""),k=r(null);o((()=>{x&&w(!0)}),[x]);const W=s(E,C);return e("div",Object.assign({ref:k,style:W.container},{children:[t("div",Object.assign({style:W.imageContainer},{children:p.displayImage?t("div",Object.assign({style:W.imageWrapper},{children:t("img",{src:p.displayImage,alt:p.title,style:W.image,onError:e=>{p.image&&(e.target.src=p.image)}})})):t("div",Object.assign({style:W.imagePlaceholder},{children:i.FEATURE_PREVIEW_PLACEHOLDER}))})),e("div",Object.assign({style:W.contentContainer},{children:[e("div",{children:[t("h3",Object.assign({style:W.title},{children:p.title})),t("div",{style:W.content,dangerouslySetInnerHTML:{__html:l(p.content||p.body||"")}})]}),e("div",Object.assign({style:W.actionsContainer},{children:[(null===(b=p.secondaryButton)||void 0===b?void 0:b.text)&&t("span",Object.assign({onClick:()=>{var e,t,n;const r=null===(e=p.secondaryButton)||void 0===e?void 0:e.action,o=y;if("Open link"===r){const e=null===(t=p.secondaryButton)||void 0===t?void 0:t.redirectionUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):window.location.href=e}}else"Close popup"!==r&&""!==r||null===(n=p.secondaryButton)||void 0===n||n.action;if(a(k.current),k.current&&p.featureTag){const e=u(p.featureTag);if(e){const t=c(k.current,e);_(t)}else _("scale(0)")}else _("scale(0)");null==j||j(!0),B(!0),d(o)},style:W.understoodText},{children:p.secondaryButton.text})),t("button",Object.assign({onClick:()=>{var e,t;const n=null===(e=p.primaryButton)||void 0===e?void 0:e.action;if("Play Video"===n)v();else if("Open link"===n){const e=(null===(t=p.primaryButton)||void 0===t?void 0:t.redirectionUrl)||p.redirectUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):window.location.href=e}v()}else v();if(a(k.current),k.current&&p.featureTag){const e=p.featureTag.startsWith("#")||p.featureTag.startsWith(".")||p.featureTag.startsWith("[")?p.featureTag:`#${p.featureTag}`,t=document.querySelector(e);if(t){const e=c(k.current,t);_(e)}else _("scale(0)")}else _("scale(0)");null==j||j(!0),B(!0)},style:W.exploreButton},{children:(null===(O=p.primaryButton)||void 0===O?void 0:O.text)||p.buttonText||i.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};export{m as default};
1
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as n,useRef as r,useEffect as i}from"react";import{TEXT as o}from"./constants/index.js";import"../../constants/Theme.js";import"./constants/animations.js";import{getMinorPopupStyles as s}from"./styles/minorPopup.styles.js";import{decodeHTMLEntities as l}from"./utils/htmlHelpers.js";import{hideJoyrideArrow as a,calculateCloseTransform as c,executeAfterAnimation as d}from"./utils/animationHelpers.js";import{findFeatureTagElement as u}from"./utils/elementHelpers.js";const m=m=>{let{feature:p,currentIndex:f,totalFeatures:g,onSkip:y,onExplore:v,onPrevious:h,onNext:T,setIsClosing:j}=m;var b,O;const[x,B]=n(!1),[E,w]=n(!1),[C,_]=n(""),k=r(null);i((()=>{x&&w(!0)}),[x]);const P=s(E,C);return e("div",Object.assign({ref:k,style:P.container},{children:[t("div",Object.assign({style:P.imageContainer},{children:p.displayImage?t("div",Object.assign({style:P.imageWrapper},{children:t("img",{src:p.displayImage,alt:p.title,style:P.image,onError:e=>{p.image&&(e.target.src=p.image)}})})):t("div",Object.assign({style:P.imagePlaceholder},{children:o.FEATURE_PREVIEW_PLACEHOLDER}))})),e("div",Object.assign({style:P.contentContainer},{children:[e("div",{children:[t("h3",Object.assign({style:P.title},{children:p.title})),t("div",{style:P.content,dangerouslySetInnerHTML:{__html:l(p.content||p.body||"")}})]}),e("div",Object.assign({style:P.actionsContainer},{children:[(null===(b=p.secondaryButton)||void 0===b?void 0:b.text)&&t("span",Object.assign({onClick:()=>{var e,t,n;const r=null===(e=p.secondaryButton)||void 0===e?void 0:e.action,i=y;if("Play Video"===r)v();else if("Open link"===r){const e=null===(t=p.secondaryButton)||void 0===t?void 0:t.redirectionUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):window.location.href=e}}else"Close popup"!==r&&""!==r||null===(n=p.secondaryButton)||void 0===n||n.action;if(a(k.current),k.current&&p.featureTag){const e=u(p.featureTag);if(e){const t=c(k.current,e);_(t)}else _("scale(0)")}else _("scale(0)");null==j||j(!0),B(!0),d(i)},style:P.understoodText},{children:p.secondaryButton.text})),t("button",Object.assign({onClick:()=>{var e,t;const n=null===(e=p.primaryButton)||void 0===e?void 0:e.action;if("Play Video"===n)v();else if("Open link"===n){const e=(null===(t=p.primaryButton)||void 0===t?void 0:t.redirectionUrl)||p.redirectUrl;if(e){e.startsWith("http")?window.open(e,"_blank","noopener,noreferrer"):window.location.href=e}}else v();if(a(k.current),k.current&&p.featureTag){const e=p.featureTag.startsWith("#")||p.featureTag.startsWith(".")||p.featureTag.startsWith("[")?p.featureTag:`#${p.featureTag}`,t=document.querySelector(e);if(t){const e=c(k.current,t);_(e)}else _("scale(0)")}else _("scale(0)");null==j||j(!0),B(!0)},style:P.exploreButton},{children:(null===(O=p.primaryButton)||void 0===O?void 0:O.text)||p.buttonText||o.DEFAULT_BUTTON_TEXT}))]}))]}))]}))};export{m as default};
2
2
  //# sourceMappingURL=MinorUpdatePopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MinorUpdatePopup.js","sources":["../../../../src/components/feature-announcements/MinorUpdatePopup.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { TEXT } from './constants';\nimport { getMinorPopupStyles } from './styles';\nimport { MinorUpdatePopupProps } from './types';\nimport {\n\tcalculateCloseTransform,\n\tdecodeHTMLEntities,\n\texecuteAfterAnimation,\n\tfindFeatureTagElement,\n\thideJoyrideArrow,\n} from './utils';\n\nconst MinorUpdatePopup: React.FC<MinorUpdatePopupProps> = ({\n\tfeature,\n\tcurrentIndex,\n\ttotalFeatures,\n\tonSkip,\n\tonExplore,\n\tonPrevious,\n\tonNext,\n\tsetIsClosing: setIsClosingParent,\n}) => {\n\tconst [isClosing, setIsClosing] = useState(false);\n\tconst [startAnimation, setStartAnimation] = useState(false);\n\tconst [transform, setTransform] = useState('');\n\tconst popupRef = useRef<HTMLDivElement>(null);\n\n\t// Hide Joyride arrow when closing starts, then trigger animation immediately\n\tuseEffect(() => {\n\t\tif (isClosing) {\n\t\t\t// Start the shrink animation immediately\n\t\t\tsetStartAnimation(true);\n\t\t}\n\t}, [isClosing]);\n\n\tconst handleExplore = (): void => {\n\t\tconst action = feature.primaryButton?.action;\n\n\t\tif (action === 'Play Video') {\n\t\t\t// Open video modal\n\t\t\tonExplore();\n\t\t} else if (action === 'Open link') {\n\t\t\t// Navigate to URL\n\t\t\tconst url = feature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\t\t\tonExplore();\n\t\t} else {\n\t\t\t// Default action - call onExplore callback\n\t\t\tonExplore();\n\t\t}\n\n\t\t// Run closing animation in background\n\t\thideJoyrideArrow(popupRef.current);\n\t\tif (popupRef.current && feature.featureTag) {\n\t\t\tconst targetSelector =\n\t\t\t\tfeature.featureTag.startsWith('#') ||\n\t\t\t\tfeature.featureTag.startsWith('.') ||\n\t\t\t\tfeature.featureTag.startsWith('[')\n\t\t\t\t\t? feature.featureTag\n\t\t\t\t\t: `#${feature.featureTag}`;\n\t\t\tconst targetElement = document.querySelector(targetSelector);\n\t\t\tif (targetElement) {\n\t\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\t\tpopupRef.current,\n\t\t\t\t\ttargetElement,\n\t\t\t\t);\n\t\t\t\tsetTransform(transformValue);\n\t\t\t} else {\n\t\t\t\tsetTransform('scale(0)');\n\t\t\t}\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t};\n\n\tconst handleSecondaryAction = (): void => {\n\t\tconst action = feature.secondaryButton?.action;\n\t\tconst closeCallback = onSkip;\n\n\t\t// Handle based on action type\n\t\tif (action === 'Open link') {\n\t\t\t// Open URL\n\t\t\tconst url = feature.secondaryButton?.redirectionUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (action === 'Close popup' || action === '') {\n\t\t\t// Just close the popup\n\t\t\tif (feature.secondaryButton?.action) {\n\t\t\t\t// Call onSecondaryAction if needed\n\t\t\t}\n\t\t}\n\n\t\t// Always close popup after secondary action\n\t\thideJoyrideArrow(popupRef.current);\n\t\tif (popupRef.current && feature.featureTag) {\n\t\t\tconst targetElement = findFeatureTagElement(feature.featureTag);\n\t\t\tif (targetElement) {\n\t\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\t\tpopupRef.current,\n\t\t\t\t\ttargetElement,\n\t\t\t\t);\n\t\t\t\tsetTransform(transformValue);\n\t\t\t} else {\n\t\t\t\tsetTransform('scale(0)');\n\t\t\t}\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(closeCallback);\n\t};\n\n\tconst styles = getMinorPopupStyles(startAnimation, transform);\n\n\treturn (\n\t\t<div ref={popupRef} style={styles.container}>\n\t\t\t{/* Image section */}\n\t\t\t<div style={styles.imageContainer}>\n\t\t\t\t{feature.displayImage ? (\n\t\t\t\t\t<div style={styles.imageWrapper}>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={feature.displayImage}\n\t\t\t\t\t\t\talt={feature.title}\n\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\t\t\tif (feature.image) {\n\t\t\t\t\t\t\t\t\t(e.target as HTMLImageElement).src = feature.image;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div style={styles.imagePlaceholder}>\n\t\t\t\t\t\t{TEXT.FEATURE_PREVIEW_PLACEHOLDER}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* Content section */}\n\t\t\t<div style={styles.contentContainer}>\n\t\t\t\t<div>\n\t\t\t\t\t<h3 style={styles.title}>{feature.title}</h3>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={styles.content}\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: decodeHTMLEntities(feature.content || feature.body || ''),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Action buttons */}\n\t\t\t\t<div style={styles.actionsContainer}>\n\t\t\t\t\t{/* Secondary Button (if configured, shows as text link on left) */}\n\t\t\t\t\t{feature.secondaryButton?.text && (\n\t\t\t\t\t\t<span onClick={handleSecondaryAction} style={styles.understoodText}>\n\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Primary Button (always shows) */}\n\t\t\t\t\t<button onClick={handleExplore} style={styles.exploreButton}>\n\t\t\t\t\t\t{feature.primaryButton?.text ||\n\t\t\t\t\t\t\tfeature.buttonText ||\n\t\t\t\t\t\t\tTEXT.DEFAULT_BUTTON_TEXT}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default MinorUpdatePopup;\n"],"names":["MinorUpdatePopup","_ref","feature","currentIndex","totalFeatures","onSkip","onExplore","onPrevious","onNext","setIsClosing","setIsClosingParent","isClosing","useState","startAnimation","setStartAnimation","transform","setTransform","popupRef","useRef","useEffect","styles","getMinorPopupStyles","_jsxs","Object","assign","ref","style","container","children","_jsx","imageContainer","displayImage","imageWrapper","src","alt","title","image","onError","e","target","imagePlaceholder","TEXT","FEATURE_PREVIEW_PLACEHOLDER","contentContainer","content","dangerouslySetInnerHTML","__html","decodeHTMLEntities","body","actionsContainer","_a","secondaryButton","text","onClick","handleSecondaryAction","action","closeCallback","url","_b","redirectionUrl","startsWith","window","open","location","href","_c","hideJoyrideArrow","current","featureTag","targetElement","findFeatureTagElement","transformValue","calculateCloseTransform","executeAfterAnimation","understoodText","handleExplore","primaryButton","redirectUrl","targetSelector","document","querySelector","exploreButton","buttonText","DEFAULT_BUTTON_TEXT"],"mappings":"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"}
1
+ {"version":3,"file":"MinorUpdatePopup.js","sources":["../../../../src/components/feature-announcements/MinorUpdatePopup.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { TEXT } from './constants';\nimport { getMinorPopupStyles } from './styles';\nimport { MinorUpdatePopupProps } from './types';\nimport {\n\tcalculateCloseTransform,\n\tdecodeHTMLEntities,\n\texecuteAfterAnimation,\n\tfindFeatureTagElement,\n\thideJoyrideArrow,\n} from './utils';\n\nconst MinorUpdatePopup: React.FC<MinorUpdatePopupProps> = ({\n\tfeature,\n\tcurrentIndex,\n\ttotalFeatures,\n\tonSkip,\n\tonExplore,\n\tonPrevious,\n\tonNext,\n\tsetIsClosing: setIsClosingParent,\n}) => {\n\tconst [isClosing, setIsClosing] = useState(false);\n\tconst [startAnimation, setStartAnimation] = useState(false);\n\tconst [transform, setTransform] = useState('');\n\tconst popupRef = useRef<HTMLDivElement>(null);\n\n\t// Hide Joyride arrow when closing starts, then trigger animation immediately\n\tuseEffect(() => {\n\t\tif (isClosing) {\n\t\t\t// Start the shrink animation immediately\n\t\t\tsetStartAnimation(true);\n\t\t}\n\t}, [isClosing]);\n\n\tconst handleExplore = (): void => {\n\t\tconst action = feature.primaryButton?.action;\n\n\t\tif (action === 'Play Video') {\n\t\t\tonExplore();\n\t\t} else if (action === 'Open link') {\n\t\t\t// Navigate to URL\n\t\t\tconst url = feature.primaryButton?.redirectionUrl || feature.redirectUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// Default action - call onExplore callback\n\t\t\tonExplore();\n\t\t}\n\n\t\t// Run closing animation in background\n\t\thideJoyrideArrow(popupRef.current);\n\t\tif (popupRef.current && feature.featureTag) {\n\t\t\tconst targetSelector =\n\t\t\t\tfeature.featureTag.startsWith('#') ||\n\t\t\t\tfeature.featureTag.startsWith('.') ||\n\t\t\t\tfeature.featureTag.startsWith('[')\n\t\t\t\t\t? feature.featureTag\n\t\t\t\t\t: `#${feature.featureTag}`;\n\t\t\tconst targetElement = document.querySelector(targetSelector);\n\t\t\tif (targetElement) {\n\t\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\t\tpopupRef.current,\n\t\t\t\t\ttargetElement,\n\t\t\t\t);\n\t\t\t\tsetTransform(transformValue);\n\t\t\t} else {\n\t\t\t\tsetTransform('scale(0)');\n\t\t\t}\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t};\n\n\tconst handleSecondaryAction = (): void => {\n\t\tconst action = feature.secondaryButton?.action;\n\t\tconst closeCallback = onSkip;\n\n\t\t// Handle based on action type\n\t\tif (action === 'Play Video') {\n\t\t\tonExplore();\n\t\t} else if (action === 'Open link') {\n\t\t\t// Open URL\n\t\t\tconst url = feature.secondaryButton?.redirectionUrl;\n\t\t\tif (url) {\n\t\t\t\tconst isExternal = url.startsWith('http');\n\t\t\t\tif (isExternal) {\n\t\t\t\t\twindow.open(url, '_blank', 'noopener,noreferrer');\n\t\t\t\t} else {\n\t\t\t\t\twindow.location.href = url;\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (action === 'Close popup' || action === '') {\n\t\t\t// Just close the popup\n\t\t\tif (feature.secondaryButton?.action) {\n\t\t\t\t// Call onSecondaryAction if needed\n\t\t\t}\n\t\t}\n\n\t\t// Always close popup after secondary action\n\t\thideJoyrideArrow(popupRef.current);\n\t\tif (popupRef.current && feature.featureTag) {\n\t\t\tconst targetElement = findFeatureTagElement(feature.featureTag);\n\t\t\tif (targetElement) {\n\t\t\t\tconst transformValue = calculateCloseTransform(\n\t\t\t\t\tpopupRef.current,\n\t\t\t\t\ttargetElement,\n\t\t\t\t);\n\t\t\t\tsetTransform(transformValue);\n\t\t\t} else {\n\t\t\t\tsetTransform('scale(0)');\n\t\t\t}\n\t\t} else {\n\t\t\tsetTransform('scale(0)');\n\t\t}\n\t\tsetIsClosingParent?.(true);\n\t\tsetIsClosing(true);\n\t\texecuteAfterAnimation(closeCallback);\n\t};\n\n\tconst styles = getMinorPopupStyles(startAnimation, transform);\n\n\treturn (\n\t\t<div ref={popupRef} style={styles.container}>\n\t\t\t{/* Image section */}\n\t\t\t<div style={styles.imageContainer}>\n\t\t\t\t{feature.displayImage ? (\n\t\t\t\t\t<div style={styles.imageWrapper}>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={feature.displayImage}\n\t\t\t\t\t\t\talt={feature.title}\n\t\t\t\t\t\t\tstyle={styles.image}\n\t\t\t\t\t\t\tonError={(e) => {\n\t\t\t\t\t\t\t\tif (feature.image) {\n\t\t\t\t\t\t\t\t\t(e.target as HTMLImageElement).src = feature.image;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div style={styles.imagePlaceholder}>\n\t\t\t\t\t\t{TEXT.FEATURE_PREVIEW_PLACEHOLDER}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* Content section */}\n\t\t\t<div style={styles.contentContainer}>\n\t\t\t\t<div>\n\t\t\t\t\t<h3 style={styles.title}>{feature.title}</h3>\n\t\t\t\t\t<div\n\t\t\t\t\t\tstyle={styles.content}\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: decodeHTMLEntities(feature.content || feature.body || ''),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t{/* Action buttons */}\n\t\t\t\t<div style={styles.actionsContainer}>\n\t\t\t\t\t{/* Secondary Button (if configured, shows as text link on left) */}\n\t\t\t\t\t{feature.secondaryButton?.text && (\n\t\t\t\t\t\t<span onClick={handleSecondaryAction} style={styles.understoodText}>\n\t\t\t\t\t\t\t{feature.secondaryButton.text}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{/* Primary Button (always shows) */}\n\t\t\t\t\t<button onClick={handleExplore} style={styles.exploreButton}>\n\t\t\t\t\t\t{feature.primaryButton?.text ||\n\t\t\t\t\t\t\tfeature.buttonText ||\n\t\t\t\t\t\t\tTEXT.DEFAULT_BUTTON_TEXT}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default MinorUpdatePopup;\n"],"names":["MinorUpdatePopup","_ref","feature","currentIndex","totalFeatures","onSkip","onExplore","onPrevious","onNext","setIsClosing","setIsClosingParent","isClosing","useState","startAnimation","setStartAnimation","transform","setTransform","popupRef","useRef","useEffect","styles","getMinorPopupStyles","_jsxs","Object","assign","ref","style","container","children","_jsx","imageContainer","displayImage","imageWrapper","src","alt","title","image","onError","e","target","imagePlaceholder","TEXT","FEATURE_PREVIEW_PLACEHOLDER","contentContainer","content","dangerouslySetInnerHTML","__html","decodeHTMLEntities","body","actionsContainer","_a","secondaryButton","text","onClick","handleSecondaryAction","action","closeCallback","url","_b","redirectionUrl","startsWith","window","open","location","href","_c","hideJoyrideArrow","current","featureTag","targetElement","findFeatureTagElement","transformValue","calculateCloseTransform","executeAfterAnimation","understoodText","handleExplore","primaryButton","redirectUrl","targetSelector","document","querySelector","exploreButton","buttonText","DEFAULT_BUTTON_TEXT"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{__rest as e}from"../../_virtual/_tslib.js";import{jsx as t}from"react/jsx-runtime";import o,{forwardRef as i}from"react";import{Tooltip as l}from"../tooltips/Tooltip.js";import{IconButton as s}from"./IconButton.styled.js";import{getIconColor as d}from"./theme.js";const n=i(((i,n)=>{var{id:r,iconButtonType:c="default",size:a="default",Icon:p,height:b,width:m,bordered:u,disabled:y,isSelected:h,style:g,svgStyle:f,iconColor:j,iconPadding:B,disabledTooltip:T}=i,I=e(i,["id","iconButtonType","size","Icon","height","width","bordered","disabled","isSelected","style","svgStyle","iconColor","iconPadding","disabledTooltip"]);const S="xs"===a?16:20,v=null!=b?b:S,w=null!=m?m:S,O=d(c,y,h),x=t(s,Object.assign({id:r,ref:n,style:g,iconButtonType:c,bordered:u,disabled:y,isSelected:h,iconPadding:B,size:a},I,{children:o.createElement(p,{height:v,width:w,color:j||O,style:Object.assign({display:"block"},null!=f?f:{})})}));return y&&T?t(l,Object.assign({body:T},{children:t("span",Object.assign({style:{display:"inline-block",cursor:"not-allowed"}},{children:x}))})):x}));n.displayName="IconButton";export{n as IconButton};
1
+ import{__rest as t}from"../../_virtual/_tslib.js";import{jsx as e}from"react/jsx-runtime";import o,{forwardRef as i}from"react";import{Tooltip as l}from"../tooltips/Tooltip.js";import{IconButton as s}from"./IconButton.styled.js";import{getIconColor as r}from"./theme.js";const d=i(((i,d)=>{var{id:n,iconButtonType:c="default",Icon:a,height:p=20,width:b=20,bordered:m,disabled:y,isSelected:h,style:u,svgStyle:g,iconColor:j,disabledTooltip:f}=i,B=t(i,["id","iconButtonType","Icon","height","width","bordered","disabled","isSelected","style","svgStyle","iconColor","disabledTooltip"]);const T=r(c,y,h),I=e(s,Object.assign({id:n,ref:d,style:u,iconButtonType:c,bordered:m,disabled:y,isSelected:h},B,{children:o.createElement(a,{height:p,width:b,color:j||T,style:Object.assign({display:"block"},null!=g?g:{})})}));return y&&f?e(l,Object.assign({body:f},{children:e("span",Object.assign({style:{display:"inline-block",cursor:"not-allowed"}},{children:I}))})):I}));d.displayName="IconButton";export{d as IconButton};
2
2
  //# sourceMappingURL=IconButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.js","sources":["../../../../src/components/icon-button/IconButton.tsx"],"sourcesContent":["import React from 'react';\nimport { forwardRef } from 'react';\nimport { Tooltip } from '../tooltips';\nimport * as Sc from './IconButton.styled';\nimport { IconButtonProps } from './model';\nimport { getIconColor } from './theme';\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n\t(\n\t\t{\n\t\t\tid,\n\t\t\ticonButtonType = 'default',\n\t\t\tsize = 'default',\n\t\t\tIcon,\n\t\t\theight,\n\t\t\twidth,\n\t\t\tbordered,\n\t\t\tdisabled,\n\t\t\tisSelected,\n\t\t\tstyle,\n\t\t\tsvgStyle,\n\t\t\ticonColor,\n\t\t\ticonPadding,\n\t\t\tdisabledTooltip,\n\t\t\t...rest\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst defaultIconSize = size === 'xs' ? 16 : 20;\n\t\tconst resolvedHeight = height ?? defaultIconSize;\n\t\tconst resolvedWidth = width ?? defaultIconSize;\n\n\t\tconst iconColorComputed = getIconColor(\n\t\t\ticonButtonType,\n\t\t\tdisabled,\n\t\t\tisSelected,\n\t\t);\n\t\tconst button = (\n\t\t\t<Sc.IconButton\n\t\t\t\tid={id}\n\t\t\t\tref={ref}\n\t\t\t\tstyle={style}\n\t\t\t\ticonButtonType={iconButtonType}\n\t\t\t\tbordered={bordered}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tisSelected={isSelected}\n\t\t\t\ticonPadding={iconPadding}\n\t\t\t\tsize={size}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{React.createElement(Icon, {\n\t\t\t\t\theight: resolvedHeight,\n\t\t\t\t\twidth: resolvedWidth,\n\t\t\t\t\tcolor: iconColor || iconColorComputed,\n\t\t\t\t\tstyle: { display: 'block', ...(svgStyle ?? {}) },\n\t\t\t\t})}\n\t\t\t</Sc.IconButton>\n\t\t);\n\n\t\treturn disabled && disabledTooltip ? (\n\t\t\t<Tooltip body={disabledTooltip}>\n\t\t\t\t<span style={{ display: 'inline-block', cursor: 'not-allowed' }}>\n\t\t\t\t\t{button}\n\t\t\t\t</span>\n\t\t\t</Tooltip>\n\t\t) : (\n\t\t\tbutton\n\t\t);\n\t},\n);\n\nIconButton.displayName = 'IconButton';\n"],"names":["IconButton","forwardRef","_a","ref","id","iconButtonType","size","Icon","height","width","bordered","disabled","isSelected","style","svgStyle","iconColor","iconPadding","disabledTooltip","rest","__rest","defaultIconSize","resolvedHeight","resolvedWidth","iconColorComputed","getIconColor","button","_jsx","Sc","Object","assign","children","React","createElement","color","display","Tooltip","body","cursor","displayName"],"mappings":"+QAOO,MAAMA,EAAaC,GACzB,CACCC,EAiBAC,KAjBA,IAAAC,GACCA,EAAEC,eACFA,EAAiB,UAASC,KAC1BA,EAAO,UAASC,KAChBA,EAAIC,OACJA,EAAMC,MACNA,EAAKC,SACLA,EAAQC,SACRA,EAAQC,WACRA,EAAUC,MACVA,EAAKC,SACLA,EAAQC,UACRA,EAASC,YACTA,EAAWC,gBACXA,GAEAf,EADGgB,EAAIC,EAAAjB,EAfR,0JAmBA,MAAMkB,EAA2B,OAATd,EAAgB,GAAK,GACvCe,EAAiBb,QAAAA,EAAUY,EAC3BE,EAAgBb,QAAAA,EAASW,EAEzBG,EAAoBC,EACzBnB,EACAM,EACAC,GAEKa,EACLC,EAACC,EACAC,OAAAC,OAAA,CAAAzB,GAAIA,EACJD,IAAKA,EACLU,MAAOA,EACPR,eAAgBA,EAChBK,SAAUA,EACVC,SAAUA,EACVC,WAAYA,EACZI,YAAaA,EACbV,KAAMA,GACFY,EAAI,CAAAY,SAEPC,EAAMC,cAAczB,EAAM,CAC1BC,OAAQa,EACRZ,MAAOa,EACPW,MAAOlB,GAAaQ,EACpBV,MAASe,OAAAC,OAAA,CAAAK,QAAS,SAAapB,QAAAA,EAAY,SAK9C,OAAOH,GAAYM,EAClBS,EAACS,EAAOP,OAAAC,OAAA,CAACO,KAAMnB,GACd,CAAAa,SAAAJ,EAAA,OAAAE,OAAAC,OAAA,CAAMhB,MAAO,CAAEqB,QAAS,eAAgBG,OAAQ,gBAC9C,CAAAP,SAAAL,QAIHA,CACA,IAIHzB,EAAWsC,YAAc"}
1
+ {"version":3,"file":"IconButton.js","sources":["../../../../src/components/icon-button/IconButton.tsx"],"sourcesContent":["import React from 'react';\nimport { forwardRef } from 'react';\nimport { Tooltip } from '../tooltips';\nimport * as Sc from './IconButton.styled';\nimport { IconButtonProps } from './model';\nimport { getIconColor } from './theme';\n\nexport const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(\n\t(\n\t\t{\n\t\t\tid,\n\t\t\ticonButtonType = 'default',\n\t\t\tIcon,\n\t\t\theight = 20,\n\t\t\twidth = 20,\n\t\t\tbordered,\n\t\t\tdisabled,\n\t\t\tisSelected,\n\t\t\tstyle,\n\t\t\tsvgStyle,\n\t\t\ticonColor,\n\t\t\tdisabledTooltip,\n\t\t\t...rest\n\t\t},\n\t\tref,\n\t) => {\n\t\tconst iconColorComputed = getIconColor(\n\t\t\ticonButtonType,\n\t\t\tdisabled,\n\t\t\tisSelected,\n\t\t);\n\t\tconst button = (\n\t\t\t<Sc.IconButton\n\t\t\t\tid={id}\n\t\t\t\tref={ref}\n\t\t\t\tstyle={style}\n\t\t\t\ticonButtonType={iconButtonType}\n\t\t\t\tbordered={bordered}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tisSelected={isSelected}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{React.createElement(Icon, {\n\t\t\t\t\theight: height,\n\t\t\t\t\twidth: width,\n\t\t\t\t\tcolor: iconColor || iconColorComputed,\n\t\t\t\t\tstyle: { display: 'block', ...(svgStyle ?? {}) },\n\t\t\t\t})}\n\t\t\t</Sc.IconButton>\n\t\t);\n\n\t\treturn disabled && disabledTooltip ? (\n\t\t\t<Tooltip body={disabledTooltip}>\n\t\t\t\t<span style={{ display: 'inline-block', cursor: 'not-allowed' }}>\n\t\t\t\t\t{button}\n\t\t\t\t</span>\n\t\t\t</Tooltip>\n\t\t) : (\n\t\t\tbutton\n\t\t);\n\t},\n);\n\nIconButton.displayName = 'IconButton';\n"],"names":["IconButton","forwardRef","_a","ref","id","iconButtonType","Icon","height","width","bordered","disabled","isSelected","style","svgStyle","iconColor","disabledTooltip","rest","__rest","iconColorComputed","getIconColor","button","_jsx","Sc","Object","assign","children","React","createElement","color","display","Tooltip","body","cursor","displayName"],"mappings":"+QAOO,MAAMA,EAAaC,GACzB,CACCC,EAeAC,KAfA,IAAAC,GACCA,EAAEC,eACFA,EAAiB,UAASC,KAC1BA,EAAIC,OACJA,EAAS,GAAEC,MACXA,EAAQ,GAAEC,SACVA,EAAQC,SACRA,EAAQC,WACRA,EAAUC,MACVA,EAAKC,SACLA,EAAQC,UACRA,EAASC,gBACTA,GAEAb,EADGc,EAAIC,EAAAf,EAbR,qIAiBA,MAAMgB,EAAoBC,EACzBd,EACAK,EACAC,GAEKS,EACLC,EAACC,EACAC,OAAAC,OAAA,CAAApB,GAAIA,EACJD,IAAKA,EACLS,MAAOA,EACPP,eAAgBA,EAChBI,SAAUA,EACVC,SAAUA,EACVC,WAAYA,GACRK,EAEH,CAAAS,SAAAC,EAAMC,cAAcrB,EAAM,CAC1BC,OAAQA,EACRC,MAAOA,EACPoB,MAAOd,GAAaI,EACpBN,MAASW,OAAAC,OAAA,CAAAK,QAAS,SAAahB,QAAAA,EAAY,SAK9C,OAAOH,GAAYK,EAClBM,EAACS,EAAOP,OAAAC,OAAA,CAACO,KAAMhB,GACd,CAAAU,SAAAJ,EAAA,OAAAE,OAAAC,OAAA,CAAMZ,MAAO,CAAEiB,QAAS,eAAgBG,OAAQ,gBAC9C,CAAAP,SAAAL,QAIHA,CACA,IAIHpB,EAAWiC,YAAc"}
@@ -1,4 +1,4 @@
1
1
  import t from"styled-components";import{COLORS as n}from"../../constants/Theme.js";import{generateBackgroundColor as o}from"./theme.js";const r=t.button`
2
- ${t=>`\n\tall: unset;\n\tcursor: pointer;\n\tpadding: ${void 0!==t.iconPadding?t.iconPadding:"xs"===t.size?4:6}px;\n\tborder-radius: 4px;\n\tflex-wrap: wrap;\n\t${t.bordered&&"ai"!==t.iconButtonType&&"primary"!==t.iconButtonType?`border: 1px solid ${n.stroke.primary};`:""}\n\t${"primary"===t.iconButtonType?`\n\t\t\t\tbackground: ${o("primary")};\n\t\t\t\t${t.isSelected?"":`:hover { background-color: ${n.background.inverse}; }`}\n\t\t\t\t:active { box-shadow: inset 0px 4px 12px rgba(0, 0, 0, 0.35); }\n\t\t\t`:t.isSelected?`background: ${o(t.iconButtonType)};`:"\n\t\t\t\t:hover {\n\t\t\t\t\tbackground-color: rgba(0, 0, 0, 0.03);\n\t\t\t\t}\n\t\t\t"}\n\t${t.disabled?"primary"===t.iconButtonType?`\n\t\t\t\t\tcursor: not-allowed !important;\n\t\t\t\t\tbackground-color: ${n.background.inactive};\n\t\t\t\t\t:hover { background-color: ${n.background.inactive}; }\n\t\t\t\t`:"\n\t\t\t\t\tcursor: not-allowed !important;\n\t\t\t\t\tbackground-color: rgba(0, 0, 0, 0.03);\n\t\t\t\t":""}\n\n\t`}
2
+ ${t=>`\n\tall: unset;\n\tcursor: pointer;\n\tpadding: 6px;\n\tborder-radius: 4px;\n\tflex-wrap: wrap;\n\t${t.bordered&&"ai"!==t.iconButtonType?`border: 1px solid ${n.stroke.primary};`:""}\n\t${t.isSelected?`\n\t\t\tbackground: ${o(t.iconButtonType)};\n\t\t\t\t`:"\n\t\t\t\t:hover {\n\t\t\t\t\tbackground-color: rgba(0, 0, 0, 0.03);\n\t\t\t\t}\n\t\t\t"}\n\t${t.disabled&&"\n\t\t\tcursor: not-allowed !important;\n\t\t\tbackground-color: rgba(0, 0, 0, 0.03);\n\t\t"}\n\n\t`}
3
3
  `;export{r as IconButton};
4
4
  //# sourceMappingURL=IconButton.styled.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.styled.js","sources":["../../../../src/components/icon-button/IconButton.styled.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\nimport { IconButtonSize, IconButtonType } from './model';\nimport { generateBackgroundColor } from './theme';\n\nexport const IconButton = styled.button<{\n\tbordered?: boolean;\n\ticonButtonType: IconButtonType;\n\tisSelected?: boolean;\n\ticonPadding?: number;\n\tsize?: IconButtonSize;\n}>`\n\t${(props) => `\n\tall: unset;\n\tcursor: pointer;\n\tpadding: ${\n\t\tprops.iconPadding !== undefined\n\t\t\t? props.iconPadding\n\t\t\t: props.size === 'xs'\n\t\t\t? 4\n\t\t\t: 6\n\t}px;\n\tborder-radius: 4px;\n\tflex-wrap: wrap;\n\t${\n\t\tprops.bordered &&\n\t\tprops.iconButtonType !== 'ai' &&\n\t\tprops.iconButtonType !== 'primary'\n\t\t\t? `border: 1px solid ${COLORS.stroke.primary};`\n\t\t\t: ''\n\t}\n\t${\n\t\tprops.iconButtonType === 'primary'\n\t\t\t? `\n\t\t\t\tbackground: ${generateBackgroundColor('primary')};\n\t\t\t\t${\n\t\t\t\t\t!props.isSelected\n\t\t\t\t\t\t? `:hover { background-color: ${COLORS.background.inverse}; }`\n\t\t\t\t\t\t: ''\n\t\t\t\t}\n\t\t\t\t:active { box-shadow: inset 0px 4px 12px rgba(0, 0, 0, 0.35); }\n\t\t\t`\n\t\t\t: props.isSelected\n\t\t\t? `background: ${generateBackgroundColor(props.iconButtonType)};`\n\t\t\t: `\n\t\t\t\t:hover {\n\t\t\t\t\tbackground-color: rgba(0, 0, 0, 0.03);\n\t\t\t\t}\n\t\t\t`\n\t}\n\t${\n\t\tprops.disabled\n\t\t\t? props.iconButtonType === 'primary'\n\t\t\t\t? `\n\t\t\t\t\tcursor: not-allowed !important;\n\t\t\t\t\tbackground-color: ${COLORS.background.inactive};\n\t\t\t\t\t:hover { background-color: ${COLORS.background.inactive}; }\n\t\t\t\t`\n\t\t\t\t: `\n\t\t\t\t\tcursor: not-allowed !important;\n\t\t\t\t\tbackground-color: rgba(0, 0, 0, 0.03);\n\t\t\t\t`\n\t\t\t: ''\n\t}\n\n\t`}\n`;\n"],"names":["IconButton","styled","button","props","undefined","iconPadding","size","bordered","iconButtonType","COLORS","stroke","primary","generateBackgroundColor","isSelected","background","inverse","disabled","inactive"],"mappings":"wIAKaA,MAAAA,EAAaC,EAAOC,MAM/B;GACEC,GAAU,wDAIUC,IAAtBD,EAAME,YACHF,EAAME,YACS,OAAfF,EAAMG,KACN,EACA,sDAKHH,EAAMI,UACmB,OAAzBJ,EAAMK,gBACmB,YAAzBL,EAAMK,eACkB,qBAAAC,EAAOC,OAAOC,WACnC,SAGsB,YAAzBR,EAAMK,eACH,yBACaI,EAAwB,wBAEpCT,EAAMU,WAEJ,GAD8B,8BAAAJ,EAAOK,WAAWC,gGAKnDZ,EAAMU,0BACSD,EAAwBT,EAAMK,mBAC7C,gGAOHL,EAAMa,SACsB,YAAzBb,EAAMK,eACL,4EAEmBC,EAAOK,WAAWG,mDACTR,EAAOK,WAAWG,wBAE9C,0GAID;"}
1
+ {"version":3,"file":"IconButton.styled.js","sources":["../../../../src/components/icon-button/IconButton.styled.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\nimport { IconButtonType } from './model';\nimport { generateBackgroundColor } from './theme';\n\nexport const IconButton = styled.button<{\n\tbordered?: boolean;\n\ticonButtonType: IconButtonType;\n\tisSelected?: boolean;\n}>`\n\t${(props) => `\n\tall: unset;\n\tcursor: pointer;\n\tpadding: 6px;\n\tborder-radius: 4px;\n\tflex-wrap: wrap;\n\t${\n\t\tprops.bordered && props.iconButtonType !== 'ai'\n\t\t\t? `border: 1px solid ${COLORS.stroke.primary};`\n\t\t\t: ''\n\t}\n\t${\n\t\tprops.isSelected\n\t\t\t? `\n\t\t\tbackground: ${generateBackgroundColor(props.iconButtonType)};\n\t\t\t\t`\n\t\t\t: `\n\t\t\t\t:hover {\n\t\t\t\t\tbackground-color: rgba(0, 0, 0, 0.03);\n\t\t\t\t}\n\t\t\t`\n\t}\n\t${\n\t\tprops.disabled &&\n\t\t`\n\t\t\tcursor: not-allowed !important;\n\t\t\tbackground-color: rgba(0, 0, 0, 0.03);\n\t\t`\n\t}\n\n\t`}\n`;\n"],"names":["IconButton","styled","button","props","bordered","iconButtonType","COLORS","stroke","primary","isSelected","generateBackgroundColor","disabled"],"mappings":"wIAKaA,MAAAA,EAAaC,EAAOC,MAI/B;GACEC,GAAU,sGAOZA,EAAMC,UAAqC,OAAzBD,EAAME,eACA,qBAAAC,EAAOC,OAAOC,WACnC,SAGHL,EAAMM,WACH,uBACYC,EAAwBP,EAAME,6BAE1C,gGAOHF,EAAMQ,UACN;"}
@@ -1,2 +1,2 @@
1
- import{COLORS as t}from"../../constants/Theme.js";const n=(n,e,r)=>{if(e)return t.content.inactive;switch(n){case"default":return r?t.content.brand:t.content.primary;case"negative":return t.content.negative;case"positive":return t.content.positive;case"warning":return r?t.content.warning:t.content.primary;case"primary":return t.content.primaryInverse;default:return t.content.primary}},e=n=>"default"===n?t.background.brandLight:"negative"===n?t.background.negative.light:"positive"===n?t.background.positive.light:"ai"===n?t.surface.aiLight:"primary"===n?t.background.inverseLight:t.background.warning.light;export{e as generateBackgroundColor,n as getIconColor};
1
+ import{COLORS as t}from"../../constants/Theme.js";const n=(n,e,r)=>{if(e)return t.content.inactive;switch(n){case"default":return r?t.content.brand:t.content.primary;case"negative":return t.content.negative;case"positive":return t.content.positive;case"warning":return r?t.content.warning:t.content.primary;default:return t.content.primary}},e=n=>"default"===n?t.background.brandLight:"negative"===n?t.background.negative.light:"positive"===n?t.background.positive.light:"ai"===n?t.surface.aiLight:t.background.warning.light;export{e as generateBackgroundColor,n as getIconColor};
2
2
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.js","sources":["../../../../src/components/icon-button/theme.tsx"],"sourcesContent":["import { COLORS } from '@src/constants/Theme';\nimport { IconButtonType } from './model';\n\nexport const getIconColor = (\n\ttype: IconButtonType,\n\tdisabled?: boolean,\n\tisSelected?: boolean,\n) => {\n\tif (disabled) {\n\t\treturn COLORS.content.inactive;\n\t}\n\tswitch (type) {\n\t\tcase 'default':\n\t\t\treturn isSelected ? COLORS.content.brand : COLORS.content.primary;\n\t\tcase 'negative':\n\t\t\treturn COLORS.content.negative;\n\t\tcase 'positive':\n\t\t\treturn COLORS.content.positive;\n\t\tcase 'warning':\n\t\t\treturn isSelected ? COLORS.content.warning : COLORS.content.primary;\n\t\tcase 'primary':\n\t\t\treturn COLORS.content.primaryInverse;\n\t\tdefault:\n\t\t\treturn COLORS.content.primary;\n\t}\n};\n\nexport const generateBackgroundColor = (type: IconButtonType) => {\n\tif (type === 'default') {\n\t\treturn COLORS.background.brandLight;\n\t}\n\tif (type === 'negative') {\n\t\treturn COLORS.background.negative.light;\n\t}\n\tif (type === 'positive') {\n\t\treturn COLORS.background.positive.light;\n\t}\n\tif (type === 'ai') {\n\t\treturn COLORS.surface.aiLight;\n\t}\n\tif (type === 'primary') {\n\t\treturn COLORS.background.inverseLight;\n\t}\n\n\treturn COLORS.background.warning.light;\n};\n"],"names":["getIconColor","type","disabled","isSelected","COLORS","content","inactive","brand","primary","negative","positive","warning","primaryInverse","generateBackgroundColor","background","brandLight","light","surface","aiLight","inverseLight"],"mappings":"kDAGO,MAAMA,EAAeA,CAC3BC,EACAC,EACAC,KAEA,GAAID,EACH,OAAOE,EAAOC,QAAQC,SAEvB,OAAQL,GACP,IAAK,UACJ,OAAOE,EAAaC,EAAOC,QAAQE,MAAQH,EAAOC,QAAQG,QAC3D,IAAK,WACJ,OAAOJ,EAAOC,QAAQI,SACvB,IAAK,WACJ,OAAOL,EAAOC,QAAQK,SACvB,IAAK,UACJ,OAAOP,EAAaC,EAAOC,QAAQM,QAAUP,EAAOC,QAAQG,QAC7D,IAAK,UACJ,OAAOJ,EAAOC,QAAQO,eACvB,QACC,OAAOR,EAAOC,QAAQG,QACvB,EAGWK,EAA2BZ,GAC1B,YAATA,EACIG,EAAOU,WAAWC,WAEb,aAATd,EACIG,EAAOU,WAAWL,SAASO,MAEtB,aAATf,EACIG,EAAOU,WAAWJ,SAASM,MAEtB,OAATf,EACIG,EAAOa,QAAQC,QAEV,YAATjB,EACIG,EAAOU,WAAWK,aAGnBf,EAAOU,WAAWH,QAAQK"}
1
+ {"version":3,"file":"theme.js","sources":["../../../../src/components/icon-button/theme.tsx"],"sourcesContent":["import { COLORS } from '@src/constants/Theme';\nimport { IconButtonType } from './model';\n\nexport const getIconColor = (\n\ttype: IconButtonType,\n\tdisabled?: boolean,\n\tisSelected?: boolean,\n) => {\n\tif (disabled) {\n\t\treturn COLORS.content.inactive;\n\t}\n\tswitch (type) {\n\t\tcase 'default':\n\t\t\treturn isSelected ? COLORS.content.brand : COLORS.content.primary;\n\t\tcase 'negative':\n\t\t\treturn COLORS.content.negative;\n\t\tcase 'positive':\n\t\t\treturn COLORS.content.positive;\n\t\tcase 'warning':\n\t\t\treturn isSelected ? COLORS.content.warning : COLORS.content.primary;\n\t\tdefault:\n\t\t\treturn COLORS.content.primary;\n\t}\n};\n\nexport const generateBackgroundColor = (type: IconButtonType) => {\n\tif (type === 'default') {\n\t\treturn COLORS.background.brandLight;\n\t}\n\tif (type === 'negative') {\n\t\treturn COLORS.background.negative.light;\n\t}\n\tif (type === 'positive') {\n\t\treturn COLORS.background.positive.light;\n\t}\n\n\tif (type === 'ai') {\n\t\treturn COLORS.surface.aiLight;\n\t}\n\n\treturn COLORS.background.warning.light;\n};\n"],"names":["getIconColor","type","disabled","isSelected","COLORS","content","inactive","brand","primary","negative","positive","warning","generateBackgroundColor","background","brandLight","light","surface","aiLight"],"mappings":"kDAGO,MAAMA,EAAeA,CAC3BC,EACAC,EACAC,KAEA,GAAID,EACH,OAAOE,EAAOC,QAAQC,SAEvB,OAAQL,GACP,IAAK,UACJ,OAAOE,EAAaC,EAAOC,QAAQE,MAAQH,EAAOC,QAAQG,QAC3D,IAAK,WACJ,OAAOJ,EAAOC,QAAQI,SACvB,IAAK,WACJ,OAAOL,EAAOC,QAAQK,SACvB,IAAK,UACJ,OAAOP,EAAaC,EAAOC,QAAQM,QAAUP,EAAOC,QAAQG,QAC7D,QACC,OAAOJ,EAAOC,QAAQG,QACvB,EAGWI,EAA2BX,GAC1B,YAATA,EACIG,EAAOS,WAAWC,WAEb,aAATb,EACIG,EAAOS,WAAWJ,SAASM,MAEtB,aAATd,EACIG,EAAOS,WAAWH,SAASK,MAGtB,OAATd,EACIG,EAAOY,QAAQC,QAGhBb,EAAOS,WAAWF,QAAQI"}
@@ -1,2 +1,2 @@
1
- import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import i from"../../assets/icons/info.svg.js";import{forwardRef as l,useState as r,useContext as o,useRef as a,useEffect as s}from"react";import{Button as c}from"../button/Button.js";import{isFunction as h,shouldSanitizeForType as d,sanitizeUnsafeInput as u,validateInput as g}from"./Input-helper.js";import{Tooltip as p}from"../tooltips/Tooltip.js";import{TitleSmall as v,BodySecondary as m}from"../TypographyStyle.js";import{COLORS as b}from"../../constants/Theme.js";import x from"../../assets/icons/errorInfo.svg.js";import{InputStyleContext as f}from"./context/InputStyleProvider.js";import{RootContainer as y,InputFooter as j,MaxCharStyle as C,InputWrapper as T,IconHolder as O,PrefixHolder as w,InputContainer as I,InputContainerSmall as k,InputContainerXSmall as B,SuffixHolder as L,InputHeader as A}from"./Input.styled.js";const H=l(((l,H)=>{var S,D,E,M,P,z,F,K;const{placeholder:N,leftIcon:R,rightIcon:G,labelText:W,maxCharLimit:_,isRequired:q,hintText:U,type:V,state:$,validate:J,variant:Q,button:X,suffixText:Y,prefixText:Z,onChangeText:ee,value:te,noErrorHint:ne,reset:ie,rangeValidation:le,noKeyDownChange:re,version:oe,noMaxCharCheck:ae,labelElement:se,autoGrow:ce,minHeight:he,maxHeight:de,labelTextBold:ue,truncateText:ge,maxCharLimitPosition:pe,hightlightInputColor:ve,onKeyDownEvent:me,hideInputHeader:be,hideBorder:xe,inputWrapperStyles:fe,minCharsToTrigger:ye,maxCharAlignment:je,isDisabled:Ce=!1,allowUnsafeInput:Te,leftIconStyle:Oe}=Object.assign({maxCharLimit:0,type:"text",variant:"default",maxCharLimitPosition:"TOP",minCharsToTrigger:0,maxCharAlignment:!1},l),we=null==R?void 0:R.icon,Ie=null==G?void 0:G.icon,[ke,Be]=r(!1),[Le,Ae]=r(!1),[He,Se]=r(),De="x-small"===Q?"12px":"small"===Q?"18px":"22px",Ee=o(f),[Me,Pe]=r(""),ze=a(null),Fe=null!=H?H:ze;s((()=>{Pe(te||""),!te&&ce&&(Fe.current.style.height=he||"48px")}),[te]),s((()=>{var e;Fe.current&&(null===(e=l.onReferenceInit)||void 0===e||e.call(l,Fe.current))}),[Fe]),s((()=>{const e=Fe.current;if(e&&["phonenumber","zip","number"].includes(V))return e.addEventListener("wheel",Ge,{passive:!1}),()=>{e.removeEventListener("wheel",Ge)}}),[]),s((()=>{ie&&Pe("")}),[ie]),s((()=>{var e;Ae(!!l.isActive),l.isActive&&(null===(e=Fe.current)||void 0===e||e.focus())}),[l.isActive]),s((()=>{Se(l.errorMessage)}),[l.errorMessage]),s((()=>{var e;Be(!1),("invalid"===l.state||He||"disabled-invalid"===l.state)&&Be(!0),"active"===l.state&&(null===(e=Fe.current)||void 0===e||e.focus())}),[l.state,He]),s((()=>{Be(!!He||"invalid"===l.state)}),[He,l.state]);const Ke=function(e){if(h(e)){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];e(...n)}},Ne=()=>"zip"===V?6:2e3,Re=e=>{const t=0!==_?_:Ne(),n=ye,i=e.target.value;me&&(!i.length||i.length>=n)&&me(e),re||i.length&&!(i.length>=n)||ee(te||"",e),ae||![8].includes(e.which)&&t>0&&i.length>=t&&e.preventDefault()},Ge=e=>{e.preventDefault()},We=e=>{let t=e.target.value;const n=0!==_?_+1:Ne(),i=ye;if(!Te&&d(V)&&(t=u(t)),!ae&&n>0&&t.length>=n&&(t=t.substring(0,n-1)),l.textControl||Pe(t||""),i&&t&&t.length<i)return;ee(t,e),ce&&(Fe.current.style.height=`${Fe.current.scrollHeight}px`,t||(Fe.current.style.height=he||"48px"));const r=J||g;if(!r||!h(r))return;const[o,a]=r(t,V,le);Be(!o),Se(l.errorMessage?l.errorMessage:a)},_e=e=>{var t;l.skipFocus||Ae(!0),Ke(null===(t=l.onFocus)||void 0===t?void 0:t.call(l,e))},qe=e=>{var t;l.skipFocus||Ae(!1),Ke(null===(t=l.onBlur)||void 0===t?void 0:t.call(l,e))},Ue=()=>{var i;return e(n,{children:["multiline"!==V&&t("input",{className:ge?"truncate-class":"","data-test":l["data-test"],id:l.id,style:null!==(i=null==Ee?void 0:Ee.input)&&void 0!==i?i:{},ref:Fe,disabled:Ce,type:["phonenumber","zip","number"].includes(V)?"number":V,value:Me,onFocus:e=>_e(e),onBlur:e=>qe(e),placeholder:N||"Enter here",onChange:We,onClick:e=>Ke(l.onClick),onKeyDown:e=>Re(e)}),"multiline"===V&&t("textarea",{"data-test":l["data-test"],value:Me,ref:Fe,onFocus:e=>_e(e),onBlur:e=>qe(e),onClick:e=>Ke(l.onClick),disabled:Ce,placeholder:N||"Enter here",onChange:We,onKeyDown:e=>Re(e),maxLength:_>0?_:void 0})]})};return e(y,Object.assign({width:l.width,height:l.height,state:$,type:V,style:null!==(S=null==Ee?void 0:Ee.RootContainer)&&void 0!==S?S:{}},{children:[e("div",Object.assign({className:"flex-align-center"},{children:[!ne&&(!!U||!!He)&&e(j,Object.assign({invalid:!!He},{children:[!!He&&t(x,{width:16,height:16}),He||U]})),_>0&&"BOTTOM"===pe&&e(C,Object.assign({position:"BOTTOM"},{children:[null!==(E=null===(D=(null!=te?te:"").toString())||void 0===D?void 0:D.length)&&void 0!==E?E:0,"/",_]}))]})),e(T,Object.assign({variant:Q,state:$,width:l.width,isActive:"active"===$||Le,isInvalid:ke,style:null!==(P=null!==(M=null==Ee?void 0:Ee.InputWrapper)&&void 0!==M?M:fe)&&void 0!==P?P:{},version:oe,height:l.height,hightlightInputColor:ve,hideBorder:xe},{children:[!!we&&t(O,Object.assign({variant:Q,iconSize:De,onClick:()=>Ke(null==R?void 0:R.callback),isLeft:!0,style:Object.assign(Object.assign({},null!==(z=null==Ee?void 0:Ee.IconHolder)&&void 0!==z?z:{}),Oe)},{children:t(we,{})})),!!Z&&t(w,Object.assign({variant:Q},{children:Z})),"default"===Q&&t(I,Object.assign({height:l.height,type:l.type,minHeight:he,maxHeight:de,autoGrow:ce},{children:Ue()})),"small"===Q&&t(k,Object.assign({height:l.height,type:l.type},{children:Ue()})),"x-small"===Q&&t(B,Object.assign({height:l.height,type:l.type},{children:Ue()})),!!Ie&&t(O,Object.assign({variant:Q,iconSize:De,onClick:()=>Ke(null==G?void 0:G.callback),isLeft:!1},{children:t(Ie,{})})),!!Y&&t(L,Object.assign({variant:Q},{children:Y})),X&&X.text&&t(c,{buttonText:X.text,buttonType:X.buttonType,onClick:()=>Ke(null==X?void 0:X.onClick)}),X&&X.buttonProps&&t(c,Object.assign({},X.buttonProps))]})),!be&&(!!W||!!_)&&e(A,Object.assign({invalid:ke,maxCharAlignment:je},{children:[se&&se,e("div",Object.assign({className:"label__container"},{children:[e(ue?v:m,{children:[W,q?t("span",{children:"*"}):""]}),l.tooltipText&&t(p,Object.assign({body:l.tooltipText,placement:"top"},{children:t("span",{children:t(i,{style:{marginTop:-3},width:18,height:18,color:ke?b.content.negative:b.content.primary})})}))]})),_>0&&"TOP"===pe&&e(C,{children:[null!==(K=null===(F=(null!=te?te:"").toString())||void 0===F?void 0:F.length)&&void 0!==K?K:0,"/",_]})]}))]}))}));H.displayName="Input";export{H as Input};
1
+ import{jsxs as e,jsx as t,Fragment as n}from"react/jsx-runtime";import i from"../../assets/icons/info.svg.js";import{forwardRef as l,useState as r,useContext as o,useRef as a,useEffect as s}from"react";import{Button as c}from"../button/Button.js";import{isFunction as h,shouldSanitizeForType as d,sanitizeUnsafeInput as u,validateInput as g}from"./Input-helper.js";import{Tooltip as v}from"../tooltips/Tooltip.js";import{TitleSmall as p,BodySecondary as m}from"../TypographyStyle.js";import{COLORS as b}from"../../constants/Theme.js";import x from"../../assets/icons/errorInfo.svg.js";import{InputStyleContext as f}from"./context/InputStyleProvider.js";import{RootContainer as y,InputFooter as C,MaxCharStyle as j,InputWrapper as T,IconHolder as O,PrefixHolder as w,InputContainer as I,InputContainerSmall as k,SuffixHolder as B,InputHeader as L}from"./Input.styled.js";const A=l(((l,A)=>{var H,D,E,M,P,S,z,F;const{placeholder:K,leftIcon:N,rightIcon:R,labelText:G,maxCharLimit:W,isRequired:_,hintText:q,type:U,state:V,validate:$,variant:J,button:Q,suffixText:X,prefixText:Y,onChangeText:Z,value:ee,noErrorHint:te,reset:ne,rangeValidation:ie,noKeyDownChange:le,version:re,noMaxCharCheck:oe,labelElement:ae,autoGrow:se,minHeight:ce,maxHeight:he,labelTextBold:de,truncateText:ue,maxCharLimitPosition:ge,hightlightInputColor:ve,onKeyDownEvent:pe,hideInputHeader:me,hideBorder:be,inputWrapperStyles:xe,minCharsToTrigger:fe,maxCharAlignment:ye,isDisabled:Ce=!1,allowUnsafeInput:je}=Object.assign({maxCharLimit:0,type:"text",variant:"default",maxCharLimitPosition:"TOP",minCharsToTrigger:0,maxCharAlignment:!1},l),Te=null==N?void 0:N.icon,Oe=null==R?void 0:R.icon,[we,Ie]=r(!1),[ke,Be]=r(!1),[Le,Ae]=r(),He="x-small"===J?"12px":"small"===J?"18px":"22px",De=o(f),[Ee,Me]=r(""),Pe=a(null),Se=null!=A?A:Pe;s((()=>{Me(ee||""),!ee&&se&&(Se.current.style.height=ce||"48px")}),[ee]),s((()=>{var e;Se.current&&(null===(e=l.onReferenceInit)||void 0===e||e.call(l,Se.current))}),[Se]),s((()=>{const e=Se.current;if(e&&["phonenumber","zip","number"].includes(U))return e.addEventListener("wheel",Ne,{passive:!1}),()=>{e.removeEventListener("wheel",Ne)}}),[]),s((()=>{ne&&Me("")}),[ne]),s((()=>{var e;Be(!!l.isActive),l.isActive&&(null===(e=Se.current)||void 0===e||e.focus())}),[l.isActive]),s((()=>{Ae(l.errorMessage)}),[l.errorMessage]),s((()=>{var e;Ie(!1),("invalid"===l.state||Le||"disabled-invalid"===l.state)&&Ie(!0),"active"===l.state&&(null===(e=Se.current)||void 0===e||e.focus())}),[l.state,Le]),s((()=>{Ie(!!Le||"invalid"===l.state)}),[Le,l.state]);const ze=function(e){if(h(e)){for(var t=arguments.length,n=new Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];e(...n)}},Fe=()=>"zip"===U?6:2e3,Ke=e=>{const t=0!==W?W:Fe(),n=fe,i=e.target.value;pe&&(!i.length||i.length>=n)&&pe(e),le||i.length&&!(i.length>=n)||Z(ee||"",e),oe||![8].includes(e.which)&&t>0&&i.length>=t&&e.preventDefault()},Ne=e=>{e.preventDefault()},Re=e=>{let t=e.target.value;const n=0!==W?W+1:Fe(),i=fe;if(!je&&d(U)&&(t=u(t)),!oe&&n>0&&t.length>=n&&(t=t.substring(0,n-1)),l.textControl||Me(t||""),i&&t&&t.length<i)return;Z(t,e),se&&(Se.current.style.height=`${Se.current.scrollHeight}px`,t||(Se.current.style.height=ce||"48px"));const r=$||g;if(!r||!h(r))return;const[o,a]=r(t,U,ie);Ie(!o),Ae(l.errorMessage?l.errorMessage:a)},Ge=e=>{var t;l.skipFocus||Be(!0),ze(null===(t=l.onFocus)||void 0===t?void 0:t.call(l,e))},We=e=>{var t;l.skipFocus||Be(!1),ze(null===(t=l.onBlur)||void 0===t?void 0:t.call(l,e))},_e=()=>{var i;return e(n,{children:["multiline"!==U&&t("input",{className:ue?"truncate-class":"","data-test":l["data-test"],id:l.id,style:null!==(i=null==De?void 0:De.input)&&void 0!==i?i:{},ref:Se,disabled:Ce,type:["phonenumber","zip","number"].includes(U)?"number":U,value:Ee,onFocus:e=>Ge(e),onBlur:e=>We(e),placeholder:K||"Enter here",onChange:Re,onClick:e=>ze(l.onClick),onKeyDown:e=>Ke(e)}),"multiline"===U&&t("textarea",{"data-test":l["data-test"],value:Ee,ref:Se,onFocus:e=>Ge(e),onBlur:e=>We(e),onClick:e=>ze(l.onClick),disabled:Ce,placeholder:K||"Enter here",onChange:Re,onKeyDown:e=>Ke(e),maxLength:W>0?W:void 0})]})};return e(y,Object.assign({width:l.width,height:l.height,state:V,type:U,style:null!==(H=null==De?void 0:De.RootContainer)&&void 0!==H?H:{}},{children:[e("div",Object.assign({className:"flex-align-center"},{children:[!te&&(!!q||!!Le)&&e(C,Object.assign({invalid:!!Le},{children:[!!Le&&t(x,{width:16,height:16}),Le||q]})),W>0&&"BOTTOM"===ge&&e(j,Object.assign({position:"BOTTOM"},{children:[null!==(E=null===(D=(null!=ee?ee:"").toString())||void 0===D?void 0:D.length)&&void 0!==E?E:0,"/",W]}))]})),e(T,Object.assign({variant:J,state:V,width:l.width,isActive:"active"===V||ke,isInvalid:we,style:null!==(P=null!==(M=null==De?void 0:De.InputWrapper)&&void 0!==M?M:xe)&&void 0!==P?P:{},version:re,height:l.height,hightlightInputColor:ve,hideBorder:be},{children:[!!Te&&t(O,Object.assign({variant:J,iconSize:He,onClick:()=>ze(null==N?void 0:N.callback),isLeft:!0,style:null!==(S=null==De?void 0:De.IconHolder)&&void 0!==S?S:{}},{children:t(Te,{})})),!!Y&&t(w,Object.assign({variant:J},{children:Y})),"default"===J&&t(I,Object.assign({height:l.height,type:l.type,minHeight:ce,maxHeight:he,autoGrow:se},{children:_e()})),["x-small","small"].includes(J)&&t(k,Object.assign({height:l.height,type:l.type},{children:_e()})),!!Oe&&t(O,Object.assign({variant:J,iconSize:He,onClick:()=>ze(null==R?void 0:R.callback),isLeft:!1},{children:t(Oe,{})})),!!X&&t(B,Object.assign({variant:J},{children:X})),Q&&Q.text&&t(c,{buttonText:Q.text,buttonType:Q.buttonType,onClick:()=>ze(null==Q?void 0:Q.onClick)}),Q&&Q.buttonProps&&t(c,Object.assign({},Q.buttonProps))]})),!me&&(!!G||!!W)&&e(L,Object.assign({invalid:we,maxCharAlignment:ye},{children:[ae&&ae,e("div",Object.assign({className:"label__container"},{children:[e(de?p:m,{children:[G,_?t("span",{children:"*"}):""]}),l.tooltipText&&t(v,Object.assign({body:l.tooltipText,placement:"top"},{children:t("span",{children:t(i,{style:{marginTop:-3},width:18,height:18,color:we?b.content.negative:b.content.primary})})}))]})),W>0&&"TOP"===ge&&e(j,{children:[null!==(F=null===(z=(null!=ee?ee:"").toString())||void 0===z?void 0:z.length)&&void 0!==F?F:0,"/",W]})]}))]}))}));A.displayName="Input";export{A as Input};
2
2
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sources":["../../../../src/components/input/Input.tsx"],"sourcesContent":["import InfoIcon from '@src/assets/icons/info.svg';\nimport React, {\n\tforwardRef,\n\tMutableRefObject,\n\tRef,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { Button } from '@src/components/button';\nimport {\n\tisFunction,\n\tsanitizeUnsafeInput,\n\tshouldSanitizeForType,\n\tvalidateInput,\n} from '@src/components/input/Input-helper';\nimport { Tooltip } from '@src/components/tooltips';\nimport { BodySecondary, TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport ErrorIcon from '../../assets/icons/errorInfo.svg';\nimport { InputStyleContext } from './context/InputStyleProvider';\nimport { InputProps, InputTypeI, InputVariant } from './Input.model';\nimport * as SC from './Input.styled';\nimport { PrefixHolder, SuffixHolder } from './Input.styled';\n\nexport const Input = forwardRef(\n\t(\n\t\tprops: InputProps,\n\t\tfRef: React.ForwardedRef<HTMLInputElement | HTMLTextAreaElement | null>,\n\t) => {\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\tleftIcon,\n\t\t\trightIcon,\n\t\t\tlabelText,\n\t\t\tmaxCharLimit,\n\t\t\tisRequired,\n\t\t\thintText,\n\t\t\ttype,\n\t\t\tstate,\n\t\t\tvalidate,\n\t\t\tvariant,\n\t\t\tbutton,\n\t\t\tsuffixText,\n\t\t\tprefixText,\n\t\t\tonChangeText,\n\t\t\tvalue,\n\t\t\tnoErrorHint,\n\t\t\treset,\n\t\t\trangeValidation,\n\t\t\tnoKeyDownChange,\n\t\t\tversion,\n\t\t\tnoMaxCharCheck,\n\t\t\tlabelElement,\n\t\t\tautoGrow,\n\t\t\tminHeight,\n\t\t\tmaxHeight,\n\t\t\tlabelTextBold,\n\t\t\ttruncateText,\n\t\t\tmaxCharLimitPosition,\n\t\t\thightlightInputColor,\n\t\t\tonKeyDownEvent,\n\t\t\thideInputHeader,\n\t\t\thideBorder,\n\t\t\tinputWrapperStyles,\n\t\t\tminCharsToTrigger,\n\t\t\tmaxCharAlignment,\n\t\t\tisDisabled = false,\n\t\t\tallowUnsafeInput,\n\t\t\tleftIconStyle,\n\t\t} = {\n\t\t\tmaxCharLimit: 0,\n\t\t\ttype: 'text' as InputTypeI,\n\t\t\tvariant: 'default' as InputVariant,\n\t\t\tmaxCharLimitPosition: 'TOP',\n\t\t\tminCharsToTrigger: 0,\n\t\t\tmaxCharAlignment: false,\n\t\t\t...props,\n\t\t};\n\t\tconst LeftIcon = leftIcon?.icon;\n\t\tconst RightIcon = rightIcon?.icon;\n\t\tconst [isInvalid, setIsInvalid] = useState<boolean>(false);\n\t\tconst [isActive, setIsActive] = useState<boolean>(false);\n\t\tconst [errorMessage, setErrorMessage] = useState<string>();\n\t\tconst iconSize =\n\t\t\tvariant === 'x-small' ? '12px' : variant === 'small' ? '18px' : '22px';\n\t\tconst stylesFromOutside = useContext(InputStyleContext);\n\t\tconst [inputValue, setInputValue] = useState<string>('');\n\t\tconst _ref = useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\t\tconst inputRef: MutableRefObject<HTMLInputElement | HTMLTextAreaElement> =\n\t\t\t(fRef ?? _ref) as MutableRefObject<\n\t\t\t\tHTMLInputElement | HTMLTextAreaElement\n\t\t\t>;\n\n\t\tuseEffect(() => {\n\t\t\tsetInputValue(value || '');\n\t\t\tif (!value && autoGrow) {\n\t\t\t\tinputRef.current.style.height = minHeight || '48px';\n\t\t\t}\n\t\t}, [value]);\n\n\t\tuseEffect(() => {\n\t\t\tif (!inputRef.current) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tprops.onReferenceInit?.(inputRef.current);\n\t\t}, [inputRef]);\n\n\t\tuseEffect(() => {\n\t\t\tconst numberInput = inputRef.current;\n\t\t\tif (numberInput && ['phonenumber', 'zip', 'number'].includes(type)) {\n\t\t\t\tnumberInput.addEventListener('wheel', onWheel, { passive: false });\n\n\t\t\t\treturn () => {\n\t\t\t\t\tnumberInput.removeEventListener('wheel', onWheel);\n\t\t\t\t};\n\t\t\t}\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tif (!reset) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetInputValue('');\n\t\t}, [reset]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsActive(!!props.isActive);\n\t\t\tif (props.isActive) {\n\t\t\t\tinputRef.current?.focus();\n\t\t\t}\n\t\t}, [props.isActive]);\n\n\t\tuseEffect(() => {\n\t\t\tsetErrorMessage(props.errorMessage);\n\t\t}, [props.errorMessage]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsInvalid(false);\n\t\t\tif (\n\t\t\t\tprops.state === 'invalid' ||\n\t\t\t\terrorMessage ||\n\t\t\t\tprops.state === 'disabled-invalid'\n\t\t\t) {\n\t\t\t\tsetIsInvalid(true);\n\t\t\t}\n\t\t\tif (props.state === 'active') {\n\t\t\t\tinputRef.current?.focus();\n\t\t\t}\n\t\t}, [props.state, errorMessage]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsInvalid(!!errorMessage || props.state === 'invalid');\n\t\t}, [errorMessage, props.state]);\n\n\t\tconst executeCallback = (cb: any, ...params: any[]): void => {\n\t\t\tif (!isFunction(cb)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcb(...params);\n\t\t};\n\n\t\tconst getMaxChar = () => {\n\t\t\tif (type === 'zip') {\n\t\t\t\treturn 6;\n\t\t\t}\n\t\t\treturn 2000;\n\t\t};\n\n\t\tconst onKeyDown = (e) => {\n\t\t\tconst MAX_CHAR_LIMIT = maxCharLimit !== 0 ? maxCharLimit : getMaxChar();\n\t\t\tconst KEY_CODES_TO_BE_EXCLUDED = [8];\n\t\t\tconst MIN_CHAR_LIMIT = minCharsToTrigger;\n\t\t\tconst inputText = e.target.value;\n\t\t\tif (\n\t\t\t\tonKeyDownEvent &&\n\t\t\t\t(!inputText.length || inputText.length >= MIN_CHAR_LIMIT)\n\t\t\t) {\n\t\t\t\tonKeyDownEvent(e);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!noKeyDownChange &&\n\t\t\t\t(!inputText.length || inputText.length >= MIN_CHAR_LIMIT)\n\t\t\t) {\n\t\t\t\tonChangeText(value || '', e);\n\t\t\t}\n\t\t\tif (noMaxCharCheck) return;\n\n\t\t\tif (\n\t\t\t\t!KEY_CODES_TO_BE_EXCLUDED.includes(e.which) &&\n\t\t\t\tMAX_CHAR_LIMIT > 0 &&\n\t\t\t\tinputText.length >= MAX_CHAR_LIMIT\n\t\t\t) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t};\n\n\t\tconst onWheel = (event) => {\n\t\t\tevent.preventDefault(); // Prevent the default scroll behavior\n\t\t};\n\n\t\tconst onChange = (e) => {\n\t\t\tlet inputText = e.target.value;\n\t\t\tconst MAX_CHAR_LIMIT =\n\t\t\t\tmaxCharLimit !== 0 ? maxCharLimit + 1 : getMaxChar();\n\t\t\tconst MIN_CHAR_LIMIT = minCharsToTrigger;\n\n\t\t\tif (!allowUnsafeInput && shouldSanitizeForType(type)) {\n\t\t\t\tinputText = sanitizeUnsafeInput(inputText);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!noMaxCharCheck &&\n\t\t\t\tMAX_CHAR_LIMIT > 0 &&\n\t\t\t\tinputText.length >= MAX_CHAR_LIMIT\n\t\t\t) {\n\t\t\t\t// letting user to copy paste text upto max limit instead of blank action\n\t\t\t\tinputText = inputText.substring(0, MAX_CHAR_LIMIT - 1);\n\t\t\t}\n\n\t\t\tif (!props.textControl) {\n\t\t\t\tsetInputValue(inputText || '');\n\t\t\t}\n\t\t\tif (MIN_CHAR_LIMIT && inputText && inputText.length < MIN_CHAR_LIMIT) {\n\t\t\t\t// if minCharsToTrigger exists and is not reached, do nothing\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonChangeText(inputText, e);\n\t\t\tif (autoGrow) {\n\t\t\t\tinputRef.current.style.height = `${inputRef.current.scrollHeight}px`;\n\t\t\t\tif (!inputText) {\n\t\t\t\t\tinputRef.current.style.height = minHeight || '48px';\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst validateFunction = validate || validateInput;\n\t\t\tif (!validateFunction || !isFunction(validateFunction)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [isValid, error] = validateFunction(\n\t\t\t\tinputText,\n\t\t\t\ttype,\n\t\t\t\trangeValidation,\n\t\t\t);\n\n\t\t\tsetIsInvalid(!isValid);\n\t\t\tsetErrorMessage(props.errorMessage ? props.errorMessage : error);\n\t\t};\n\n\t\tconst onFocus = (e) => {\n\t\t\tif (!props.skipFocus) {\n\t\t\t\tsetIsActive(true);\n\t\t\t}\n\t\t\texecuteCallback(props.onFocus?.(e));\n\t\t};\n\n\t\tconst onBlur = (e) => {\n\t\t\tif (!props.skipFocus) {\n\t\t\t\tsetIsActive(false);\n\t\t\t}\n\t\t\texecuteCallback(props.onBlur?.(e));\n\t\t};\n\n\t\tconst getInputHTML = () => {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{type !== 'multiline' && (\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclassName={truncateText ? 'truncate-class' : ''}\n\t\t\t\t\t\t\tdata-test={props['data-test']}\n\t\t\t\t\t\t\tid={props.id}\n\t\t\t\t\t\t\tstyle={stylesFromOutside?.input ?? {}}\n\t\t\t\t\t\t\tref={inputRef as Ref<HTMLInputElement>}\n\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\ttype={\n\t\t\t\t\t\t\t\t['phonenumber', 'zip', 'number'].includes(type)\n\t\t\t\t\t\t\t\t\t? 'number'\n\t\t\t\t\t\t\t\t\t: type\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\tonFocus={(e) => onFocus(e)}\n\t\t\t\t\t\t\tonBlur={(e) => onBlur(e)}\n\t\t\t\t\t\t\tplaceholder={placeholder || 'Enter here'}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\tonClick={(e) => executeCallback(props.onClick)}\n\t\t\t\t\t\t\tonKeyDown={(e) => onKeyDown(e)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{type === 'multiline' && (\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tdata-test={props['data-test']}\n\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\tref={inputRef as Ref<HTMLTextAreaElement>}\n\t\t\t\t\t\t\tonFocus={(e) => onFocus(e)}\n\t\t\t\t\t\t\tonBlur={(e) => onBlur(e)}\n\t\t\t\t\t\t\tonClick={(e) => executeCallback(props.onClick)}\n\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\tplaceholder={placeholder || 'Enter here'}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\tonKeyDown={(e) => onKeyDown(e)}\n\t\t\t\t\t\t\tmaxLength={maxCharLimit > 0 ? maxCharLimit : undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<SC.RootContainer\n\t\t\t\twidth={props.width}\n\t\t\t\theight={props.height}\n\t\t\t\tstate={state}\n\t\t\t\ttype={type}\n\t\t\t\tstyle={stylesFromOutside?.RootContainer ?? {}}\n\t\t\t>\n\t\t\t\t<div className=\"flex-align-center\">\n\t\t\t\t\t{!noErrorHint && (!!hintText || !!errorMessage) && (\n\t\t\t\t\t\t<SC.InputFooter invalid={!!errorMessage}>\n\t\t\t\t\t\t\t{!!errorMessage && <ErrorIcon width={16} height={16} />}\n\t\t\t\t\t\t\t{errorMessage || hintText}\n\t\t\t\t\t\t</SC.InputFooter>\n\t\t\t\t\t)}\n\t\t\t\t\t{maxCharLimit > 0 && maxCharLimitPosition === 'BOTTOM' && (\n\t\t\t\t\t\t<SC.MaxCharStyle position={'BOTTOM'}>\n\t\t\t\t\t\t\t{(value ?? '').toString()?.length ?? 0}/{maxCharLimit}\n\t\t\t\t\t\t</SC.MaxCharStyle>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<SC.InputWrapper\n\t\t\t\t\tvariant={variant}\n\t\t\t\t\tstate={state}\n\t\t\t\t\twidth={props.width}\n\t\t\t\t\tisActive={state === 'active' || isActive}\n\t\t\t\t\tisInvalid={isInvalid}\n\t\t\t\t\tstyle={stylesFromOutside?.InputWrapper ?? inputWrapperStyles ?? {}}\n\t\t\t\t\tversion={version}\n\t\t\t\t\theight={props.height}\n\t\t\t\t\thightlightInputColor={hightlightInputColor}\n\t\t\t\t\thideBorder={hideBorder}\n\t\t\t\t>\n\t\t\t\t\t{!!LeftIcon && (\n\t\t\t\t\t\t<SC.IconHolder\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\ticonSize={iconSize}\n\t\t\t\t\t\t\tonClick={() => executeCallback(leftIcon?.callback)}\n\t\t\t\t\t\t\tisLeft={true}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t...(stylesFromOutside?.IconHolder ?? {}),\n\t\t\t\t\t\t\t\t...leftIconStyle,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LeftIcon />\n\t\t\t\t\t\t</SC.IconHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!prefixText && (\n\t\t\t\t\t\t<PrefixHolder variant={variant}>{prefixText}</PrefixHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'default' && (\n\t\t\t\t\t\t<SC.InputContainer\n\t\t\t\t\t\t\theight={props.height}\n\t\t\t\t\t\t\ttype={props.type}\n\t\t\t\t\t\t\tminHeight={minHeight}\n\t\t\t\t\t\t\tmaxHeight={maxHeight}\n\t\t\t\t\t\t\tautoGrow={autoGrow}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainer>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'small' && (\n\t\t\t\t\t\t<SC.InputContainerSmall height={props.height} type={props.type}>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainerSmall>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'x-small' && (\n\t\t\t\t\t\t<SC.InputContainerXSmall height={props.height} type={props.type}>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainerXSmall>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!RightIcon && (\n\t\t\t\t\t\t<SC.IconHolder\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\ticonSize={iconSize}\n\t\t\t\t\t\t\tonClick={() => executeCallback(rightIcon?.callback)}\n\t\t\t\t\t\t\tisLeft={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RightIcon />\n\t\t\t\t\t\t</SC.IconHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!suffixText && (\n\t\t\t\t\t\t<SuffixHolder variant={variant}>{suffixText}</SuffixHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{button && button.text && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonText={button.text}\n\t\t\t\t\t\t\tbuttonType={button.buttonType}\n\t\t\t\t\t\t\tonClick={() => executeCallback(button?.onClick)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{button && button.buttonProps && <Button {...button.buttonProps} />}\n\t\t\t\t</SC.InputWrapper>\n\t\t\t\t{!hideInputHeader && (!!labelText || !!maxCharLimit) && (\n\t\t\t\t\t<SC.InputHeader\n\t\t\t\t\t\tinvalid={isInvalid}\n\t\t\t\t\t\tmaxCharAlignment={maxCharAlignment}\n\t\t\t\t\t>\n\t\t\t\t\t\t{labelElement && labelElement}\n\t\t\t\t\t\t<div className=\"label__container\">\n\t\t\t\t\t\t\t{labelTextBold ? (\n\t\t\t\t\t\t\t\t<TitleSmall>\n\t\t\t\t\t\t\t\t\t{labelText}\n\t\t\t\t\t\t\t\t\t{isRequired ? <span>*</span> : ''}\n\t\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<BodySecondary>\n\t\t\t\t\t\t\t\t\t{labelText}\n\t\t\t\t\t\t\t\t\t{isRequired ? <span>*</span> : ''}\n\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.tooltipText && (\n\t\t\t\t\t\t\t\t<Tooltip body={props.tooltipText} placement={'top'}>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t<InfoIcon\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ marginTop: -3 }}\n\t\t\t\t\t\t\t\t\t\t\twidth={18}\n\t\t\t\t\t\t\t\t\t\t\theight={18}\n\t\t\t\t\t\t\t\t\t\t\tcolor={\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid\n\t\t\t\t\t\t\t\t\t\t\t\t\t? COLORS.content.negative\n\t\t\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.primary\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{maxCharLimit > 0 && maxCharLimitPosition === 'TOP' && (\n\t\t\t\t\t\t\t<SC.MaxCharStyle>\n\t\t\t\t\t\t\t\t{(value ?? '').toString()?.length ?? 0}/{maxCharLimit}\n\t\t\t\t\t\t\t</SC.MaxCharStyle>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SC.InputHeader>\n\t\t\t\t)}\n\t\t\t</SC.RootContainer>\n\t\t);\n\t},\n);\n\nInput.displayName = 'Input';\n"],"names":["Input","forwardRef","props","fRef","placeholder","leftIcon","rightIcon","labelText","maxCharLimit","isRequired","hintText","type","state","validate","variant","button","suffixText","prefixText","onChangeText","value","noErrorHint","reset","rangeValidation","noKeyDownChange","version","noMaxCharCheck","labelElement","autoGrow","minHeight","maxHeight","labelTextBold","truncateText","maxCharLimitPosition","hightlightInputColor","onKeyDownEvent","hideInputHeader","hideBorder","inputWrapperStyles","minCharsToTrigger","maxCharAlignment","isDisabled","allowUnsafeInput","leftIconStyle","Object","assign","LeftIcon","icon","RightIcon","isInvalid","setIsInvalid","useState","isActive","setIsActive","errorMessage","setErrorMessage","iconSize","stylesFromOutside","useContext","InputStyleContext","inputValue","setInputValue","_ref","useRef","inputRef","useEffect","current","style","height","_a","onReferenceInit","call","numberInput","includes","addEventListener","onWheel","passive","removeEventListener","focus","executeCallback","cb","isFunction","_len","arguments","length","params","Array","_key","getMaxChar","onKeyDown","e","MAX_CHAR_LIMIT","MIN_CHAR_LIMIT","inputText","target","which","preventDefault","event","onChange","shouldSanitizeForType","sanitizeUnsafeInput","substring","textControl","scrollHeight","validateFunction","validateInput","isValid","error","onFocus","skipFocus","onBlur","getInputHTML","_jsxs","_Fragment","children","_jsx","className","id","input","ref","disabled","onClick","maxLength","undefined","SC","width","RootContainer","invalid","ErrorIcon","position","_c","_b","toString","_e","_d","InputWrapper","callback","isLeft","_f","IconHolder","PrefixHolder","SuffixHolder","text","Button","buttonText","buttonType","buttonProps","TitleSmall","BodySecondary","tooltipText","Tooltip","body","placement","InfoIcon","marginTop","color","COLORS","content","negative","primary","_g","_h","displayName"],"mappings":"g4BA0BO,MAAMA,EAAQC,GACpB,CACCC,EACAC,yBAEA,MAAMC,YACLA,EAAWC,SACXA,EAAQC,UACRA,EAASC,UACTA,EAASC,aACTA,EAAYC,WACZA,EAAUC,SACVA,EAAQC,KACRA,EAAIC,MACJA,EAAKC,SACLA,EAAQC,QACRA,EAAOC,OACPA,EAAMC,WACNA,EAAUC,WACVA,EAAUC,aACVA,GAAYC,MACZA,GAAKC,YACLA,GAAWC,MACXA,GAAKC,gBACLA,GAAeC,gBACfA,GAAeC,QACfA,GAAOC,eACPA,GAAcC,aACdA,GAAYC,SACZA,GAAQC,UACRA,GAASC,UACTA,GAASC,cACTA,GAAaC,aACbA,GAAYC,qBACZA,GAAoBC,qBACpBA,GAAoBC,eACpBA,GAAcC,gBACdA,GAAeC,WACfA,GAAUC,mBACVA,GAAkBC,kBAClBA,GAAiBC,iBACjBA,GAAgBC,WAChBA,IAAa,EAAKC,iBAClBA,GAAgBC,cAChBA,IACAC,OAAAC,OAAA,CACApC,aAAc,EACdG,KAAM,OACNG,QAAS,UACTkB,qBAAsB,MACtBM,kBAAmB,EACnBC,kBAAkB,GACfrC,GAEE2C,GAAWxC,aAAA,EAAAA,EAAUyC,KACrBC,GAAYzC,aAAA,EAAAA,EAAWwC,MACtBE,GAAWC,IAAgBC,GAAkB,IAC7CC,GAAUC,IAAeF,GAAkB,IAC3CG,GAAcC,IAAmBJ,IAClCK,GACO,YAAZzC,EAAwB,OAAqB,UAAZA,EAAsB,OAAS,OAC3D0C,GAAoBC,EAAWC,IAC9BC,GAAYC,IAAiBV,EAAiB,IAC/CW,GAAOC,EAA+C,MACtDC,GACJ5D,QAAAA,EAAQ0D,GAIVG,GAAU,KACTJ,GAAczC,IAAS,KAClBA,IAASQ,KACboC,GAASE,QAAQC,MAAMC,OAASvC,IAAa,OAC7C,GACC,CAACT,KAEJ6C,GAAU,WACJD,GAASE,UAGO,QAArBG,EAAAlE,EAAMmE,uBAAe,IAAAD,GAAAA,EAAAE,KAAApE,EAAG6D,GAASE,SAAQ,GACvC,CAACF,KAEJC,GAAU,KACT,MAAMO,EAAcR,GAASE,QAC7B,GAAIM,GAAe,CAAC,cAAe,MAAO,UAAUC,SAAS7D,GAG5D,OAFA4D,EAAYE,iBAAiB,QAASC,GAAS,CAAEC,SAAS,IAEnD,KACNJ,EAAYK,oBAAoB,QAASF,GAAQ,CAElD,GACC,IAEHV,GAAU,KACJ3C,IAGLuC,GAAc,GAAG,GACf,CAACvC,KAEJ2C,GAAU,WACTZ,KAAclD,EAAMiD,UAChBjD,EAAMiD,WACS,QAAlBiB,EAAAL,GAASE,eAAS,IAAAG,GAAAA,EAAAS,QAClB,GACC,CAAC3E,EAAMiD,WAEVa,GAAU,KACTV,GAAgBpD,EAAMmD,aAAa,GACjC,CAACnD,EAAMmD,eAEVW,GAAU,WACTf,IAAa,IAEI,YAAhB/C,EAAMU,OACNyC,IACgB,qBAAhBnD,EAAMU,QAENqC,IAAa,GAEM,WAAhB/C,EAAMU,QACS,QAAlBwD,EAAAL,GAASE,eAAS,IAAAG,GAAAA,EAAAS,QAClB,GACC,CAAC3E,EAAMU,MAAOyC,KAEjBW,GAAU,KACTf,KAAeI,IAAgC,YAAhBnD,EAAMU,MAAoB,GACvD,CAACyC,GAAcnD,EAAMU,QAExB,MAAMkE,GAAkB,SAACC,GACxB,GAAKC,EAAWD,GAAhB,CAEC,IAAAE,IAAAA,EAAAC,UAAAC,OAHmCC,MAAaC,MAAAJ,EAAAA,EAAAA,OAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAbF,EAAaE,EAAAJ,GAAAA,UAAAI,GAIjDP,KAAMK,EADL,GAIIG,GAAaA,IACL,QAAT5E,EACI,EAED,IAGF6E,GAAaC,IAClB,MAAMC,EAAkC,IAAjBlF,EAAqBA,EAAe+E,KAErDI,EAAiBrD,GACjBsD,EAAYH,EAAEI,OAAO1E,MAE1Be,MACE0D,EAAUT,QAAUS,EAAUT,QAAUQ,IAE1CzD,GAAeuD,GAIdlE,IACCqE,EAAUT,UAAUS,EAAUT,QAAUQ,IAE1CzE,GAAaC,IAAS,GAAIsE,GAEvBhE,KAhB6B,CAAC,GAmBP+C,SAASiB,EAAEK,QACrCJ,EAAiB,GACjBE,EAAUT,QAAUO,GAEpBD,EAAEM,gBACF,EAGIrB,GAAWsB,IAChBA,EAAMD,gBAAgB,EAGjBE,GAAYR,IACjB,IAAIG,EAAYH,EAAEI,OAAO1E,MACzB,MAAMuE,EACY,IAAjBlF,EAAqBA,EAAe,EAAI+E,KACnCI,EAAiBrD,GAkBvB,IAhBKG,IAAoByD,EAAsBvF,KAC9CiF,EAAYO,EAAoBP,KAI/BnE,IACDiE,EAAiB,GACjBE,EAAUT,QAAUO,IAGpBE,EAAYA,EAAUQ,UAAU,EAAGV,EAAiB,IAGhDxF,EAAMmG,aACVzC,GAAcgC,GAAa,IAExBD,GAAkBC,GAAaA,EAAUT,OAASQ,EAErD,OAGDzE,GAAa0E,EAAWH,GACpB9D,KACHoC,GAASE,QAAQC,MAAMC,OAAY,GAAAJ,GAASE,QAAQqC,iBAC/CV,IACJ7B,GAASE,QAAQC,MAAMC,OAASvC,IAAa,SAG/C,MAAM2E,EAAmB1F,GAAY2F,EACrC,IAAKD,IAAqBvB,EAAWuB,GACpC,OAED,MAAOE,EAASC,GAASH,EACxBX,EACAjF,EACAW,IAGD2B,IAAcwD,GACdnD,GAAgBpD,EAAMmD,aAAenD,EAAMmD,aAAeqD,EAAM,EAG3DC,GAAWlB,UACXvF,EAAM0G,WACVxD,IAAY,GAEb0B,GAAgC,UAAhB5E,EAAMyG,eAAU,IAAAvC,OAAA,EAAAA,EAAAE,KAAApE,EAAAuF,GAAG,EAG9BoB,GAAUpB,UACVvF,EAAM0G,WACVxD,IAAY,GAEb0B,GAA+B,UAAf5E,EAAM2G,cAAS,IAAAzC,OAAA,EAAAA,EAAAE,KAAApE,EAAAuF,GAAG,EAG7BqB,GAAeA,WACpB,OACCC,EAAAC,EAAA,CAAAC,SAAA,CACW,cAATtG,GACAuG,EAAA,QAAA,CACCC,UAAWpF,GAAe,iBAAmB,GAClC,YAAA7B,EAAM,aACjBkH,GAAIlH,EAAMkH,GACVlD,MAA+B,QAAxBE,EAAAZ,cAAiB,EAAjBA,GAAmB6D,aAAK,IAAAjD,EAAAA,EAAI,CAAE,EACrCkD,IAAKvD,GACLwD,SAAU/E,GACV7B,KACC,CAAC,cAAe,MAAO,UAAU6D,SAAS7D,GACvC,SACAA,EAEJQ,MAAOwC,GACPgD,QAAUlB,GAAMkB,GAAQlB,GACxBoB,OAASpB,GAAMoB,GAAOpB,GACtBrF,YAAaA,GAAe,aAC5B6F,SAAUA,GACVuB,QAAU/B,GAAMX,GAAgB5E,EAAMsH,SACtChC,UAAYC,GAAMD,GAAUC,KAGpB,cAAT9E,GACAuG,EAAA,WAAA,CAAA,YACYhH,EAAM,aACjBiB,MAAOwC,GACP2D,IAAKvD,GACL4C,QAAUlB,GAAMkB,GAAQlB,GACxBoB,OAASpB,GAAMoB,GAAOpB,GACtB+B,QAAU/B,GAAMX,GAAgB5E,EAAMsH,SACtCD,SAAU/E,GACVpC,YAAaA,GAAe,aAC5B6F,SAAUA,GACVT,UAAYC,GAAMD,GAAUC,GAC5BgC,UAAWjH,EAAe,EAAIA,OAAekH,MAG7C,EAIL,OACCX,EAACY,EACAhF,OAAAC,OAAA,CAAAgF,MAAO1H,EAAM0H,MACbzD,OAAQjE,EAAMiE,OACdvD,MAAOA,EACPD,KAAMA,EACNuD,MAAuC,QAAhCE,EAAAZ,gBAAAA,GAAmBqE,qBAAa,IAAAzD,EAAAA,EAAI,CAAE,GAAA,CAAA6C,SAAA,CAE7CF,EAAK,MAAApE,OAAAC,OAAA,CAAAuE,UAAU,qBAAmB,CAAAF,SAAA,EAC/B7F,OAAkBV,KAAc2C,KACjC0D,EAACY,EAAchF,OAAAC,OAAA,CAACkF,UAAWzE,IACzB,CAAA4D,SAAA,GAAE5D,IAAgB6D,EAACa,EAAU,CAAAH,MAAO,GAAIzD,OAAQ,KAChDd,IAAgB3C,MAGlBF,EAAe,GAA8B,WAAzBwB,IACpB+E,EAACY,EAAgBhF,OAAAC,OAAA,CAAAoF,SAAU,qBACW,QAApCC,EAA0B,QAA1BC,GAAC/G,SAAAA,GAAS,IAAIgH,kBAAY,IAAAD,OAAA,EAAAA,EAAA/C,cAAU,IAAA8C,EAAAA,EAAA,MAAIzH,UAI5CuG,EAACY,EACAhF,OAAAC,OAAA,CAAA9B,QAASA,EACTF,MAAOA,EACPgH,MAAO1H,EAAM0H,MACbzE,SAAoB,WAAVvC,GAAsBuC,GAChCH,UAAWA,GACXkB,MAAgE,QAAzDkE,EAAmC,QAAnCC,EAAA7E,cAAiB,EAAjBA,GAAmB8E,oBAAgB,IAAAD,EAAAA,EAAAhG,UAAsB,IAAA+F,EAAAA,EAAA,CAAE,EAClE5G,QAASA,GACT2C,OAAQjE,EAAMiE,OACdlC,qBAAsBA,GACtBG,WAAYA,IAAU,CAAA6E,SAAA,GAEnBpE,IACFqE,EAACS,EAAahF,OAAAC,OAAA,CACb9B,QAASA,EACTyC,SAAUA,GACViE,QAASA,IAAM1C,GAAgBzE,aAAQ,EAARA,EAAUkI,UACzCC,QAAQ,EACRtE,MACIvB,OAAAC,OAAAD,OAAAC,OAAA,GAA8B,QAA7B6F,EAAAjF,cAAiB,EAAjBA,GAAmBkF,kBAAU,IAAAD,EAAAA,EAAI,IAClC/F,KAAa,CAAAuE,SAGjBC,EAACrE,YAGA5B,GACFiG,EAACyB,EAAYhG,OAAAC,OAAA,CAAC9B,QAASA,GAAU,CAAAmG,SAAAhG,KAErB,YAAZH,GACAoG,EAACS,EACAhF,OAAAC,OAAA,CAAAuB,OAAQjE,EAAMiE,OACdxD,KAAMT,EAAMS,KACZiB,UAAWA,GACXC,UAAWA,GACXF,SAAUA,IAET,CAAAsF,SAAAH,QAGU,UAAZhG,GACAoG,EAACS,EAAuBhF,OAAAC,OAAA,CAAAuB,OAAQjE,EAAMiE,OAAQxD,KAAMT,EAAMS,gBACxDmG,QAGU,YAAZhG,GACAoG,EAACS,EAAwBhF,OAAAC,OAAA,CAAAuB,OAAQjE,EAAMiE,OAAQxD,KAAMT,EAAMS,MAAI,CAAAsG,SAC7DH,UAGA/D,IACFmE,EAACS,EAAahF,OAAAC,OAAA,CACb9B,QAASA,EACTyC,SAAUA,GACViE,QAASA,IAAM1C,GAAgBxE,aAAS,EAATA,EAAWiI,UAC1CC,QAAQ,GAAK,CAAAvB,SAEbC,EAACnE,GAAS,SAGT/B,GACFkG,EAAC0B,EAAYjG,OAAAC,OAAA,CAAC9B,QAASA,GAAU,CAAAmG,SAAAjG,KAEjCD,GAAUA,EAAO8H,MACjB3B,EAAC4B,EACA,CAAAC,WAAYhI,EAAO8H,KACnBG,WAAYjI,EAAOiI,WACnBxB,QAASA,IAAM1C,GAAgB/D,aAAM,EAANA,EAAQyG,WAGxCzG,GAAUA,EAAOkI,aAAe/B,EAAC4B,EAAMnG,OAAAC,OAAA,CAAA,EAAK7B,EAAOkI,mBAEnD9G,OAAsB5B,KAAeC,IACtCuG,EAACY,iBACAG,QAAS9E,GACTT,iBAAkBA,IAEjB,CAAA0E,SAAA,CAAAvF,IAAgBA,GACjBqF,EAAA,MAAApE,OAAAC,OAAA,CAAKuE,UAAU,oBACb,CAAAF,SAAA,CACAF,EADAjF,GACCoH,EAKAC,EAJC,CAAAlC,SAAA,CAAA1G,EACAE,EAAayG,EAAA,OAAA,CAAAD,SAAA,MAAiB,MAQhC/G,EAAMkJ,aACNlC,EAACmC,EAAQ1G,OAAAC,OAAA,CAAA0G,KAAMpJ,EAAMkJ,YAAaG,UAAW,OAC5C,CAAAtC,SAAAC,EAAA,OAAA,CAAAD,SACCC,EAACsC,GACAtF,MAAO,CAAEuF,WAAY,GACrB7B,MAAO,GACPzD,OAAQ,GACRuF,MACC1G,GACG2G,EAAOC,QAAQC,SACfF,EAAOC,QAAQE,mBAOvBtJ,EAAe,GAA8B,QAAzBwB,IACpB+E,EAACY,EAAe,CAAAV,SAAA,CACkB,kBAAhC8C,GAAC5I,SAAAA,GAAS,IAAIgH,iCAAYhD,cAAM,IAAA6E,EAAAA,EAAI,EAAC,IAAGxJ,YAK3B,IAKtBR,EAAMiK,YAAc"}
1
+ {"version":3,"file":"Input.js","sources":["../../../../src/components/input/Input.tsx"],"sourcesContent":["import InfoIcon from '@src/assets/icons/info.svg';\nimport React, {\n\tforwardRef,\n\tMutableRefObject,\n\tRef,\n\tuseContext,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport { Button } from '@src/components/button';\nimport {\n\tisFunction,\n\tsanitizeUnsafeInput,\n\tshouldSanitizeForType,\n\tvalidateInput,\n} from '@src/components/input/Input-helper';\nimport { Tooltip } from '@src/components/tooltips';\nimport { BodySecondary, TitleSmall } from '@src/components/TypographyStyle';\nimport { COLORS } from '@src/constants/Theme';\nimport ErrorIcon from '../../assets/icons/errorInfo.svg';\nimport { InputStyleContext } from './context/InputStyleProvider';\nimport { InputProps, InputTypeI, InputVariant } from './Input.model';\nimport * as SC from './Input.styled';\nimport { PrefixHolder, SuffixHolder } from './Input.styled';\n\nexport const Input = forwardRef(\n\t(\n\t\tprops: InputProps,\n\t\tfRef: React.ForwardedRef<HTMLInputElement | HTMLTextAreaElement | null>,\n\t) => {\n\t\tconst {\n\t\t\tplaceholder,\n\t\t\tleftIcon,\n\t\t\trightIcon,\n\t\t\tlabelText,\n\t\t\tmaxCharLimit,\n\t\t\tisRequired,\n\t\t\thintText,\n\t\t\ttype,\n\t\t\tstate,\n\t\t\tvalidate,\n\t\t\tvariant,\n\t\t\tbutton,\n\t\t\tsuffixText,\n\t\t\tprefixText,\n\t\t\tonChangeText,\n\t\t\tvalue,\n\t\t\tnoErrorHint,\n\t\t\treset,\n\t\t\trangeValidation,\n\t\t\tnoKeyDownChange,\n\t\t\tversion,\n\t\t\tnoMaxCharCheck,\n\t\t\tlabelElement,\n\t\t\tautoGrow,\n\t\t\tminHeight,\n\t\t\tmaxHeight,\n\t\t\tlabelTextBold,\n\t\t\ttruncateText,\n\t\t\tmaxCharLimitPosition,\n\t\t\thightlightInputColor,\n\t\t\tonKeyDownEvent,\n\t\t\thideInputHeader,\n\t\t\thideBorder,\n\t\t\tinputWrapperStyles,\n\t\t\tminCharsToTrigger,\n\t\t\tmaxCharAlignment,\n\t\t\tisDisabled = false,\n\t\t\tallowUnsafeInput,\n\t\t} = {\n\t\t\tmaxCharLimit: 0,\n\t\t\ttype: 'text' as InputTypeI,\n\t\t\tvariant: 'default' as InputVariant,\n\t\t\tmaxCharLimitPosition: 'TOP',\n\t\t\tminCharsToTrigger: 0,\n\t\t\tmaxCharAlignment: false,\n\t\t\t...props,\n\t\t};\n\t\tconst LeftIcon = leftIcon?.icon;\n\t\tconst RightIcon = rightIcon?.icon;\n\t\tconst [isInvalid, setIsInvalid] = useState<boolean>(false);\n\t\tconst [isActive, setIsActive] = useState<boolean>(false);\n\t\tconst [errorMessage, setErrorMessage] = useState<string>();\n\t\tconst iconSize =\n\t\t\tvariant === 'x-small' ? '12px' : variant === 'small' ? '18px' : '22px';\n\t\tconst stylesFromOutside = useContext(InputStyleContext);\n\t\tconst [inputValue, setInputValue] = useState<string>('');\n\t\tconst _ref = useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\t\tconst inputRef: MutableRefObject<HTMLInputElement | HTMLTextAreaElement> =\n\t\t\t(fRef ?? _ref) as MutableRefObject<\n\t\t\t\tHTMLInputElement | HTMLTextAreaElement\n\t\t\t>;\n\n\t\tuseEffect(() => {\n\t\t\tsetInputValue(value || '');\n\t\t\tif (!value && autoGrow) {\n\t\t\t\tinputRef.current.style.height = minHeight || '48px';\n\t\t\t}\n\t\t}, [value]);\n\n\t\tuseEffect(() => {\n\t\t\tif (!inputRef.current) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tprops.onReferenceInit?.(inputRef.current);\n\t\t}, [inputRef]);\n\n\t\tuseEffect(() => {\n\t\t\tconst numberInput = inputRef.current;\n\t\t\tif (numberInput && ['phonenumber', 'zip', 'number'].includes(type)) {\n\t\t\t\tnumberInput.addEventListener('wheel', onWheel, { passive: false });\n\n\t\t\t\treturn () => {\n\t\t\t\t\tnumberInput.removeEventListener('wheel', onWheel);\n\t\t\t\t};\n\t\t\t}\n\t\t}, []);\n\n\t\tuseEffect(() => {\n\t\t\tif (!reset) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetInputValue('');\n\t\t}, [reset]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsActive(!!props.isActive);\n\t\t\tif (props.isActive) {\n\t\t\t\tinputRef.current?.focus();\n\t\t\t}\n\t\t}, [props.isActive]);\n\n\t\tuseEffect(() => {\n\t\t\tsetErrorMessage(props.errorMessage);\n\t\t}, [props.errorMessage]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsInvalid(false);\n\t\t\tif (\n\t\t\t\tprops.state === 'invalid' ||\n\t\t\t\terrorMessage ||\n\t\t\t\tprops.state === 'disabled-invalid'\n\t\t\t) {\n\t\t\t\tsetIsInvalid(true);\n\t\t\t}\n\t\t\tif (props.state === 'active') {\n\t\t\t\tinputRef.current?.focus();\n\t\t\t}\n\t\t}, [props.state, errorMessage]);\n\n\t\tuseEffect(() => {\n\t\t\tsetIsInvalid(!!errorMessage || props.state === 'invalid');\n\t\t}, [errorMessage, props.state]);\n\n\t\tconst executeCallback = (cb: any, ...params: any[]): void => {\n\t\t\tif (!isFunction(cb)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcb(...params);\n\t\t};\n\n\t\tconst getMaxChar = () => {\n\t\t\tif (type === 'zip') {\n\t\t\t\treturn 6;\n\t\t\t}\n\t\t\treturn 2000;\n\t\t};\n\n\t\tconst onKeyDown = (e) => {\n\t\t\tconst MAX_CHAR_LIMIT = maxCharLimit !== 0 ? maxCharLimit : getMaxChar();\n\t\t\tconst KEY_CODES_TO_BE_EXCLUDED = [8];\n\t\t\tconst MIN_CHAR_LIMIT = minCharsToTrigger;\n\t\t\tconst inputText = e.target.value;\n\t\t\tif (\n\t\t\t\tonKeyDownEvent &&\n\t\t\t\t(!inputText.length || inputText.length >= MIN_CHAR_LIMIT)\n\t\t\t) {\n\t\t\t\tonKeyDownEvent(e);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!noKeyDownChange &&\n\t\t\t\t(!inputText.length || inputText.length >= MIN_CHAR_LIMIT)\n\t\t\t) {\n\t\t\t\tonChangeText(value || '', e);\n\t\t\t}\n\t\t\tif (noMaxCharCheck) return;\n\n\t\t\tif (\n\t\t\t\t!KEY_CODES_TO_BE_EXCLUDED.includes(e.which) &&\n\t\t\t\tMAX_CHAR_LIMIT > 0 &&\n\t\t\t\tinputText.length >= MAX_CHAR_LIMIT\n\t\t\t) {\n\t\t\t\te.preventDefault();\n\t\t\t}\n\t\t};\n\n\t\tconst onWheel = (event) => {\n\t\t\tevent.preventDefault(); // Prevent the default scroll behavior\n\t\t};\n\n\t\tconst onChange = (e) => {\n\t\t\tlet inputText = e.target.value;\n\t\t\tconst MAX_CHAR_LIMIT =\n\t\t\t\tmaxCharLimit !== 0 ? maxCharLimit + 1 : getMaxChar();\n\t\t\tconst MIN_CHAR_LIMIT = minCharsToTrigger;\n\n\t\t\tif (!allowUnsafeInput && shouldSanitizeForType(type)) {\n\t\t\t\tinputText = sanitizeUnsafeInput(inputText);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t!noMaxCharCheck &&\n\t\t\t\tMAX_CHAR_LIMIT > 0 &&\n\t\t\t\tinputText.length >= MAX_CHAR_LIMIT\n\t\t\t) {\n\t\t\t\t// letting user to copy paste text upto max limit instead of blank action\n\t\t\t\tinputText = inputText.substring(0, MAX_CHAR_LIMIT - 1);\n\t\t\t}\n\n\t\t\tif (!props.textControl) {\n\t\t\t\tsetInputValue(inputText || '');\n\t\t\t}\n\t\t\tif (MIN_CHAR_LIMIT && inputText && inputText.length < MIN_CHAR_LIMIT) {\n\t\t\t\t// if minCharsToTrigger exists and is not reached, do nothing\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonChangeText(inputText, e);\n\t\t\tif (autoGrow) {\n\t\t\t\tinputRef.current.style.height = `${inputRef.current.scrollHeight}px`;\n\t\t\t\tif (!inputText) {\n\t\t\t\t\tinputRef.current.style.height = minHeight || '48px';\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst validateFunction = validate || validateInput;\n\t\t\tif (!validateFunction || !isFunction(validateFunction)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [isValid, error] = validateFunction(\n\t\t\t\tinputText,\n\t\t\t\ttype,\n\t\t\t\trangeValidation,\n\t\t\t);\n\n\t\t\tsetIsInvalid(!isValid);\n\t\t\tsetErrorMessage(props.errorMessage ? props.errorMessage : error);\n\t\t};\n\n\t\tconst onFocus = (e) => {\n\t\t\tif (!props.skipFocus) {\n\t\t\t\tsetIsActive(true);\n\t\t\t}\n\t\t\texecuteCallback(props.onFocus?.(e));\n\t\t};\n\n\t\tconst onBlur = (e) => {\n\t\t\tif (!props.skipFocus) {\n\t\t\t\tsetIsActive(false);\n\t\t\t}\n\t\t\texecuteCallback(props.onBlur?.(e));\n\t\t};\n\n\t\tconst getInputHTML = () => {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{type !== 'multiline' && (\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\tclassName={truncateText ? 'truncate-class' : ''}\n\t\t\t\t\t\t\tdata-test={props['data-test']}\n\t\t\t\t\t\t\tid={props.id}\n\t\t\t\t\t\t\tstyle={stylesFromOutside?.input ?? {}}\n\t\t\t\t\t\t\tref={inputRef as Ref<HTMLInputElement>}\n\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\ttype={\n\t\t\t\t\t\t\t\t['phonenumber', 'zip', 'number'].includes(type)\n\t\t\t\t\t\t\t\t\t? 'number'\n\t\t\t\t\t\t\t\t\t: type\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\tonFocus={(e) => onFocus(e)}\n\t\t\t\t\t\t\tonBlur={(e) => onBlur(e)}\n\t\t\t\t\t\t\tplaceholder={placeholder || 'Enter here'}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\tonClick={(e) => executeCallback(props.onClick)}\n\t\t\t\t\t\t\tonKeyDown={(e) => onKeyDown(e)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{type === 'multiline' && (\n\t\t\t\t\t\t<textarea\n\t\t\t\t\t\t\tdata-test={props['data-test']}\n\t\t\t\t\t\t\tvalue={inputValue}\n\t\t\t\t\t\t\tref={inputRef as Ref<HTMLTextAreaElement>}\n\t\t\t\t\t\t\tonFocus={(e) => onFocus(e)}\n\t\t\t\t\t\t\tonBlur={(e) => onBlur(e)}\n\t\t\t\t\t\t\tonClick={(e) => executeCallback(props.onClick)}\n\t\t\t\t\t\t\tdisabled={isDisabled}\n\t\t\t\t\t\t\tplaceholder={placeholder || 'Enter here'}\n\t\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\t\tonKeyDown={(e) => onKeyDown(e)}\n\t\t\t\t\t\t\tmaxLength={maxCharLimit > 0 ? maxCharLimit : undefined}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<SC.RootContainer\n\t\t\t\twidth={props.width}\n\t\t\t\theight={props.height}\n\t\t\t\tstate={state}\n\t\t\t\ttype={type}\n\t\t\t\tstyle={stylesFromOutside?.RootContainer ?? {}}\n\t\t\t>\n\t\t\t\t<div className=\"flex-align-center\">\n\t\t\t\t\t{!noErrorHint && (!!hintText || !!errorMessage) && (\n\t\t\t\t\t\t<SC.InputFooter invalid={!!errorMessage}>\n\t\t\t\t\t\t\t{!!errorMessage && <ErrorIcon width={16} height={16} />}\n\t\t\t\t\t\t\t{errorMessage || hintText}\n\t\t\t\t\t\t</SC.InputFooter>\n\t\t\t\t\t)}\n\t\t\t\t\t{maxCharLimit > 0 && maxCharLimitPosition === 'BOTTOM' && (\n\t\t\t\t\t\t<SC.MaxCharStyle position={'BOTTOM'}>\n\t\t\t\t\t\t\t{(value ?? '').toString()?.length ?? 0}/{maxCharLimit}\n\t\t\t\t\t\t</SC.MaxCharStyle>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<SC.InputWrapper\n\t\t\t\t\tvariant={variant}\n\t\t\t\t\tstate={state}\n\t\t\t\t\twidth={props.width}\n\t\t\t\t\tisActive={state === 'active' || isActive}\n\t\t\t\t\tisInvalid={isInvalid}\n\t\t\t\t\tstyle={stylesFromOutside?.InputWrapper ?? inputWrapperStyles ?? {}}\n\t\t\t\t\tversion={version}\n\t\t\t\t\theight={props.height}\n\t\t\t\t\thightlightInputColor={hightlightInputColor}\n\t\t\t\t\thideBorder={hideBorder}\n\t\t\t\t>\n\t\t\t\t\t{!!LeftIcon && (\n\t\t\t\t\t\t<SC.IconHolder\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\ticonSize={iconSize}\n\t\t\t\t\t\t\tonClick={() => executeCallback(leftIcon?.callback)}\n\t\t\t\t\t\t\tisLeft={true}\n\t\t\t\t\t\t\tstyle={stylesFromOutside?.IconHolder ?? {}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LeftIcon />\n\t\t\t\t\t\t</SC.IconHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!prefixText && (\n\t\t\t\t\t\t<PrefixHolder variant={variant}>{prefixText}</PrefixHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{variant === 'default' && (\n\t\t\t\t\t\t<SC.InputContainer\n\t\t\t\t\t\t\theight={props.height}\n\t\t\t\t\t\t\ttype={props.type}\n\t\t\t\t\t\t\tminHeight={minHeight}\n\t\t\t\t\t\t\tmaxHeight={maxHeight}\n\t\t\t\t\t\t\tautoGrow={autoGrow}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainer>\n\t\t\t\t\t)}\n\t\t\t\t\t{['x-small', 'small'].includes(variant) && (\n\t\t\t\t\t\t<SC.InputContainerSmall height={props.height} type={props.type}>\n\t\t\t\t\t\t\t{getInputHTML()}\n\t\t\t\t\t\t</SC.InputContainerSmall>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!RightIcon && (\n\t\t\t\t\t\t<SC.IconHolder\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\ticonSize={iconSize}\n\t\t\t\t\t\t\tonClick={() => executeCallback(rightIcon?.callback)}\n\t\t\t\t\t\t\tisLeft={false}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RightIcon />\n\t\t\t\t\t\t</SC.IconHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{!!suffixText && (\n\t\t\t\t\t\t<SuffixHolder variant={variant}>{suffixText}</SuffixHolder>\n\t\t\t\t\t)}\n\t\t\t\t\t{button && button.text && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tbuttonText={button.text}\n\t\t\t\t\t\t\tbuttonType={button.buttonType}\n\t\t\t\t\t\t\tonClick={() => executeCallback(button?.onClick)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{button && button.buttonProps && <Button {...button.buttonProps} />}\n\t\t\t\t</SC.InputWrapper>\n\t\t\t\t{!hideInputHeader && (!!labelText || !!maxCharLimit) && (\n\t\t\t\t\t<SC.InputHeader\n\t\t\t\t\t\tinvalid={isInvalid}\n\t\t\t\t\t\tmaxCharAlignment={maxCharAlignment}\n\t\t\t\t\t>\n\t\t\t\t\t\t{labelElement && labelElement}\n\t\t\t\t\t\t<div className=\"label__container\">\n\t\t\t\t\t\t\t{labelTextBold ? (\n\t\t\t\t\t\t\t\t<TitleSmall>\n\t\t\t\t\t\t\t\t\t{labelText}\n\t\t\t\t\t\t\t\t\t{isRequired ? <span>*</span> : ''}\n\t\t\t\t\t\t\t\t</TitleSmall>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<BodySecondary>\n\t\t\t\t\t\t\t\t\t{labelText}\n\t\t\t\t\t\t\t\t\t{isRequired ? <span>*</span> : ''}\n\t\t\t\t\t\t\t\t</BodySecondary>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{props.tooltipText && (\n\t\t\t\t\t\t\t\t<Tooltip body={props.tooltipText} placement={'top'}>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t<InfoIcon\n\t\t\t\t\t\t\t\t\t\t\tstyle={{ marginTop: -3 }}\n\t\t\t\t\t\t\t\t\t\t\twidth={18}\n\t\t\t\t\t\t\t\t\t\t\theight={18}\n\t\t\t\t\t\t\t\t\t\t\tcolor={\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid\n\t\t\t\t\t\t\t\t\t\t\t\t\t? COLORS.content.negative\n\t\t\t\t\t\t\t\t\t\t\t\t\t: COLORS.content.primary\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{maxCharLimit > 0 && maxCharLimitPosition === 'TOP' && (\n\t\t\t\t\t\t\t<SC.MaxCharStyle>\n\t\t\t\t\t\t\t\t{(value ?? '').toString()?.length ?? 0}/{maxCharLimit}\n\t\t\t\t\t\t\t</SC.MaxCharStyle>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</SC.InputHeader>\n\t\t\t\t)}\n\t\t\t</SC.RootContainer>\n\t\t);\n\t},\n);\n\nInput.displayName = 'Input';\n"],"names":["Input","forwardRef","props","fRef","placeholder","leftIcon","rightIcon","labelText","maxCharLimit","isRequired","hintText","type","state","validate","variant","button","suffixText","prefixText","onChangeText","value","noErrorHint","reset","rangeValidation","noKeyDownChange","version","noMaxCharCheck","labelElement","autoGrow","minHeight","maxHeight","labelTextBold","truncateText","maxCharLimitPosition","hightlightInputColor","onKeyDownEvent","hideInputHeader","hideBorder","inputWrapperStyles","minCharsToTrigger","maxCharAlignment","isDisabled","allowUnsafeInput","Object","assign","LeftIcon","icon","RightIcon","isInvalid","setIsInvalid","useState","isActive","setIsActive","errorMessage","setErrorMessage","iconSize","stylesFromOutside","useContext","InputStyleContext","inputValue","setInputValue","_ref","useRef","inputRef","useEffect","current","style","height","_a","onReferenceInit","call","numberInput","includes","addEventListener","onWheel","passive","removeEventListener","focus","executeCallback","cb","isFunction","_len","arguments","length","params","Array","_key","getMaxChar","onKeyDown","e","MAX_CHAR_LIMIT","MIN_CHAR_LIMIT","inputText","target","which","preventDefault","event","onChange","shouldSanitizeForType","sanitizeUnsafeInput","substring","textControl","scrollHeight","validateFunction","validateInput","isValid","error","onFocus","skipFocus","onBlur","getInputHTML","_jsxs","_Fragment","children","_jsx","className","id","input","ref","disabled","onClick","maxLength","undefined","SC","width","RootContainer","invalid","ErrorIcon","position","_c","_b","toString","_e","InputWrapper","_d","callback","isLeft","_f","IconHolder","PrefixHolder","SuffixHolder","text","Button","buttonText","buttonType","buttonProps","TitleSmall","BodySecondary","tooltipText","Tooltip","body","placement","InfoIcon","marginTop","color","COLORS","content","negative","primary","_g","_h","displayName"],"mappings":"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"}