@hitachivantara/uikit-react-core 5.61.0 → 5.62.0

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 (878) hide show
  1. package/dist/cjs/Accordion/Accordion.cjs +1 -1
  2. package/dist/cjs/Accordion/Accordion.cjs.map +1 -1
  3. package/dist/cjs/Accordion/Accordion.styles.cjs +1 -1
  4. package/dist/cjs/Accordion/Accordion.styles.cjs.map +1 -1
  5. package/dist/cjs/ActionBar/ActionBar.cjs.map +1 -1
  6. package/dist/cjs/ActionsGeneric/ActionsGeneric.cjs.map +1 -1
  7. package/dist/cjs/AppSwitcher/Action/Action.cjs +1 -1
  8. package/dist/cjs/AppSwitcher/Action/Action.cjs.map +1 -1
  9. package/dist/cjs/AppSwitcher/Action/Action.styles.cjs.map +1 -1
  10. package/dist/cjs/AppSwitcher/AppSwitcher.cjs.map +1 -1
  11. package/dist/cjs/Avatar/Avatar.cjs +1 -1
  12. package/dist/cjs/Avatar/Avatar.cjs.map +1 -1
  13. package/dist/cjs/Avatar/Avatar.styles.cjs +1 -1
  14. package/dist/cjs/Avatar/Avatar.styles.cjs.map +1 -1
  15. package/dist/cjs/AvatarGroup/AvatarGroup.cjs +1 -1
  16. package/dist/cjs/AvatarGroup/AvatarGroup.cjs.map +1 -1
  17. package/dist/cjs/AvatarGroup/AvatarGroup.styles.cjs +1 -1
  18. package/dist/cjs/AvatarGroup/AvatarGroup.styles.cjs.map +1 -1
  19. package/dist/cjs/Badge/Badge.cjs.map +1 -1
  20. package/dist/cjs/Banner/Banner.cjs +1 -1
  21. package/dist/cjs/Banner/Banner.cjs.map +1 -1
  22. package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.cjs.map +1 -1
  23. package/dist/cjs/Banner/BannerContent/BannerContent.cjs.map +1 -1
  24. package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.cjs.map +1 -1
  25. package/dist/cjs/BaseCheckBox/BaseCheckBox.cjs.map +1 -1
  26. package/dist/cjs/BaseCheckBox/BaseCheckBox.styles.cjs +1 -1
  27. package/dist/cjs/BaseCheckBox/BaseCheckBox.styles.cjs.map +1 -1
  28. package/dist/cjs/BaseDropdown/BaseDropdown.cjs +6 -6
  29. package/dist/cjs/BaseDropdown/BaseDropdown.cjs.map +1 -1
  30. package/dist/cjs/BaseDropdown/BaseDropdown.styles.cjs +1 -1
  31. package/dist/cjs/BaseDropdown/BaseDropdown.styles.cjs.map +1 -1
  32. package/dist/cjs/BaseInput/BaseInput.cjs +1 -1
  33. package/dist/cjs/BaseInput/BaseInput.cjs.map +1 -1
  34. package/dist/cjs/BaseInput/BaseInput.styles.cjs +1 -1
  35. package/dist/cjs/BaseInput/BaseInput.styles.cjs.map +1 -1
  36. package/dist/cjs/BaseInput/validations.cjs.map +1 -1
  37. package/dist/cjs/BaseRadio/BaseRadio.cjs +12 -11
  38. package/dist/cjs/BaseRadio/BaseRadio.cjs.map +1 -1
  39. package/dist/cjs/BaseRadio/BaseRadio.styles.cjs +40 -5
  40. package/dist/cjs/BaseRadio/BaseRadio.styles.cjs.map +1 -1
  41. package/dist/cjs/BaseRadio/icons.cjs +17 -0
  42. package/dist/cjs/BaseRadio/icons.cjs.map +1 -0
  43. package/dist/cjs/BaseSwitch/BaseSwitch.cjs.map +1 -1
  44. package/dist/cjs/BaseSwitch/BaseSwitch.styles.cjs +1 -1
  45. package/dist/cjs/BaseSwitch/BaseSwitch.styles.cjs.map +1 -1
  46. package/dist/cjs/Box/Box.cjs.map +1 -1
  47. package/dist/cjs/BreadCrumb/BreadCrumb.cjs.map +1 -1
  48. package/dist/cjs/BreadCrumb/Page/Page.cjs.map +1 -1
  49. package/dist/cjs/BreadCrumb/PathElement/PathElement.cjs.map +1 -1
  50. package/dist/cjs/BreadCrumb/utils.cjs.map +1 -1
  51. package/dist/cjs/BulkActions/BulkActions.cjs +1 -1
  52. package/dist/cjs/BulkActions/BulkActions.cjs.map +1 -1
  53. package/dist/cjs/BulkActions/BulkActions.styles.cjs.map +1 -1
  54. package/dist/cjs/Button/Button.cjs +1 -1
  55. package/dist/cjs/Button/Button.cjs.map +1 -1
  56. package/dist/cjs/Button/Button.styles.cjs +1 -1
  57. package/dist/cjs/Button/Button.styles.cjs.map +1 -1
  58. package/dist/cjs/Calendar/Calendar.cjs +1 -1
  59. package/dist/cjs/Calendar/Calendar.cjs.map +1 -1
  60. package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.cjs +3 -3
  61. package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.cjs.map +1 -1
  62. package/dist/cjs/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.cjs.map +1 -1
  63. package/dist/cjs/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs.map +1 -1
  64. package/dist/cjs/Calendar/CalendarNavigation/MonthSelector/MonthSelector.cjs.map +1 -1
  65. package/dist/cjs/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.cjs +1 -1
  66. package/dist/cjs/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.cjs.map +1 -1
  67. package/dist/cjs/Calendar/CalendarNavigation/Navigation/Navigation.cjs.map +1 -1
  68. package/dist/cjs/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
  69. package/dist/cjs/Calendar/SingleCalendar/CalendarCell.styles.cjs +1 -1
  70. package/dist/cjs/Calendar/SingleCalendar/CalendarCell.styles.cjs.map +1 -1
  71. package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.cjs +2 -2
  72. package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.cjs.map +1 -1
  73. package/dist/cjs/Calendar/model.cjs.map +1 -1
  74. package/dist/cjs/Calendar/utils.cjs.map +1 -1
  75. package/dist/cjs/Card/Card.cjs.map +1 -1
  76. package/dist/cjs/Card/Card.styles.cjs +1 -1
  77. package/dist/cjs/Card/Card.styles.cjs.map +1 -1
  78. package/dist/cjs/Card/Content/Content.cjs.map +1 -1
  79. package/dist/cjs/Card/Header/Header.cjs.map +1 -1
  80. package/dist/cjs/Card/Media/Media.cjs.map +1 -1
  81. package/dist/cjs/Carousel/Carousel.cjs +1 -1
  82. package/dist/cjs/Carousel/Carousel.cjs.map +1 -1
  83. package/dist/cjs/Carousel/CarouselControls.cjs.map +1 -1
  84. package/dist/cjs/Carousel/CarouselSlide/CarouselSlide.cjs.map +1 -1
  85. package/dist/cjs/Carousel/CarouselThumbnails.cjs.map +1 -1
  86. package/dist/cjs/CheckBox/CheckBox.cjs +1 -1
  87. package/dist/cjs/CheckBox/CheckBox.cjs.map +1 -1
  88. package/dist/cjs/CheckBox/CheckBox.styles.cjs +1 -1
  89. package/dist/cjs/CheckBox/CheckBox.styles.cjs.map +1 -1
  90. package/dist/cjs/CheckBoxGroup/CheckBoxGroup.cjs +2 -2
  91. package/dist/cjs/CheckBoxGroup/CheckBoxGroup.cjs.map +1 -1
  92. package/dist/cjs/ColorPicker/ColorPicker.cjs +2 -2
  93. package/dist/cjs/ColorPicker/ColorPicker.cjs.map +1 -1
  94. package/dist/cjs/ColorPicker/Fields/Fields.cjs.map +1 -1
  95. package/dist/cjs/ColorPicker/Picker/Picker.cjs +2 -2
  96. package/dist/cjs/ColorPicker/Picker/Picker.cjs.map +1 -1
  97. package/dist/cjs/ColorPicker/PresetColors/PresetColors.cjs.map +1 -1
  98. package/dist/cjs/ColorPicker/SavedColors/SavedColors.cjs +1 -1
  99. package/dist/cjs/ColorPicker/SavedColors/SavedColors.cjs.map +1 -1
  100. package/dist/cjs/Container/Container.cjs +2 -2
  101. package/dist/cjs/Container/Container.cjs.map +1 -1
  102. package/dist/cjs/Controls/Controls.cjs +1 -1
  103. package/dist/cjs/Controls/Controls.cjs.map +1 -1
  104. package/dist/cjs/Controls/LeftControl/LeftControl.cjs +1 -1
  105. package/dist/cjs/Controls/LeftControl/LeftControl.cjs.map +1 -1
  106. package/dist/cjs/Controls/RightControl/RightControl.cjs +1 -1
  107. package/dist/cjs/Controls/RightControl/RightControl.cjs.map +1 -1
  108. package/dist/cjs/DatePicker/DatePicker.cjs +5 -5
  109. package/dist/cjs/DatePicker/DatePicker.cjs.map +1 -1
  110. package/dist/cjs/DatePicker/useVisibleDate.cjs +4 -1
  111. package/dist/cjs/DatePicker/useVisibleDate.cjs.map +1 -1
  112. package/dist/cjs/DatePicker/utils.cjs.map +1 -1
  113. package/dist/cjs/Dialog/Actions/Actions.cjs +1 -1
  114. package/dist/cjs/Dialog/Actions/Actions.cjs.map +1 -1
  115. package/dist/cjs/Dialog/Content/Content.cjs.map +1 -1
  116. package/dist/cjs/Dialog/Dialog.cjs +2 -2
  117. package/dist/cjs/Dialog/Dialog.cjs.map +1 -1
  118. package/dist/cjs/Dialog/Title/Title.cjs.map +1 -1
  119. package/dist/cjs/DotPagination/DotPagination.cjs +1 -1
  120. package/dist/cjs/DotPagination/DotPagination.cjs.map +1 -1
  121. package/dist/cjs/DotPagination/DotPagination.styles.cjs +11 -3
  122. package/dist/cjs/DotPagination/DotPagination.styles.cjs.map +1 -1
  123. package/dist/cjs/Drawer/Drawer.cjs.map +1 -1
  124. package/dist/cjs/DropDownMenu/DropDownMenu.cjs +2 -2
  125. package/dist/cjs/DropDownMenu/DropDownMenu.cjs.map +1 -1
  126. package/dist/cjs/Dropdown/Dropdown.cjs +3 -3
  127. package/dist/cjs/Dropdown/Dropdown.cjs.map +1 -1
  128. package/dist/cjs/Dropdown/List/List.cjs +2 -2
  129. package/dist/cjs/Dropdown/List/List.cjs.map +1 -1
  130. package/dist/cjs/Dropdown/utils.cjs.map +1 -1
  131. package/dist/cjs/DropdownButton/DropdownButton.cjs.map +1 -1
  132. package/dist/cjs/DropdownButton/DropdownButton.styles.cjs.map +1 -1
  133. package/dist/cjs/EmptyState/EmptyState.cjs.map +1 -1
  134. package/dist/cjs/FileUploader/DropZone/DropZone.cjs +2 -2
  135. package/dist/cjs/FileUploader/DropZone/DropZone.cjs.map +1 -1
  136. package/dist/cjs/FileUploader/File/File.cjs +1 -1
  137. package/dist/cjs/FileUploader/File/File.cjs.map +1 -1
  138. package/dist/cjs/FileUploader/FileList/FileList.cjs +1 -1
  139. package/dist/cjs/FileUploader/FileList/FileList.cjs.map +1 -1
  140. package/dist/cjs/FileUploader/FileUploader.cjs +1 -1
  141. package/dist/cjs/FileUploader/FileUploader.cjs.map +1 -1
  142. package/dist/cjs/FileUploader/Preview/Preview.cjs.map +1 -1
  143. package/dist/cjs/FileUploader/Preview/Preview.styles.cjs.map +1 -1
  144. package/dist/cjs/FilterGroup/Counter/Counter.cjs.map +1 -1
  145. package/dist/cjs/FilterGroup/FilterContent/FilterContent.cjs +2 -2
  146. package/dist/cjs/FilterGroup/FilterContent/FilterContent.cjs.map +1 -1
  147. package/dist/cjs/FilterGroup/FilterGroup.cjs +2 -2
  148. package/dist/cjs/FilterGroup/FilterGroup.cjs.map +1 -1
  149. package/dist/cjs/FilterGroup/FilterGroupContext.cjs +1 -1
  150. package/dist/cjs/FilterGroup/FilterGroupContext.cjs.map +1 -1
  151. package/dist/cjs/FilterGroup/RightPanel/RightPanel.cjs.map +1 -1
  152. package/dist/cjs/Focus/Focus.cjs +2 -2
  153. package/dist/cjs/Focus/Focus.cjs.map +1 -1
  154. package/dist/cjs/Focus/Focus.styles.cjs +1 -1
  155. package/dist/cjs/Focus/Focus.styles.cjs.map +1 -1
  156. package/dist/cjs/Footer/Footer.cjs.map +1 -1
  157. package/dist/cjs/Forms/Adornment/Adornment.cjs.map +1 -1
  158. package/dist/cjs/Forms/Adornment/Adornment.styles.cjs +1 -1
  159. package/dist/cjs/Forms/Adornment/Adornment.styles.cjs.map +1 -1
  160. package/dist/cjs/Forms/CharCounter/CharCounter.cjs.map +1 -1
  161. package/dist/cjs/Forms/FormElement/FormElement.cjs +2 -2
  162. package/dist/cjs/Forms/FormElement/FormElement.cjs.map +1 -1
  163. package/dist/cjs/Forms/FormElement/utils/FormUtils.cjs.map +1 -1
  164. package/dist/cjs/Forms/InfoMessage/InfoMessage.cjs.map +1 -1
  165. package/dist/cjs/Forms/Label/Label.cjs.map +1 -1
  166. package/dist/cjs/Forms/Suggestions/Suggestions.cjs +1 -1
  167. package/dist/cjs/Forms/Suggestions/Suggestions.cjs.map +1 -1
  168. package/dist/cjs/Forms/WarningText/WarningText.cjs.map +1 -1
  169. package/dist/cjs/GlobalActions/GlobalActions.cjs.map +1 -1
  170. package/dist/cjs/GlobalActions/GlobalActions.styles.cjs.map +1 -1
  171. package/dist/cjs/Grid/Grid.cjs.map +1 -1
  172. package/dist/cjs/Header/Actions/Actions.cjs.map +1 -1
  173. package/dist/cjs/Header/Brand/Brand.cjs.map +1 -1
  174. package/dist/cjs/Header/Header.cjs.map +1 -1
  175. package/dist/cjs/Header/Navigation/MenuBar/Bar.cjs.map +1 -1
  176. package/dist/cjs/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
  177. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.cjs +2 -2
  178. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  179. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.styles.cjs +1 -1
  180. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.styles.cjs.map +1 -1
  181. package/dist/cjs/Header/Navigation/Navigation.cjs +1 -1
  182. package/dist/cjs/Header/Navigation/Navigation.cjs.map +1 -1
  183. package/dist/cjs/Header/Navigation/Navigation.styles.cjs.map +1 -1
  184. package/dist/cjs/Header/Navigation/useSelectionPath.cjs.map +1 -1
  185. package/dist/cjs/Header/Navigation/utils/FocusContext.cjs.map +1 -1
  186. package/dist/cjs/IconButton/IconButton.cjs +1 -1
  187. package/dist/cjs/IconButton/IconButton.cjs.map +1 -1
  188. package/dist/cjs/InlineEditor/InlineEditor.cjs +1 -1
  189. package/dist/cjs/InlineEditor/InlineEditor.cjs.map +1 -1
  190. package/dist/cjs/InlineEditor/InlineEditor.styles.cjs.map +1 -1
  191. package/dist/cjs/Input/Input.cjs +6 -6
  192. package/dist/cjs/Input/Input.cjs.map +1 -1
  193. package/dist/cjs/Kpi/Kpi.cjs.map +1 -1
  194. package/dist/cjs/Link/Link.cjs.map +1 -1
  195. package/dist/cjs/Link/Link.styles.cjs +1 -1
  196. package/dist/cjs/Link/Link.styles.cjs.map +1 -1
  197. package/dist/cjs/List/List.cjs.map +1 -1
  198. package/dist/cjs/List/useSelectableList.cjs.map +1 -1
  199. package/dist/cjs/List/utils.cjs.map +1 -1
  200. package/dist/cjs/ListContainer/ListContainer.cjs +1 -1
  201. package/dist/cjs/ListContainer/ListContainer.cjs.map +1 -1
  202. package/dist/cjs/ListContainer/ListItem/ListItem.cjs.map +1 -1
  203. package/dist/cjs/ListContainer/ListItem/ListItem.styles.cjs +1 -1
  204. package/dist/cjs/ListContainer/ListItem/ListItem.styles.cjs.map +1 -1
  205. package/dist/cjs/Loading/Loading.cjs +1 -1
  206. package/dist/cjs/Loading/Loading.cjs.map +1 -1
  207. package/dist/cjs/Loading/Loading.styles.cjs.map +1 -1
  208. package/dist/cjs/LoadingContainer/LoadingContainer.cjs.map +1 -1
  209. package/dist/cjs/Login/Login.cjs.map +1 -1
  210. package/dist/cjs/MultiButton/MultiButton.cjs.map +1 -1
  211. package/dist/cjs/MultiButton/MultiButton.styles.cjs +1 -1
  212. package/dist/cjs/MultiButton/MultiButton.styles.cjs.map +1 -1
  213. package/dist/cjs/OverflowTooltip/OverflowTooltip.cjs.map +1 -1
  214. package/dist/cjs/OverflowTooltip/OverflowTooltip.styles.cjs.map +1 -1
  215. package/dist/cjs/Pagination/Pagination.cjs +3 -3
  216. package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
  217. package/dist/cjs/Pagination/Pagination.styles.cjs.map +1 -1
  218. package/dist/cjs/Pagination/Select.cjs.map +1 -1
  219. package/dist/cjs/Pagination/utils.cjs.map +1 -1
  220. package/dist/cjs/Panel/Panel.cjs.map +1 -1
  221. package/dist/cjs/ProgressBar/ProgressBar.cjs.map +1 -1
  222. package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs.map +1 -1
  223. package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs.map +1 -1
  224. package/dist/cjs/QueryBuilder/Context.cjs.map +1 -1
  225. package/dist/cjs/QueryBuilder/QueryBuilder.cjs +2 -2
  226. package/dist/cjs/QueryBuilder/QueryBuilder.cjs.map +1 -1
  227. package/dist/cjs/QueryBuilder/Rule/Attribute/Attribute.cjs +1 -1
  228. package/dist/cjs/QueryBuilder/Rule/Attribute/Attribute.cjs.map +1 -1
  229. package/dist/cjs/QueryBuilder/Rule/Operator/Operator.cjs.map +1 -1
  230. package/dist/cjs/QueryBuilder/Rule/Rule.cjs +1 -1
  231. package/dist/cjs/QueryBuilder/Rule/Rule.cjs.map +1 -1
  232. package/dist/cjs/QueryBuilder/Rule/Rule.styles.cjs.map +1 -1
  233. package/dist/cjs/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.cjs.map +1 -1
  234. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs +3 -3
  235. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs.map +1 -1
  236. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs.map +1 -1
  237. package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs.map +1 -1
  238. package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
  239. package/dist/cjs/QueryBuilder/Rule/Value/TextValue/TextValue.cjs.map +1 -1
  240. package/dist/cjs/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs.map +1 -1
  241. package/dist/cjs/QueryBuilder/Rule/Value/Value.cjs.map +1 -1
  242. package/dist/cjs/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  243. package/dist/cjs/QueryBuilder/utils/index.cjs.map +1 -1
  244. package/dist/cjs/QueryBuilder/utils/reducer.cjs.map +1 -1
  245. package/dist/cjs/Radio/Radio.cjs +4 -2
  246. package/dist/cjs/Radio/Radio.cjs.map +1 -1
  247. package/dist/cjs/Radio/Radio.styles.cjs +4 -2
  248. package/dist/cjs/Radio/Radio.styles.cjs.map +1 -1
  249. package/dist/cjs/RadioGroup/RadioGroup.cjs +1 -1
  250. package/dist/cjs/RadioGroup/RadioGroup.cjs.map +1 -1
  251. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +1 -1
  252. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs.map +1 -1
  253. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs +1 -1
  254. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs.map +1 -1
  255. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.cjs +3 -3
  256. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.cjs.map +1 -1
  257. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs.map +1 -1
  258. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.cjs +1 -1
  259. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.cjs.map +1 -1
  260. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.styles.cjs.map +1 -1
  261. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +1 -1
  262. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs.map +1 -1
  263. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +1 -1
  264. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs.map +1 -1
  265. package/dist/cjs/ScrollTo/useScrollTo.cjs.map +1 -1
  266. package/dist/cjs/ScrollTo/utils.cjs.map +1 -1
  267. package/dist/cjs/ScrollTo/withTooltip.cjs.map +1 -1
  268. package/dist/cjs/Section/Section.cjs +1 -1
  269. package/dist/cjs/Section/Section.cjs.map +1 -1
  270. package/dist/cjs/Select/Option.cjs.map +1 -1
  271. package/dist/cjs/Select/OptionGroup.cjs +1 -1
  272. package/dist/cjs/Select/OptionGroup.cjs.map +1 -1
  273. package/dist/cjs/Select/Select.cjs +5 -5
  274. package/dist/cjs/Select/Select.cjs.map +1 -1
  275. package/dist/cjs/SelectionList/SelectionList.cjs +2 -2
  276. package/dist/cjs/SelectionList/SelectionList.cjs.map +1 -1
  277. package/dist/cjs/SimpleGrid/SimpleGrid.cjs.map +1 -1
  278. package/dist/cjs/SimpleGrid/SimpleGrid.styles.cjs.map +1 -1
  279. package/dist/cjs/Skeleton/Skeleton.cjs.map +1 -1
  280. package/dist/cjs/Slider/Slider.cjs +4 -4
  281. package/dist/cjs/Slider/Slider.cjs.map +1 -1
  282. package/dist/cjs/Slider/Slider.styles.cjs +1 -1
  283. package/dist/cjs/Slider/Slider.styles.cjs.map +1 -1
  284. package/dist/cjs/Slider/SliderInput/SliderInput.cjs.map +1 -1
  285. package/dist/cjs/Slider/utils.cjs.map +1 -1
  286. package/dist/cjs/Snackbar/Snackbar.cjs.map +1 -1
  287. package/dist/cjs/Snackbar/Snackbar.styles.cjs +1 -1
  288. package/dist/cjs/Snackbar/Snackbar.styles.cjs.map +1 -1
  289. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.cjs +3 -3
  290. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.cjs.map +1 -1
  291. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs.map +1 -1
  292. package/dist/cjs/SnackbarProvider/SnackbarProvider.cjs.map +1 -1
  293. package/dist/cjs/SnackbarProvider/SnackbarProvider.styles.cjs.map +1 -1
  294. package/dist/cjs/Stack/Stack.cjs +2 -2
  295. package/dist/cjs/Stack/Stack.cjs.map +1 -1
  296. package/dist/cjs/Switch/Switch.cjs +2 -2
  297. package/dist/cjs/Switch/Switch.cjs.map +1 -1
  298. package/dist/cjs/Tab/Tab.cjs.map +1 -1
  299. package/dist/cjs/Table/Table.cjs +1 -1
  300. package/dist/cjs/Table/Table.cjs.map +1 -1
  301. package/dist/cjs/Table/TableBody/TableBody.cjs.map +1 -1
  302. package/dist/cjs/Table/TableCell/TableCell.cjs +1 -1
  303. package/dist/cjs/Table/TableCell/TableCell.cjs.map +1 -1
  304. package/dist/cjs/Table/TableContainer/TableContainer.cjs.map +1 -1
  305. package/dist/cjs/Table/TableHead/TableHead.cjs.map +1 -1
  306. package/dist/cjs/Table/TableHeader/TableHeader.cjs +2 -2
  307. package/dist/cjs/Table/TableHeader/TableHeader.cjs.map +1 -1
  308. package/dist/cjs/Table/TableHeader/utils.cjs.map +1 -1
  309. package/dist/cjs/Table/TableRow/TableRow.cjs.map +1 -1
  310. package/dist/cjs/Table/TableRow/TableRow.styles.cjs.map +1 -1
  311. package/dist/cjs/Table/hooks/useBulkActions.cjs.map +1 -1
  312. package/dist/cjs/Table/hooks/useFilters.cjs.map +1 -1
  313. package/dist/cjs/Table/hooks/useGlobalFilter.cjs.map +1 -1
  314. package/dist/cjs/Table/hooks/useHeaderGroups.cjs.map +1 -1
  315. package/dist/cjs/Table/hooks/usePagination.cjs.map +1 -1
  316. package/dist/cjs/Table/hooks/useResizeColumns.cjs.map +1 -1
  317. package/dist/cjs/Table/hooks/useRowExpand.cjs.map +1 -1
  318. package/dist/cjs/Table/hooks/useRowSelection.cjs.map +1 -1
  319. package/dist/cjs/Table/hooks/useRowState.cjs.map +1 -1
  320. package/dist/cjs/Table/hooks/useSortBy.cjs.map +1 -1
  321. package/dist/cjs/Table/hooks/useSticky.cjs.map +1 -1
  322. package/dist/cjs/Table/hooks/useTable.cjs.map +1 -1
  323. package/dist/cjs/Table/hooks/useTableStyles.cjs.map +1 -1
  324. package/dist/cjs/Table/renderers/DateColumnCell/DateColumnCell.cjs.map +1 -1
  325. package/dist/cjs/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs.map +1 -1
  326. package/dist/cjs/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs.map +1 -1
  327. package/dist/cjs/Table/renderers/SwitchColumnCell/SwitchColumnCell.cjs.map +1 -1
  328. package/dist/cjs/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs.map +1 -1
  329. package/dist/cjs/Table/renderers/renderers.cjs.map +1 -1
  330. package/dist/cjs/TableSection/TableSection.cjs.map +1 -1
  331. package/dist/cjs/TableSection/TableSection.styles.cjs.map +1 -1
  332. package/dist/cjs/Tabs/Tabs.cjs.map +1 -1
  333. package/dist/cjs/Tag/Tag.cjs +3 -3
  334. package/dist/cjs/Tag/Tag.cjs.map +1 -1
  335. package/dist/cjs/Tag/Tag.styles.cjs +2 -2
  336. package/dist/cjs/Tag/Tag.styles.cjs.map +1 -1
  337. package/dist/cjs/TagsInput/TagsInput.cjs +4 -4
  338. package/dist/cjs/TagsInput/TagsInput.cjs.map +1 -1
  339. package/dist/cjs/TagsInput/TagsInput.styles.cjs.map +1 -1
  340. package/dist/cjs/TextArea/TextArea.cjs +4 -4
  341. package/dist/cjs/TextArea/TextArea.cjs.map +1 -1
  342. package/dist/cjs/TimeAgo/TimeAgo.cjs.map +1 -1
  343. package/dist/cjs/TimeAgo/formatUtils.cjs.map +1 -1
  344. package/dist/cjs/TimeAgo/useTimeAgo.cjs +1 -1
  345. package/dist/cjs/TimeAgo/useTimeAgo.cjs.map +1 -1
  346. package/dist/cjs/TimePicker/Placeholder.cjs.map +1 -1
  347. package/dist/cjs/TimePicker/TimePicker.cjs +1 -1
  348. package/dist/cjs/TimePicker/TimePicker.cjs.map +1 -1
  349. package/dist/cjs/TimePicker/Unit/Unit.cjs.map +1 -1
  350. package/dist/cjs/ToggleButton/ToggleButton.cjs.map +1 -1
  351. package/dist/cjs/Tooltip/Tooltip.cjs +3 -3
  352. package/dist/cjs/Tooltip/Tooltip.cjs.map +1 -1
  353. package/dist/cjs/Tooltip/Tooltip.styles.cjs +1 -1
  354. package/dist/cjs/Tooltip/Tooltip.styles.cjs.map +1 -1
  355. package/dist/cjs/TreeView/TreeItem/DefaultContent.cjs.map +1 -1
  356. package/dist/cjs/TreeView/TreeItem/TreeItem.cjs +3 -3
  357. package/dist/cjs/TreeView/TreeItem/TreeItem.cjs.map +1 -1
  358. package/dist/cjs/TreeView/TreeItem/useHvTreeItem.cjs.map +1 -1
  359. package/dist/cjs/TreeView/TreeView.cjs +1 -1
  360. package/dist/cjs/TreeView/TreeView.cjs.map +1 -1
  361. package/dist/cjs/TreeView/internals/DescendantProvider.cjs.map +1 -1
  362. package/dist/cjs/TreeView/internals/TreeViewProvider.cjs.map +1 -1
  363. package/dist/cjs/TreeView/internals/hooks/plugins/defaultPlugins.cjs +3 -3
  364. package/dist/cjs/TreeView/internals/hooks/plugins/defaultPlugins.cjs.map +1 -1
  365. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewExpansion.cjs.map +1 -1
  366. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewFocus.cjs +1 -1
  367. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewFocus.cjs.map +1 -1
  368. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewKeyboardNavigation.cjs.map +1 -1
  369. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewNodes.cjs +1 -1
  370. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewNodes.cjs.map +1 -1
  371. package/dist/cjs/TreeView/internals/hooks/plugins/useTreeViewSelection.cjs.map +1 -1
  372. package/dist/cjs/TreeView/internals/hooks/useInstanceEventHandler.cjs +1 -1
  373. package/dist/cjs/TreeView/internals/hooks/useInstanceEventHandler.cjs.map +1 -1
  374. package/dist/cjs/TreeView/internals/hooks/useTreeView.cjs +1 -1
  375. package/dist/cjs/TreeView/internals/hooks/useTreeView.cjs.map +1 -1
  376. package/dist/cjs/TreeView/internals/hooks/useTreeViewInstanceEvents.cjs.map +1 -1
  377. package/dist/cjs/TreeView/internals/hooks/useTreeViewModels.cjs.map +1 -1
  378. package/dist/cjs/TreeView/internals/hooks/utils.cjs.map +1 -1
  379. package/dist/cjs/TreeView/internals/utils/EventManager.cjs.map +1 -1
  380. package/dist/cjs/TreeView/internals/utils/FinalizationRegistryBasedCleanupTracking.cjs.map +1 -1
  381. package/dist/cjs/TreeView/internals/utils/TimerBasedCleanupTracking.cjs.map +1 -1
  382. package/dist/cjs/TreeView/internals/utils/publishTreeViewEvent.cjs.map +1 -1
  383. package/dist/cjs/Typography/Typography.cjs +3 -3
  384. package/dist/cjs/Typography/Typography.cjs.map +1 -1
  385. package/dist/cjs/VerticalNavigation/Actions/Action.cjs.map +1 -1
  386. package/dist/cjs/VerticalNavigation/Actions/Action.styles.cjs +1 -1
  387. package/dist/cjs/VerticalNavigation/Actions/Action.styles.cjs.map +1 -1
  388. package/dist/cjs/VerticalNavigation/Actions/Actions.cjs.map +1 -1
  389. package/dist/cjs/VerticalNavigation/Actions/Actions.styles.cjs.map +1 -1
  390. package/dist/cjs/VerticalNavigation/Header/Header.cjs.map +1 -1
  391. package/dist/cjs/VerticalNavigation/Header/Header.styles.cjs.map +1 -1
  392. package/dist/cjs/VerticalNavigation/Navigation/Navigation.cjs +5 -5
  393. package/dist/cjs/VerticalNavigation/Navigation/Navigation.cjs.map +1 -1
  394. package/dist/cjs/VerticalNavigation/Navigation/Navigation.styles.cjs.map +1 -1
  395. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +1 -1
  396. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs.map +1 -1
  397. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs.map +1 -1
  398. package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
  399. package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs.map +1 -1
  400. package/dist/cjs/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.cjs.map +1 -1
  401. package/dist/cjs/VerticalNavigation/TreeView/IconWrapper/IconWrapper.cjs.map +1 -1
  402. package/dist/cjs/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.cjs.map +1 -1
  403. package/dist/cjs/VerticalNavigation/TreeView/TreeView.cjs +2 -2
  404. package/dist/cjs/VerticalNavigation/TreeView/TreeView.cjs.map +1 -1
  405. package/dist/cjs/VerticalNavigation/TreeView/TreeView.styles.cjs.map +1 -1
  406. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.cjs +3 -3
  407. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  408. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +1 -1
  409. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
  410. package/dist/cjs/VerticalNavigation/TreeView/descendants.cjs.map +1 -1
  411. package/dist/cjs/VerticalNavigation/VerticalNavigation.cjs +1 -1
  412. package/dist/cjs/VerticalNavigation/VerticalNavigation.cjs.map +1 -1
  413. package/dist/cjs/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -1
  414. package/dist/cjs/VerticalNavigation/VerticalNavigationContext.cjs.map +1 -1
  415. package/dist/cjs/hocs/withTooltip.cjs.map +1 -1
  416. package/dist/cjs/hooks/useClickOutside.cjs.map +1 -1
  417. package/dist/cjs/hooks/useComputation.cjs.map +1 -1
  418. package/dist/cjs/hooks/useControlled.cjs.map +1 -1
  419. package/dist/cjs/hooks/useCss.cjs +1 -1
  420. package/dist/cjs/hooks/useCss.cjs.map +1 -1
  421. package/dist/cjs/hooks/useDefaultProps.cjs +19 -13
  422. package/dist/cjs/hooks/useDefaultProps.cjs.map +1 -1
  423. package/dist/cjs/hooks/useEmotionCache.cjs +2 -2
  424. package/dist/cjs/hooks/useTheme.cjs +2 -2
  425. package/dist/cjs/hooks/useWidth.cjs +1 -1
  426. package/dist/cjs/hooks/useWidth.cjs.map +1 -1
  427. package/dist/cjs/providers/Provider.cjs +1 -1
  428. package/dist/cjs/providers/Provider.cjs.map +1 -1
  429. package/dist/cjs/providers/ThemeProvider.cjs +2 -2
  430. package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
  431. package/dist/cjs/types/generic.cjs.map +1 -1
  432. package/dist/cjs/utils/classes.cjs.map +1 -1
  433. package/dist/cjs/utils/hexToRgbA.cjs.map +1 -1
  434. package/dist/cjs/utils/iconVariant.cjs.map +1 -1
  435. package/dist/cjs/utils/multiSelectionEventHandler.cjs.map +1 -1
  436. package/dist/cjs/utils/theme.cjs.map +1 -1
  437. package/dist/cjs/utils/useSavedState.cjs.map +1 -1
  438. package/dist/cjs/utils/wrapperTooltip.cjs.map +1 -1
  439. package/dist/esm/Accordion/Accordion.js +1 -1
  440. package/dist/esm/Accordion/Accordion.js.map +1 -1
  441. package/dist/esm/Accordion/Accordion.styles.js +1 -1
  442. package/dist/esm/Accordion/Accordion.styles.js.map +1 -1
  443. package/dist/esm/ActionBar/ActionBar.js.map +1 -1
  444. package/dist/esm/ActionsGeneric/ActionsGeneric.js.map +1 -1
  445. package/dist/esm/AppSwitcher/Action/Action.js +1 -1
  446. package/dist/esm/AppSwitcher/Action/Action.js.map +1 -1
  447. package/dist/esm/AppSwitcher/Action/Action.styles.js.map +1 -1
  448. package/dist/esm/AppSwitcher/AppSwitcher.js.map +1 -1
  449. package/dist/esm/Avatar/Avatar.js +1 -1
  450. package/dist/esm/Avatar/Avatar.js.map +1 -1
  451. package/dist/esm/Avatar/Avatar.styles.js +1 -1
  452. package/dist/esm/Avatar/Avatar.styles.js.map +1 -1
  453. package/dist/esm/AvatarGroup/AvatarGroup.js +1 -1
  454. package/dist/esm/AvatarGroup/AvatarGroup.js.map +1 -1
  455. package/dist/esm/AvatarGroup/AvatarGroup.styles.js +1 -1
  456. package/dist/esm/AvatarGroup/AvatarGroup.styles.js.map +1 -1
  457. package/dist/esm/Badge/Badge.js.map +1 -1
  458. package/dist/esm/Banner/Banner.js +1 -1
  459. package/dist/esm/Banner/Banner.js.map +1 -1
  460. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  461. package/dist/esm/Banner/BannerContent/BannerContent.js.map +1 -1
  462. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  463. package/dist/esm/BaseCheckBox/BaseCheckBox.js.map +1 -1
  464. package/dist/esm/BaseCheckBox/BaseCheckBox.styles.js +1 -1
  465. package/dist/esm/BaseCheckBox/BaseCheckBox.styles.js.map +1 -1
  466. package/dist/esm/BaseDropdown/BaseDropdown.js +6 -6
  467. package/dist/esm/BaseDropdown/BaseDropdown.js.map +1 -1
  468. package/dist/esm/BaseDropdown/BaseDropdown.styles.js +1 -1
  469. package/dist/esm/BaseDropdown/BaseDropdown.styles.js.map +1 -1
  470. package/dist/esm/BaseInput/BaseInput.js +1 -1
  471. package/dist/esm/BaseInput/BaseInput.js.map +1 -1
  472. package/dist/esm/BaseInput/BaseInput.styles.js +1 -1
  473. package/dist/esm/BaseInput/BaseInput.styles.js.map +1 -1
  474. package/dist/esm/BaseInput/validations.js.map +1 -1
  475. package/dist/esm/BaseRadio/BaseRadio.js +12 -11
  476. package/dist/esm/BaseRadio/BaseRadio.js.map +1 -1
  477. package/dist/esm/BaseRadio/BaseRadio.styles.js +40 -5
  478. package/dist/esm/BaseRadio/BaseRadio.styles.js.map +1 -1
  479. package/dist/esm/BaseRadio/icons.js +17 -0
  480. package/dist/esm/BaseRadio/icons.js.map +1 -0
  481. package/dist/esm/BaseSwitch/BaseSwitch.js.map +1 -1
  482. package/dist/esm/BaseSwitch/BaseSwitch.styles.js +1 -1
  483. package/dist/esm/BaseSwitch/BaseSwitch.styles.js.map +1 -1
  484. package/dist/esm/Box/Box.js.map +1 -1
  485. package/dist/esm/BreadCrumb/BreadCrumb.js.map +1 -1
  486. package/dist/esm/BreadCrumb/Page/Page.js.map +1 -1
  487. package/dist/esm/BreadCrumb/PathElement/PathElement.js.map +1 -1
  488. package/dist/esm/BreadCrumb/utils.js.map +1 -1
  489. package/dist/esm/BulkActions/BulkActions.js +1 -1
  490. package/dist/esm/BulkActions/BulkActions.js.map +1 -1
  491. package/dist/esm/BulkActions/BulkActions.styles.js.map +1 -1
  492. package/dist/esm/Button/Button.js +1 -1
  493. package/dist/esm/Button/Button.js.map +1 -1
  494. package/dist/esm/Button/Button.styles.js +1 -1
  495. package/dist/esm/Button/Button.styles.js.map +1 -1
  496. package/dist/esm/Calendar/Calendar.js +1 -1
  497. package/dist/esm/Calendar/Calendar.js.map +1 -1
  498. package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js +2 -2
  499. package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  500. package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  501. package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js.map +1 -1
  502. package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  503. package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js +1 -1
  504. package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js.map +1 -1
  505. package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  506. package/dist/esm/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  507. package/dist/esm/Calendar/SingleCalendar/CalendarCell.styles.js +1 -1
  508. package/dist/esm/Calendar/SingleCalendar/CalendarCell.styles.js.map +1 -1
  509. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.js +2 -2
  510. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  511. package/dist/esm/Calendar/model.js.map +1 -1
  512. package/dist/esm/Calendar/utils.js.map +1 -1
  513. package/dist/esm/Card/Card.js.map +1 -1
  514. package/dist/esm/Card/Card.styles.js +1 -1
  515. package/dist/esm/Card/Card.styles.js.map +1 -1
  516. package/dist/esm/Card/Content/Content.js.map +1 -1
  517. package/dist/esm/Card/Header/Header.js.map +1 -1
  518. package/dist/esm/Card/Media/Media.js.map +1 -1
  519. package/dist/esm/Carousel/Carousel.js +2 -2
  520. package/dist/esm/Carousel/Carousel.js.map +1 -1
  521. package/dist/esm/Carousel/CarouselControls.js.map +1 -1
  522. package/dist/esm/Carousel/CarouselSlide/CarouselSlide.js.map +1 -1
  523. package/dist/esm/Carousel/CarouselThumbnails.js.map +1 -1
  524. package/dist/esm/CheckBox/CheckBox.js +1 -1
  525. package/dist/esm/CheckBox/CheckBox.js.map +1 -1
  526. package/dist/esm/CheckBox/CheckBox.styles.js +1 -1
  527. package/dist/esm/CheckBox/CheckBox.styles.js.map +1 -1
  528. package/dist/esm/CheckBoxGroup/CheckBoxGroup.js +2 -2
  529. package/dist/esm/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  530. package/dist/esm/ColorPicker/ColorPicker.js +2 -2
  531. package/dist/esm/ColorPicker/ColorPicker.js.map +1 -1
  532. package/dist/esm/ColorPicker/Fields/Fields.js.map +1 -1
  533. package/dist/esm/ColorPicker/Picker/Picker.js +2 -2
  534. package/dist/esm/ColorPicker/Picker/Picker.js.map +1 -1
  535. package/dist/esm/ColorPicker/PresetColors/PresetColors.js.map +1 -1
  536. package/dist/esm/ColorPicker/SavedColors/SavedColors.js +1 -1
  537. package/dist/esm/ColorPicker/SavedColors/SavedColors.js.map +1 -1
  538. package/dist/esm/Container/Container.js +2 -2
  539. package/dist/esm/Container/Container.js.map +1 -1
  540. package/dist/esm/Controls/Controls.js +1 -1
  541. package/dist/esm/Controls/Controls.js.map +1 -1
  542. package/dist/esm/Controls/LeftControl/LeftControl.js +1 -1
  543. package/dist/esm/Controls/LeftControl/LeftControl.js.map +1 -1
  544. package/dist/esm/Controls/RightControl/RightControl.js +1 -1
  545. package/dist/esm/Controls/RightControl/RightControl.js.map +1 -1
  546. package/dist/esm/DatePicker/DatePicker.js +5 -5
  547. package/dist/esm/DatePicker/DatePicker.js.map +1 -1
  548. package/dist/esm/DatePicker/useVisibleDate.js +4 -1
  549. package/dist/esm/DatePicker/useVisibleDate.js.map +1 -1
  550. package/dist/esm/DatePicker/utils.js.map +1 -1
  551. package/dist/esm/Dialog/Actions/Actions.js +1 -1
  552. package/dist/esm/Dialog/Actions/Actions.js.map +1 -1
  553. package/dist/esm/Dialog/Content/Content.js.map +1 -1
  554. package/dist/esm/Dialog/Dialog.js +2 -2
  555. package/dist/esm/Dialog/Dialog.js.map +1 -1
  556. package/dist/esm/Dialog/Title/Title.js.map +1 -1
  557. package/dist/esm/DotPagination/DotPagination.js +1 -1
  558. package/dist/esm/DotPagination/DotPagination.js.map +1 -1
  559. package/dist/esm/DotPagination/DotPagination.styles.js +11 -3
  560. package/dist/esm/DotPagination/DotPagination.styles.js.map +1 -1
  561. package/dist/esm/Drawer/Drawer.js.map +1 -1
  562. package/dist/esm/DropDownMenu/DropDownMenu.js +2 -2
  563. package/dist/esm/DropDownMenu/DropDownMenu.js.map +1 -1
  564. package/dist/esm/Dropdown/Dropdown.js +3 -3
  565. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  566. package/dist/esm/Dropdown/List/List.js +2 -2
  567. package/dist/esm/Dropdown/List/List.js.map +1 -1
  568. package/dist/esm/Dropdown/utils.js.map +1 -1
  569. package/dist/esm/DropdownButton/DropdownButton.js.map +1 -1
  570. package/dist/esm/DropdownButton/DropdownButton.styles.js.map +1 -1
  571. package/dist/esm/EmptyState/EmptyState.js.map +1 -1
  572. package/dist/esm/FileUploader/DropZone/DropZone.js +2 -2
  573. package/dist/esm/FileUploader/DropZone/DropZone.js.map +1 -1
  574. package/dist/esm/FileUploader/File/File.js +1 -1
  575. package/dist/esm/FileUploader/File/File.js.map +1 -1
  576. package/dist/esm/FileUploader/FileList/FileList.js +1 -1
  577. package/dist/esm/FileUploader/FileList/FileList.js.map +1 -1
  578. package/dist/esm/FileUploader/FileUploader.js +1 -1
  579. package/dist/esm/FileUploader/FileUploader.js.map +1 -1
  580. package/dist/esm/FileUploader/Preview/Preview.js.map +1 -1
  581. package/dist/esm/FileUploader/Preview/Preview.styles.js.map +1 -1
  582. package/dist/esm/FilterGroup/Counter/Counter.js.map +1 -1
  583. package/dist/esm/FilterGroup/FilterContent/FilterContent.js +2 -2
  584. package/dist/esm/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  585. package/dist/esm/FilterGroup/FilterGroup.js +2 -2
  586. package/dist/esm/FilterGroup/FilterGroup.js.map +1 -1
  587. package/dist/esm/FilterGroup/FilterGroupContext.js +1 -1
  588. package/dist/esm/FilterGroup/FilterGroupContext.js.map +1 -1
  589. package/dist/esm/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  590. package/dist/esm/Focus/Focus.js +2 -2
  591. package/dist/esm/Focus/Focus.js.map +1 -1
  592. package/dist/esm/Focus/Focus.styles.js +1 -1
  593. package/dist/esm/Focus/Focus.styles.js.map +1 -1
  594. package/dist/esm/Footer/Footer.js.map +1 -1
  595. package/dist/esm/Forms/Adornment/Adornment.js.map +1 -1
  596. package/dist/esm/Forms/Adornment/Adornment.styles.js +1 -1
  597. package/dist/esm/Forms/Adornment/Adornment.styles.js.map +1 -1
  598. package/dist/esm/Forms/CharCounter/CharCounter.js.map +1 -1
  599. package/dist/esm/Forms/FormElement/FormElement.js +2 -2
  600. package/dist/esm/Forms/FormElement/FormElement.js.map +1 -1
  601. package/dist/esm/Forms/FormElement/utils/FormUtils.js.map +1 -1
  602. package/dist/esm/Forms/InfoMessage/InfoMessage.js.map +1 -1
  603. package/dist/esm/Forms/Label/Label.js.map +1 -1
  604. package/dist/esm/Forms/Suggestions/Suggestions.js +1 -1
  605. package/dist/esm/Forms/Suggestions/Suggestions.js.map +1 -1
  606. package/dist/esm/Forms/WarningText/WarningText.js.map +1 -1
  607. package/dist/esm/GlobalActions/GlobalActions.js.map +1 -1
  608. package/dist/esm/GlobalActions/GlobalActions.styles.js.map +1 -1
  609. package/dist/esm/Grid/Grid.js.map +1 -1
  610. package/dist/esm/Header/Actions/Actions.js.map +1 -1
  611. package/dist/esm/Header/Brand/Brand.js.map +1 -1
  612. package/dist/esm/Header/Header.js.map +1 -1
  613. package/dist/esm/Header/Navigation/MenuBar/Bar.js.map +1 -1
  614. package/dist/esm/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  615. package/dist/esm/Header/Navigation/MenuItem/MenuItem.js +2 -2
  616. package/dist/esm/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  617. package/dist/esm/Header/Navigation/MenuItem/MenuItem.styles.js +1 -1
  618. package/dist/esm/Header/Navigation/MenuItem/MenuItem.styles.js.map +1 -1
  619. package/dist/esm/Header/Navigation/Navigation.js +1 -1
  620. package/dist/esm/Header/Navigation/Navigation.js.map +1 -1
  621. package/dist/esm/Header/Navigation/Navigation.styles.js.map +1 -1
  622. package/dist/esm/Header/Navigation/useSelectionPath.js.map +1 -1
  623. package/dist/esm/Header/Navigation/utils/FocusContext.js.map +1 -1
  624. package/dist/esm/IconButton/IconButton.js +1 -1
  625. package/dist/esm/IconButton/IconButton.js.map +1 -1
  626. package/dist/esm/InlineEditor/InlineEditor.js +1 -1
  627. package/dist/esm/InlineEditor/InlineEditor.js.map +1 -1
  628. package/dist/esm/InlineEditor/InlineEditor.styles.js.map +1 -1
  629. package/dist/esm/Input/Input.js +6 -6
  630. package/dist/esm/Input/Input.js.map +1 -1
  631. package/dist/esm/Kpi/Kpi.js.map +1 -1
  632. package/dist/esm/Link/Link.js.map +1 -1
  633. package/dist/esm/Link/Link.styles.js +1 -1
  634. package/dist/esm/Link/Link.styles.js.map +1 -1
  635. package/dist/esm/List/List.js.map +1 -1
  636. package/dist/esm/List/useSelectableList.js.map +1 -1
  637. package/dist/esm/List/utils.js.map +1 -1
  638. package/dist/esm/ListContainer/ListContainer.js +1 -1
  639. package/dist/esm/ListContainer/ListContainer.js.map +1 -1
  640. package/dist/esm/ListContainer/ListItem/ListItem.js.map +1 -1
  641. package/dist/esm/ListContainer/ListItem/ListItem.styles.js +1 -1
  642. package/dist/esm/ListContainer/ListItem/ListItem.styles.js.map +1 -1
  643. package/dist/esm/Loading/Loading.js +1 -1
  644. package/dist/esm/Loading/Loading.js.map +1 -1
  645. package/dist/esm/Loading/Loading.styles.js.map +1 -1
  646. package/dist/esm/LoadingContainer/LoadingContainer.js.map +1 -1
  647. package/dist/esm/Login/Login.js.map +1 -1
  648. package/dist/esm/MultiButton/MultiButton.js.map +1 -1
  649. package/dist/esm/MultiButton/MultiButton.styles.js +1 -1
  650. package/dist/esm/MultiButton/MultiButton.styles.js.map +1 -1
  651. package/dist/esm/OverflowTooltip/OverflowTooltip.js.map +1 -1
  652. package/dist/esm/OverflowTooltip/OverflowTooltip.styles.js.map +1 -1
  653. package/dist/esm/Pagination/Pagination.js +3 -3
  654. package/dist/esm/Pagination/Pagination.js.map +1 -1
  655. package/dist/esm/Pagination/Pagination.styles.js.map +1 -1
  656. package/dist/esm/Pagination/Select.js.map +1 -1
  657. package/dist/esm/Pagination/utils.js.map +1 -1
  658. package/dist/esm/Panel/Panel.js.map +1 -1
  659. package/dist/esm/ProgressBar/ProgressBar.js.map +1 -1
  660. package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  661. package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js.map +1 -1
  662. package/dist/esm/QueryBuilder/Context.js.map +1 -1
  663. package/dist/esm/QueryBuilder/QueryBuilder.js +3 -3
  664. package/dist/esm/QueryBuilder/QueryBuilder.js.map +1 -1
  665. package/dist/esm/QueryBuilder/Rule/Attribute/Attribute.js +1 -1
  666. package/dist/esm/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
  667. package/dist/esm/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
  668. package/dist/esm/QueryBuilder/Rule/Rule.js +1 -1
  669. package/dist/esm/QueryBuilder/Rule/Rule.js.map +1 -1
  670. package/dist/esm/QueryBuilder/Rule/Rule.styles.js.map +1 -1
  671. package/dist/esm/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
  672. package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +2 -2
  673. package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
  674. package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js.map +1 -1
  675. package/dist/esm/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js.map +1 -1
  676. package/dist/esm/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
  677. package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
  678. package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js.map +1 -1
  679. package/dist/esm/QueryBuilder/Rule/Value/Value.js.map +1 -1
  680. package/dist/esm/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  681. package/dist/esm/QueryBuilder/utils/index.js.map +1 -1
  682. package/dist/esm/QueryBuilder/utils/reducer.js.map +1 -1
  683. package/dist/esm/Radio/Radio.js +4 -2
  684. package/dist/esm/Radio/Radio.js.map +1 -1
  685. package/dist/esm/Radio/Radio.styles.js +4 -2
  686. package/dist/esm/Radio/Radio.styles.js.map +1 -1
  687. package/dist/esm/RadioGroup/RadioGroup.js +1 -1
  688. package/dist/esm/RadioGroup/RadioGroup.js.map +1 -1
  689. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +1 -1
  690. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  691. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js +1 -1
  692. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +1 -1
  693. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js +3 -3
  694. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  695. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js.map +1 -1
  696. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js +1 -1
  697. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  698. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.styles.js.map +1 -1
  699. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +1 -1
  700. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  701. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +1 -1
  702. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -1
  703. package/dist/esm/ScrollTo/useScrollTo.js.map +1 -1
  704. package/dist/esm/ScrollTo/utils.js.map +1 -1
  705. package/dist/esm/ScrollTo/withTooltip.js.map +1 -1
  706. package/dist/esm/Section/Section.js +1 -1
  707. package/dist/esm/Section/Section.js.map +1 -1
  708. package/dist/esm/Select/Option.js.map +1 -1
  709. package/dist/esm/Select/OptionGroup.js +1 -1
  710. package/dist/esm/Select/OptionGroup.js.map +1 -1
  711. package/dist/esm/Select/Select.js +5 -5
  712. package/dist/esm/Select/Select.js.map +1 -1
  713. package/dist/esm/SelectionList/SelectionList.js +2 -2
  714. package/dist/esm/SelectionList/SelectionList.js.map +1 -1
  715. package/dist/esm/SimpleGrid/SimpleGrid.js.map +1 -1
  716. package/dist/esm/SimpleGrid/SimpleGrid.styles.js.map +1 -1
  717. package/dist/esm/Skeleton/Skeleton.js.map +1 -1
  718. package/dist/esm/Slider/Slider.js +4 -4
  719. package/dist/esm/Slider/Slider.js.map +1 -1
  720. package/dist/esm/Slider/Slider.styles.js +1 -1
  721. package/dist/esm/Slider/Slider.styles.js.map +1 -1
  722. package/dist/esm/Slider/SliderInput/SliderInput.js.map +1 -1
  723. package/dist/esm/Slider/utils.js.map +1 -1
  724. package/dist/esm/Snackbar/Snackbar.js.map +1 -1
  725. package/dist/esm/Snackbar/Snackbar.styles.js +1 -1
  726. package/dist/esm/Snackbar/Snackbar.styles.js.map +1 -1
  727. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js +3 -3
  728. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
  729. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js.map +1 -1
  730. package/dist/esm/SnackbarProvider/SnackbarProvider.js.map +1 -1
  731. package/dist/esm/SnackbarProvider/SnackbarProvider.styles.js.map +1 -1
  732. package/dist/esm/Stack/Stack.js +2 -2
  733. package/dist/esm/Stack/Stack.js.map +1 -1
  734. package/dist/esm/Switch/Switch.js +2 -2
  735. package/dist/esm/Switch/Switch.js.map +1 -1
  736. package/dist/esm/Tab/Tab.js.map +1 -1
  737. package/dist/esm/Table/Table.js +1 -1
  738. package/dist/esm/Table/Table.js.map +1 -1
  739. package/dist/esm/Table/TableBody/TableBody.js.map +1 -1
  740. package/dist/esm/Table/TableCell/TableCell.js +1 -1
  741. package/dist/esm/Table/TableCell/TableCell.js.map +1 -1
  742. package/dist/esm/Table/TableContainer/TableContainer.js.map +1 -1
  743. package/dist/esm/Table/TableHead/TableHead.js.map +1 -1
  744. package/dist/esm/Table/TableHeader/TableHeader.js +2 -2
  745. package/dist/esm/Table/TableHeader/TableHeader.js.map +1 -1
  746. package/dist/esm/Table/TableHeader/utils.js.map +1 -1
  747. package/dist/esm/Table/TableRow/TableRow.js.map +1 -1
  748. package/dist/esm/Table/TableRow/TableRow.styles.js.map +1 -1
  749. package/dist/esm/Table/hooks/useBulkActions.js.map +1 -1
  750. package/dist/esm/Table/hooks/useFilters.js.map +1 -1
  751. package/dist/esm/Table/hooks/useGlobalFilter.js.map +1 -1
  752. package/dist/esm/Table/hooks/useHeaderGroups.js.map +1 -1
  753. package/dist/esm/Table/hooks/usePagination.js.map +1 -1
  754. package/dist/esm/Table/hooks/useResizeColumns.js.map +1 -1
  755. package/dist/esm/Table/hooks/useRowExpand.js.map +1 -1
  756. package/dist/esm/Table/hooks/useRowSelection.js.map +1 -1
  757. package/dist/esm/Table/hooks/useRowState.js.map +1 -1
  758. package/dist/esm/Table/hooks/useSortBy.js.map +1 -1
  759. package/dist/esm/Table/hooks/useSticky.js.map +1 -1
  760. package/dist/esm/Table/hooks/useTable.js.map +1 -1
  761. package/dist/esm/Table/hooks/useTableStyles.js.map +1 -1
  762. package/dist/esm/Table/renderers/DateColumnCell/DateColumnCell.js.map +1 -1
  763. package/dist/esm/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  764. package/dist/esm/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js.map +1 -1
  765. package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.js.map +1 -1
  766. package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js.map +1 -1
  767. package/dist/esm/Table/renderers/renderers.js.map +1 -1
  768. package/dist/esm/TableSection/TableSection.js.map +1 -1
  769. package/dist/esm/TableSection/TableSection.styles.js.map +1 -1
  770. package/dist/esm/Tabs/Tabs.js.map +1 -1
  771. package/dist/esm/Tag/Tag.js +3 -3
  772. package/dist/esm/Tag/Tag.js.map +1 -1
  773. package/dist/esm/Tag/Tag.styles.js +2 -2
  774. package/dist/esm/Tag/Tag.styles.js.map +1 -1
  775. package/dist/esm/TagsInput/TagsInput.js +4 -4
  776. package/dist/esm/TagsInput/TagsInput.js.map +1 -1
  777. package/dist/esm/TagsInput/TagsInput.styles.js.map +1 -1
  778. package/dist/esm/TextArea/TextArea.js +4 -4
  779. package/dist/esm/TextArea/TextArea.js.map +1 -1
  780. package/dist/esm/TimeAgo/TimeAgo.js.map +1 -1
  781. package/dist/esm/TimeAgo/formatUtils.js.map +1 -1
  782. package/dist/esm/TimeAgo/useTimeAgo.js +1 -1
  783. package/dist/esm/TimeAgo/useTimeAgo.js.map +1 -1
  784. package/dist/esm/TimePicker/Placeholder.js.map +1 -1
  785. package/dist/esm/TimePicker/TimePicker.js +1 -1
  786. package/dist/esm/TimePicker/TimePicker.js.map +1 -1
  787. package/dist/esm/TimePicker/Unit/Unit.js.map +1 -1
  788. package/dist/esm/ToggleButton/ToggleButton.js.map +1 -1
  789. package/dist/esm/Tooltip/Tooltip.js +2 -2
  790. package/dist/esm/Tooltip/Tooltip.js.map +1 -1
  791. package/dist/esm/Tooltip/Tooltip.styles.js +1 -1
  792. package/dist/esm/Tooltip/Tooltip.styles.js.map +1 -1
  793. package/dist/esm/TreeView/TreeItem/DefaultContent.js.map +1 -1
  794. package/dist/esm/TreeView/TreeItem/TreeItem.js +3 -3
  795. package/dist/esm/TreeView/TreeItem/TreeItem.js.map +1 -1
  796. package/dist/esm/TreeView/TreeItem/useHvTreeItem.js.map +1 -1
  797. package/dist/esm/TreeView/TreeView.js +1 -1
  798. package/dist/esm/TreeView/TreeView.js.map +1 -1
  799. package/dist/esm/TreeView/internals/DescendantProvider.js.map +1 -1
  800. package/dist/esm/TreeView/internals/TreeViewProvider.js.map +1 -1
  801. package/dist/esm/TreeView/internals/hooks/plugins/defaultPlugins.js +3 -3
  802. package/dist/esm/TreeView/internals/hooks/plugins/defaultPlugins.js.map +1 -1
  803. package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewExpansion.js.map +1 -1
  804. package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewFocus.js +1 -1
  805. package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewFocus.js.map +1 -1
  806. package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewKeyboardNavigation.js.map +1 -1
  807. package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewNodes.js +1 -1
  808. package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewNodes.js.map +1 -1
  809. package/dist/esm/TreeView/internals/hooks/plugins/useTreeViewSelection.js.map +1 -1
  810. package/dist/esm/TreeView/internals/hooks/useInstanceEventHandler.js +1 -1
  811. package/dist/esm/TreeView/internals/hooks/useInstanceEventHandler.js.map +1 -1
  812. package/dist/esm/TreeView/internals/hooks/useTreeView.js +1 -1
  813. package/dist/esm/TreeView/internals/hooks/useTreeView.js.map +1 -1
  814. package/dist/esm/TreeView/internals/hooks/useTreeViewInstanceEvents.js.map +1 -1
  815. package/dist/esm/TreeView/internals/hooks/useTreeViewModels.js.map +1 -1
  816. package/dist/esm/TreeView/internals/hooks/utils.js.map +1 -1
  817. package/dist/esm/TreeView/internals/utils/EventManager.js.map +1 -1
  818. package/dist/esm/TreeView/internals/utils/FinalizationRegistryBasedCleanupTracking.js.map +1 -1
  819. package/dist/esm/TreeView/internals/utils/TimerBasedCleanupTracking.js.map +1 -1
  820. package/dist/esm/TreeView/internals/utils/publishTreeViewEvent.js.map +1 -1
  821. package/dist/esm/Typography/Typography.js +3 -3
  822. package/dist/esm/Typography/Typography.js.map +1 -1
  823. package/dist/esm/VerticalNavigation/Actions/Action.js.map +1 -1
  824. package/dist/esm/VerticalNavigation/Actions/Action.styles.js +1 -1
  825. package/dist/esm/VerticalNavigation/Actions/Action.styles.js.map +1 -1
  826. package/dist/esm/VerticalNavigation/Actions/Actions.js.map +1 -1
  827. package/dist/esm/VerticalNavigation/Actions/Actions.styles.js.map +1 -1
  828. package/dist/esm/VerticalNavigation/Header/Header.js.map +1 -1
  829. package/dist/esm/VerticalNavigation/Header/Header.styles.js.map +1 -1
  830. package/dist/esm/VerticalNavigation/Navigation/Navigation.js +5 -5
  831. package/dist/esm/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  832. package/dist/esm/VerticalNavigation/Navigation/Navigation.styles.js.map +1 -1
  833. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +1 -1
  834. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +1 -1
  835. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
  836. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  837. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +1 -1
  838. package/dist/esm/VerticalNavigation/NavigationSlider/utils/NavigationSlider.utils.js.map +1 -1
  839. package/dist/esm/VerticalNavigation/TreeView/IconWrapper/IconWrapper.js.map +1 -1
  840. package/dist/esm/VerticalNavigation/TreeView/IconWrapper/IconWrapper.styles.js.map +1 -1
  841. package/dist/esm/VerticalNavigation/TreeView/TreeView.js +2 -2
  842. package/dist/esm/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  843. package/dist/esm/VerticalNavigation/TreeView/TreeView.styles.js.map +1 -1
  844. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js +4 -4
  845. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  846. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js +1 -1
  847. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
  848. package/dist/esm/VerticalNavigation/TreeView/descendants.js.map +1 -1
  849. package/dist/esm/VerticalNavigation/VerticalNavigation.js +1 -1
  850. package/dist/esm/VerticalNavigation/VerticalNavigation.js.map +1 -1
  851. package/dist/esm/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
  852. package/dist/esm/VerticalNavigation/VerticalNavigationContext.js.map +1 -1
  853. package/dist/esm/hocs/withTooltip.js.map +1 -1
  854. package/dist/esm/hooks/useClickOutside.js.map +1 -1
  855. package/dist/esm/hooks/useComputation.js.map +1 -1
  856. package/dist/esm/hooks/useControlled.js.map +1 -1
  857. package/dist/esm/hooks/useCss.js +1 -1
  858. package/dist/esm/hooks/useCss.js.map +1 -1
  859. package/dist/esm/hooks/useDefaultProps.js +19 -13
  860. package/dist/esm/hooks/useDefaultProps.js.map +1 -1
  861. package/dist/esm/hooks/useEmotionCache.js +2 -2
  862. package/dist/esm/hooks/useTheme.js +2 -2
  863. package/dist/esm/hooks/useWidth.js +1 -1
  864. package/dist/esm/hooks/useWidth.js.map +1 -1
  865. package/dist/esm/providers/Provider.js +1 -1
  866. package/dist/esm/providers/Provider.js.map +1 -1
  867. package/dist/esm/providers/ThemeProvider.js +2 -2
  868. package/dist/esm/providers/ThemeProvider.js.map +1 -1
  869. package/dist/esm/types/generic.js.map +1 -1
  870. package/dist/esm/utils/classes.js.map +1 -1
  871. package/dist/esm/utils/hexToRgbA.js.map +1 -1
  872. package/dist/esm/utils/iconVariant.js.map +1 -1
  873. package/dist/esm/utils/multiSelectionEventHandler.js.map +1 -1
  874. package/dist/esm/utils/theme.js.map +1 -1
  875. package/dist/esm/utils/useSavedState.js.map +1 -1
  876. package/dist/esm/utils/wrapperTooltip.js.map +1 -1
  877. package/dist/types/index.d.ts +51 -46
  878. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploader.cjs","sources":["../../../src/FileUploader/FileUploader.tsx"],"sourcesContent":["import { useLabels } from \"../hooks/useLabels\";\nimport { setId } from \"../utils/setId\";\nimport { HvBaseProps } from \"../types/generic\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\n\nimport { HvDropZone, HvDropZoneLabels } from \"./DropZone\";\nimport { HvFileData, HvFileRemovedEvent, HvFilesAddedEvent } from \"./File\";\nimport { HvFileList } from \"./FileList\";\n\nexport interface HvFileUploaderLabels extends HvDropZoneLabels {\n /**\n * Value of aria-label to apply to remove file button in FileList\n * */\n removeFileButtonLabel?: string;\n}\n\nexport interface HvFileUploaderProps extends HvBaseProps {\n /**\n * An object containing all the labels.\n */\n labels?: HvFileUploaderLabels;\n /**\n * The files to upload.\n */\n fileList?: HvFileData[];\n /**\n * Whether the Dropzone should accept multiple files at once.\n */\n multiple?: boolean;\n /**\n * If the input is disabled or not\n */\n disabled?: boolean;\n /**\n * Max upload size\n * */\n maxFileSize?: number;\n /**\n * Files extensions accepted for upload.\n */\n acceptedFiles?: string[];\n /**\n * Callback fired when files are added.\n */\n onFilesAdded?: HvFilesAddedEvent;\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Whether the DropZone should hide labels or not.\n */\n hideLabels?: boolean;\n /**\n * Attributes applied to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n}\n\n// TODO: This component needs to adopt the Form element shape and deprecate its way of composing labels\n\nconst DEFAULT_LABELS: HvFileUploaderLabels = {\n dropzone: \"Label\",\n sizeWarning: \"Max. file size:\",\n drag: \"Drop files here or\",\n selectFiles: \"click to upload\",\n dropFiles: \"Drop files here\",\n fileSizeError: \"The file exceeds the maximum upload size\",\n fileTypeError: \"File type not allowed for upload\",\n removeFileButtonLabel: \"Remove File\",\n};\n\n/**\n * Lets the user choose one or more files from their device storage. Once chosen,\n * the files can be uploaded to a server or manipulated on the client side.\n *\n * Accepted file types follow the format of the html input accept attribute. Please check https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file for more details.\n */\nexport const HvFileUploader = (props: HvFileUploaderProps) => {\n const {\n id,\n className,\n labels: labelsProp,\n fileList,\n multiple = true,\n disabled = false,\n hideLabels = false,\n maxFileSize = Infinity,\n inputProps = {},\n acceptedFiles = [],\n onFilesAdded,\n onFileRemoved,\n ...others\n } = useDefaultProps(\"HvFileUploader\", props);\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n return (\n <div id={id} className={className} {...others}>\n <HvDropZone\n id={setId(id, \"dropzone\")}\n labels={labels}\n multiple={multiple}\n disabled={disabled}\n accept={acceptedFiles.join(\",\")}\n maxFileSize={maxFileSize}\n onFilesAdded={onFilesAdded}\n inputProps={inputProps}\n hideLabels={hideLabels}\n />\n <HvFileList\n id={setId(id, \"filelist\")}\n list={fileList}\n onFileRemoved={onFileRemoved}\n removeFileButtonLabel={labels?.removeFileButtonLabel}\n />\n </div>\n );\n};\n"],"names":["useDefaultProps","useLabels","jsxs","jsx","HvDropZone","setId","HvFileList"],"mappings":";;;;;;;;AA8DA,MAAM,iBAAuC;AAAA,EAC3C,UAAU;AAAA,EACV,aAAa;AAAA,EACb,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX,eAAe;AAAA,EACf,eAAe;AAAA,EACf,uBAAuB;AACzB;AAQa,MAAA,iBAAiB,CAAC,UAA+B;AACtD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,IACX,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa,CAAC;AAAA,IACd,gBAAgB,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,kBAAkB,KAAK;AACrC,QAAA,SAASC,UAAAA,UAAU,gBAAgB,UAAU;AAEnD,SACGC,2BAAAA,KAAA,OAAA,EAAI,IAAQ,WAAuB,GAAG,QACrC,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAACC,SAAA;AAAA,MAAA;AAAA,QACC,IAAIC,MAAAA,MAAM,IAAI,UAAU;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ,cAAc,KAAK,GAAG;AAAA,QAC9B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,IACAF,2BAAA;AAAA,MAACG,SAAA;AAAA,MAAA;AAAA,QACC,IAAID,MAAAA,MAAM,IAAI,UAAU;AAAA,QACxB,MAAM;AAAA,QACN;AAAA,QACA,uBAAuB,QAAQ;AAAA,MAAA;AAAA,IACjC;AAAA,EACF,EAAA,CAAA;AAEJ;;"}
1
+ {"version":3,"file":"FileUploader.cjs","sources":["../../../src/FileUploader/FileUploader.tsx"],"sourcesContent":["import { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { setId } from \"../utils/setId\";\nimport { HvDropZone, HvDropZoneLabels } from \"./DropZone\";\nimport { HvFileData, HvFileRemovedEvent, HvFilesAddedEvent } from \"./File\";\nimport { HvFileList } from \"./FileList\";\n\nexport interface HvFileUploaderLabels extends HvDropZoneLabels {\n /**\n * Value of aria-label to apply to remove file button in FileList\n * */\n removeFileButtonLabel?: string;\n}\n\nexport interface HvFileUploaderProps extends HvBaseProps {\n /**\n * An object containing all the labels.\n */\n labels?: HvFileUploaderLabels;\n /**\n * The files to upload.\n */\n fileList?: HvFileData[];\n /**\n * Whether the Dropzone should accept multiple files at once.\n */\n multiple?: boolean;\n /**\n * If the input is disabled or not\n */\n disabled?: boolean;\n /**\n * Max upload size\n * */\n maxFileSize?: number;\n /**\n * Files extensions accepted for upload.\n */\n acceptedFiles?: string[];\n /**\n * Callback fired when files are added.\n */\n onFilesAdded?: HvFilesAddedEvent;\n /**\n * Callback fired when file is removed from list.\n */\n onFileRemoved?: HvFileRemovedEvent;\n /**\n * Whether the DropZone should hide labels or not.\n */\n hideLabels?: boolean;\n /**\n * Attributes applied to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n}\n\n// TODO: This component needs to adopt the Form element shape and deprecate its way of composing labels\n\nconst DEFAULT_LABELS: HvFileUploaderLabels = {\n dropzone: \"Label\",\n sizeWarning: \"Max. file size:\",\n drag: \"Drop files here or\",\n selectFiles: \"click to upload\",\n dropFiles: \"Drop files here\",\n fileSizeError: \"The file exceeds the maximum upload size\",\n fileTypeError: \"File type not allowed for upload\",\n removeFileButtonLabel: \"Remove File\",\n};\n\n/**\n * Lets the user choose one or more files from their device storage. Once chosen,\n * the files can be uploaded to a server or manipulated on the client side.\n *\n * Accepted file types follow the format of the html input accept attribute. Please check https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file for more details.\n */\nexport const HvFileUploader = (props: HvFileUploaderProps) => {\n const {\n id,\n className,\n labels: labelsProp,\n fileList,\n multiple = true,\n disabled = false,\n hideLabels = false,\n maxFileSize = Infinity,\n inputProps = {},\n acceptedFiles = [],\n onFilesAdded,\n onFileRemoved,\n ...others\n } = useDefaultProps(\"HvFileUploader\", props);\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n return (\n <div id={id} className={className} {...others}>\n <HvDropZone\n id={setId(id, \"dropzone\")}\n labels={labels}\n multiple={multiple}\n disabled={disabled}\n accept={acceptedFiles.join(\",\")}\n maxFileSize={maxFileSize}\n onFilesAdded={onFilesAdded}\n inputProps={inputProps}\n hideLabels={hideLabels}\n />\n <HvFileList\n id={setId(id, \"filelist\")}\n list={fileList}\n onFileRemoved={onFileRemoved}\n removeFileButtonLabel={labels?.removeFileButtonLabel}\n />\n </div>\n );\n};\n"],"names":["useDefaultProps","useLabels","jsxs","jsx","HvDropZone","setId","HvFileList"],"mappings":";;;;;;;;AA4DA,MAAM,iBAAuC;AAAA,EAC3C,UAAU;AAAA,EACV,aAAa;AAAA,EACb,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX,eAAe;AAAA,EACf,eAAe;AAAA,EACf,uBAAuB;AACzB;AAQa,MAAA,iBAAiB,CAAC,UAA+B;AACtD,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,IACX,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa,CAAC;AAAA,IACd,gBAAgB,CAAC;AAAA,IACjB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,kBAAkB,KAAK;AACrC,QAAA,SAASC,UAAAA,UAAU,gBAAgB,UAAU;AAEnD,SACGC,2BAAAA,KAAA,OAAA,EAAI,IAAQ,WAAuB,GAAG,QACrC,UAAA;AAAA,IAAAC,2BAAA;AAAA,MAACC,SAAA;AAAA,MAAA;AAAA,QACC,IAAIC,MAAAA,MAAM,IAAI,UAAU;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ,cAAc,KAAK,GAAG;AAAA,QAC9B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,IACAF,2BAAA;AAAA,MAACG,SAAA;AAAA,MAAA;AAAA,QACC,IAAID,MAAAA,MAAM,IAAI,UAAU;AAAA,QACxB,MAAM;AAAA,QACN;AAAA,QACA,uBAAuB,QAAQ;AAAA,MAAA;AAAA,IACjC;AAAA,EACF,EAAA,CAAA;AAEJ;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.cjs","sources":["../../../../src/FileUploader/Preview/Preview.tsx"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { Preview } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton, HvButtonProps } from \"../../Button\";\n\nimport { ExtractNames } from \"../../utils/classes\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\n\nimport { staticClasses, useClasses } from \"./Preview.styles\";\n\nexport { staticClasses as fileUploaderPreviewClasses };\n\nexport type HvFileUploaderPreviewClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFileUploaderPreviewProps\n extends Omit<HvButtonProps, \"children\" | \"classes\"> {\n /**\n * Content that represents the preview of an uploaded file.\n */\n children: React.ReactElement;\n /**\n * Callback executed when the preview is unmounted.\n *\n * Should be used for cleaning up client-side image URLs created by `URL.createObjectURL()`.\n */\n onUnload?: () => void;\n /**\n * If `true`, doesn't show an overlay on top of the preview when hovering.\n *\n * Only applies when `onClick` is set.\n */\n disableOverlay?: boolean;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileUploaderPreviewClasses;\n}\n\n/**\n * The `HvFileUploaderPreview` component is available to facilitate the styling\n * of the button (when clickable) and the detection of image unloading.\n */\nexport const HvFileUploaderPreview = (props: HvFileUploaderPreviewProps) => {\n const {\n className,\n children,\n classes: classesProp,\n disableOverlay = false,\n onUnload,\n onClick,\n ...others\n } = useDefaultProps(\"HvFileUploaderPreview\", props);\n const { classes, cx, css } = useClasses(classesProp);\n\n useEffect(() => {\n return () => {\n onUnload?.();\n };\n }, [onUnload]);\n\n if (onClick) {\n return (\n <HvButton\n icon\n className={cx(classes.previewButton, className)}\n onClick={onClick}\n {...others}\n >\n {children}\n {!disableOverlay && (\n <div className={classes.overlay} aria-hidden=\"true\">\n <Preview\n className={css({\n position: \"absolute\",\n left: \"50%\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n display: \"none\",\n })}\n />\n </div>\n )}\n </HvButton>\n );\n }\n\n return children;\n};\n"],"names":["useDefaultProps","useClasses","useEffect","jsxs","HvButton","jsx","Preview"],"mappings":";;;;;;;;AA4Ca,MAAA,wBAAwB,CAAC,UAAsC;AACpE,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,yBAAyB,KAAK;AAClD,QAAM,EAAE,SAAS,IAAI,IAAI,IAAIC,eAAAA,WAAW,WAAW;AAEnDC,QAAAA,UAAU,MAAM;AACd,WAAO,MAAM;AACA;IAAA;AAAA,EACb,GACC,CAAC,QAAQ,CAAC;AAEb,MAAI,SAAS;AAET,WAAAC,2BAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,MAAI;AAAA,QACJ,WAAW,GAAG,QAAQ,eAAe,SAAS;AAAA,QAC9C;AAAA,QACC,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA;AAAA,UACA,CAAC,kBACCC,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,SAAS,eAAY,QAC3C,UAAAA,2BAAA;AAAA,YAACC,gBAAA;AAAA,YAAA;AAAA,cACC,WAAW,IAAI;AAAA,gBACb,UAAU;AAAA,gBACV,MAAM;AAAA,gBACN,KAAK;AAAA,gBACL,WAAW;AAAA,gBACX,SAAS;AAAA,cAAA,CACV;AAAA,YAAA;AAAA,UAAA,GAEL;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AAEO,SAAA;AACT;;;"}
1
+ {"version":3,"file":"Preview.cjs","sources":["../../../../src/FileUploader/Preview/Preview.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { Preview } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton, HvButtonProps } from \"../../Button\";\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { staticClasses, useClasses } from \"./Preview.styles\";\n\nexport { staticClasses as fileUploaderPreviewClasses };\n\nexport type HvFileUploaderPreviewClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFileUploaderPreviewProps\n extends Omit<HvButtonProps, \"children\" | \"classes\"> {\n /**\n * Content that represents the preview of an uploaded file.\n */\n children: React.ReactElement;\n /**\n * Callback executed when the preview is unmounted.\n *\n * Should be used for cleaning up client-side image URLs created by `URL.createObjectURL()`.\n */\n onUnload?: () => void;\n /**\n * If `true`, doesn't show an overlay on top of the preview when hovering.\n *\n * Only applies when `onClick` is set.\n */\n disableOverlay?: boolean;\n /**\n * A Jss Object used to override or extend the styles applied to the component.\n */\n classes?: HvFileUploaderPreviewClasses;\n}\n\n/**\n * The `HvFileUploaderPreview` component is available to facilitate the styling\n * of the button (when clickable) and the detection of image unloading.\n */\nexport const HvFileUploaderPreview = (props: HvFileUploaderPreviewProps) => {\n const {\n className,\n children,\n classes: classesProp,\n disableOverlay = false,\n onUnload,\n onClick,\n ...others\n } = useDefaultProps(\"HvFileUploaderPreview\", props);\n const { classes, cx, css } = useClasses(classesProp);\n\n useEffect(() => {\n return () => {\n onUnload?.();\n };\n }, [onUnload]);\n\n if (onClick) {\n return (\n <HvButton\n icon\n className={cx(classes.previewButton, className)}\n onClick={onClick}\n {...others}\n >\n {children}\n {!disableOverlay && (\n <div className={classes.overlay} aria-hidden=\"true\">\n <Preview\n className={css({\n position: \"absolute\",\n left: \"50%\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n display: \"none\",\n })}\n />\n </div>\n )}\n </HvButton>\n );\n }\n\n return children;\n};\n"],"names":["useDefaultProps","useClasses","useEffect","jsxs","HvButton","jsx","Preview"],"mappings":";;;;;;;;AAwCa,MAAA,wBAAwB,CAAC,UAAsC;AACpE,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,yBAAyB,KAAK;AAClD,QAAM,EAAE,SAAS,IAAI,IAAI,IAAIC,eAAAA,WAAW,WAAW;AAEnDC,QAAAA,UAAU,MAAM;AACd,WAAO,MAAM;AACA;IAAA;AAAA,EACb,GACC,CAAC,QAAQ,CAAC;AAEb,MAAI,SAAS;AAET,WAAAC,2BAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,MAAI;AAAA,QACJ,WAAW,GAAG,QAAQ,eAAe,SAAS;AAAA,QAC9C;AAAA,QACC,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA;AAAA,UACA,CAAC,kBACCC,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,SAAS,eAAY,QAC3C,UAAAA,2BAAA;AAAA,YAACC,gBAAA;AAAA,YAAA;AAAA,cACC,WAAW,IAAI;AAAA,gBACb,UAAU;AAAA,gBACV,MAAM;AAAA,gBACN,KAAK;AAAA,gBACL,WAAW;AAAA,gBACX,SAAS;AAAA,cAAA,CACV;AAAA,YAAA;AAAA,UAAA,GAEL;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AAEO,SAAA;AACT;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Preview.styles.cjs","sources":["../../../../src/FileUploader/Preview/Preview.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvFileUploaderPreview\",\n {\n previewButton: {\n position: \"relative\",\n width: \"48px\",\n height: \"48px\",\n \"&:hover *\": {\n display: \"flex\",\n },\n },\n overlay: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n display: \"none\",\n justifyContent: \"center\",\n alignItems: \"center\",\n backgroundColor: theme.colors.primary_20,\n opacity: \"1\",\n borderRadius: theme.radii.base,\n },\n }\n);\n"],"names":["createClasses","theme"],"mappings":";;;;AAIa,MAAA,EAAE,eAAe,WAAA,IAAeA,QAAA;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,eAAe;AAAA,MACb,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,aAAa;AAAA,QACX,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,UAAU;AAAA,MACV,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,iBAAiBC,YAAAA,MAAM,OAAO;AAAA,MAC9B,SAAS;AAAA,MACT,cAAcA,YAAAA,MAAM,MAAM;AAAA,IAC5B;AAAA,EACF;AACF;;;"}
1
+ {"version":3,"file":"Preview.styles.cjs","sources":["../../../../src/FileUploader/Preview/Preview.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\n \"HvFileUploaderPreview\",\n {\n previewButton: {\n position: \"relative\",\n width: \"48px\",\n height: \"48px\",\n \"&:hover *\": {\n display: \"flex\",\n },\n },\n overlay: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n display: \"none\",\n justifyContent: \"center\",\n alignItems: \"center\",\n backgroundColor: theme.colors.primary_20,\n opacity: \"1\",\n borderRadius: theme.radii.base,\n },\n },\n);\n"],"names":["createClasses","theme"],"mappings":";;;;AAIa,MAAA,EAAE,eAAe,WAAA,IAAeA,QAAA;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,eAAe;AAAA,MACb,UAAU;AAAA,MACV,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,aAAa;AAAA,QACX,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,UAAU;AAAA,MACV,KAAK;AAAA,MACL,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,YAAY;AAAA,MACZ,iBAAiBC,YAAAA,MAAM,OAAO;AAAA,MAC9B,SAAS;AAAA,MACT,cAAcA,YAAAA,MAAM,MAAM;AAAA,IAC5B;AAAA,EACF;AACF;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Counter.cjs","sources":["../../../../src/FilterGroup/Counter/Counter.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { ExtractNames } from \"../../utils/classes\";\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvFilterGroupContext } from \"../FilterGroupContext\";\nimport { staticClasses, useClasses } from \"./Counter.styles\";\nimport { HvFilterGroupFilters, HvFilterGroupValue } from \"../types\";\n\nexport { staticClasses as filterGroupCounterClasses };\n\nexport type HvFilterGroupCounterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFilterGroupCounterProps {\n className?: string;\n id?: string;\n classes?: HvFilterGroupCounterClasses;\n}\n\nconst getExistingFiltersById = (\n idx: number,\n filterValues: HvFilterGroupValue,\n filterOptions: HvFilterGroupFilters\n) => {\n let total = 0;\n filterValues[idx]?.forEach((fv) => {\n if (filterOptions[idx]?.data.find((f) => f.id === fv)) {\n total += 1;\n }\n });\n return total;\n};\n\nexport const HvFilterGroupCounter = (props: HvFilterGroupCounterProps) => {\n const {\n className,\n id,\n classes: classesProp,\n } = useDefaultProps(\"HvFilterGroupCounter\", props);\n const { classes, cx } = useClasses(classesProp);\n const {\n filterOptions,\n filterValues = [],\n appliedFilters = [],\n } = useContext(HvFilterGroupContext);\n\n const options =\n id && filterOptions.find((option) => option.id === id)\n ? ([\n filterOptions.find((option) => option.id === id),\n ] as HvFilterGroupFilters)\n : filterOptions;\n const optionIdx = filterOptions.findIndex((option) => option.id === id);\n\n let groupsCounter = 0;\n appliedFilters.forEach((fg, i) => {\n groupsCounter += getExistingFiltersById(i, filterValues, filterOptions);\n });\n\n const partialCounter = id\n ? getExistingFiltersById(optionIdx, filterValues, filterOptions) || 0\n : groupsCounter;\n\n const totalCounter = options.reduce(\n (acc, option) => acc + option.data.length,\n 0\n );\n\n return (\n <div className={cx(classes.root, className)}>\n {partialCounter > 0 ? (\n <p className={classes.partialCounter}>{partialCounter}</p>\n ) : (\n partialCounter\n )}\n {` / ${totalCounter}`}\n </div>\n );\n};\n"],"names":["useDefaultProps","useClasses","useContext","HvFilterGroupContext","jsx"],"mappings":";;;;;;;AAkBA,MAAM,yBAAyB,CAC7B,KACA,cACA,kBACG;AACH,MAAI,QAAQ;AACZ,eAAa,GAAG,GAAG,QAAQ,CAAC,OAAO;AAC7B,QAAA,cAAc,GAAG,GAAG,KAAK,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG;AAC5C,eAAA;AAAA,IACX;AAAA,EAAA,CACD;AACM,SAAA;AACT;AAEa,MAAA,uBAAuB,CAAC,UAAqC;AAClE,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EAAA,IACPA,gBAAgB,gBAAA,wBAAwB,KAAK;AACjD,QAAM,EAAE,SAAS,GAAG,IAAIC,0BAAW,WAAW;AACxC,QAAA;AAAA,IACJ;AAAA,IACA,eAAe,CAAC;AAAA,IAChB,iBAAiB,CAAC;AAAA,EAAA,IAChBC,MAAAA,WAAWC,mBAAAA,oBAAoB;AAE7B,QAAA,UACJ,MAAM,cAAc,KAAK,CAAC,WAAW,OAAO,OAAO,EAAE,IAChD;AAAA,IACC,cAAc,KAAK,CAAC,WAAW,OAAO,OAAO,EAAE;AAAA,EAEjD,IAAA;AACN,QAAM,YAAY,cAAc,UAAU,CAAC,WAAW,OAAO,OAAO,EAAE;AAEtE,MAAI,gBAAgB;AACL,iBAAA,QAAQ,CAAC,IAAI,MAAM;AACf,qBAAA,uBAAuB,GAAG,cAAc,aAAa;AAAA,EAAA,CACvE;AAED,QAAM,iBAAiB,KACnB,uBAAuB,WAAW,cAAc,aAAa,KAAK,IAClE;AAEJ,QAAM,eAAe,QAAQ;AAAA,IAC3B,CAAC,KAAK,WAAW,MAAM,OAAO,KAAK;AAAA,IACnC;AAAA,EAAA;AAGF,yCACG,OAAI,EAAA,WAAW,GAAG,QAAQ,MAAM,SAAS,GACvC,UAAA;AAAA,IAAA,iBAAiB,IACfC,+BAAA,KAAA,EAAE,WAAW,QAAQ,gBAAiB,0BAAe,IAEtD;AAAA,IAED,MAAM,YAAY;AAAA,EACrB,EAAA,CAAA;AAEJ;;;"}
1
+ {"version":3,"file":"Counter.cjs","sources":["../../../../src/FilterGroup/Counter/Counter.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { HvFilterGroupContext } from \"../FilterGroupContext\";\nimport { HvFilterGroupFilters, HvFilterGroupValue } from \"../types\";\nimport { staticClasses, useClasses } from \"./Counter.styles\";\n\nexport { staticClasses as filterGroupCounterClasses };\n\nexport type HvFilterGroupCounterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFilterGroupCounterProps {\n className?: string;\n id?: string;\n classes?: HvFilterGroupCounterClasses;\n}\n\nconst getExistingFiltersById = (\n idx: number,\n filterValues: HvFilterGroupValue,\n filterOptions: HvFilterGroupFilters,\n) => {\n let total = 0;\n filterValues[idx]?.forEach((fv) => {\n if (filterOptions[idx]?.data.find((f) => f.id === fv)) {\n total += 1;\n }\n });\n return total;\n};\n\nexport const HvFilterGroupCounter = (props: HvFilterGroupCounterProps) => {\n const {\n className,\n id,\n classes: classesProp,\n } = useDefaultProps(\"HvFilterGroupCounter\", props);\n const { classes, cx } = useClasses(classesProp);\n const {\n filterOptions,\n filterValues = [],\n appliedFilters = [],\n } = useContext(HvFilterGroupContext);\n\n const options =\n id && filterOptions.find((option) => option.id === id)\n ? ([\n filterOptions.find((option) => option.id === id),\n ] as HvFilterGroupFilters)\n : filterOptions;\n const optionIdx = filterOptions.findIndex((option) => option.id === id);\n\n let groupsCounter = 0;\n appliedFilters.forEach((fg, i) => {\n groupsCounter += getExistingFiltersById(i, filterValues, filterOptions);\n });\n\n const partialCounter = id\n ? getExistingFiltersById(optionIdx, filterValues, filterOptions) || 0\n : groupsCounter;\n\n const totalCounter = options.reduce(\n (acc, option) => acc + option.data.length,\n 0,\n );\n\n return (\n <div className={cx(classes.root, className)}>\n {partialCounter > 0 ? (\n <p className={classes.partialCounter}>{partialCounter}</p>\n ) : (\n partialCounter\n )}\n {` / ${totalCounter}`}\n </div>\n );\n};\n"],"names":["useDefaultProps","useClasses","useContext","HvFilterGroupContext","jsx"],"mappings":";;;;;;;AAkBA,MAAM,yBAAyB,CAC7B,KACA,cACA,kBACG;AACH,MAAI,QAAQ;AACZ,eAAa,GAAG,GAAG,QAAQ,CAAC,OAAO;AAC7B,QAAA,cAAc,GAAG,GAAG,KAAK,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG;AAC5C,eAAA;AAAA,IACX;AAAA,EAAA,CACD;AACM,SAAA;AACT;AAEa,MAAA,uBAAuB,CAAC,UAAqC;AAClE,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EAAA,IACPA,gBAAgB,gBAAA,wBAAwB,KAAK;AACjD,QAAM,EAAE,SAAS,GAAG,IAAIC,0BAAW,WAAW;AACxC,QAAA;AAAA,IACJ;AAAA,IACA,eAAe,CAAC;AAAA,IAChB,iBAAiB,CAAC;AAAA,EAAA,IAChBC,MAAAA,WAAWC,mBAAAA,oBAAoB;AAE7B,QAAA,UACJ,MAAM,cAAc,KAAK,CAAC,WAAW,OAAO,OAAO,EAAE,IAChD;AAAA,IACC,cAAc,KAAK,CAAC,WAAW,OAAO,OAAO,EAAE;AAAA,EAEjD,IAAA;AACN,QAAM,YAAY,cAAc,UAAU,CAAC,WAAW,OAAO,OAAO,EAAE;AAEtE,MAAI,gBAAgB;AACL,iBAAA,QAAQ,CAAC,IAAI,MAAM;AACf,qBAAA,uBAAuB,GAAG,cAAc,aAAa;AAAA,EAAA,CACvE;AAED,QAAM,iBAAiB,KACnB,uBAAuB,WAAW,cAAc,aAAa,KAAK,IAClE;AAEJ,QAAM,eAAe,QAAQ;AAAA,IAC3B,CAAC,KAAK,WAAW,MAAM,OAAO,KAAK;AAAA,IACnC;AAAA,EAAA;AAGF,yCACG,OAAI,EAAA,WAAW,GAAG,QAAQ,MAAM,SAAS,GACvC,UAAA;AAAA,IAAA,iBAAiB,IACfC,+BAAA,KAAA,EAAE,WAAW,QAAQ,gBAAiB,0BAAe,IAEtD;AAAA,IAED,MAAM,YAAY;AAAA,EACrB,EAAA,CAAA;AAEJ;;;"}
@@ -3,11 +3,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("@emotion/react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const uikitReactIcons = require("@hitachivantara/uikit-react-icons");
6
+ const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
6
7
  const useTheme = require("../../hooks/useTheme.cjs");
7
8
  const setId = require("../../utils/setId.cjs");
8
- const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
9
- const FilterContent_styles = require("./FilterContent.styles.cjs");
10
9
  const FilterGroupContext = require("../FilterGroupContext.cjs");
10
+ const FilterContent_styles = require("./FilterContent.styles.cjs");
11
11
  const LeftPanel = require("../LeftPanel/LeftPanel.cjs");
12
12
  const RightPanel = require("../RightPanel/RightPanel.cjs");
13
13
  const Button = require("../../Button/Button.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"FilterContent.cjs","sources":["../../../../src/FilterGroup/FilterContent/FilterContent.tsx"],"sourcesContent":["import { forwardRef, useContext, useMemo, useRef, useState } from \"react\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\n\nimport { useTheme } from \"../../hooks/useTheme\";\nimport { HvActionBar } from \"../../ActionBar\";\nimport { HvBaseDropdown, HvBaseDropdownProps } from \"../../BaseDropdown\";\nimport { HvButton, HvButtonVariant } from \"../../Button\";\nimport { HvFormStatus } from \"../../Forms\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { setId } from \"../../utils/setId\";\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvFilterGroupValue, HvFilterGroupHorizontalPlacement } from \"../types\";\nimport { staticClasses, useClasses } from \"./FilterContent.styles\";\nimport { HvFilterGroupContext } from \"../FilterGroupContext\";\nimport { HvFilterGroupCounter } from \"../Counter\";\nimport { HvFilterGroupLeftPanel } from \"../LeftPanel\";\nimport { HvFilterGroupRightPanel } from \"../RightPanel\";\nimport type { HvFilterGroupLabels } from \"../FilterGroup\";\n\nexport { staticClasses as filterGroupContentClasses };\n\nexport type HvFilterGroupContentClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFilterGroupContentProps\n extends Omit<HvBaseDropdownProps, \"onChange\"> {\n description?: React.ReactNode;\n status?: HvFormStatus;\n onChange?: (\n event: React.MouseEvent<HTMLButtonElement>,\n value?: HvFilterGroupValue\n ) => void;\n onCancel?: (event: React.MouseEvent<HTMLButtonElement> | Event) => void;\n onClear?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n labels?: HvFilterGroupLabels;\n horizontalPlacement?: HvFilterGroupHorizontalPlacement;\n disablePortal?: boolean;\n escapeWithReference?: boolean;\n height?: string | number;\n leftEmptyElement?: React.ReactNode;\n rightEmptyElement?: React.ReactNode;\n disabled?: boolean;\n classes?: HvFilterGroupContentClasses;\n}\n\nexport const HvFilterGroupContent = forwardRef<\n HTMLDivElement,\n HvFilterGroupContentProps\n>((props, ref) => {\n const {\n id,\n status,\n disabled = false,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onCancel,\n onClear,\n labels,\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n height,\n leftEmptyElement,\n rightEmptyElement,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvFilterGroupContent\", props);\n\n const { classes } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n\n const [filterGroupOpen, setFilterGroupOpen] = useState<boolean>(false);\n\n const {\n defaultValue,\n filterValues,\n rollbackFilters,\n clearFilters,\n applyFilters,\n applyDisabled,\n } = useContext(HvFilterGroupContext);\n\n const focusTarget = useRef<HTMLDivElement>(null);\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n applyFilters();\n onChange?.(event, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (\n event: React.MouseEvent<HTMLButtonElement> | Event\n ) => {\n rollbackFilters();\n onCancel?.(event);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n clearFilters();\n onClear?.(event);\n };\n\n const handleToggle = (event: Event, open: boolean) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (event === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(event);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"label\">{labels?.placeholder}</HvTypography>\n </>\n ),\n [labels?.placeholder]\n );\n\n return (\n <HvBaseDropdown\n ref={ref}\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<HvFilterGroupCounter />}\n popperProps={{\n modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }],\n }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <HvFilterGroupLeftPanel\n id={id}\n className={classes.leftSidePanel}\n emptyElement={leftEmptyElement}\n />\n <HvFilterGroupRightPanel\n id={id}\n className={classes.rightSidePanel}\n emptyElement={rightEmptyElement}\n labels={labels}\n />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n variant=\"secondaryGhost\"\n onClick={onClearHandler}\n >\n {labels?.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n &nbsp;\n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n variant={\n activeTheme?.filterGroup.applyButtonVariant as HvButtonVariant\n }\n onClick={onApplyHandler}\n className={classes.applyButton}\n >\n {labels?.applyLabel}\n </HvButton>\n <HvButton\n id={setId(id, \"cancel-button\")}\n variant={\n activeTheme?.filterGroup.cancelButtonVariant as HvButtonVariant\n }\n onClick={onCancelHandler}\n >\n {labels?.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n});\n"],"names":["forwardRef","useDefaultProps","useClasses","useTheme","useState","useContext","HvFilterGroupContext","useRef","useMemo","jsxs","Fragment","jsx","Filters","HvTypography","HvBaseDropdown","setId","HvFilterGroupCounter","HvFilterGroupLeftPanel","HvFilterGroupRightPanel","HvActionBar","HvButton"],"mappings":"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"}
1
+ {"version":3,"file":"FilterContent.cjs","sources":["../../../../src/FilterGroup/FilterContent/FilterContent.tsx"],"sourcesContent":["import { forwardRef, useContext, useMemo, useRef, useState } from \"react\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvActionBar } from \"../../ActionBar\";\nimport { HvBaseDropdown, HvBaseDropdownProps } from \"../../BaseDropdown\";\nimport { HvButton, HvButtonVariant } from \"../../Button\";\nimport { HvFormStatus } from \"../../Forms\";\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { useTheme } from \"../../hooks/useTheme\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { setId } from \"../../utils/setId\";\nimport { HvFilterGroupCounter } from \"../Counter\";\nimport type { HvFilterGroupLabels } from \"../FilterGroup\";\nimport { HvFilterGroupContext } from \"../FilterGroupContext\";\nimport { HvFilterGroupLeftPanel } from \"../LeftPanel\";\nimport { HvFilterGroupRightPanel } from \"../RightPanel\";\nimport { HvFilterGroupHorizontalPlacement, HvFilterGroupValue } from \"../types\";\nimport { staticClasses, useClasses } from \"./FilterContent.styles\";\n\nexport { staticClasses as filterGroupContentClasses };\n\nexport type HvFilterGroupContentClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFilterGroupContentProps\n extends Omit<HvBaseDropdownProps, \"onChange\"> {\n description?: React.ReactNode;\n status?: HvFormStatus;\n onChange?: (\n event: React.MouseEvent<HTMLButtonElement>,\n value?: HvFilterGroupValue,\n ) => void;\n onCancel?: (event: React.MouseEvent<HTMLButtonElement> | Event) => void;\n onClear?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n labels?: HvFilterGroupLabels;\n horizontalPlacement?: HvFilterGroupHorizontalPlacement;\n disablePortal?: boolean;\n escapeWithReference?: boolean;\n height?: string | number;\n leftEmptyElement?: React.ReactNode;\n rightEmptyElement?: React.ReactNode;\n disabled?: boolean;\n classes?: HvFilterGroupContentClasses;\n}\n\nexport const HvFilterGroupContent = forwardRef<\n HTMLDivElement,\n HvFilterGroupContentProps\n>((props, ref) => {\n const {\n id,\n status,\n disabled = false,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onCancel,\n onClear,\n labels,\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n height,\n leftEmptyElement,\n rightEmptyElement,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvFilterGroupContent\", props);\n\n const { classes } = useClasses(classesProp);\n const { activeTheme } = useTheme();\n\n const [filterGroupOpen, setFilterGroupOpen] = useState<boolean>(false);\n\n const {\n defaultValue,\n filterValues,\n rollbackFilters,\n clearFilters,\n applyFilters,\n applyDisabled,\n } = useContext(HvFilterGroupContext);\n\n const focusTarget = useRef<HTMLDivElement>(null);\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n applyFilters();\n onChange?.(event, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (\n event: React.MouseEvent<HTMLButtonElement> | Event,\n ) => {\n rollbackFilters();\n onCancel?.(event);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (event: React.MouseEvent<HTMLButtonElement>) => {\n clearFilters();\n onClear?.(event);\n };\n\n const handleToggle = (event: Event, open: boolean) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (event === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(event);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"label\">{labels?.placeholder}</HvTypography>\n </>\n ),\n [labels?.placeholder],\n );\n\n return (\n <HvBaseDropdown\n ref={ref}\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<HvFilterGroupCounter />}\n popperProps={{\n modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }],\n }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <HvFilterGroupLeftPanel\n id={id}\n className={classes.leftSidePanel}\n emptyElement={leftEmptyElement}\n />\n <HvFilterGroupRightPanel\n id={id}\n className={classes.rightSidePanel}\n emptyElement={rightEmptyElement}\n labels={labels}\n />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n variant=\"secondaryGhost\"\n onClick={onClearHandler}\n >\n {labels?.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n &nbsp;\n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n variant={\n activeTheme?.filterGroup.applyButtonVariant as HvButtonVariant\n }\n onClick={onApplyHandler}\n className={classes.applyButton}\n >\n {labels?.applyLabel}\n </HvButton>\n <HvButton\n id={setId(id, \"cancel-button\")}\n variant={\n activeTheme?.filterGroup.cancelButtonVariant as HvButtonVariant\n }\n onClick={onCancelHandler}\n >\n {labels?.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n});\n"],"names":["forwardRef","useDefaultProps","useClasses","useTheme","useState","useContext","HvFilterGroupContext","useRef","useMemo","jsxs","Fragment","jsx","Filters","HvTypography","HvBaseDropdown","setId","HvFilterGroupCounter","HvFilterGroupLeftPanel","HvFilterGroupRightPanel","HvActionBar","HvButton"],"mappings":"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"}
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("@emotion/react/jsx-runtime");
4
4
  const React = require("react");
5
+ const useControlled = require("../hooks/useControlled.cjs");
6
+ const useDefaultProps = require("../hooks/useDefaultProps.cjs");
5
7
  const useLabels = require("../hooks/useLabels.cjs");
6
8
  const useUniqueId = require("../hooks/useUniqueId.cjs");
7
- const useControlled = require("../hooks/useControlled.cjs");
8
9
  const setId = require("../utils/setId.cjs");
9
- const useDefaultProps = require("../hooks/useDefaultProps.cjs");
10
10
  const FilterGroup_styles = require("./FilterGroup.styles.cjs");
11
11
  const FilterGroupContext = require("./FilterGroupContext.cjs");
12
12
  const FilterContent = require("./FilterContent/FilterContent.cjs");
@@ -1 +1 @@
1
- {"version":3,"file":"FilterGroup.cjs","sources":["../../../src/FilterGroup/FilterGroup.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport {\n HvFormElement,\n HvFormElementProps,\n HvFormStatus,\n HvInfoMessage,\n HvLabel,\n HvWarningText,\n} from \"../Forms\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport {\n HvFilterGroupContent,\n HvFilterGroupContentProps,\n} from \"./FilterContent\";\nimport { staticClasses, useClasses } from \"./FilterGroup.styles\";\nimport { HvFilterGroupProvider } from \"./FilterGroupContext\";\nimport {\n HvFilterGroupFilters,\n HvFilterGroupHorizontalPlacement,\n HvFilterGroupValue,\n} from \"./types\";\n\nexport { staticClasses as filterGroupClasses };\n\nexport type HvFilterGroupClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFilterGroupProps\n extends Omit<\n HvFormElementProps,\n \"classes\" | \"onChange\" | \"defaultValue\" | \"statusMessage\"\n > {\n /** The initial value of the input when in single calendar mode. */\n filters: HvFilterGroupFilters;\n /** The form element name. */\n name?: string;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** Indicates that user input is required on the form element. */\n required?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". Defaults to \"Required\". */\n statusMessage?: React.ReactNode;\n /** The callback fired when the cancel button is clicked. */\n onCancel?: (event: React.MouseEvent<HTMLButtonElement> | Event) => void;\n /** The callback fired when the clear filters button is clicked. */\n onClear?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n /** The callback fired when the value changes. */\n onChange?: (\n event: React.MouseEvent<HTMLButtonElement>,\n value?: HvFilterGroupValue\n ) => void;\n /** An Object containing the various text associated with the input. */\n labels?: HvFilterGroupLabels;\n /** The placeholder value when nothing is selected. */\n placeholder?: string;\n /** The default value of the filter group. If defined the clear action will reset to it. */\n defaultValue?: HvFilterGroupValue;\n /** The value of the filter group. */\n value?: HvFilterGroupValue;\n /** The placement where the filter group should be placed according to the input. Options are `left` or `right`. */\n horizontalPlacement?: HvFilterGroupHorizontalPlacement;\n /** Disable the portal behavior. The children stay within it's parent DOM hierarchy. */\n disablePortal?: boolean;\n /** Sets if the filter container should be out of the screen or stay visible. */\n escapeWithReference?: boolean;\n /** The height of the filter panel, between 295 and 425. Defaults to 350 */\n height?: number | string;\n /** The filter content props */\n filterContentProps?: Partial<HvFilterGroupContentProps>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFilterGroupClasses;\n}\n\nconst DEFAULT_LABELS = {\n /** Apply button label. */\n applyLabel: \"Apply\",\n /** Cancel button label. */\n cancelLabel: \"Cancel\",\n /** Clear button label. */\n clearLabel: \"Clear Filters\",\n /** Placeholder label. */\n placeholder: \"Filters\",\n /** SearchBox placeholder label. */\n searchBoxPlaceholder: \"Search\",\n /** Select All placeholder label. */\n selectAll: \"All\",\n /** Multi selection conjunction placeholder label. */\n multiSelectionConjunction: \"/\",\n};\n\nexport type HvFilterGroupLabels = Partial<typeof DEFAULT_LABELS>;\n\n/**\n * This component implements one potential use-case of the Filter Group pattern Design System Specifies.\n * Due to the enormous variety of capabilities required for this, we strongly recommend checking the code of the component and extend it yourself,\n * while we do not provide a better approach for building this component with smaller and more composable parts.\n */\nexport const HvFilterGroup = forwardRef<HTMLDivElement, HvFilterGroupProps>(\n (props, ref) => {\n const {\n className,\n id,\n name,\n required = false,\n disabled = false,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onCancel,\n onClear,\n status,\n statusMessage,\n labels: labelsProp,\n defaultValue,\n value,\n filters,\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n height = 350,\n filterContentProps,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvFilterGroup\", props);\n\n const { classes, cx } = useClasses(classesProp);\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const elementId = useUniqueId(id);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const hasLabel = label != null;\n\n const hasDescription = description != null;\n\n // Error message area will only be needed if the status is being controlled\n // or if required is true\n const canShowError = status !== undefined || required;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={value}\n status={status}\n disabled={disabled}\n required={required}\n className={cx(classes.root, className)}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage\n id={setId(elementId, \"description\")}\n className={classes.description}\n >\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvFilterGroupProvider\n defaultValue={defaultValue}\n value={value}\n filters={filters}\n >\n <HvFilterGroupContent\n ref={ref}\n id={elementId}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n escapeWithReference={escapeWithReference}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n status={status}\n onChange={onChange}\n onCancel={onCancel}\n onClear={onClear}\n labels={labels}\n height={height}\n {...filterContentProps}\n />\n {canShowError && (\n <HvWarningText\n id={setId(elementId, \"error\")}\n disableBorder\n className={classes.error}\n >\n {validationMessage}\n </HvWarningText>\n )}\n </HvFilterGroupProvider>\n </HvFormElement>\n );\n }\n);\n"],"names":["forwardRef","useDefaultProps","useClasses","useControlled","useUniqueId","useLabels","jsxs","HvFormElement","jsx","HvLabel","setId","HvInfoMessage","HvFilterGroupProvider","HvFilterGroupContent","HvWarningText"],"mappings":"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"}
1
+ {"version":3,"file":"FilterGroup.cjs","sources":["../../../src/FilterGroup/FilterGroup.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\n\nimport {\n HvFormElement,\n HvFormElementProps,\n HvFormStatus,\n HvInfoMessage,\n HvLabel,\n HvWarningText,\n} from \"../Forms\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport {\n HvFilterGroupContent,\n HvFilterGroupContentProps,\n} from \"./FilterContent\";\nimport { staticClasses, useClasses } from \"./FilterGroup.styles\";\nimport { HvFilterGroupProvider } from \"./FilterGroupContext\";\nimport {\n HvFilterGroupFilters,\n HvFilterGroupHorizontalPlacement,\n HvFilterGroupValue,\n} from \"./types\";\n\nexport { staticClasses as filterGroupClasses };\n\nexport type HvFilterGroupClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFilterGroupProps\n extends Omit<\n HvFormElementProps,\n \"classes\" | \"onChange\" | \"defaultValue\" | \"statusMessage\"\n > {\n /** The initial value of the input when in single calendar mode. */\n filters: HvFilterGroupFilters;\n /** The form element name. */\n name?: string;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: React.ReactNode;\n /** Provide additional descriptive text for the form element. */\n description?: React.ReactNode;\n /** Indicates that the form element is disabled. */\n disabled?: boolean;\n /** Indicates that user input is required on the form element. */\n required?: boolean;\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status?: HvFormStatus;\n /** The error message to show when `status` is \"invalid\". Defaults to \"Required\". */\n statusMessage?: React.ReactNode;\n /** The callback fired when the cancel button is clicked. */\n onCancel?: (event: React.MouseEvent<HTMLButtonElement> | Event) => void;\n /** The callback fired when the clear filters button is clicked. */\n onClear?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n /** The callback fired when the value changes. */\n onChange?: (\n event: React.MouseEvent<HTMLButtonElement>,\n value?: HvFilterGroupValue,\n ) => void;\n /** An Object containing the various text associated with the input. */\n labels?: HvFilterGroupLabels;\n /** The placeholder value when nothing is selected. */\n placeholder?: string;\n /** The default value of the filter group. If defined the clear action will reset to it. */\n defaultValue?: HvFilterGroupValue;\n /** The value of the filter group. */\n value?: HvFilterGroupValue;\n /** The placement where the filter group should be placed according to the input. Options are `left` or `right`. */\n horizontalPlacement?: HvFilterGroupHorizontalPlacement;\n /** Disable the portal behavior. The children stay within it's parent DOM hierarchy. */\n disablePortal?: boolean;\n /** Sets if the filter container should be out of the screen or stay visible. */\n escapeWithReference?: boolean;\n /** The height of the filter panel, between 295 and 425. Defaults to 350 */\n height?: number | string;\n /** The filter content props */\n filterContentProps?: Partial<HvFilterGroupContentProps>;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFilterGroupClasses;\n}\n\nconst DEFAULT_LABELS = {\n /** Apply button label. */\n applyLabel: \"Apply\",\n /** Cancel button label. */\n cancelLabel: \"Cancel\",\n /** Clear button label. */\n clearLabel: \"Clear Filters\",\n /** Placeholder label. */\n placeholder: \"Filters\",\n /** SearchBox placeholder label. */\n searchBoxPlaceholder: \"Search\",\n /** Select All placeholder label. */\n selectAll: \"All\",\n /** Multi selection conjunction placeholder label. */\n multiSelectionConjunction: \"/\",\n};\n\nexport type HvFilterGroupLabels = Partial<typeof DEFAULT_LABELS>;\n\n/**\n * This component implements one potential use-case of the Filter Group pattern Design System Specifies.\n * Due to the enormous variety of capabilities required for this, we strongly recommend checking the code of the component and extend it yourself,\n * while we do not provide a better approach for building this component with smaller and more composable parts.\n */\nexport const HvFilterGroup = forwardRef<HTMLDivElement, HvFilterGroupProps>(\n (props, ref) => {\n const {\n className,\n id,\n name,\n required = false,\n disabled = false,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n onChange,\n onCancel,\n onClear,\n status,\n statusMessage,\n labels: labelsProp,\n defaultValue,\n value,\n filters,\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n height = 350,\n filterContentProps,\n classes: classesProp,\n ...others\n } = useDefaultProps(\"HvFilterGroup\", props);\n\n const { classes, cx } = useClasses(classesProp);\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const elementId = useUniqueId(id);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const hasLabel = label != null;\n\n const hasDescription = description != null;\n\n // Error message area will only be needed if the status is being controlled\n // or if required is true\n const canShowError = status !== undefined || required;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={value}\n status={status}\n disabled={disabled}\n required={required}\n className={cx(classes.root, className)}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage\n id={setId(elementId, \"description\")}\n className={classes.description}\n >\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvFilterGroupProvider\n defaultValue={defaultValue}\n value={value}\n filters={filters}\n >\n <HvFilterGroupContent\n ref={ref}\n id={elementId}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n escapeWithReference={escapeWithReference}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n status={status}\n onChange={onChange}\n onCancel={onCancel}\n onClear={onClear}\n labels={labels}\n height={height}\n {...filterContentProps}\n />\n {canShowError && (\n <HvWarningText\n id={setId(elementId, \"error\")}\n disableBorder\n className={classes.error}\n >\n {validationMessage}\n </HvWarningText>\n )}\n </HvFilterGroupProvider>\n </HvFormElement>\n );\n },\n);\n"],"names":["forwardRef","useDefaultProps","useClasses","useControlled","useUniqueId","useLabels","jsxs","HvFormElement","jsx","HvLabel","setId","HvInfoMessage","HvFilterGroupProvider","HvFilterGroupContent","HvWarningText"],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("@emotion/react/jsx-runtime");
4
4
  const React = require("react");
5
- const helpers = require("../utils/helpers.cjs");
6
5
  const useDefaultProps = require("../hooks/useDefaultProps.cjs");
6
+ const helpers = require("../utils/helpers.cjs");
7
7
  const useSavedState = require("../utils/useSavedState.cjs");
8
8
  const HvFilterGroupContext = React.createContext({
9
9
  activeGroup: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"FilterGroupContext.cjs","sources":["../../../src/FilterGroup/FilterGroupContext.tsx"],"sourcesContent":["import {\n Dispatch,\n SetStateAction,\n createContext,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\nimport { isEqual } from \"../utils/helpers\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useSavedState } from \"../utils/useSavedState\";\nimport { HvFilterGroupFilters, HvFilterGroupValue } from \"./types\";\n\ninterface HvFilterGroupContextValue {\n activeGroup: number;\n setActiveGroup: Dispatch<SetStateAction<number>>;\n filterOptions: HvFilterGroupFilters;\n setFilterValues: (value?: HvFilterGroupValue, save?: boolean) => void;\n rollbackFilters: () => void;\n clearFilters: () => void;\n applyFilters: () => void;\n applyDisabled: boolean;\n appliedFilters?: HvFilterGroupValue;\n defaultValue?: HvFilterGroupValue;\n filterValues?: HvFilterGroupValue;\n}\n\nexport const HvFilterGroupContext = createContext<HvFilterGroupContextValue>({\n activeGroup: 0,\n setActiveGroup: () => {},\n filterOptions: [],\n setFilterValues: () => {},\n rollbackFilters: () => {},\n clearFilters: () => {},\n applyFilters: () => {},\n applyDisabled: false,\n filterValues: [],\n appliedFilters: undefined,\n defaultValue: undefined,\n});\n\nconst groups = (filters: HvFilterGroupFilters) => filters.map(() => []);\n\ninterface HvFilterGroupProviderProps {\n children: React.ReactNode;\n filters: HvFilterGroupFilters;\n defaultValue?: HvFilterGroupValue;\n value?: HvFilterGroupValue;\n}\n\nexport const HvFilterGroupProvider = (props: HvFilterGroupProviderProps) => {\n const { defaultValue, value, filters, children } = useDefaultProps(\n \"HvFilterGroupProvider\",\n props\n );\n\n const [group, setActiveGroup] = useState<number>(0);\n const [filterValues, setFilterValues, rollbackFilters, appliedFilters] =\n useSavedState<HvFilterGroupValue>(value || groups(filters));\n const [applyDisabled, setApplyDisabled] = useState<boolean>(false);\n\n useEffect(() => {\n setFilterValues(value, true);\n }, [value, setFilterValues]);\n\n useEffect(() => {\n setApplyDisabled(isEqual(filterValues, appliedFilters));\n }, [filterValues, appliedFilters]);\n\n const clearFilters = useCallback(() => {\n setFilterValues(defaultValue || groups(filters));\n }, [filters, setFilterValues, defaultValue]);\n\n const applyFilters = useCallback(() => {\n setFilterValues(filterValues, true);\n }, [filterValues, setFilterValues]);\n\n const contextValue: HvFilterGroupContextValue = useMemo(\n () => ({\n activeGroup: group,\n setActiveGroup,\n filterOptions: filters,\n filterValues,\n setFilterValues,\n appliedFilters,\n rollbackFilters,\n clearFilters,\n applyFilters,\n applyDisabled,\n defaultValue,\n }),\n [\n appliedFilters,\n applyDisabled,\n applyFilters,\n clearFilters,\n filterValues,\n filters,\n group,\n rollbackFilters,\n setFilterValues,\n defaultValue,\n ]\n );\n\n return (\n <HvFilterGroupContext.Provider value={contextValue}>\n {children}\n </HvFilterGroupContext.Provider>\n );\n};\n"],"names":["createContext","useDefaultProps","useState","useSavedState","useEffect","isEqual","useCallback","useMemo"],"mappings":";;;;;;;AA6BO,MAAM,uBAAuBA,MAAAA,cAAyC;AAAA,EAC3E,aAAa;AAAA,EACb,gBAAgB,MAAM;AAAA,EAAC;AAAA,EACvB,eAAe,CAAC;AAAA,EAChB,iBAAiB,MAAM;AAAA,EAAC;AAAA,EACxB,iBAAiB,MAAM;AAAA,EAAC;AAAA,EACxB,cAAc,MAAM;AAAA,EAAC;AAAA,EACrB,cAAc,MAAM;AAAA,EAAC;AAAA,EACrB,eAAe;AAAA,EACf,cAAc,CAAC;AAAA,EACf,gBAAgB;AAAA,EAChB,cAAc;AAChB,CAAC;AAED,MAAM,SAAS,CAAC,YAAkC,QAAQ,IAAI,MAAM,CAAE,CAAA;AASzD,MAAA,wBAAwB,CAAC,UAAsC;AAC1E,QAAM,EAAE,cAAc,OAAO,SAAS,SAAa,IAAAC,gBAAA;AAAA,IACjD;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,CAAC,OAAO,cAAc,IAAIC,eAAiB,CAAC;AAC5C,QAAA,CAAC,cAAc,iBAAiB,iBAAiB,cAAc,IACnEC,cAAkC,cAAA,SAAS,OAAO,OAAO,CAAC;AAC5D,QAAM,CAAC,eAAe,gBAAgB,IAAID,eAAkB,KAAK;AAEjEE,QAAAA,UAAU,MAAM;AACd,oBAAgB,OAAO,IAAI;AAAA,EAAA,GAC1B,CAAC,OAAO,eAAe,CAAC;AAE3BA,QAAAA,UAAU,MAAM;AACG,qBAAAC,QAAA,QAAQ,cAAc,cAAc,CAAC;AAAA,EAAA,GACrD,CAAC,cAAc,cAAc,CAAC;AAE3B,QAAA,eAAeC,MAAAA,YAAY,MAAM;AACrB,oBAAA,gBAAgB,OAAO,OAAO,CAAC;AAAA,EAC9C,GAAA,CAAC,SAAS,iBAAiB,YAAY,CAAC;AAErC,QAAA,eAAeA,MAAAA,YAAY,MAAM;AACrC,oBAAgB,cAAc,IAAI;AAAA,EAAA,GACjC,CAAC,cAAc,eAAe,CAAC;AAElC,QAAM,eAA0CC,MAAA;AAAA,IAC9C,OAAO;AAAA,MACL,aAAa;AAAA,MACb;AAAA,MACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EAAA;AAGF,wCACG,qBAAqB,UAArB,EAA8B,OAAO,cACnC,SACH,CAAA;AAEJ;;;"}
1
+ {"version":3,"file":"FilterGroupContext.cjs","sources":["../../../src/FilterGroup/FilterGroupContext.tsx"],"sourcesContent":["import {\n createContext,\n Dispatch,\n SetStateAction,\n useCallback,\n useEffect,\n useMemo,\n useState,\n} from \"react\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { isEqual } from \"../utils/helpers\";\nimport { useSavedState } from \"../utils/useSavedState\";\nimport { HvFilterGroupFilters, HvFilterGroupValue } from \"./types\";\n\ninterface HvFilterGroupContextValue {\n activeGroup: number;\n setActiveGroup: Dispatch<SetStateAction<number>>;\n filterOptions: HvFilterGroupFilters;\n setFilterValues: (value?: HvFilterGroupValue, save?: boolean) => void;\n rollbackFilters: () => void;\n clearFilters: () => void;\n applyFilters: () => void;\n applyDisabled: boolean;\n appliedFilters?: HvFilterGroupValue;\n defaultValue?: HvFilterGroupValue;\n filterValues?: HvFilterGroupValue;\n}\n\nexport const HvFilterGroupContext = createContext<HvFilterGroupContextValue>({\n activeGroup: 0,\n setActiveGroup: () => {},\n filterOptions: [],\n setFilterValues: () => {},\n rollbackFilters: () => {},\n clearFilters: () => {},\n applyFilters: () => {},\n applyDisabled: false,\n filterValues: [],\n appliedFilters: undefined,\n defaultValue: undefined,\n});\n\nconst groups = (filters: HvFilterGroupFilters) => filters.map(() => []);\n\ninterface HvFilterGroupProviderProps {\n children: React.ReactNode;\n filters: HvFilterGroupFilters;\n defaultValue?: HvFilterGroupValue;\n value?: HvFilterGroupValue;\n}\n\nexport const HvFilterGroupProvider = (props: HvFilterGroupProviderProps) => {\n const { defaultValue, value, filters, children } = useDefaultProps(\n \"HvFilterGroupProvider\",\n props,\n );\n\n const [group, setActiveGroup] = useState<number>(0);\n const [filterValues, setFilterValues, rollbackFilters, appliedFilters] =\n useSavedState<HvFilterGroupValue>(value || groups(filters));\n const [applyDisabled, setApplyDisabled] = useState<boolean>(false);\n\n useEffect(() => {\n setFilterValues(value, true);\n }, [value, setFilterValues]);\n\n useEffect(() => {\n setApplyDisabled(isEqual(filterValues, appliedFilters));\n }, [filterValues, appliedFilters]);\n\n const clearFilters = useCallback(() => {\n setFilterValues(defaultValue || groups(filters));\n }, [filters, setFilterValues, defaultValue]);\n\n const applyFilters = useCallback(() => {\n setFilterValues(filterValues, true);\n }, [filterValues, setFilterValues]);\n\n const contextValue: HvFilterGroupContextValue = useMemo(\n () => ({\n activeGroup: group,\n setActiveGroup,\n filterOptions: filters,\n filterValues,\n setFilterValues,\n appliedFilters,\n rollbackFilters,\n clearFilters,\n applyFilters,\n applyDisabled,\n defaultValue,\n }),\n [\n appliedFilters,\n applyDisabled,\n applyFilters,\n clearFilters,\n filterValues,\n filters,\n group,\n rollbackFilters,\n setFilterValues,\n defaultValue,\n ],\n );\n\n return (\n <HvFilterGroupContext.Provider value={contextValue}>\n {children}\n </HvFilterGroupContext.Provider>\n );\n};\n"],"names":["createContext","useDefaultProps","useState","useSavedState","useEffect","isEqual","useCallback","useMemo"],"mappings":";;;;;;;AA6BO,MAAM,uBAAuBA,MAAAA,cAAyC;AAAA,EAC3E,aAAa;AAAA,EACb,gBAAgB,MAAM;AAAA,EAAC;AAAA,EACvB,eAAe,CAAC;AAAA,EAChB,iBAAiB,MAAM;AAAA,EAAC;AAAA,EACxB,iBAAiB,MAAM;AAAA,EAAC;AAAA,EACxB,cAAc,MAAM;AAAA,EAAC;AAAA,EACrB,cAAc,MAAM;AAAA,EAAC;AAAA,EACrB,eAAe;AAAA,EACf,cAAc,CAAC;AAAA,EACf,gBAAgB;AAAA,EAChB,cAAc;AAChB,CAAC;AAED,MAAM,SAAS,CAAC,YAAkC,QAAQ,IAAI,MAAM,CAAE,CAAA;AASzD,MAAA,wBAAwB,CAAC,UAAsC;AAC1E,QAAM,EAAE,cAAc,OAAO,SAAS,SAAa,IAAAC,gBAAA;AAAA,IACjD;AAAA,IACA;AAAA,EAAA;AAGF,QAAM,CAAC,OAAO,cAAc,IAAIC,eAAiB,CAAC;AAC5C,QAAA,CAAC,cAAc,iBAAiB,iBAAiB,cAAc,IACnEC,cAAkC,cAAA,SAAS,OAAO,OAAO,CAAC;AAC5D,QAAM,CAAC,eAAe,gBAAgB,IAAID,eAAkB,KAAK;AAEjEE,QAAAA,UAAU,MAAM;AACd,oBAAgB,OAAO,IAAI;AAAA,EAAA,GAC1B,CAAC,OAAO,eAAe,CAAC;AAE3BA,QAAAA,UAAU,MAAM;AACG,qBAAAC,QAAA,QAAQ,cAAc,cAAc,CAAC;AAAA,EAAA,GACrD,CAAC,cAAc,cAAc,CAAC;AAE3B,QAAA,eAAeC,MAAAA,YAAY,MAAM;AACrB,oBAAA,gBAAgB,OAAO,OAAO,CAAC;AAAA,EAC9C,GAAA,CAAC,SAAS,iBAAiB,YAAY,CAAC;AAErC,QAAA,eAAeA,MAAAA,YAAY,MAAM;AACrC,oBAAgB,cAAc,IAAI;AAAA,EAAA,GACjC,CAAC,cAAc,eAAe,CAAC;AAElC,QAAM,eAA0CC,MAAA;AAAA,IAC9C,OAAO;AAAA,MACL,aAAa;AAAA,MACb;AAAA,MACA,eAAe;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EAAA;AAGF,wCACG,qBAAqB,UAArB,EAA8B,OAAO,cACnC,SACH,CAAA;AAEJ;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RightPanel.cjs","sources":["../../../../src/FilterGroup/RightPanel/RightPanel.tsx"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\n\nimport { HvCheckBox } from \"../../CheckBox\";\nimport { HvInput } from \"../../Input\";\nimport { HvList, HvListProps } from \"../../List\";\nimport { HvPanel } from \"../../Panel\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { setId } from \"../../utils/setId\";\nimport { HvFilterGroupContext } from \"../FilterGroupContext\";\nimport { staticClasses, useClasses } from \"./RightPanel.styles\";\n\nexport { staticClasses as filterGroupRightPanelClasses };\n\nexport type HvFilterGroupRightPanelClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFilterGroupRightPanelProps {\n id?: string;\n className?: string;\n labels?: {\n searchBoxPlaceholder?: string;\n selectAll?: string;\n multiSelectionConjunction?: string;\n };\n emptyElement?: React.ReactNode;\n classes?: HvFilterGroupRightPanelClasses;\n}\n\nexport const HvFilterGroupRightPanel = ({\n id,\n className,\n labels,\n emptyElement,\n classes: classesProp,\n}: HvFilterGroupRightPanelProps) => {\n const { classes } = useClasses(classesProp);\n const [searchStr, setSearchStr] = useState<string>(\"\");\n const [allSelected, setAllSelected] = useState<boolean>(false);\n const [anySelected, setAnySelected] = useState<boolean>(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(HvFilterGroupContext);\n\n const { all: allActiveGroupOptions, enabled: enabledActiveGroupOptions } =\n useMemo(() => {\n const filteredOptions = filterOptions[activeGroup]?.data.filter(\n (option) => option.name.toLowerCase().includes(searchStr.toLowerCase())\n );\n\n return {\n all: filteredOptions.map((option) => option.id) || [],\n enabled:\n filteredOptions\n .filter((option) => !option.disabled)\n .map((option) => option.id) || [],\n };\n }, [filterOptions, activeGroup, searchStr]);\n\n const activeFilterValues = useMemo(\n () =>\n filterValues[activeGroup]?.filter((value) =>\n allActiveGroupOptions.includes(value)\n ) || [],\n [filterValues, allActiveGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n filterOptions[activeGroup]?.data.map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden:\n option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })) || [],\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === allActiveGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, allActiveGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler: HvListProps[\"onChange\"] = (values) => {\n const newFilterValues = filterOptions.map((_, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues as any);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = structuredClone(filterValues);\n\n if (anySelected) {\n if (searchStr !== \"\") {\n newFilterValues[activeGroup] = filterValues[activeGroup]?.filter(\n (value) => !enabledActiveGroupOptions.includes(value)\n );\n } else {\n newFilterValues[activeGroup] = [];\n }\n } else {\n const currentOptions = newFilterValues[activeGroup] || [];\n newFilterValues[activeGroup] = [\n ...currentOptions,\n ...enabledActiveGroupOptions,\n ];\n }\n\n setFilterValues(newFilterValues);\n }, [\n activeGroup,\n enabledActiveGroupOptions,\n anySelected,\n filterValues,\n setFilterValues,\n searchStr,\n ]);\n\n const SelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${labels?.multiSelectionConjunction} ${allActiveGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{labels?.selectAll}</b>\n {` (${allActiveGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n allActiveGroupOptions.length,\n allSelected,\n anySelected,\n handleSelectAll,\n id,\n labels,\n classes?.selectAllContainer,\n classes?.selectAll,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={className}>\n {listValues.length > 0 ? (\n <>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels?.searchBoxPlaceholder}\n value={searchStr}\n onChange={(_, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n values={listValues}\n className={classes.list}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </>\n ) : (\n emptyElement\n )}\n </HvPanel>\n );\n};\n"],"names":["useClasses","useState","useContext","HvFilterGroupContext","useMemo","useCallback","useEffect","jsx","HvTypography","jsxs","Fragment","HvCheckBox","setId","HvPanel","HvInput","HvList"],"mappings":"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"}
1
+ {"version":3,"file":"RightPanel.cjs","sources":["../../../../src/FilterGroup/RightPanel/RightPanel.tsx"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\n\nimport { HvCheckBox } from \"../../CheckBox\";\nimport { HvInput } from \"../../Input\";\nimport { HvList, HvListProps } from \"../../List\";\nimport { HvPanel } from \"../../Panel\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { setId } from \"../../utils/setId\";\nimport { HvFilterGroupContext } from \"../FilterGroupContext\";\nimport { staticClasses, useClasses } from \"./RightPanel.styles\";\n\nexport { staticClasses as filterGroupRightPanelClasses };\n\nexport type HvFilterGroupRightPanelClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFilterGroupRightPanelProps {\n id?: string;\n className?: string;\n labels?: {\n searchBoxPlaceholder?: string;\n selectAll?: string;\n multiSelectionConjunction?: string;\n };\n emptyElement?: React.ReactNode;\n classes?: HvFilterGroupRightPanelClasses;\n}\n\nexport const HvFilterGroupRightPanel = ({\n id,\n className,\n labels,\n emptyElement,\n classes: classesProp,\n}: HvFilterGroupRightPanelProps) => {\n const { classes } = useClasses(classesProp);\n const [searchStr, setSearchStr] = useState<string>(\"\");\n const [allSelected, setAllSelected] = useState<boolean>(false);\n const [anySelected, setAnySelected] = useState<boolean>(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(HvFilterGroupContext);\n\n const { all: allActiveGroupOptions, enabled: enabledActiveGroupOptions } =\n useMemo(() => {\n const filteredOptions = filterOptions[activeGroup]?.data.filter(\n (option) => option.name.toLowerCase().includes(searchStr.toLowerCase()),\n );\n\n return {\n all: filteredOptions.map((option) => option.id) || [],\n enabled:\n filteredOptions\n .filter((option) => !option.disabled)\n .map((option) => option.id) || [],\n };\n }, [filterOptions, activeGroup, searchStr]);\n\n const activeFilterValues = useMemo(\n () =>\n filterValues[activeGroup]?.filter((value) =>\n allActiveGroupOptions.includes(value),\n ) || [],\n [filterValues, allActiveGroupOptions, activeGroup],\n );\n\n const listValues = useMemo(\n () =>\n filterOptions[activeGroup]?.data.map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden:\n option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })) || [],\n [filterOptions, filterValues, activeGroup, searchStr],\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === allActiveGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, allActiveGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler: HvListProps[\"onChange\"] = (values) => {\n const newFilterValues = filterOptions.map((_, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])],\n );\n setFilterValues(newFilterValues as any);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = structuredClone(filterValues);\n\n if (anySelected) {\n if (searchStr !== \"\") {\n newFilterValues[activeGroup] = filterValues[activeGroup]?.filter(\n (value) => !enabledActiveGroupOptions.includes(value),\n );\n } else {\n newFilterValues[activeGroup] = [];\n }\n } else {\n const currentOptions = newFilterValues[activeGroup] || [];\n newFilterValues[activeGroup] = [\n ...currentOptions,\n ...enabledActiveGroupOptions,\n ];\n }\n\n setFilterValues(newFilterValues);\n }, [\n activeGroup,\n enabledActiveGroupOptions,\n anySelected,\n filterValues,\n setFilterValues,\n searchStr,\n ]);\n\n const SelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${labels?.multiSelectionConjunction} ${allActiveGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{labels?.selectAll}</b>\n {` (${allActiveGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n allActiveGroupOptions.length,\n allSelected,\n anySelected,\n handleSelectAll,\n id,\n labels,\n classes?.selectAllContainer,\n classes?.selectAll,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={className}>\n {listValues.length > 0 ? (\n <>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels?.searchBoxPlaceholder}\n value={searchStr}\n onChange={(_, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n values={listValues}\n className={classes.list}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </>\n ) : (\n emptyElement\n )}\n </HvPanel>\n );\n};\n"],"names":["useClasses","useState","useContext","HvFilterGroupContext","useMemo","useCallback","useEffect","jsx","HvTypography","jsxs","Fragment","HvCheckBox","setId","HvPanel","HvInput","HvList"],"mappings":"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"}
@@ -2,11 +2,11 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("@emotion/react/jsx-runtime");
4
4
  const React = require("react");
5
- const keyboardUtils = require("../utils/keyboardUtils.cjs");
6
5
  const browser = require("../utils/browser.cjs");
7
6
  const ConditionalWrapper = require("../utils/ConditionalWrapper.cjs");
8
- const utils = require("./utils.cjs");
7
+ const keyboardUtils = require("../utils/keyboardUtils.cjs");
9
8
  const Focus_styles = require("./Focus.styles.cjs");
9
+ const utils = require("./utils.cjs");
10
10
  const HvFocus = ({
11
11
  classes: classesProp,
12
12
  children,
@@ -1 +1 @@
1
- {"version":3,"file":"Focus.cjs","sources":["../../../src/Focus/Focus.tsx"],"sourcesContent":["import { cloneElement, useState } from \"react\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { isKey, isOneOfKeys } from \"../utils/keyboardUtils\";\nimport { isBrowser } from \"../utils/browser\";\nimport { ConditionalWrapper } from \"../utils/ConditionalWrapper\";\nimport { ExtractNames } from \"../utils/classes\";\n\nimport { getFocusableChildren, setFocusTo } from \"./utils\";\nimport { staticClasses, useClasses } from \"./Focus.styles\";\n\nexport { staticClasses as focusClasses };\nexport type HvFocusClasses = ExtractNames<typeof useClasses>;\n\nexport type HvFocusStrategies = \"listbox\" | \"menu\" | \"card\" | \"grid\";\n\nexport interface HvFocusProps extends HvBaseProps<HTMLElement, \"children\"> {\n children: React.ReactElement;\n /** Extra configuration for the child element. */\n configuration?: {\n tabIndex?: number;\n };\n /** Indicates that the disabled class should be applied. */\n disabledClass?: boolean;\n /** Whether the focus is selected. */\n selected?: boolean;\n /** Whether the focus is disabled. */\n disabled?: boolean;\n /** The reference to the root element to hold all Focus' context. */\n rootRef?: React.RefObject<HTMLElement>;\n /** Show focus when click element. v */\n focusOnClick?: boolean;\n /** Show focus when click element. v */\n focusDisabled?: boolean;\n /** Focus and navigation strategy to be used. v */\n strategy?: HvFocusStrategies;\n /** Uses an absolute positioned div as a focus. v */\n useFalseFocus?: boolean;\n /** Narrows the results of the focus to only theses class v */\n filterClass?: string;\n /** How much the navigation will skip when using the arrows. v */\n navigationJump?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFocusClasses;\n}\n\nexport const HvFocus = ({\n classes: classesProp,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = undefined,\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n}: HvFocusProps) => {\n const [showFocus, setShowFocus] = useState<boolean>(false);\n const [childFocus, setChildFocus] = useState<any>();\n const [hasRunConfig, setHasRunConfig] = useState(false);\n const { classes, cx } = useClasses(classesProp);\n\n const getFocuses = () => {\n const focuses = rootRef?.current\n ? Array.from(\n rootRef.current.getElementsByClassName(\n filterClass || staticClasses.root || \"root\"\n )\n )\n : [];\n return focuses;\n };\n\n const setTabIndex = (el, tabIndex = 0) => {\n if (!el) return;\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) =>\n focus.classList.contains(classes.selected || \"selected\")\n );\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (tabIndex != null) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n // evt.currentTarget.classList.add(classes.focused);\n classes.focused\n .split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes?.focus\n ?.split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n // element.classList.remove(classes.focused);\n classes.focused.split(\" \").forEach((c) => element.classList.remove(c));\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes?.focus?.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = () => {\n setShowFocus(false);\n removeFocusClass();\n onBlurStrategy();\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass();\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right:\n (currentFocusIndex + 1) % jump === 0 ||\n currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down:\n currentFocusIndex + jump > listSize ||\n currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (\n evt,\n focuses,\n focusesList,\n currentFocusIndex,\n jump\n ) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Home\",\n \"End\",\n \"Space\",\n \"Enter\",\n ]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [\"Enter\", \"Space\"])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(\n currentFocusIndex,\n jump,\n focusesList.length\n );\n\n switch (evt.code) {\n case \"Space\":\n case \"Enter\":\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case \"ArrowUp\":\n if (!blockedKeys.up) {\n focusAndUpdateIndex(\n focuses.jump || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case \"ArrowDown\":\n if (!blockedKeys.down) {\n focusAndUpdateIndex(\n focuses.fall || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case \"ArrowLeft\":\n if (!blockedKeys.left) {\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n }\n break;\n case \"ArrowRight\":\n if (!blockedKeys.right) {\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n }\n break;\n case \"Home\":\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case \"End\":\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n \"Space\",\n \"Enter\",\n ]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.code) {\n case \"Space\":\n case \"Enter\":\n evt.target.click();\n break;\n case \"ArrowUp\":\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList\n );\n break;\n case \"ArrowDown\":\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList\n );\n break;\n case \"Home\":\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case \"End\":\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\"Space\", \"Enter\"]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef?.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explicitly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) =>\n isDisabledFocusable ||\n !el.classList.contains(classes?.disabled as string)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(\n evt,\n focuses,\n focusesList,\n currentFocus,\n navigationJump\n );\n return;\n }\n\n // TODO add property for specifying the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <div className={classes.externalReference}>\n {childrenToWrap}\n {showFocus && <div className={classes.falseFocus} />}\n </div>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n {cloneElement(children, {\n className: cx(\n [classes.root, filterClass],\n {\n [classes.selected]: selected,\n [classes.disabled]: disabledClass,\n [classes.focusDisabled]: focusDisabled,\n },\n children.props.className\n ),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n"],"names":["useState","useClasses","staticClasses","getFocusableChildren","setFocusTo","isOneOfKeys","isKey","isBrowser","jsx","ConditionalWrapper"],"mappings":"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"}
1
+ {"version":3,"file":"Focus.cjs","sources":["../../../src/Focus/Focus.tsx"],"sourcesContent":["import { cloneElement, useState } from \"react\";\n\nimport { HvBaseProps } from \"../types/generic\";\nimport { isBrowser } from \"../utils/browser\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { ConditionalWrapper } from \"../utils/ConditionalWrapper\";\nimport { isKey, isOneOfKeys } from \"../utils/keyboardUtils\";\nimport { staticClasses, useClasses } from \"./Focus.styles\";\nimport { getFocusableChildren, setFocusTo } from \"./utils\";\n\nexport { staticClasses as focusClasses };\nexport type HvFocusClasses = ExtractNames<typeof useClasses>;\n\nexport type HvFocusStrategies = \"listbox\" | \"menu\" | \"card\" | \"grid\";\n\nexport interface HvFocusProps extends HvBaseProps<HTMLElement, \"children\"> {\n children: React.ReactElement;\n /** Extra configuration for the child element. */\n configuration?: {\n tabIndex?: number;\n };\n /** Indicates that the disabled class should be applied. */\n disabledClass?: boolean;\n /** Whether the focus is selected. */\n selected?: boolean;\n /** Whether the focus is disabled. */\n disabled?: boolean;\n /** The reference to the root element to hold all Focus' context. */\n rootRef?: React.RefObject<HTMLElement>;\n /** Show focus when click element. v */\n focusOnClick?: boolean;\n /** Show focus when click element. v */\n focusDisabled?: boolean;\n /** Focus and navigation strategy to be used. v */\n strategy?: HvFocusStrategies;\n /** Uses an absolute positioned div as a focus. v */\n useFalseFocus?: boolean;\n /** Narrows the results of the focus to only theses class v */\n filterClass?: string;\n /** How much the navigation will skip when using the arrows. v */\n navigationJump?: number;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFocusClasses;\n}\n\nexport const HvFocus = ({\n classes: classesProp,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = undefined,\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n}: HvFocusProps) => {\n const [showFocus, setShowFocus] = useState<boolean>(false);\n const [childFocus, setChildFocus] = useState<any>();\n const [hasRunConfig, setHasRunConfig] = useState(false);\n const { classes, cx } = useClasses(classesProp);\n\n const getFocuses = () => {\n const focuses = rootRef?.current\n ? Array.from(\n rootRef.current.getElementsByClassName(\n filterClass || staticClasses.root || \"root\",\n ),\n )\n : [];\n return focuses;\n };\n\n const setTabIndex = (el, tabIndex = 0) => {\n if (!el) return;\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) =>\n focus.classList.contains(classes.selected || \"selected\"),\n );\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (tabIndex != null) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n // evt.currentTarget.classList.add(classes.focused);\n classes.focused\n .split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes?.focus\n ?.split(\" \")\n .forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n // element.classList.remove(classes.focused);\n classes.focused.split(\" \").forEach((c) => element.classList.remove(c));\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes?.focus?.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = () => {\n setShowFocus(false);\n removeFocusClass();\n onBlurStrategy();\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass();\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right:\n (currentFocusIndex + 1) % jump === 0 ||\n currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down:\n currentFocusIndex + jump > listSize ||\n currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (\n evt,\n focuses,\n focusesList,\n currentFocusIndex,\n jump,\n ) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Home\",\n \"End\",\n \"Space\",\n \"Enter\",\n ]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [\"Enter\", \"Space\"])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(\n currentFocusIndex,\n jump,\n focusesList.length,\n );\n\n switch (evt.code) {\n case \"Space\":\n case \"Enter\":\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case \"ArrowUp\":\n if (!blockedKeys.up) {\n focusAndUpdateIndex(\n focuses.jump || focuses.last,\n evt.current,\n focusesList,\n );\n }\n break;\n case \"ArrowDown\":\n if (!blockedKeys.down) {\n focusAndUpdateIndex(\n focuses.fall || focuses.first,\n evt.current,\n focusesList,\n );\n }\n break;\n case \"ArrowLeft\":\n if (!blockedKeys.left) {\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList,\n );\n }\n break;\n case \"ArrowRight\":\n if (!blockedKeys.right) {\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList,\n );\n }\n break;\n case \"Home\":\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case \"End\":\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n \"Space\",\n \"Enter\",\n ]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.code) {\n case \"Space\":\n case \"Enter\":\n evt.target.click();\n break;\n case \"ArrowUp\":\n focusAndUpdateIndex(\n focuses.previous || focuses.last,\n evt.current,\n focusesList,\n );\n break;\n case \"ArrowDown\":\n focusAndUpdateIndex(\n focuses.next || focuses.first,\n evt.current,\n focusesList,\n );\n break;\n case \"Home\":\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case \"End\":\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [\"Space\", \"Enter\"]) ||\n (childFocusIsInput && isKey(evt, \"Enter\"))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef?.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explicitly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) =>\n isDisabledFocusable ||\n !el.classList.contains(classes?.disabled as string),\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(\n evt,\n focuses,\n focusesList,\n currentFocus,\n navigationJump,\n );\n return;\n }\n\n // TODO add property for specifying the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <div className={classes.externalReference}>\n {childrenToWrap}\n {showFocus && <div className={classes.falseFocus} />}\n </div>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n {cloneElement(children, {\n className: cx(\n [classes.root, filterClass],\n {\n [classes.selected]: selected,\n [classes.disabled]: disabledClass,\n [classes.focusDisabled]: focusDisabled,\n },\n children.props.className,\n ),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n"],"names":["useState","useClasses","staticClasses","getFocusableChildren","setFocusTo","isOneOfKeys","isKey","isBrowser","jsx","ConditionalWrapper"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const focusUtils = require("../utils/focusUtils.cjs");
4
3
  const classes = require("../utils/classes.cjs");
4
+ const focusUtils = require("../utils/focusUtils.cjs");
5
5
  const { staticClasses, useClasses } = classes.createClasses("HvFocus", {
6
6
  root: {},
7
7
  selected: {},
@@ -1 +1 @@
1
- {"version":3,"file":"Focus.styles.cjs","sources":["../../../src/Focus/Focus.styles.tsx"],"sourcesContent":["import { outlineStyles } from \"../utils/focusUtils\";\nimport { createClasses } from \"../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvFocus\", {\n root: {},\n selected: {},\n disabled: {},\n focusDisabled: {\n outline: \"none\",\n \"& *:focus\": {\n outline: \"none\",\n },\n \"& *\": {\n outline: \"none !important\",\n },\n },\n focused: {\n ...outlineStyles,\n \"@media (-webkit-min-device-pixel-ratio:0)\": {\n ...outlineStyles,\n },\n },\n externalReference: {\n position: \"relative\",\n },\n falseFocus: {\n width: \"98%\",\n height: \"98%\",\n position: \"absolute\",\n zIndex: \"1\",\n ...outlineStyles,\n \"@media (-webkit-min-device-pixel-ratio:0)\": {\n ...outlineStyles,\n },\n top: 0,\n left: \"0.5%\",\n backgroundColor: \"transparent\",\n pointerEvents: \"none\",\n },\n focus: {},\n});\n"],"names":["createClasses","outlineStyles"],"mappings":";;;;AAGO,MAAM,EAAE,eAAe,eAAeA,QAAAA,cAAc,WAAW;AAAA,EACpE,MAAM,CAAC;AAAA,EACP,UAAU,CAAC;AAAA,EACX,UAAU,CAAC;AAAA,EACX,eAAe;AAAA,IACb,SAAS;AAAA,IACT,aAAa;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,GAAGC,WAAA;AAAA,IACH,6CAA6C;AAAA,MAC3C,GAAGA,WAAA;AAAA,IACL;AAAA,EACF;AAAA,EACA,mBAAmB;AAAA,IACjB,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,GAAGA,WAAA;AAAA,IACH,6CAA6C;AAAA,MAC3C,GAAGA,WAAA;AAAA,IACL;AAAA,IACA,KAAK;AAAA,IACL,MAAM;AAAA,IACN,iBAAiB;AAAA,IACjB,eAAe;AAAA,EACjB;AAAA,EACA,OAAO,CAAC;AACV,CAAC;;;"}
1
+ {"version":3,"file":"Focus.styles.cjs","sources":["../../../src/Focus/Focus.styles.tsx"],"sourcesContent":["import { createClasses } from \"../utils/classes\";\nimport { outlineStyles } from \"../utils/focusUtils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvFocus\", {\n root: {},\n selected: {},\n disabled: {},\n focusDisabled: {\n outline: \"none\",\n \"& *:focus\": {\n outline: \"none\",\n },\n \"& *\": {\n outline: \"none !important\",\n },\n },\n focused: {\n ...outlineStyles,\n \"@media (-webkit-min-device-pixel-ratio:0)\": {\n ...outlineStyles,\n },\n },\n externalReference: {\n position: \"relative\",\n },\n falseFocus: {\n width: \"98%\",\n height: \"98%\",\n position: \"absolute\",\n zIndex: \"1\",\n ...outlineStyles,\n \"@media (-webkit-min-device-pixel-ratio:0)\": {\n ...outlineStyles,\n },\n top: 0,\n left: \"0.5%\",\n backgroundColor: \"transparent\",\n pointerEvents: \"none\",\n },\n focus: {},\n});\n"],"names":["createClasses","outlineStyles"],"mappings":";;;;AAGO,MAAM,EAAE,eAAe,eAAeA,QAAAA,cAAc,WAAW;AAAA,EACpE,MAAM,CAAC;AAAA,EACP,UAAU,CAAC;AAAA,EACX,UAAU,CAAC;AAAA,EACX,eAAe;AAAA,IACb,SAAS;AAAA,IACT,aAAa;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,OAAO;AAAA,MACL,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,GAAGC,WAAA;AAAA,IACH,6CAA6C;AAAA,MAC3C,GAAGA,WAAA;AAAA,IACL;AAAA,EACF;AAAA,EACA,mBAAmB;AAAA,IACjB,UAAU;AAAA,EACZ;AAAA,EACA,YAAY;AAAA,IACV,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,GAAGA,WAAA;AAAA,IACH,6CAA6C;AAAA,MAC3C,GAAGA,WAAA;AAAA,IACL;AAAA,IACA,KAAK;AAAA,IACL,MAAM;AAAA,IACN,iBAAiB;AAAA,IACjB,eAAe;AAAA,EACjB;AAAA,EACA,OAAO,CAAC;AACV,CAAC;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.cjs","sources":["../../../src/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvTypography } from \"../Typography\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Footer.styles\";\n\nexport { staticClasses as footerClasses };\n\nexport type HvFooterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFooterProps extends HvBaseProps {\n /** Footer name. */\n name?: React.ReactNode;\n /** Footer copyright. */\n copyright?: React.ReactNode;\n /** Footer links. */\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n}\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes: classesProp,\n className,\n ...others\n } = useDefaultProps(\"HvFooter\", props);\n const muiTheme = useTheme();\n const { classes, cx } = useClasses(classesProp);\n\n const isSmDown = useMediaQuery(muiTheme.breakpoints.down(\"sm\"));\n\n return (\n <footer\n className={cx(classes.root, { [classes.small]: isSmDown }, className)}\n {...others}\n >\n <HvTypography variant=\"label\" className={classes.name}>\n {name}\n </HvTypography>\n <div className={classes.rightContainer}>\n <HvTypography className={classes.copyright}>{copyright}</HvTypography>\n {links && <div className={classes.separator} />}\n {links}\n </div>\n </footer>\n );\n};\n"],"names":["useDefaultProps","useTheme","useClasses","useMediaQuery","jsxs","jsx","HvTypography"],"mappings":";;;;;;;;;;AA4Ba,MAAA,WAAW,CAAC,UAAyB;AAC1C,QAAA;AAAA,IACJ,OAAO;AAAA,IACP,YAAY,kCAAiC,oBAAI,KAAK,GAAE,YAAa,CAAA;AAAA,IACrE;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,YAAY,KAAK;AACrC,QAAM,WAAWC,OAAAA;AACjB,QAAM,EAAE,SAAS,GAAG,IAAIC,yBAAW,WAAW;AAE9C,QAAM,WAAWC,uBAAAA,QAAc,SAAS,YAAY,KAAK,IAAI,CAAC;AAG5D,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,KAAK,GAAG,SAAS,GAAG,SAAS;AAAA,MACnE,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAAC,+BAACC,WAAAA,gBAAa,SAAQ,SAAQ,WAAW,QAAQ,MAC9C,UACH,MAAA;AAAA,QACCF,2BAAA,KAAA,OAAA,EAAI,WAAW,QAAQ,gBACtB,UAAA;AAAA,UAAAC,2BAAA,IAACC,WAAa,cAAA,EAAA,WAAW,QAAQ,WAAY,UAAU,WAAA;AAAA,UACtD,SAASD,2BAAA,IAAC,OAAI,EAAA,WAAW,QAAQ,WAAW;AAAA,UAC5C;AAAA,QAAA,GACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;;;"}
1
+ {"version":3,"file":"Footer.cjs","sources":["../../../src/Footer/Footer.tsx"],"sourcesContent":["import { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { HvTypography } from \"../Typography\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { staticClasses, useClasses } from \"./Footer.styles\";\n\nexport { staticClasses as footerClasses };\n\nexport type HvFooterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvFooterProps extends HvBaseProps {\n /** Footer name. */\n name?: React.ReactNode;\n /** Footer copyright. */\n copyright?: React.ReactNode;\n /** Footer links. */\n links?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvFooterClasses;\n}\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nexport const HvFooter = (props: HvFooterProps) => {\n const {\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n classes: classesProp,\n className,\n ...others\n } = useDefaultProps(\"HvFooter\", props);\n const muiTheme = useTheme();\n const { classes, cx } = useClasses(classesProp);\n\n const isSmDown = useMediaQuery(muiTheme.breakpoints.down(\"sm\"));\n\n return (\n <footer\n className={cx(classes.root, { [classes.small]: isSmDown }, className)}\n {...others}\n >\n <HvTypography variant=\"label\" className={classes.name}>\n {name}\n </HvTypography>\n <div className={classes.rightContainer}>\n <HvTypography className={classes.copyright}>{copyright}</HvTypography>\n {links && <div className={classes.separator} />}\n {links}\n </div>\n </footer>\n );\n};\n"],"names":["useDefaultProps","useTheme","useClasses","useMediaQuery","jsxs","jsx","HvTypography"],"mappings":";;;;;;;;;;AA2Ba,MAAA,WAAW,CAAC,UAAyB;AAC1C,QAAA;AAAA,IACJ,OAAO;AAAA,IACP,YAAY,kCAAiC,oBAAI,KAAK,GAAE,YAAa,CAAA;AAAA,IACrE;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,YAAY,KAAK;AACrC,QAAM,WAAWC,OAAAA;AACjB,QAAM,EAAE,SAAS,GAAG,IAAIC,yBAAW,WAAW;AAE9C,QAAM,WAAWC,uBAAAA,QAAc,SAAS,YAAY,KAAK,IAAI,CAAC;AAG5D,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,KAAK,GAAG,SAAS,GAAG,SAAS;AAAA,MACnE,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAAC,+BAACC,WAAAA,gBAAa,SAAQ,SAAQ,WAAW,QAAQ,MAC9C,UACH,MAAA;AAAA,QACCF,2BAAA,KAAA,OAAA,EAAI,WAAW,QAAQ,gBACtB,UAAA;AAAA,UAAAC,2BAAA,IAACC,WAAa,cAAA,EAAA,WAAW,QAAQ,WAAY,UAAU,WAAA;AAAA,UACtD,SAASD,2BAAA,IAAC,OAAI,EAAA,WAAW,QAAQ,WAAW;AAAA,UAC5C;AAAA,QAAA,GACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Adornment.cjs","sources":["../../../../src/Forms/Adornment/Adornment.tsx"],"sourcesContent":["import { useContext, forwardRef } from \"react\";\n\nimport { HvBaseProps } from \"../../types/generic\";\nimport { ExtractNames } from \"../../utils/classes\";\n\nimport { staticClasses, useClasses } from \"./Adornment.styles\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n HvFormStatus,\n} from \"../FormElement\";\n\nconst noop = () => {};\n\nexport { staticClasses as adornmentClasses };\n\nexport type HvAdornmentClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvAdornmentProps\n extends HvBaseProps<\n HTMLDivElement | HTMLButtonElement,\n \"onMouseDown\" | \"onKeyDown\"\n > {\n /** The icon to be added into the input. */\n icon: React.ReactNode;\n /** When the adornment should be displayed. */\n showWhen?: HvFormStatus;\n /** Function to be executed when this element is clicked. */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n /** If this property is defined the adornment visibility will be exclusively controlled by this value. */\n isVisible?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAdornmentClasses;\n}\n\n/**\n * Allows to add a decorative icon or an action to a form element, usually on the right side of an input.\n * E.g., the reveal password button.\n *\n * In addition to the showWhen feature, which uses the form element's context validation state to determine\n * its visibility, this component also ensures that it does not steal focus from the input and that it is\n * not accessible using the keyboard.\n *\n * As such, its functionality, if any, for accessibility purposes must be provided through an alternative mean,\n * or by using a regular icon button or toggle button instead.\n */\nexport const HvAdornment = forwardRef<\n HTMLDivElement | HTMLButtonElement,\n HvAdornmentProps\n>(\n (\n {\n id,\n classes: classesProp,\n className,\n icon,\n showWhen = undefined,\n onClick,\n isVisible = undefined,\n ...others\n },\n ref\n ) => {\n const { classes, cx } = useClasses(classesProp);\n\n const { elementStatus = \"\" } = useContext(HvFormElementContext);\n\n const { input } = useContext(HvFormElementDescriptorsContext);\n\n const displayIcon =\n isVisible ?? (showWhen === undefined || elementStatus === showWhen);\n\n const isClickable = !!onClick;\n\n return isClickable ? (\n <button\n id={id}\n ref={ref as React.ForwardedRef<HTMLButtonElement>}\n type=\"button\"\n tabIndex={-1}\n aria-controls={input?.[0]?.id}\n className={cx(\n classes.root,\n classes.adornment,\n classes.adornmentButton,\n { [classes.hideIcon]: !displayIcon },\n className\n )}\n onClick={onClick}\n onMouseDown={(event) => event.preventDefault()}\n onKeyDown={noop}\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </button>\n ) : (\n <div\n id={id}\n ref={ref as React.ForwardedRef<HTMLDivElement>}\n className={cx(\n classes.root,\n classes.adornment,\n classes.adornmentIcon,\n { [classes.hideIcon]: !displayIcon },\n className\n )}\n role=\"presentation\"\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </div>\n );\n }\n);\n"],"names":["forwardRef","useClasses","useContext","HvFormElementContext","HvFormElementDescriptorsContext","jsx"],"mappings":";;;;;;;AAYA,MAAM,OAAO,MAAM;AAAC;AAkCb,MAAM,cAAcA,MAAA;AAAA,EAIzB,CACE;AAAA,IACE;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA,YAAY;AAAA,IACZ,GAAG;AAAA,KAEL,QACG;AACH,UAAM,EAAE,SAAS,GAAG,IAAIC,4BAAW,WAAW;AAE9C,UAAM,EAAE,gBAAgB,GAAG,IAAIC,iBAAWC,mBAAoB,oBAAA;AAE9D,UAAM,EAAE,MAAA,IAAUD,MAAA,WAAWE,8BAA+B,+BAAA;AAE5D,UAAM,cACJ,cAAc,aAAa,UAAa,kBAAkB;AAEtD,UAAA,cAAc,CAAC,CAAC;AAEtB,WAAO,cACLC,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,MAAK;AAAA,QACL,UAAU;AAAA,QACV,iBAAe,QAAQ,CAAC,GAAG;AAAA,QAC3B,WAAW;AAAA,UACT,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,EAAE,CAAC,QAAQ,QAAQ,GAAG,CAAC,YAAY;AAAA,UACnC;AAAA,QACF;AAAA,QACA;AAAA,QACA,aAAa,CAAC,UAAU,MAAM,eAAe;AAAA,QAC7C,WAAW;AAAA,QACV,GAAG;AAAA,QAEJ,UAACA,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,MAAO,UAAK,MAAA;AAAA,MAAA;AAAA,IAAA,IAGtCA,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,WAAW;AAAA,UACT,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,EAAE,CAAC,QAAQ,QAAQ,GAAG,CAAC,YAAY;AAAA,UACnC;AAAA,QACF;AAAA,QACA,MAAK;AAAA,QACJ,GAAG;AAAA,QAEJ,UAACA,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,MAAO,UAAK,MAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAG1C;AACF;;;"}
1
+ {"version":3,"file":"Adornment.cjs","sources":["../../../../src/Forms/Adornment/Adornment.tsx"],"sourcesContent":["import { forwardRef, useContext } from \"react\";\n\nimport { HvBaseProps } from \"../../types/generic\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport {\n HvFormElementContext,\n HvFormElementDescriptorsContext,\n HvFormStatus,\n} from \"../FormElement\";\nimport { staticClasses, useClasses } from \"./Adornment.styles\";\n\nconst noop = () => {};\n\nexport { staticClasses as adornmentClasses };\n\nexport type HvAdornmentClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvAdornmentProps\n extends HvBaseProps<\n HTMLDivElement | HTMLButtonElement,\n \"onMouseDown\" | \"onKeyDown\"\n > {\n /** The icon to be added into the input. */\n icon: React.ReactNode;\n /** When the adornment should be displayed. */\n showWhen?: HvFormStatus;\n /** Function to be executed when this element is clicked. */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n /** If this property is defined the adornment visibility will be exclusively controlled by this value. */\n isVisible?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvAdornmentClasses;\n}\n\n/**\n * Allows to add a decorative icon or an action to a form element, usually on the right side of an input.\n * E.g., the reveal password button.\n *\n * In addition to the showWhen feature, which uses the form element's context validation state to determine\n * its visibility, this component also ensures that it does not steal focus from the input and that it is\n * not accessible using the keyboard.\n *\n * As such, its functionality, if any, for accessibility purposes must be provided through an alternative mean,\n * or by using a regular icon button or toggle button instead.\n */\nexport const HvAdornment = forwardRef<\n HTMLDivElement | HTMLButtonElement,\n HvAdornmentProps\n>(\n (\n {\n id,\n classes: classesProp,\n className,\n icon,\n showWhen = undefined,\n onClick,\n isVisible = undefined,\n ...others\n },\n ref,\n ) => {\n const { classes, cx } = useClasses(classesProp);\n\n const { elementStatus = \"\" } = useContext(HvFormElementContext);\n\n const { input } = useContext(HvFormElementDescriptorsContext);\n\n const displayIcon =\n isVisible ?? (showWhen === undefined || elementStatus === showWhen);\n\n const isClickable = !!onClick;\n\n return isClickable ? (\n <button\n id={id}\n ref={ref as React.ForwardedRef<HTMLButtonElement>}\n type=\"button\"\n tabIndex={-1}\n aria-controls={input?.[0]?.id}\n className={cx(\n classes.root,\n classes.adornment,\n classes.adornmentButton,\n { [classes.hideIcon]: !displayIcon },\n className,\n )}\n onClick={onClick}\n onMouseDown={(event) => event.preventDefault()}\n onKeyDown={noop}\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </button>\n ) : (\n <div\n id={id}\n ref={ref as React.ForwardedRef<HTMLDivElement>}\n className={cx(\n classes.root,\n classes.adornment,\n classes.adornmentIcon,\n { [classes.hideIcon]: !displayIcon },\n className,\n )}\n role=\"presentation\"\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </div>\n );\n },\n);\n"],"names":["forwardRef","useClasses","useContext","HvFormElementContext","HvFormElementDescriptorsContext","jsx"],"mappings":";;;;;;;AAWA,MAAM,OAAO,MAAM;AAAC;AAkCb,MAAM,cAAcA,MAAA;AAAA,EAIzB,CACE;AAAA,IACE;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA,YAAY;AAAA,IACZ,GAAG;AAAA,KAEL,QACG;AACH,UAAM,EAAE,SAAS,GAAG,IAAIC,4BAAW,WAAW;AAE9C,UAAM,EAAE,gBAAgB,GAAG,IAAIC,iBAAWC,mBAAoB,oBAAA;AAE9D,UAAM,EAAE,MAAA,IAAUD,MAAA,WAAWE,8BAA+B,+BAAA;AAE5D,UAAM,cACJ,cAAc,aAAa,UAAa,kBAAkB;AAEtD,UAAA,cAAc,CAAC,CAAC;AAEtB,WAAO,cACLC,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,MAAK;AAAA,QACL,UAAU;AAAA,QACV,iBAAe,QAAQ,CAAC,GAAG;AAAA,QAC3B,WAAW;AAAA,UACT,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,EAAE,CAAC,QAAQ,QAAQ,GAAG,CAAC,YAAY;AAAA,UACnC;AAAA,QACF;AAAA,QACA;AAAA,QACA,aAAa,CAAC,UAAU,MAAM,eAAe;AAAA,QAC7C,WAAW;AAAA,QACV,GAAG;AAAA,QAEJ,UAACA,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,MAAO,UAAK,MAAA;AAAA,MAAA;AAAA,IAAA,IAGtCA,2BAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,WAAW;AAAA,UACT,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,QAAQ;AAAA,UACR,EAAE,CAAC,QAAQ,QAAQ,GAAG,CAAC,YAAY;AAAA,UACnC;AAAA,QACF;AAAA,QACA,MAAK;AAAA,QACJ,GAAG;AAAA,QAEJ,UAACA,2BAAAA,IAAA,OAAA,EAAI,WAAW,QAAQ,MAAO,UAAK,MAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAG1C;AACF;;;"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const focusUtils = require("../../utils/focusUtils.cjs");
4
3
  const classes = require("../../utils/classes.cjs");
4
+ const focusUtils = require("../../utils/focusUtils.cjs");
5
5
  const { staticClasses, useClasses } = classes.createClasses("HvAdornment", {
6
6
  root: {},
7
7
  icon: { width: 32, height: 32 },
@@ -1 +1 @@
1
- {"version":3,"file":"Adornment.styles.cjs","sources":["../../../../src/Forms/Adornment/Adornment.styles.tsx"],"sourcesContent":["import { outlineStyles } from \"../../utils/focusUtils\";\nimport { createClasses } from \"../../utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvAdornment\", {\n root: {},\n icon: { width: 32, height: 32 },\n adornment: {\n backgroundColor: \"transparent\",\n border: \"none\",\n padding: 0,\n margin: 0,\n },\n adornmentIcon: { cursor: \"default\", pointerEvents: \"none\" },\n hideIcon: { display: \"none\" },\n adornmentButton: {\n cursor: \"pointer\",\n \"&:focus\": {\n ...outlineStyles,\n },\n },\n});\n"],"names":["createClasses","outlineStyles"],"mappings":";;;;AAGO,MAAM,EAAE,eAAe,eAAeA,QAAAA,cAAc,eAAe;AAAA,EACxE,MAAM,CAAC;AAAA,EACP,MAAM,EAAE,OAAO,IAAI,QAAQ,GAAG;AAAA,EAC9B,WAAW;AAAA,IACT,iBAAiB;AAAA,IACjB,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,eAAe,EAAE,QAAQ,WAAW,eAAe,OAAO;AAAA,EAC1D,UAAU,EAAE,SAAS,OAAO;AAAA,EAC5B,iBAAiB;AAAA,IACf,QAAQ;AAAA,IACR,WAAW;AAAA,MACT,GAAGC,WAAA;AAAA,IACL;AAAA,EACF;AACF,CAAC;;;"}
1
+ {"version":3,"file":"Adornment.styles.cjs","sources":["../../../../src/Forms/Adornment/Adornment.styles.tsx"],"sourcesContent":["import { createClasses } from \"../../utils/classes\";\nimport { outlineStyles } from \"../../utils/focusUtils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvAdornment\", {\n root: {},\n icon: { width: 32, height: 32 },\n adornment: {\n backgroundColor: \"transparent\",\n border: \"none\",\n padding: 0,\n margin: 0,\n },\n adornmentIcon: { cursor: \"default\", pointerEvents: \"none\" },\n hideIcon: { display: \"none\" },\n adornmentButton: {\n cursor: \"pointer\",\n \"&:focus\": {\n ...outlineStyles,\n },\n },\n});\n"],"names":["createClasses","outlineStyles"],"mappings":";;;;AAGO,MAAM,EAAE,eAAe,eAAeA,QAAAA,cAAc,eAAe;AAAA,EACxE,MAAM,CAAC;AAAA,EACP,MAAM,EAAE,OAAO,IAAI,QAAQ,GAAG;AAAA,EAC9B,WAAW;AAAA,IACT,iBAAiB;AAAA,IACjB,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AAAA,EACA,eAAe,EAAE,QAAQ,WAAW,eAAe,OAAO;AAAA,EAC1D,UAAU,EAAE,SAAS,OAAO;AAAA,EAC5B,iBAAiB;AAAA,IACf,QAAQ;AAAA,IACR,WAAW;AAAA,MACT,GAAGC,WAAA;AAAA,IACL;AAAA,EACF;AACF,CAAC;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CharCounter.cjs","sources":["../../../../src/Forms/CharCounter/CharCounter.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { setId } from \"../../utils/setId\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { HvTypography } from \"../../Typography\";\n\nimport { staticClasses, useClasses } from \"./CharCounter.styles\";\nimport { HvFormElementContext } from \"../FormElement\";\n\nexport { staticClasses as charCounterClasses };\n\nexport type HvCharCounterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCharCounterProps extends HvBaseProps {\n /** The string that separates the current char quantity from the max quantity. */\n separator?: string;\n /** The maximum allowed length of the characters. */\n maxCharQuantity: number;\n /** The current char quantity to be rendered. */\n currentCharQuantity?: number;\n /** If `true` the counter is disabled. */\n disabled?: boolean;\n /** If `true` the info message won't have margins. */\n disableGutter?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvCharCounterClasses;\n}\n\n/**\n * Displays the capacity and current usage of a text input box (character count by default).\n *\n * Use the character counter when there is a character or word limit.\n * By itself it doesn't block the user from going above the limit.\n */\nexport const HvCharCounter = (props: HvCharCounterProps) => {\n const {\n separator = \"/\",\n maxCharQuantity,\n currentCharQuantity = 0,\n classes: classesProp,\n className,\n id,\n disabled,\n disableGutter = false,\n ...others\n } = useDefaultProps(\"HvCharCounter\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { elementId, elementDisabled } = useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localId = id ?? setId(elementId, \"counter\");\n const currentId = setId(localId, \"currentQuantity\");\n const maxQuantityId = setId(localId, \"maxQuantity\");\n const isOverloaded = currentCharQuantity > maxCharQuantity;\n\n return (\n <div\n id={localId}\n className={cx(\n classes.root,\n {\n [classes.counterDisabled]: !!localDisabled,\n [classes.gutter]: !disableGutter,\n },\n className\n )}\n aria-live=\"polite\"\n aria-disabled={localDisabled}\n {...others}\n >\n <HvTypography\n id={currentId}\n className={cx({\n [classes.overloaded]: isOverloaded && !localDisabled,\n [classes.counterDisabled]: !!localDisabled,\n })}\n variant=\"label\"\n component=\"label\"\n >\n {currentCharQuantity}\n </HvTypography>\n <HvTypography\n id={maxQuantityId}\n className={cx({\n [classes.overloaded]: isOverloaded && !localDisabled,\n [classes.counterDisabled]: !!localDisabled,\n })}\n variant=\"body\"\n component=\"label\"\n >\n {` ${separator} ${maxCharQuantity}`}\n </HvTypography>\n </div>\n );\n};\n"],"names":["useDefaultProps","useClasses","useContext","HvFormElementContext","setId","jsxs","jsx","HvTypography"],"mappings":";;;;;;;;;AAoCa,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ,YAAY;AAAA,IACZ;AAAA,IACA,sBAAsB;AAAA,IACtB,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,GAAG,IAAIC,8BAAW,WAAW;AAE9C,QAAM,EAAE,WAAW,gBAAgB,IAAIC,iBAAWC,mBAAoB,oBAAA;AACtE,QAAM,gBAAgB,YAAY;AAClC,QAAM,UAAU,MAAMC,MAAM,MAAA,WAAW,SAAS;AAC1C,QAAA,YAAYA,MAAAA,MAAM,SAAS,iBAAiB;AAC5C,QAAA,gBAAgBA,MAAAA,MAAM,SAAS,aAAa;AAClD,QAAM,eAAe,sBAAsB;AAGzC,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,MACJ,WAAW;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,UACE,CAAC,QAAQ,eAAe,GAAG,CAAC,CAAC;AAAA,UAC7B,CAAC,QAAQ,MAAM,GAAG,CAAC;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AAAA,MACA,aAAU;AAAA,MACV,iBAAe;AAAA,MACd,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAAC,2BAAA;AAAA,UAACC,WAAA;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAW,GAAG;AAAA,cACZ,CAAC,QAAQ,UAAU,GAAG,gBAAgB,CAAC;AAAA,cACvC,CAAC,QAAQ,eAAe,GAAG,CAAC,CAAC;AAAA,YAAA,CAC9B;AAAA,YACD,SAAQ;AAAA,YACR,WAAU;AAAA,YAET,UAAA;AAAA,UAAA;AAAA,QACH;AAAA,QACAD,2BAAA;AAAA,UAACC,WAAA;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAW,GAAG;AAAA,cACZ,CAAC,QAAQ,UAAU,GAAG,gBAAgB,CAAC;AAAA,cACvC,CAAC,QAAQ,eAAe,GAAG,CAAC,CAAC;AAAA,YAAA,CAC9B;AAAA,YACD,SAAQ;AAAA,YACR,WAAU;AAAA,YAET,UAAA,IAAI,SAAS,IAAI,eAAe;AAAA,UAAA;AAAA,QACnC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;;;"}
1
+ {"version":3,"file":"CharCounter.cjs","sources":["../../../../src/Forms/CharCounter/CharCounter.tsx"],"sourcesContent":["import { useContext } from \"react\";\n\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvBaseProps } from \"../../types/generic\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { setId } from \"../../utils/setId\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { staticClasses, useClasses } from \"./CharCounter.styles\";\n\nexport { staticClasses as charCounterClasses };\n\nexport type HvCharCounterClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvCharCounterProps extends HvBaseProps {\n /** The string that separates the current char quantity from the max quantity. */\n separator?: string;\n /** The maximum allowed length of the characters. */\n maxCharQuantity: number;\n /** The current char quantity to be rendered. */\n currentCharQuantity?: number;\n /** If `true` the counter is disabled. */\n disabled?: boolean;\n /** If `true` the info message won't have margins. */\n disableGutter?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvCharCounterClasses;\n}\n\n/**\n * Displays the capacity and current usage of a text input box (character count by default).\n *\n * Use the character counter when there is a character or word limit.\n * By itself it doesn't block the user from going above the limit.\n */\nexport const HvCharCounter = (props: HvCharCounterProps) => {\n const {\n separator = \"/\",\n maxCharQuantity,\n currentCharQuantity = 0,\n classes: classesProp,\n className,\n id,\n disabled,\n disableGutter = false,\n ...others\n } = useDefaultProps(\"HvCharCounter\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const { elementId, elementDisabled } = useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localId = id ?? setId(elementId, \"counter\");\n const currentId = setId(localId, \"currentQuantity\");\n const maxQuantityId = setId(localId, \"maxQuantity\");\n const isOverloaded = currentCharQuantity > maxCharQuantity;\n\n return (\n <div\n id={localId}\n className={cx(\n classes.root,\n {\n [classes.counterDisabled]: !!localDisabled,\n [classes.gutter]: !disableGutter,\n },\n className,\n )}\n aria-live=\"polite\"\n aria-disabled={localDisabled}\n {...others}\n >\n <HvTypography\n id={currentId}\n className={cx({\n [classes.overloaded]: isOverloaded && !localDisabled,\n [classes.counterDisabled]: !!localDisabled,\n })}\n variant=\"label\"\n component=\"label\"\n >\n {currentCharQuantity}\n </HvTypography>\n <HvTypography\n id={maxQuantityId}\n className={cx({\n [classes.overloaded]: isOverloaded && !localDisabled,\n [classes.counterDisabled]: !!localDisabled,\n })}\n variant=\"body\"\n component=\"label\"\n >\n {` ${separator} ${maxCharQuantity}`}\n </HvTypography>\n </div>\n );\n};\n"],"names":["useDefaultProps","useClasses","useContext","HvFormElementContext","setId","jsxs","jsx","HvTypography"],"mappings":";;;;;;;;;AAmCa,MAAA,gBAAgB,CAAC,UAA8B;AACpD,QAAA;AAAA,IACJ,YAAY;AAAA,IACZ;AAAA,IACA,sBAAsB;AAAA,IACtB,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,GAAG;AAAA,EAAA,IACDA,gBAAgB,gBAAA,iBAAiB,KAAK;AAE1C,QAAM,EAAE,SAAS,GAAG,IAAIC,8BAAW,WAAW;AAE9C,QAAM,EAAE,WAAW,gBAAgB,IAAIC,iBAAWC,mBAAoB,oBAAA;AACtE,QAAM,gBAAgB,YAAY;AAClC,QAAM,UAAU,MAAMC,MAAM,MAAA,WAAW,SAAS;AAC1C,QAAA,YAAYA,MAAAA,MAAM,SAAS,iBAAiB;AAC5C,QAAA,gBAAgBA,MAAAA,MAAM,SAAS,aAAa;AAClD,QAAM,eAAe,sBAAsB;AAGzC,SAAAC,2BAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,IAAI;AAAA,MACJ,WAAW;AAAA,QACT,QAAQ;AAAA,QACR;AAAA,UACE,CAAC,QAAQ,eAAe,GAAG,CAAC,CAAC;AAAA,UAC7B,CAAC,QAAQ,MAAM,GAAG,CAAC;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AAAA,MACA,aAAU;AAAA,MACV,iBAAe;AAAA,MACd,GAAG;AAAA,MAEJ,UAAA;AAAA,QAAAC,2BAAA;AAAA,UAACC,WAAA;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAW,GAAG;AAAA,cACZ,CAAC,QAAQ,UAAU,GAAG,gBAAgB,CAAC;AAAA,cACvC,CAAC,QAAQ,eAAe,GAAG,CAAC,CAAC;AAAA,YAAA,CAC9B;AAAA,YACD,SAAQ;AAAA,YACR,WAAU;AAAA,YAET,UAAA;AAAA,UAAA;AAAA,QACH;AAAA,QACAD,2BAAA;AAAA,UAACC,WAAA;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAW,GAAG;AAAA,cACZ,CAAC,QAAQ,UAAU,GAAG,gBAAgB,CAAC;AAAA,cACvC,CAAC,QAAQ,eAAe,GAAG,CAAC,CAAC;AAAA,YAAA,CAC9B;AAAA,YACD,SAAQ;AAAA,YACR,WAAU;AAAA,YAET,UAAA,IAAI,SAAS,IAAI,eAAe;AAAA,UAAA;AAAA,QACnC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;;;"}
@@ -4,11 +4,11 @@ const jsxRuntime = require("@emotion/react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const useDefaultProps = require("../../hooks/useDefaultProps.cjs");
6
6
  const useUniqueId = require("../../hooks/useUniqueId.cjs");
7
- const FormUtils = require("./utils/FormUtils.cjs");
8
7
  const FormElementContext = require("./context/FormElementContext.cjs");
9
- const FormElementValueContext = require("./context/FormElementValueContext.cjs");
10
8
  const FormElementDescriptorsContext = require("./context/FormElementDescriptorsContext.cjs");
9
+ const FormElementValueContext = require("./context/FormElementValueContext.cjs");
11
10
  const FormElement_styles = require("./FormElement.styles.cjs");
11
+ const FormUtils = require("./utils/FormUtils.cjs");
12
12
  const HvFormElement = (props) => {
13
13
  const {
14
14
  classes: classesProp,