@hitachivantara/uikit-react-core 5.67.1 → 5.68.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 (905) hide show
  1. package/dist/cjs/Accordion/Accordion.cjs +2 -2
  2. package/dist/cjs/Accordion/Accordion.styles.cjs +2 -2
  3. package/dist/cjs/ActionBar/ActionBar.cjs +2 -2
  4. package/dist/cjs/ActionBar/ActionBar.styles.cjs +2 -2
  5. package/dist/cjs/ActionsGeneric/ActionsGeneric.cjs +2 -2
  6. package/dist/cjs/ActionsGeneric/ActionsGeneric.styles.cjs +2 -2
  7. package/dist/cjs/AppSwitcher/Action/Action.cjs +31 -68
  8. package/dist/cjs/AppSwitcher/Action/Action.styles.cjs +3 -4
  9. package/dist/cjs/AppSwitcher/AppSwitcher.cjs +13 -4
  10. package/dist/cjs/AppSwitcher/AppSwitcher.styles.cjs +11 -20
  11. package/dist/cjs/Avatar/Avatar.cjs +2 -2
  12. package/dist/cjs/Avatar/Avatar.styles.cjs +2 -2
  13. package/dist/cjs/AvatarGroup/AvatarGroup.cjs +10 -10
  14. package/dist/cjs/AvatarGroup/AvatarGroup.styles.cjs +2 -2
  15. package/dist/cjs/Badge/Badge.cjs +2 -2
  16. package/dist/cjs/Badge/Badge.styles.cjs +2 -2
  17. package/dist/cjs/Banner/Banner.cjs +2 -2
  18. package/dist/cjs/Banner/Banner.styles.cjs +2 -2
  19. package/dist/cjs/Banner/BannerContent/ActionContainer/ActionContainer.styles.cjs +2 -2
  20. package/dist/cjs/Banner/BannerContent/BannerContent.styles.cjs +2 -2
  21. package/dist/cjs/Banner/BannerContent/MessageContainer/MessageContainer.styles.cjs +2 -2
  22. package/dist/cjs/BaseCheckBox/BaseCheckBox.cjs +2 -2
  23. package/dist/cjs/BaseCheckBox/BaseCheckBox.styles.cjs +2 -2
  24. package/dist/cjs/BaseDropdown/BaseDropdown.cjs +8 -10
  25. package/dist/cjs/BaseDropdown/BaseDropdown.styles.cjs +7 -8
  26. package/dist/cjs/BaseInput/BaseInput.cjs +2 -2
  27. package/dist/cjs/BaseInput/BaseInput.styles.cjs +2 -2
  28. package/dist/cjs/BaseRadio/BaseRadio.cjs +2 -2
  29. package/dist/cjs/BaseRadio/BaseRadio.styles.cjs +2 -2
  30. package/dist/cjs/BaseSwitch/BaseSwitch.cjs +2 -2
  31. package/dist/cjs/BaseSwitch/BaseSwitch.styles.cjs +2 -2
  32. package/dist/cjs/Box/Box.cjs +2 -2
  33. package/dist/cjs/BreadCrumb/BreadCrumb.cjs +2 -2
  34. package/dist/cjs/BreadCrumb/BreadCrumb.styles.cjs +2 -2
  35. package/dist/cjs/BreadCrumb/Page/Page.cjs +2 -2
  36. package/dist/cjs/BreadCrumb/Page/Page.styles.cjs +2 -2
  37. package/dist/cjs/BreadCrumb/PathElement/PathElement.styles.cjs +2 -2
  38. package/dist/cjs/BulkActions/BulkActions.cjs +3 -4
  39. package/dist/cjs/BulkActions/BulkActions.styles.cjs +2 -2
  40. package/dist/cjs/Button/Button.cjs +3 -4
  41. package/dist/cjs/Button/Button.styles.cjs +2 -2
  42. package/dist/cjs/Calendar/Calendar.cjs +2 -2
  43. package/dist/cjs/Calendar/Calendar.styles.cjs +2 -2
  44. package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.cjs +2 -2
  45. package/dist/cjs/Calendar/CalendarHeader/CalendarHeader.styles.cjs +2 -2
  46. package/dist/cjs/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.cjs +2 -2
  47. package/dist/cjs/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.cjs +2 -2
  48. package/dist/cjs/Calendar/CalendarNavigation/Navigation/Navigation.styles.cjs +2 -2
  49. package/dist/cjs/Calendar/SingleCalendar/CalendarCell.cjs +2 -2
  50. package/dist/cjs/Calendar/SingleCalendar/CalendarCell.styles.cjs +2 -2
  51. package/dist/cjs/Calendar/SingleCalendar/SingleCalendar.styles.cjs +2 -2
  52. package/dist/cjs/Card/Card.cjs +11 -18
  53. package/dist/cjs/Card/Card.styles.cjs +5 -2
  54. package/dist/cjs/Card/Content/Content.styles.cjs +2 -2
  55. package/dist/cjs/Card/Header/Header.cjs +2 -2
  56. package/dist/cjs/Card/Header/Header.styles.cjs +2 -2
  57. package/dist/cjs/Card/Media/Media.styles.cjs +2 -2
  58. package/dist/cjs/Carousel/Carousel.cjs +3 -4
  59. package/dist/cjs/Carousel/Carousel.styles.cjs +2 -2
  60. package/dist/cjs/Carousel/CarouselControls.cjs +2 -2
  61. package/dist/cjs/Carousel/CarouselSlide/CarouselSlide.styles.cjs +2 -2
  62. package/dist/cjs/CheckBox/CheckBox.cjs +2 -2
  63. package/dist/cjs/CheckBox/CheckBox.styles.cjs +2 -2
  64. package/dist/cjs/CheckBoxGroup/CheckBoxGroup.cjs +2 -2
  65. package/dist/cjs/CheckBoxGroup/CheckBoxGroup.styles.cjs +5 -8
  66. package/dist/cjs/ColorPicker/ColorPicker.cjs +2 -2
  67. package/dist/cjs/ColorPicker/ColorPicker.styles.cjs +2 -2
  68. package/dist/cjs/ColorPicker/Fields/Fields.cjs +2 -2
  69. package/dist/cjs/ColorPicker/Fields/Fields.styles.cjs +2 -2
  70. package/dist/cjs/ColorPicker/Picker/Picker.cjs +3 -4
  71. package/dist/cjs/ColorPicker/Picker/Picker.styles.cjs +2 -2
  72. package/dist/cjs/ColorPicker/PresetColors/PresetColors.cjs +2 -2
  73. package/dist/cjs/ColorPicker/PresetColors/PresetColors.styles.cjs +2 -2
  74. package/dist/cjs/ColorPicker/SavedColors/SavedColors.cjs +2 -2
  75. package/dist/cjs/ColorPicker/SavedColors/SavedColors.styles.cjs +2 -2
  76. package/dist/cjs/Container/Container.cjs +2 -2
  77. package/dist/cjs/Container/Container.styles.cjs +2 -2
  78. package/dist/cjs/Controls/Controls.cjs +2 -2
  79. package/dist/cjs/Controls/Controls.styles.cjs +2 -2
  80. package/dist/cjs/Controls/LeftControl/LeftControl.styles.cjs +2 -2
  81. package/dist/cjs/Controls/RightControl/RightControl.styles.cjs +2 -2
  82. package/dist/cjs/DatePicker/DatePicker.cjs +9 -22
  83. package/dist/cjs/DatePicker/DatePicker.styles.cjs +5 -9
  84. package/dist/cjs/Dialog/Actions/Actions.cjs +2 -2
  85. package/dist/cjs/Dialog/Actions/Actions.styles.cjs +2 -2
  86. package/dist/cjs/Dialog/Content/Content.cjs +2 -2
  87. package/dist/cjs/Dialog/Content/Content.styles.cjs +2 -2
  88. package/dist/cjs/Dialog/Dialog.cjs +3 -4
  89. package/dist/cjs/Dialog/Dialog.styles.cjs +2 -2
  90. package/dist/cjs/Dialog/Title/Title.cjs +2 -2
  91. package/dist/cjs/Dialog/Title/Title.styles.cjs +2 -2
  92. package/dist/cjs/DotPagination/DotPagination.cjs +2 -2
  93. package/dist/cjs/DotPagination/DotPagination.styles.cjs +3 -6
  94. package/dist/cjs/Drawer/Drawer.cjs +2 -2
  95. package/dist/cjs/Drawer/Drawer.styles.cjs +2 -2
  96. package/dist/cjs/DropDownMenu/DropDownMenu.cjs +2 -2
  97. package/dist/cjs/DropDownMenu/DropDownMenu.styles.cjs +2 -2
  98. package/dist/cjs/Dropdown/Dropdown.cjs +2 -2
  99. package/dist/cjs/Dropdown/Dropdown.styles.cjs +2 -2
  100. package/dist/cjs/Dropdown/List/List.cjs +2 -2
  101. package/dist/cjs/Dropdown/List/List.styles.cjs +2 -2
  102. package/dist/cjs/DropdownButton/DropdownButton.cjs +2 -2
  103. package/dist/cjs/DropdownButton/DropdownButton.styles.cjs +3 -3
  104. package/dist/cjs/EmptyState/EmptyState.cjs +2 -2
  105. package/dist/cjs/EmptyState/EmptyState.styles.cjs +2 -2
  106. package/dist/cjs/FileUploader/DropZone/DropZone.cjs +2 -2
  107. package/dist/cjs/FileUploader/DropZone/DropZone.styles.cjs +2 -2
  108. package/dist/cjs/FileUploader/File/File.cjs +2 -2
  109. package/dist/cjs/FileUploader/File/File.styles.cjs +2 -2
  110. package/dist/cjs/FileUploader/FileList/FileList.cjs +2 -2
  111. package/dist/cjs/FileUploader/FileList/FileList.styles.cjs +2 -2
  112. package/dist/cjs/FileUploader/FileUploader.cjs +2 -2
  113. package/dist/cjs/FileUploader/Preview/Preview.cjs +2 -2
  114. package/dist/cjs/FileUploader/Preview/Preview.styles.cjs +2 -2
  115. package/dist/cjs/FilterGroup/Counter/Counter.cjs +2 -2
  116. package/dist/cjs/FilterGroup/Counter/Counter.styles.cjs +2 -2
  117. package/dist/cjs/FilterGroup/FilterContent/FilterContent.cjs +3 -4
  118. package/dist/cjs/FilterGroup/FilterContent/FilterContent.styles.cjs +5 -7
  119. package/dist/cjs/FilterGroup/FilterGroup.cjs +2 -2
  120. package/dist/cjs/FilterGroup/FilterGroup.styles.cjs +2 -2
  121. package/dist/cjs/FilterGroup/FilterGroupContext.cjs +2 -2
  122. package/dist/cjs/FilterGroup/LeftPanel/LeftPanel.styles.cjs +2 -2
  123. package/dist/cjs/FilterGroup/RightPanel/RightPanel.styles.cjs +2 -2
  124. package/dist/cjs/Focus/Focus.styles.cjs +2 -2
  125. package/dist/cjs/Footer/Footer.cjs +2 -2
  126. package/dist/cjs/Footer/Footer.styles.cjs +2 -2
  127. package/dist/cjs/Forms/Adornment/Adornment.styles.cjs +2 -2
  128. package/dist/cjs/Forms/CharCounter/CharCounter.cjs +2 -2
  129. package/dist/cjs/Forms/CharCounter/CharCounter.styles.cjs +2 -2
  130. package/dist/cjs/Forms/FormElement/FormElement.cjs +2 -2
  131. package/dist/cjs/Forms/FormElement/FormElement.styles.cjs +2 -2
  132. package/dist/cjs/Forms/InfoMessage/InfoMessage.cjs +2 -2
  133. package/dist/cjs/Forms/InfoMessage/InfoMessage.styles.cjs +2 -2
  134. package/dist/cjs/Forms/Label/Label.cjs +2 -2
  135. package/dist/cjs/Forms/Label/Label.styles.cjs +2 -2
  136. package/dist/cjs/Forms/Suggestions/Suggestions.styles.cjs +2 -2
  137. package/dist/cjs/Forms/WarningText/WarningText.cjs +2 -2
  138. package/dist/cjs/Forms/WarningText/WarningText.styles.cjs +2 -2
  139. package/dist/cjs/GlobalActions/GlobalActions.cjs +2 -2
  140. package/dist/cjs/GlobalActions/GlobalActions.styles.cjs +2 -2
  141. package/dist/cjs/Grid/Grid.cjs +2 -2
  142. package/dist/cjs/Grid/Grid.styles.cjs +2 -2
  143. package/dist/cjs/Header/Actions/Actions.cjs +2 -2
  144. package/dist/cjs/Header/Actions/Actions.styles.cjs +2 -2
  145. package/dist/cjs/Header/Brand/Brand.cjs +2 -2
  146. package/dist/cjs/Header/Brand/Brand.styles.cjs +2 -2
  147. package/dist/cjs/Header/Header.cjs +2 -2
  148. package/dist/cjs/Header/Header.styles.cjs +2 -3
  149. package/dist/cjs/Header/Navigation/MenuBar/Bar.cjs +2 -2
  150. package/dist/cjs/Header/Navigation/MenuBar/Bar.styles.cjs +2 -2
  151. package/dist/cjs/Header/Navigation/MenuBar/MenuBar.cjs +2 -2
  152. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.cjs +2 -2
  153. package/dist/cjs/Header/Navigation/MenuItem/MenuItem.styles.cjs +2 -2
  154. package/dist/cjs/Header/Navigation/Navigation.cjs +2 -2
  155. package/dist/cjs/Header/Navigation/Navigation.styles.cjs +2 -2
  156. package/dist/cjs/IconButton/IconButton.cjs +2 -2
  157. package/dist/cjs/InlineEditor/InlineEditor.cjs +3 -4
  158. package/dist/cjs/InlineEditor/InlineEditor.styles.cjs +2 -2
  159. package/dist/cjs/Input/Input.cjs +2 -2
  160. package/dist/cjs/Input/Input.styles.cjs +2 -2
  161. package/dist/cjs/Kpi/Kpi.cjs +2 -2
  162. package/dist/cjs/Kpi/Kpi.styles.cjs +2 -2
  163. package/dist/cjs/Link/Link.cjs +2 -2
  164. package/dist/cjs/Link/Link.styles.cjs +2 -2
  165. package/dist/cjs/List/List.cjs +2 -2
  166. package/dist/cjs/List/List.styles.cjs +2 -2
  167. package/dist/cjs/ListContainer/ListContainer.cjs +2 -2
  168. package/dist/cjs/ListContainer/ListContainer.styles.cjs +6 -3
  169. package/dist/cjs/ListContainer/ListItem/ListItem.cjs +2 -2
  170. package/dist/cjs/ListContainer/ListItem/ListItem.styles.cjs +2 -2
  171. package/dist/cjs/Loading/Loading.cjs +2 -2
  172. package/dist/cjs/Loading/Loading.styles.cjs +2 -2
  173. package/dist/cjs/LoadingContainer/LoadingContainer.cjs +3 -3
  174. package/dist/cjs/LoadingContainer/LoadingContainer.styles.cjs +2 -2
  175. package/dist/cjs/Login/Login.cjs +2 -2
  176. package/dist/cjs/Login/Login.styles.cjs +2 -2
  177. package/dist/cjs/MultiButton/MultiButton.cjs +2 -2
  178. package/dist/cjs/MultiButton/MultiButton.styles.cjs +2 -2
  179. package/dist/cjs/OverflowTooltip/OverflowTooltip.cjs +2 -2
  180. package/dist/cjs/OverflowTooltip/OverflowTooltip.styles.cjs +2 -2
  181. package/dist/cjs/Pagination/Pagination.cjs +2 -2
  182. package/dist/cjs/Pagination/Pagination.styles.cjs +2 -2
  183. package/dist/cjs/Pagination/Select.cjs +2 -2
  184. package/dist/cjs/Pagination/Select.styles.cjs +2 -2
  185. package/dist/cjs/Panel/Panel.cjs +2 -2
  186. package/dist/cjs/Panel/Panel.styles.cjs +2 -2
  187. package/dist/cjs/ProgressBar/ProgressBar.cjs +2 -2
  188. package/dist/cjs/ProgressBar/ProgressBar.styles.cjs +2 -2
  189. package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs +2 -2
  190. package/dist/cjs/QueryBuilder/QueryBuilder.cjs +2 -2
  191. package/dist/cjs/QueryBuilder/QueryBuilder.styles.cjs +2 -2
  192. package/dist/cjs/QueryBuilder/Rule/Rule.cjs +2 -2
  193. package/dist/cjs/QueryBuilder/Rule/Rule.styles.cjs +2 -2
  194. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs +2 -2
  195. package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs +2 -2
  196. package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +3 -5
  197. package/dist/cjs/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs +2 -2
  198. package/dist/cjs/Radio/Radio.cjs +2 -2
  199. package/dist/cjs/Radio/Radio.styles.cjs +2 -2
  200. package/dist/cjs/RadioGroup/RadioGroup.cjs +2 -2
  201. package/dist/cjs/RadioGroup/RadioGroup.styles.cjs +5 -10
  202. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +2 -2
  203. package/dist/cjs/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs +2 -2
  204. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.cjs +2 -2
  205. package/dist/cjs/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs +2 -2
  206. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.cjs +2 -2
  207. package/dist/cjs/ScrollTo/Vertical/ScrollToVertical.styles.cjs +2 -2
  208. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +2 -2
  209. package/dist/cjs/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +2 -2
  210. package/dist/cjs/Section/Section.cjs +2 -2
  211. package/dist/cjs/Section/Section.styles.cjs +2 -2
  212. package/dist/cjs/Select/Option.cjs +3 -4
  213. package/dist/cjs/Select/OptionGroup.cjs +3 -4
  214. package/dist/cjs/Select/Select.cjs +3 -4
  215. package/dist/cjs/Select/Select.styles.cjs +2 -2
  216. package/dist/cjs/SelectionList/SelectionList.cjs +2 -2
  217. package/dist/cjs/SelectionList/SelectionList.styles.cjs +2 -2
  218. package/dist/cjs/SimpleGrid/SimpleGrid.cjs +2 -2
  219. package/dist/cjs/SimpleGrid/SimpleGrid.styles.cjs +2 -2
  220. package/dist/cjs/Skeleton/Skeleton.cjs +2 -2
  221. package/dist/cjs/Skeleton/Skeleton.styles.cjs +2 -2
  222. package/dist/cjs/Slider/Slider.cjs +2 -2
  223. package/dist/cjs/Slider/Slider.styles.cjs +2 -2
  224. package/dist/cjs/Slider/SliderInput/SliderInput.cjs +1 -1
  225. package/dist/cjs/Slider/SliderInput/SliderInput.styles.cjs +2 -2
  226. package/dist/cjs/Snackbar/Snackbar.styles.cjs +2 -2
  227. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.cjs +3 -4
  228. package/dist/cjs/Snackbar/SnackbarContent/SnackbarContent.styles.cjs +2 -2
  229. package/dist/cjs/SnackbarProvider/SnackbarProvider.styles.cjs +2 -2
  230. package/dist/cjs/Stack/Stack.cjs +2 -2
  231. package/dist/cjs/Stack/Stack.styles.cjs +2 -2
  232. package/dist/cjs/Switch/Switch.cjs +2 -2
  233. package/dist/cjs/Switch/Switch.styles.cjs +2 -2
  234. package/dist/cjs/Tab/Tab.cjs +2 -2
  235. package/dist/cjs/Tab/Tab.styles.cjs +2 -2
  236. package/dist/cjs/Table/Table.cjs +2 -2
  237. package/dist/cjs/Table/Table.styles.cjs +2 -2
  238. package/dist/cjs/Table/TableBody/TableBody.styles.cjs +2 -2
  239. package/dist/cjs/Table/TableCell/TableCell.cjs +2 -2
  240. package/dist/cjs/Table/TableCell/TableCell.styles.cjs +2 -2
  241. package/dist/cjs/Table/TableContainer/TableContainer.styles.cjs +2 -2
  242. package/dist/cjs/Table/TableHead/TableHead.styles.cjs +2 -2
  243. package/dist/cjs/Table/TableHeader/TableHeader.cjs +3 -4
  244. package/dist/cjs/Table/TableHeader/TableHeader.styles.cjs +2 -2
  245. package/dist/cjs/Table/TableRow/TableRow.cjs +2 -2
  246. package/dist/cjs/Table/TableRow/TableRow.styles.cjs +2 -2
  247. package/dist/cjs/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.cjs +2 -2
  248. package/dist/cjs/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.cjs +2 -2
  249. package/dist/cjs/TableSection/TableSection.cjs +2 -2
  250. package/dist/cjs/TableSection/TableSection.styles.cjs +2 -2
  251. package/dist/cjs/Tabs/Tabs.cjs +2 -2
  252. package/dist/cjs/Tabs/Tabs.styles.cjs +2 -2
  253. package/dist/cjs/Tag/Tag.cjs +3 -4
  254. package/dist/cjs/Tag/Tag.styles.cjs +2 -2
  255. package/dist/cjs/TagsInput/TagsInput.cjs +2 -2
  256. package/dist/cjs/TagsInput/TagsInput.styles.cjs +2 -2
  257. package/dist/cjs/TextArea/TextArea.cjs +2 -2
  258. package/dist/cjs/TextArea/TextArea.styles.cjs +2 -2
  259. package/dist/cjs/TimeAgo/TimeAgo.cjs +2 -2
  260. package/dist/cjs/TimeAgo/TimeAgo.styles.cjs +2 -2
  261. package/dist/cjs/TimePicker/TimePicker.cjs +2 -2
  262. package/dist/cjs/TimePicker/TimePicker.styles.cjs +2 -2
  263. package/dist/cjs/TimePicker/Unit/Unit.styles.cjs +2 -2
  264. package/dist/cjs/ToggleButton/ToggleButton.cjs +2 -2
  265. package/dist/cjs/Tooltip/Tooltip.cjs +3 -4
  266. package/dist/cjs/Tooltip/Tooltip.styles.cjs +2 -2
  267. package/dist/cjs/TreeView/TreeItem/DefaultContent.cjs +3 -3
  268. package/dist/cjs/TreeView/TreeItem/TreeItem.cjs +2 -2
  269. package/dist/cjs/TreeView/TreeItem/TreeItem.styles.cjs +2 -2
  270. package/dist/cjs/TreeView/TreeView.cjs +2 -2
  271. package/dist/cjs/TreeView/TreeView.styles.cjs +2 -2
  272. package/dist/cjs/Typography/Typography.cjs +3 -4
  273. package/dist/cjs/Typography/Typography.styles.cjs +2 -2
  274. package/dist/cjs/VerticalNavigation/Actions/Action.cjs +2 -2
  275. package/dist/cjs/VerticalNavigation/Actions/Action.styles.cjs +2 -2
  276. package/dist/cjs/VerticalNavigation/Actions/Actions.cjs +2 -2
  277. package/dist/cjs/VerticalNavigation/Actions/Actions.styles.cjs +2 -2
  278. package/dist/cjs/VerticalNavigation/Header/Header.cjs +2 -2
  279. package/dist/cjs/VerticalNavigation/Header/Header.styles.cjs +2 -2
  280. package/dist/cjs/VerticalNavigation/Navigation/Navigation.cjs +2 -2
  281. package/dist/cjs/VerticalNavigation/Navigation/Navigation.styles.cjs +2 -2
  282. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopup.styles.cjs +2 -2
  283. package/dist/cjs/VerticalNavigation/NavigationPopup/NavigationPopupContainer.cjs +2 -2
  284. package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +2 -2
  285. package/dist/cjs/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs +2 -2
  286. package/dist/cjs/VerticalNavigation/TreeView/TreeView.cjs +2 -2
  287. package/dist/cjs/VerticalNavigation/TreeView/TreeView.styles.cjs +2 -2
  288. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.cjs +3 -3
  289. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +2 -2
  290. package/dist/cjs/VerticalNavigation/VerticalNavigation.cjs +2 -2
  291. package/dist/cjs/VerticalNavigation/VerticalNavigation.styles.cjs +2 -2
  292. package/dist/cjs/index.cjs +34 -32
  293. package/dist/esm/Accordion/Accordion.js +1 -1
  294. package/dist/esm/Accordion/Accordion.js.map +1 -1
  295. package/dist/esm/Accordion/Accordion.styles.js +1 -1
  296. package/dist/esm/Accordion/Accordion.styles.js.map +1 -1
  297. package/dist/esm/ActionBar/ActionBar.js +1 -1
  298. package/dist/esm/ActionBar/ActionBar.js.map +1 -1
  299. package/dist/esm/ActionBar/ActionBar.styles.js +1 -1
  300. package/dist/esm/ActionBar/ActionBar.styles.js.map +1 -1
  301. package/dist/esm/ActionsGeneric/ActionsGeneric.js +1 -1
  302. package/dist/esm/ActionsGeneric/ActionsGeneric.js.map +1 -1
  303. package/dist/esm/ActionsGeneric/ActionsGeneric.styles.js +1 -1
  304. package/dist/esm/ActionsGeneric/ActionsGeneric.styles.js.map +1 -1
  305. package/dist/esm/AppSwitcher/Action/Action.js +33 -70
  306. package/dist/esm/AppSwitcher/Action/Action.js.map +1 -1
  307. package/dist/esm/AppSwitcher/Action/Action.styles.js +2 -3
  308. package/dist/esm/AppSwitcher/Action/Action.styles.js.map +1 -1
  309. package/dist/esm/AppSwitcher/AppSwitcher.js +12 -3
  310. package/dist/esm/AppSwitcher/AppSwitcher.js.map +1 -1
  311. package/dist/esm/AppSwitcher/AppSwitcher.styles.js +10 -19
  312. package/dist/esm/AppSwitcher/AppSwitcher.styles.js.map +1 -1
  313. package/dist/esm/Avatar/Avatar.js +1 -1
  314. package/dist/esm/Avatar/Avatar.js.map +1 -1
  315. package/dist/esm/Avatar/Avatar.styles.js +1 -1
  316. package/dist/esm/Avatar/Avatar.styles.js.map +1 -1
  317. package/dist/esm/AvatarGroup/AvatarGroup.js +8 -8
  318. package/dist/esm/AvatarGroup/AvatarGroup.js.map +1 -1
  319. package/dist/esm/AvatarGroup/AvatarGroup.styles.js +1 -1
  320. package/dist/esm/AvatarGroup/AvatarGroup.styles.js.map +1 -1
  321. package/dist/esm/Badge/Badge.js +1 -1
  322. package/dist/esm/Badge/Badge.js.map +1 -1
  323. package/dist/esm/Badge/Badge.styles.js +1 -1
  324. package/dist/esm/Badge/Badge.styles.js.map +1 -1
  325. package/dist/esm/Banner/Banner.js +1 -1
  326. package/dist/esm/Banner/Banner.js.map +1 -1
  327. package/dist/esm/Banner/Banner.styles.js +1 -1
  328. package/dist/esm/Banner/Banner.styles.js.map +1 -1
  329. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.js.map +1 -1
  330. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.styles.js +1 -1
  331. package/dist/esm/Banner/BannerContent/ActionContainer/ActionContainer.styles.js.map +1 -1
  332. package/dist/esm/Banner/BannerContent/BannerContent.js.map +1 -1
  333. package/dist/esm/Banner/BannerContent/BannerContent.styles.js +1 -1
  334. package/dist/esm/Banner/BannerContent/BannerContent.styles.js.map +1 -1
  335. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.js.map +1 -1
  336. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.styles.js +1 -1
  337. package/dist/esm/Banner/BannerContent/MessageContainer/MessageContainer.styles.js.map +1 -1
  338. package/dist/esm/BaseCheckBox/BaseCheckBox.js +1 -1
  339. package/dist/esm/BaseCheckBox/BaseCheckBox.js.map +1 -1
  340. package/dist/esm/BaseCheckBox/BaseCheckBox.styles.js +1 -1
  341. package/dist/esm/BaseCheckBox/BaseCheckBox.styles.js.map +1 -1
  342. package/dist/esm/BaseDropdown/BaseDropdown.js +6 -8
  343. package/dist/esm/BaseDropdown/BaseDropdown.js.map +1 -1
  344. package/dist/esm/BaseDropdown/BaseDropdown.styles.js +6 -7
  345. package/dist/esm/BaseDropdown/BaseDropdown.styles.js.map +1 -1
  346. package/dist/esm/BaseInput/BaseInput.js +1 -1
  347. package/dist/esm/BaseInput/BaseInput.js.map +1 -1
  348. package/dist/esm/BaseInput/BaseInput.styles.js +1 -1
  349. package/dist/esm/BaseInput/BaseInput.styles.js.map +1 -1
  350. package/dist/esm/BaseRadio/BaseRadio.js +1 -1
  351. package/dist/esm/BaseRadio/BaseRadio.js.map +1 -1
  352. package/dist/esm/BaseRadio/BaseRadio.styles.js +1 -1
  353. package/dist/esm/BaseRadio/BaseRadio.styles.js.map +1 -1
  354. package/dist/esm/BaseSwitch/BaseSwitch.js +1 -1
  355. package/dist/esm/BaseSwitch/BaseSwitch.js.map +1 -1
  356. package/dist/esm/BaseSwitch/BaseSwitch.styles.js +1 -1
  357. package/dist/esm/BaseSwitch/BaseSwitch.styles.js.map +1 -1
  358. package/dist/esm/Box/Box.js +1 -1
  359. package/dist/esm/Box/Box.js.map +1 -1
  360. package/dist/esm/BreadCrumb/BreadCrumb.js +1 -1
  361. package/dist/esm/BreadCrumb/BreadCrumb.js.map +1 -1
  362. package/dist/esm/BreadCrumb/BreadCrumb.styles.js +1 -1
  363. package/dist/esm/BreadCrumb/BreadCrumb.styles.js.map +1 -1
  364. package/dist/esm/BreadCrumb/Page/Page.js +1 -1
  365. package/dist/esm/BreadCrumb/Page/Page.js.map +1 -1
  366. package/dist/esm/BreadCrumb/Page/Page.styles.js +1 -1
  367. package/dist/esm/BreadCrumb/Page/Page.styles.js.map +1 -1
  368. package/dist/esm/BreadCrumb/PathElement/PathElement.js.map +1 -1
  369. package/dist/esm/BreadCrumb/PathElement/PathElement.styles.js +1 -1
  370. package/dist/esm/BreadCrumb/PathElement/PathElement.styles.js.map +1 -1
  371. package/dist/esm/BulkActions/BulkActions.js +1 -2
  372. package/dist/esm/BulkActions/BulkActions.js.map +1 -1
  373. package/dist/esm/BulkActions/BulkActions.styles.js +1 -1
  374. package/dist/esm/BulkActions/BulkActions.styles.js.map +1 -1
  375. package/dist/esm/Button/Button.js +1 -2
  376. package/dist/esm/Button/Button.js.map +1 -1
  377. package/dist/esm/Button/Button.styles.js +1 -1
  378. package/dist/esm/Button/Button.styles.js.map +1 -1
  379. package/dist/esm/Calendar/Calendar.js +1 -1
  380. package/dist/esm/Calendar/Calendar.js.map +1 -1
  381. package/dist/esm/Calendar/Calendar.styles.js +1 -1
  382. package/dist/esm/Calendar/Calendar.styles.js.map +1 -1
  383. package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js +1 -1
  384. package/dist/esm/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  385. package/dist/esm/Calendar/CalendarHeader/CalendarHeader.styles.js +1 -1
  386. package/dist/esm/Calendar/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  387. package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  388. package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js +1 -1
  389. package/dist/esm/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.styles.js.map +1 -1
  390. package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  391. package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js +1 -1
  392. package/dist/esm/Calendar/CalendarNavigation/MonthSelector/MonthSelector.styles.js.map +1 -1
  393. package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  394. package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.styles.js +1 -1
  395. package/dist/esm/Calendar/CalendarNavigation/Navigation/Navigation.styles.js.map +1 -1
  396. package/dist/esm/Calendar/SingleCalendar/CalendarCell.js +1 -1
  397. package/dist/esm/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  398. package/dist/esm/Calendar/SingleCalendar/CalendarCell.styles.js +1 -1
  399. package/dist/esm/Calendar/SingleCalendar/CalendarCell.styles.js.map +1 -1
  400. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  401. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.styles.js +1 -1
  402. package/dist/esm/Calendar/SingleCalendar/SingleCalendar.styles.js.map +1 -1
  403. package/dist/esm/Card/Card.js +11 -18
  404. package/dist/esm/Card/Card.js.map +1 -1
  405. package/dist/esm/Card/Card.styles.js +4 -1
  406. package/dist/esm/Card/Card.styles.js.map +1 -1
  407. package/dist/esm/Card/Content/Content.js.map +1 -1
  408. package/dist/esm/Card/Content/Content.styles.js +1 -1
  409. package/dist/esm/Card/Content/Content.styles.js.map +1 -1
  410. package/dist/esm/Card/Header/Header.js +1 -1
  411. package/dist/esm/Card/Header/Header.js.map +1 -1
  412. package/dist/esm/Card/Header/Header.styles.js +1 -1
  413. package/dist/esm/Card/Header/Header.styles.js.map +1 -1
  414. package/dist/esm/Card/Media/Media.js.map +1 -1
  415. package/dist/esm/Card/Media/Media.styles.js +1 -1
  416. package/dist/esm/Card/Media/Media.styles.js.map +1 -1
  417. package/dist/esm/Carousel/Carousel.js +1 -2
  418. package/dist/esm/Carousel/Carousel.js.map +1 -1
  419. package/dist/esm/Carousel/Carousel.styles.js +1 -1
  420. package/dist/esm/Carousel/Carousel.styles.js.map +1 -1
  421. package/dist/esm/Carousel/CarouselControls.js +1 -1
  422. package/dist/esm/Carousel/CarouselControls.js.map +1 -1
  423. package/dist/esm/Carousel/CarouselSlide/CarouselSlide.js.map +1 -1
  424. package/dist/esm/Carousel/CarouselSlide/CarouselSlide.styles.js +1 -1
  425. package/dist/esm/Carousel/CarouselSlide/CarouselSlide.styles.js.map +1 -1
  426. package/dist/esm/Carousel/CarouselThumbnails.js.map +1 -1
  427. package/dist/esm/CheckBox/CheckBox.js +1 -1
  428. package/dist/esm/CheckBox/CheckBox.js.map +1 -1
  429. package/dist/esm/CheckBox/CheckBox.styles.js +1 -1
  430. package/dist/esm/CheckBox/CheckBox.styles.js.map +1 -1
  431. package/dist/esm/CheckBoxGroup/CheckBoxGroup.js +1 -1
  432. package/dist/esm/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  433. package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js +4 -7
  434. package/dist/esm/CheckBoxGroup/CheckBoxGroup.styles.js.map +1 -1
  435. package/dist/esm/ColorPicker/ColorPicker.js +1 -1
  436. package/dist/esm/ColorPicker/ColorPicker.js.map +1 -1
  437. package/dist/esm/ColorPicker/ColorPicker.styles.js +1 -1
  438. package/dist/esm/ColorPicker/ColorPicker.styles.js.map +1 -1
  439. package/dist/esm/ColorPicker/Fields/Fields.js +1 -1
  440. package/dist/esm/ColorPicker/Fields/Fields.js.map +1 -1
  441. package/dist/esm/ColorPicker/Fields/Fields.styles.js +1 -1
  442. package/dist/esm/ColorPicker/Fields/Fields.styles.js.map +1 -1
  443. package/dist/esm/ColorPicker/Picker/Picker.js +1 -2
  444. package/dist/esm/ColorPicker/Picker/Picker.js.map +1 -1
  445. package/dist/esm/ColorPicker/Picker/Picker.styles.js +1 -1
  446. package/dist/esm/ColorPicker/Picker/Picker.styles.js.map +1 -1
  447. package/dist/esm/ColorPicker/PresetColors/PresetColors.js +1 -1
  448. package/dist/esm/ColorPicker/PresetColors/PresetColors.js.map +1 -1
  449. package/dist/esm/ColorPicker/PresetColors/PresetColors.styles.js +1 -1
  450. package/dist/esm/ColorPicker/PresetColors/PresetColors.styles.js.map +1 -1
  451. package/dist/esm/ColorPicker/SavedColors/SavedColors.js +1 -1
  452. package/dist/esm/ColorPicker/SavedColors/SavedColors.js.map +1 -1
  453. package/dist/esm/ColorPicker/SavedColors/SavedColors.styles.js +1 -1
  454. package/dist/esm/ColorPicker/SavedColors/SavedColors.styles.js.map +1 -1
  455. package/dist/esm/Container/Container.js +1 -1
  456. package/dist/esm/Container/Container.js.map +1 -1
  457. package/dist/esm/Container/Container.styles.js +1 -1
  458. package/dist/esm/Container/Container.styles.js.map +1 -1
  459. package/dist/esm/Controls/Controls.js +1 -1
  460. package/dist/esm/Controls/Controls.js.map +1 -1
  461. package/dist/esm/Controls/Controls.styles.js +1 -1
  462. package/dist/esm/Controls/Controls.styles.js.map +1 -1
  463. package/dist/esm/Controls/LeftControl/LeftControl.js.map +1 -1
  464. package/dist/esm/Controls/LeftControl/LeftControl.styles.js +1 -1
  465. package/dist/esm/Controls/LeftControl/LeftControl.styles.js.map +1 -1
  466. package/dist/esm/Controls/RightControl/RightControl.js.map +1 -1
  467. package/dist/esm/Controls/RightControl/RightControl.styles.js +1 -1
  468. package/dist/esm/Controls/RightControl/RightControl.styles.js.map +1 -1
  469. package/dist/esm/DatePicker/DatePicker.js +8 -21
  470. package/dist/esm/DatePicker/DatePicker.js.map +1 -1
  471. package/dist/esm/DatePicker/DatePicker.styles.js +4 -8
  472. package/dist/esm/DatePicker/DatePicker.styles.js.map +1 -1
  473. package/dist/esm/Dialog/Actions/Actions.js +1 -1
  474. package/dist/esm/Dialog/Actions/Actions.js.map +1 -1
  475. package/dist/esm/Dialog/Actions/Actions.styles.js +1 -1
  476. package/dist/esm/Dialog/Actions/Actions.styles.js.map +1 -1
  477. package/dist/esm/Dialog/Content/Content.js +1 -1
  478. package/dist/esm/Dialog/Content/Content.js.map +1 -1
  479. package/dist/esm/Dialog/Content/Content.styles.js +1 -1
  480. package/dist/esm/Dialog/Content/Content.styles.js.map +1 -1
  481. package/dist/esm/Dialog/Dialog.js +1 -2
  482. package/dist/esm/Dialog/Dialog.js.map +1 -1
  483. package/dist/esm/Dialog/Dialog.styles.js +1 -1
  484. package/dist/esm/Dialog/Dialog.styles.js.map +1 -1
  485. package/dist/esm/Dialog/Title/Title.js +1 -1
  486. package/dist/esm/Dialog/Title/Title.js.map +1 -1
  487. package/dist/esm/Dialog/Title/Title.styles.js +1 -1
  488. package/dist/esm/Dialog/Title/Title.styles.js.map +1 -1
  489. package/dist/esm/DotPagination/DotPagination.js +1 -1
  490. package/dist/esm/DotPagination/DotPagination.js.map +1 -1
  491. package/dist/esm/DotPagination/DotPagination.styles.js +2 -5
  492. package/dist/esm/DotPagination/DotPagination.styles.js.map +1 -1
  493. package/dist/esm/Drawer/Drawer.js +1 -1
  494. package/dist/esm/Drawer/Drawer.js.map +1 -1
  495. package/dist/esm/Drawer/Drawer.styles.js +1 -1
  496. package/dist/esm/Drawer/Drawer.styles.js.map +1 -1
  497. package/dist/esm/DropDownMenu/DropDownMenu.js +1 -1
  498. package/dist/esm/DropDownMenu/DropDownMenu.js.map +1 -1
  499. package/dist/esm/DropDownMenu/DropDownMenu.styles.js +1 -1
  500. package/dist/esm/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  501. package/dist/esm/Dropdown/Dropdown.js +1 -1
  502. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  503. package/dist/esm/Dropdown/Dropdown.styles.js +1 -1
  504. package/dist/esm/Dropdown/Dropdown.styles.js.map +1 -1
  505. package/dist/esm/Dropdown/List/List.js +1 -1
  506. package/dist/esm/Dropdown/List/List.js.map +1 -1
  507. package/dist/esm/Dropdown/List/List.styles.js +1 -1
  508. package/dist/esm/Dropdown/List/List.styles.js.map +1 -1
  509. package/dist/esm/DropdownButton/DropdownButton.js +1 -1
  510. package/dist/esm/DropdownButton/DropdownButton.js.map +1 -1
  511. package/dist/esm/DropdownButton/DropdownButton.styles.js +2 -2
  512. package/dist/esm/DropdownButton/DropdownButton.styles.js.map +1 -1
  513. package/dist/esm/EmptyState/EmptyState.js +1 -1
  514. package/dist/esm/EmptyState/EmptyState.js.map +1 -1
  515. package/dist/esm/EmptyState/EmptyState.styles.js +1 -1
  516. package/dist/esm/EmptyState/EmptyState.styles.js.map +1 -1
  517. package/dist/esm/FileUploader/DropZone/DropZone.js +1 -1
  518. package/dist/esm/FileUploader/DropZone/DropZone.js.map +1 -1
  519. package/dist/esm/FileUploader/DropZone/DropZone.styles.js +1 -1
  520. package/dist/esm/FileUploader/DropZone/DropZone.styles.js.map +1 -1
  521. package/dist/esm/FileUploader/File/File.js +1 -1
  522. package/dist/esm/FileUploader/File/File.js.map +1 -1
  523. package/dist/esm/FileUploader/File/File.styles.js +1 -1
  524. package/dist/esm/FileUploader/File/File.styles.js.map +1 -1
  525. package/dist/esm/FileUploader/FileList/FileList.js +1 -1
  526. package/dist/esm/FileUploader/FileList/FileList.js.map +1 -1
  527. package/dist/esm/FileUploader/FileList/FileList.styles.js +1 -1
  528. package/dist/esm/FileUploader/FileList/FileList.styles.js.map +1 -1
  529. package/dist/esm/FileUploader/FileUploader.js +1 -1
  530. package/dist/esm/FileUploader/FileUploader.js.map +1 -1
  531. package/dist/esm/FileUploader/Preview/Preview.js +1 -1
  532. package/dist/esm/FileUploader/Preview/Preview.js.map +1 -1
  533. package/dist/esm/FileUploader/Preview/Preview.styles.js +1 -1
  534. package/dist/esm/FileUploader/Preview/Preview.styles.js.map +1 -1
  535. package/dist/esm/FilterGroup/Counter/Counter.js +1 -1
  536. package/dist/esm/FilterGroup/Counter/Counter.js.map +1 -1
  537. package/dist/esm/FilterGroup/Counter/Counter.styles.js +1 -1
  538. package/dist/esm/FilterGroup/Counter/Counter.styles.js.map +1 -1
  539. package/dist/esm/FilterGroup/FilterContent/FilterContent.js +1 -2
  540. package/dist/esm/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  541. package/dist/esm/FilterGroup/FilterContent/FilterContent.styles.js +4 -6
  542. package/dist/esm/FilterGroup/FilterContent/FilterContent.styles.js.map +1 -1
  543. package/dist/esm/FilterGroup/FilterGroup.js +1 -1
  544. package/dist/esm/FilterGroup/FilterGroup.js.map +1 -1
  545. package/dist/esm/FilterGroup/FilterGroup.styles.js +1 -1
  546. package/dist/esm/FilterGroup/FilterGroup.styles.js.map +1 -1
  547. package/dist/esm/FilterGroup/FilterGroupContext.js +1 -1
  548. package/dist/esm/FilterGroup/FilterGroupContext.js.map +1 -1
  549. package/dist/esm/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  550. package/dist/esm/FilterGroup/LeftPanel/LeftPanel.styles.js +1 -1
  551. package/dist/esm/FilterGroup/LeftPanel/LeftPanel.styles.js.map +1 -1
  552. package/dist/esm/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  553. package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js +1 -1
  554. package/dist/esm/FilterGroup/RightPanel/RightPanel.styles.js.map +1 -1
  555. package/dist/esm/Focus/Focus.js.map +1 -1
  556. package/dist/esm/Focus/Focus.styles.js +1 -1
  557. package/dist/esm/Focus/Focus.styles.js.map +1 -1
  558. package/dist/esm/Footer/Footer.js +1 -1
  559. package/dist/esm/Footer/Footer.js.map +1 -1
  560. package/dist/esm/Footer/Footer.styles.js +1 -1
  561. package/dist/esm/Footer/Footer.styles.js.map +1 -1
  562. package/dist/esm/Forms/Adornment/Adornment.js.map +1 -1
  563. package/dist/esm/Forms/Adornment/Adornment.styles.js +1 -1
  564. package/dist/esm/Forms/Adornment/Adornment.styles.js.map +1 -1
  565. package/dist/esm/Forms/CharCounter/CharCounter.js +1 -1
  566. package/dist/esm/Forms/CharCounter/CharCounter.js.map +1 -1
  567. package/dist/esm/Forms/CharCounter/CharCounter.styles.js +1 -1
  568. package/dist/esm/Forms/CharCounter/CharCounter.styles.js.map +1 -1
  569. package/dist/esm/Forms/FormElement/FormElement.js +1 -1
  570. package/dist/esm/Forms/FormElement/FormElement.js.map +1 -1
  571. package/dist/esm/Forms/FormElement/FormElement.styles.js +1 -1
  572. package/dist/esm/Forms/FormElement/FormElement.styles.js.map +1 -1
  573. package/dist/esm/Forms/InfoMessage/InfoMessage.js +1 -1
  574. package/dist/esm/Forms/InfoMessage/InfoMessage.js.map +1 -1
  575. package/dist/esm/Forms/InfoMessage/InfoMessage.styles.js +1 -1
  576. package/dist/esm/Forms/InfoMessage/InfoMessage.styles.js.map +1 -1
  577. package/dist/esm/Forms/Label/Label.js +1 -1
  578. package/dist/esm/Forms/Label/Label.js.map +1 -1
  579. package/dist/esm/Forms/Label/Label.styles.js +1 -1
  580. package/dist/esm/Forms/Label/Label.styles.js.map +1 -1
  581. package/dist/esm/Forms/Suggestions/Suggestions.js.map +1 -1
  582. package/dist/esm/Forms/Suggestions/Suggestions.styles.js +1 -1
  583. package/dist/esm/Forms/Suggestions/Suggestions.styles.js.map +1 -1
  584. package/dist/esm/Forms/WarningText/WarningText.js +1 -1
  585. package/dist/esm/Forms/WarningText/WarningText.js.map +1 -1
  586. package/dist/esm/Forms/WarningText/WarningText.styles.js +1 -1
  587. package/dist/esm/Forms/WarningText/WarningText.styles.js.map +1 -1
  588. package/dist/esm/GlobalActions/GlobalActions.js +1 -1
  589. package/dist/esm/GlobalActions/GlobalActions.js.map +1 -1
  590. package/dist/esm/GlobalActions/GlobalActions.styles.js +1 -1
  591. package/dist/esm/GlobalActions/GlobalActions.styles.js.map +1 -1
  592. package/dist/esm/Grid/Grid.js +1 -1
  593. package/dist/esm/Grid/Grid.js.map +1 -1
  594. package/dist/esm/Grid/Grid.styles.js +1 -1
  595. package/dist/esm/Grid/Grid.styles.js.map +1 -1
  596. package/dist/esm/Header/Actions/Actions.js +1 -1
  597. package/dist/esm/Header/Actions/Actions.js.map +1 -1
  598. package/dist/esm/Header/Actions/Actions.styles.js +1 -1
  599. package/dist/esm/Header/Actions/Actions.styles.js.map +1 -1
  600. package/dist/esm/Header/Brand/Brand.js +1 -1
  601. package/dist/esm/Header/Brand/Brand.js.map +1 -1
  602. package/dist/esm/Header/Brand/Brand.styles.js +1 -1
  603. package/dist/esm/Header/Brand/Brand.styles.js.map +1 -1
  604. package/dist/esm/Header/Header.js +1 -1
  605. package/dist/esm/Header/Header.js.map +1 -1
  606. package/dist/esm/Header/Header.styles.js +1 -2
  607. package/dist/esm/Header/Header.styles.js.map +1 -1
  608. package/dist/esm/Header/Navigation/MenuBar/Bar.js +1 -1
  609. package/dist/esm/Header/Navigation/MenuBar/Bar.js.map +1 -1
  610. package/dist/esm/Header/Navigation/MenuBar/Bar.styles.js +1 -1
  611. package/dist/esm/Header/Navigation/MenuBar/Bar.styles.js.map +1 -1
  612. package/dist/esm/Header/Navigation/MenuBar/MenuBar.js +1 -1
  613. package/dist/esm/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  614. package/dist/esm/Header/Navigation/MenuItem/MenuItem.js +1 -1
  615. package/dist/esm/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  616. package/dist/esm/Header/Navigation/MenuItem/MenuItem.styles.js +1 -1
  617. package/dist/esm/Header/Navigation/MenuItem/MenuItem.styles.js.map +1 -1
  618. package/dist/esm/Header/Navigation/Navigation.js +1 -1
  619. package/dist/esm/Header/Navigation/Navigation.js.map +1 -1
  620. package/dist/esm/Header/Navigation/Navigation.styles.js +1 -1
  621. package/dist/esm/Header/Navigation/Navigation.styles.js.map +1 -1
  622. package/dist/esm/IconButton/IconButton.js +1 -1
  623. package/dist/esm/IconButton/IconButton.js.map +1 -1
  624. package/dist/esm/InlineEditor/InlineEditor.js +1 -2
  625. package/dist/esm/InlineEditor/InlineEditor.js.map +1 -1
  626. package/dist/esm/InlineEditor/InlineEditor.styles.js +1 -1
  627. package/dist/esm/InlineEditor/InlineEditor.styles.js.map +1 -1
  628. package/dist/esm/Input/Input.js +1 -1
  629. package/dist/esm/Input/Input.js.map +1 -1
  630. package/dist/esm/Input/Input.styles.js +1 -1
  631. package/dist/esm/Input/Input.styles.js.map +1 -1
  632. package/dist/esm/Kpi/Kpi.js +1 -1
  633. package/dist/esm/Kpi/Kpi.js.map +1 -1
  634. package/dist/esm/Kpi/Kpi.styles.js +1 -1
  635. package/dist/esm/Kpi/Kpi.styles.js.map +1 -1
  636. package/dist/esm/Link/Link.js +1 -1
  637. package/dist/esm/Link/Link.js.map +1 -1
  638. package/dist/esm/Link/Link.styles.js +1 -1
  639. package/dist/esm/Link/Link.styles.js.map +1 -1
  640. package/dist/esm/List/List.js +1 -1
  641. package/dist/esm/List/List.js.map +1 -1
  642. package/dist/esm/List/List.styles.js +1 -1
  643. package/dist/esm/List/List.styles.js.map +1 -1
  644. package/dist/esm/ListContainer/ListContainer.js +1 -1
  645. package/dist/esm/ListContainer/ListContainer.js.map +1 -1
  646. package/dist/esm/ListContainer/ListContainer.styles.js +5 -2
  647. package/dist/esm/ListContainer/ListContainer.styles.js.map +1 -1
  648. package/dist/esm/ListContainer/ListItem/ListItem.js +1 -1
  649. package/dist/esm/ListContainer/ListItem/ListItem.js.map +1 -1
  650. package/dist/esm/ListContainer/ListItem/ListItem.styles.js +1 -1
  651. package/dist/esm/ListContainer/ListItem/ListItem.styles.js.map +1 -1
  652. package/dist/esm/Loading/Loading.js +1 -1
  653. package/dist/esm/Loading/Loading.js.map +1 -1
  654. package/dist/esm/Loading/Loading.styles.js +1 -1
  655. package/dist/esm/Loading/Loading.styles.js.map +1 -1
  656. package/dist/esm/LoadingContainer/LoadingContainer.js +2 -2
  657. package/dist/esm/LoadingContainer/LoadingContainer.js.map +1 -1
  658. package/dist/esm/LoadingContainer/LoadingContainer.styles.js +1 -1
  659. package/dist/esm/LoadingContainer/LoadingContainer.styles.js.map +1 -1
  660. package/dist/esm/Login/Login.js +1 -1
  661. package/dist/esm/Login/Login.js.map +1 -1
  662. package/dist/esm/Login/Login.styles.js +1 -1
  663. package/dist/esm/Login/Login.styles.js.map +1 -1
  664. package/dist/esm/MultiButton/MultiButton.js +1 -1
  665. package/dist/esm/MultiButton/MultiButton.js.map +1 -1
  666. package/dist/esm/MultiButton/MultiButton.styles.js +1 -1
  667. package/dist/esm/MultiButton/MultiButton.styles.js.map +1 -1
  668. package/dist/esm/OverflowTooltip/OverflowTooltip.js +1 -1
  669. package/dist/esm/OverflowTooltip/OverflowTooltip.js.map +1 -1
  670. package/dist/esm/OverflowTooltip/OverflowTooltip.styles.js +1 -1
  671. package/dist/esm/OverflowTooltip/OverflowTooltip.styles.js.map +1 -1
  672. package/dist/esm/Pagination/Pagination.js +1 -1
  673. package/dist/esm/Pagination/Pagination.js.map +1 -1
  674. package/dist/esm/Pagination/Pagination.styles.js +1 -1
  675. package/dist/esm/Pagination/Pagination.styles.js.map +1 -1
  676. package/dist/esm/Pagination/Select.js +1 -1
  677. package/dist/esm/Pagination/Select.js.map +1 -1
  678. package/dist/esm/Pagination/Select.styles.js +1 -1
  679. package/dist/esm/Pagination/Select.styles.js.map +1 -1
  680. package/dist/esm/Panel/Panel.js +1 -1
  681. package/dist/esm/Panel/Panel.js.map +1 -1
  682. package/dist/esm/Panel/Panel.styles.js +1 -1
  683. package/dist/esm/Panel/Panel.styles.js.map +1 -1
  684. package/dist/esm/ProgressBar/ProgressBar.js +1 -1
  685. package/dist/esm/ProgressBar/ProgressBar.js.map +1 -1
  686. package/dist/esm/ProgressBar/ProgressBar.styles.js +1 -1
  687. package/dist/esm/ProgressBar/ProgressBar.styles.js.map +1 -1
  688. package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js +1 -1
  689. package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js.map +1 -1
  690. package/dist/esm/QueryBuilder/QueryBuilder.js +1 -1
  691. package/dist/esm/QueryBuilder/QueryBuilder.js.map +1 -1
  692. package/dist/esm/QueryBuilder/QueryBuilder.styles.js +1 -1
  693. package/dist/esm/QueryBuilder/QueryBuilder.styles.js.map +1 -1
  694. package/dist/esm/QueryBuilder/Rule/Rule.js +1 -1
  695. package/dist/esm/QueryBuilder/Rule/Rule.js.map +1 -1
  696. package/dist/esm/QueryBuilder/Rule/Rule.styles.js +1 -1
  697. package/dist/esm/QueryBuilder/Rule/Rule.styles.js.map +1 -1
  698. package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js +1 -1
  699. package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js.map +1 -1
  700. package/dist/esm/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js +1 -1
  701. package/dist/esm/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js.map +1 -1
  702. package/dist/esm/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +3 -5
  703. package/dist/esm/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
  704. package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js +1 -1
  705. package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js.map +1 -1
  706. package/dist/esm/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  707. package/dist/esm/Radio/Radio.js +1 -1
  708. package/dist/esm/Radio/Radio.js.map +1 -1
  709. package/dist/esm/Radio/Radio.styles.js +1 -1
  710. package/dist/esm/Radio/Radio.styles.js.map +1 -1
  711. package/dist/esm/RadioGroup/RadioGroup.js +1 -1
  712. package/dist/esm/RadioGroup/RadioGroup.js.map +1 -1
  713. package/dist/esm/RadioGroup/RadioGroup.styles.js +4 -9
  714. package/dist/esm/RadioGroup/RadioGroup.styles.js.map +1 -1
  715. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +1 -1
  716. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  717. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js +1 -1
  718. package/dist/esm/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +1 -1
  719. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js +1 -1
  720. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  721. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js +1 -1
  722. package/dist/esm/ScrollTo/Horizontal/ScrollToHorizontal.styles.js.map +1 -1
  723. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js +1 -1
  724. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  725. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.styles.js +1 -1
  726. package/dist/esm/ScrollTo/Vertical/ScrollToVertical.styles.js.map +1 -1
  727. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +1 -1
  728. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  729. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +1 -1
  730. package/dist/esm/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -1
  731. package/dist/esm/Section/Section.js +1 -1
  732. package/dist/esm/Section/Section.js.map +1 -1
  733. package/dist/esm/Section/Section.styles.js +1 -1
  734. package/dist/esm/Section/Section.styles.js.map +1 -1
  735. package/dist/esm/Select/Option.js +1 -2
  736. package/dist/esm/Select/Option.js.map +1 -1
  737. package/dist/esm/Select/OptionGroup.js +1 -2
  738. package/dist/esm/Select/OptionGroup.js.map +1 -1
  739. package/dist/esm/Select/Select.js +1 -2
  740. package/dist/esm/Select/Select.js.map +1 -1
  741. package/dist/esm/Select/Select.styles.js +1 -1
  742. package/dist/esm/Select/Select.styles.js.map +1 -1
  743. package/dist/esm/SelectionList/SelectionList.js +1 -1
  744. package/dist/esm/SelectionList/SelectionList.js.map +1 -1
  745. package/dist/esm/SelectionList/SelectionList.styles.js +1 -1
  746. package/dist/esm/SelectionList/SelectionList.styles.js.map +1 -1
  747. package/dist/esm/SimpleGrid/SimpleGrid.js +1 -1
  748. package/dist/esm/SimpleGrid/SimpleGrid.js.map +1 -1
  749. package/dist/esm/SimpleGrid/SimpleGrid.styles.js +1 -1
  750. package/dist/esm/SimpleGrid/SimpleGrid.styles.js.map +1 -1
  751. package/dist/esm/Skeleton/Skeleton.js +1 -1
  752. package/dist/esm/Skeleton/Skeleton.js.map +1 -1
  753. package/dist/esm/Skeleton/Skeleton.styles.js +1 -1
  754. package/dist/esm/Skeleton/Skeleton.styles.js.map +1 -1
  755. package/dist/esm/Slider/Slider.js +1 -1
  756. package/dist/esm/Slider/Slider.js.map +1 -1
  757. package/dist/esm/Slider/Slider.styles.js +1 -1
  758. package/dist/esm/Slider/Slider.styles.js.map +1 -1
  759. package/dist/esm/Slider/SliderInput/SliderInput.js +1 -1
  760. package/dist/esm/Slider/SliderInput/SliderInput.js.map +1 -1
  761. package/dist/esm/Slider/SliderInput/SliderInput.styles.js +1 -1
  762. package/dist/esm/Slider/SliderInput/SliderInput.styles.js.map +1 -1
  763. package/dist/esm/Snackbar/Snackbar.js.map +1 -1
  764. package/dist/esm/Snackbar/Snackbar.styles.js +1 -1
  765. package/dist/esm/Snackbar/Snackbar.styles.js.map +1 -1
  766. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js +1 -2
  767. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
  768. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js +1 -1
  769. package/dist/esm/Snackbar/SnackbarContent/SnackbarContent.styles.js.map +1 -1
  770. package/dist/esm/SnackbarProvider/SnackbarProvider.js.map +1 -1
  771. package/dist/esm/SnackbarProvider/SnackbarProvider.styles.js +1 -1
  772. package/dist/esm/SnackbarProvider/SnackbarProvider.styles.js.map +1 -1
  773. package/dist/esm/Stack/Stack.js +1 -1
  774. package/dist/esm/Stack/Stack.js.map +1 -1
  775. package/dist/esm/Stack/Stack.styles.js +1 -1
  776. package/dist/esm/Stack/Stack.styles.js.map +1 -1
  777. package/dist/esm/Switch/Switch.js +1 -1
  778. package/dist/esm/Switch/Switch.js.map +1 -1
  779. package/dist/esm/Switch/Switch.styles.js +1 -1
  780. package/dist/esm/Switch/Switch.styles.js.map +1 -1
  781. package/dist/esm/Tab/Tab.js +1 -1
  782. package/dist/esm/Tab/Tab.js.map +1 -1
  783. package/dist/esm/Tab/Tab.styles.js +1 -1
  784. package/dist/esm/Tab/Tab.styles.js.map +1 -1
  785. package/dist/esm/Table/Table.js +1 -1
  786. package/dist/esm/Table/Table.js.map +1 -1
  787. package/dist/esm/Table/Table.styles.js +1 -1
  788. package/dist/esm/Table/Table.styles.js.map +1 -1
  789. package/dist/esm/Table/TableBody/TableBody.js.map +1 -1
  790. package/dist/esm/Table/TableBody/TableBody.styles.js +1 -1
  791. package/dist/esm/Table/TableBody/TableBody.styles.js.map +1 -1
  792. package/dist/esm/Table/TableCell/TableCell.js +1 -1
  793. package/dist/esm/Table/TableCell/TableCell.js.map +1 -1
  794. package/dist/esm/Table/TableCell/TableCell.styles.js +1 -1
  795. package/dist/esm/Table/TableCell/TableCell.styles.js.map +1 -1
  796. package/dist/esm/Table/TableContainer/TableContainer.js.map +1 -1
  797. package/dist/esm/Table/TableContainer/TableContainer.styles.js +1 -1
  798. package/dist/esm/Table/TableContainer/TableContainer.styles.js.map +1 -1
  799. package/dist/esm/Table/TableHead/TableHead.js.map +1 -1
  800. package/dist/esm/Table/TableHead/TableHead.styles.js +1 -1
  801. package/dist/esm/Table/TableHead/TableHead.styles.js.map +1 -1
  802. package/dist/esm/Table/TableHeader/TableHeader.js +1 -2
  803. package/dist/esm/Table/TableHeader/TableHeader.js.map +1 -1
  804. package/dist/esm/Table/TableHeader/TableHeader.styles.js +1 -1
  805. package/dist/esm/Table/TableHeader/TableHeader.styles.js.map +1 -1
  806. package/dist/esm/Table/TableRow/TableRow.js +1 -1
  807. package/dist/esm/Table/TableRow/TableRow.js.map +1 -1
  808. package/dist/esm/Table/TableRow/TableRow.styles.js +1 -1
  809. package/dist/esm/Table/TableRow/TableRow.styles.js.map +1 -1
  810. package/dist/esm/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js +1 -1
  811. package/dist/esm/Table/renderers/ProgressColumnCell/ProgressColumnCell.styles.js.map +1 -1
  812. package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js +1 -1
  813. package/dist/esm/Table/renderers/SwitchColumnCell/SwitchColumnCell.styles.js.map +1 -1
  814. package/dist/esm/TableSection/TableSection.js +1 -1
  815. package/dist/esm/TableSection/TableSection.js.map +1 -1
  816. package/dist/esm/TableSection/TableSection.styles.js +1 -1
  817. package/dist/esm/TableSection/TableSection.styles.js.map +1 -1
  818. package/dist/esm/Tabs/Tabs.js +1 -1
  819. package/dist/esm/Tabs/Tabs.js.map +1 -1
  820. package/dist/esm/Tabs/Tabs.styles.js +1 -1
  821. package/dist/esm/Tabs/Tabs.styles.js.map +1 -1
  822. package/dist/esm/Tag/Tag.js +1 -2
  823. package/dist/esm/Tag/Tag.js.map +1 -1
  824. package/dist/esm/Tag/Tag.styles.js +1 -1
  825. package/dist/esm/Tag/Tag.styles.js.map +1 -1
  826. package/dist/esm/TagsInput/TagsInput.js +1 -1
  827. package/dist/esm/TagsInput/TagsInput.js.map +1 -1
  828. package/dist/esm/TagsInput/TagsInput.styles.js +1 -1
  829. package/dist/esm/TagsInput/TagsInput.styles.js.map +1 -1
  830. package/dist/esm/TextArea/TextArea.js +1 -1
  831. package/dist/esm/TextArea/TextArea.js.map +1 -1
  832. package/dist/esm/TextArea/TextArea.styles.js +1 -1
  833. package/dist/esm/TextArea/TextArea.styles.js.map +1 -1
  834. package/dist/esm/TimeAgo/TimeAgo.js +1 -1
  835. package/dist/esm/TimeAgo/TimeAgo.js.map +1 -1
  836. package/dist/esm/TimeAgo/TimeAgo.styles.js +1 -1
  837. package/dist/esm/TimeAgo/TimeAgo.styles.js.map +1 -1
  838. package/dist/esm/TimePicker/TimePicker.js +1 -1
  839. package/dist/esm/TimePicker/TimePicker.js.map +1 -1
  840. package/dist/esm/TimePicker/TimePicker.styles.js +1 -1
  841. package/dist/esm/TimePicker/TimePicker.styles.js.map +1 -1
  842. package/dist/esm/TimePicker/Unit/Unit.styles.js +1 -1
  843. package/dist/esm/TimePicker/Unit/Unit.styles.js.map +1 -1
  844. package/dist/esm/ToggleButton/ToggleButton.js +1 -1
  845. package/dist/esm/ToggleButton/ToggleButton.js.map +1 -1
  846. package/dist/esm/Tooltip/Tooltip.js +1 -2
  847. package/dist/esm/Tooltip/Tooltip.js.map +1 -1
  848. package/dist/esm/Tooltip/Tooltip.styles.js +1 -1
  849. package/dist/esm/Tooltip/Tooltip.styles.js.map +1 -1
  850. package/dist/esm/TreeView/TreeItem/DefaultContent.js +1 -1
  851. package/dist/esm/TreeView/TreeItem/DefaultContent.js.map +1 -1
  852. package/dist/esm/TreeView/TreeItem/TreeItem.js +1 -1
  853. package/dist/esm/TreeView/TreeItem/TreeItem.js.map +1 -1
  854. package/dist/esm/TreeView/TreeItem/TreeItem.styles.js +1 -1
  855. package/dist/esm/TreeView/TreeItem/TreeItem.styles.js.map +1 -1
  856. package/dist/esm/TreeView/TreeView.js +1 -1
  857. package/dist/esm/TreeView/TreeView.js.map +1 -1
  858. package/dist/esm/TreeView/TreeView.styles.js +1 -1
  859. package/dist/esm/TreeView/TreeView.styles.js.map +1 -1
  860. package/dist/esm/Typography/Typography.js +1 -2
  861. package/dist/esm/Typography/Typography.js.map +1 -1
  862. package/dist/esm/Typography/Typography.styles.js +1 -1
  863. package/dist/esm/Typography/Typography.styles.js.map +1 -1
  864. package/dist/esm/VerticalNavigation/Actions/Action.js +1 -1
  865. package/dist/esm/VerticalNavigation/Actions/Action.js.map +1 -1
  866. package/dist/esm/VerticalNavigation/Actions/Action.styles.js +1 -1
  867. package/dist/esm/VerticalNavigation/Actions/Action.styles.js.map +1 -1
  868. package/dist/esm/VerticalNavigation/Actions/Actions.js +1 -1
  869. package/dist/esm/VerticalNavigation/Actions/Actions.js.map +1 -1
  870. package/dist/esm/VerticalNavigation/Actions/Actions.styles.js +1 -1
  871. package/dist/esm/VerticalNavigation/Actions/Actions.styles.js.map +1 -1
  872. package/dist/esm/VerticalNavigation/Header/Header.js +1 -1
  873. package/dist/esm/VerticalNavigation/Header/Header.js.map +1 -1
  874. package/dist/esm/VerticalNavigation/Header/Header.styles.js +1 -1
  875. package/dist/esm/VerticalNavigation/Header/Header.styles.js.map +1 -1
  876. package/dist/esm/VerticalNavigation/Navigation/Navigation.js +1 -1
  877. package/dist/esm/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  878. package/dist/esm/VerticalNavigation/Navigation/Navigation.styles.js +1 -1
  879. package/dist/esm/VerticalNavigation/Navigation/Navigation.styles.js.map +1 -1
  880. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js +1 -1
  881. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopup.styles.js.map +1 -1
  882. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js +1 -1
  883. package/dist/esm/VerticalNavigation/NavigationPopup/NavigationPopupContainer.js.map +1 -1
  884. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.js +1 -1
  885. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  886. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js +1 -1
  887. package/dist/esm/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +1 -1
  888. package/dist/esm/VerticalNavigation/TreeView/TreeView.js +1 -1
  889. package/dist/esm/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  890. package/dist/esm/VerticalNavigation/TreeView/TreeView.styles.js +1 -1
  891. package/dist/esm/VerticalNavigation/TreeView/TreeView.styles.js.map +1 -1
  892. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js +2 -2
  893. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  894. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js +1 -1
  895. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
  896. package/dist/esm/VerticalNavigation/VerticalNavigation.js +1 -1
  897. package/dist/esm/VerticalNavigation/VerticalNavigation.js.map +1 -1
  898. package/dist/esm/VerticalNavigation/VerticalNavigation.styles.js +1 -1
  899. package/dist/esm/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
  900. package/dist/esm/index.js +2 -3
  901. package/dist/types/index.d.ts +135 -530
  902. package/package.json +6 -5
  903. package/dist/cjs/hooks/useDefaultProps.cjs +0 -45
  904. package/dist/esm/hooks/useDefaultProps.js +0 -45
  905. package/dist/esm/hooks/useDefaultProps.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.styles.js","sources":["../../../src/ProgressBar/ProgressBar.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../utils/classes\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvProgressBar\", {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n // progress\n width: \"100%\",\n },\n progress: {\n width: \"100%\",\n },\n progressBar: {\n backgroundColor: theme.colors.secondary,\n },\n progressBarLabel: {\n backgroundColor: \"transparent\",\n display: \"flex\",\n justifyContent: \"end\",\n },\n progressContainer: {\n width: \"100%\",\n },\n progressDone: {\n backgroundColor: theme.colors.positive,\n },\n progressBarContainer: {\n display: \"flex\",\n width: \"100%\",\n height: 4,\n backgroundColor: theme.colors.atmo4,\n },\n progressError: {\n backgroundColor: theme.colors.negative,\n },\n});\n"],"names":[],"mappings":";;AAIO,MAAM,EAAE,YAAY,kBAAkB,cAAc,iBAAiB;AAAA,EAC1E,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAgB;AAAA;AAAA,IAGhB,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,kBAAkB;AAAA,IAChB,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,gBAAgB;AAAA,EAClB;AAAA,EACA,mBAAmB;AAAA,IACjB,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,sBAAsB;AAAA,IACpB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,eAAe;AAAA,IACb,iBAAiB,MAAM,OAAO;AAAA,EAChC;AACF,CAAC;"}
1
+ {"version":3,"file":"ProgressBar.styles.js","sources":["../../../src/ProgressBar/ProgressBar.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvProgressBar\", {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n // progress\n width: \"100%\",\n },\n progress: {\n width: \"100%\",\n },\n progressBar: {\n backgroundColor: theme.colors.secondary,\n },\n progressBarLabel: {\n backgroundColor: \"transparent\",\n display: \"flex\",\n justifyContent: \"end\",\n },\n progressContainer: {\n width: \"100%\",\n },\n progressDone: {\n backgroundColor: theme.colors.positive,\n },\n progressBarContainer: {\n display: \"flex\",\n width: \"100%\",\n height: 4,\n backgroundColor: theme.colors.atmo4,\n },\n progressError: {\n backgroundColor: theme.colors.negative,\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,YAAY,kBAAkB,cAAc,iBAAiB;AAAA,EAC1E,MAAM;AAAA,IACJ,SAAS;AAAA,IACT,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,gBAAgB;AAAA;AAAA,IAGhB,OAAO;AAAA,EACT;AAAA,EACA,UAAU;AAAA,IACR,OAAO;AAAA,EACT;AAAA,EACA,aAAa;AAAA,IACX,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,kBAAkB;AAAA,IAChB,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,gBAAgB;AAAA,EAClB;AAAA,EACA,mBAAmB;AAAA,IACjB,OAAO;AAAA,EACT;AAAA,EACA,cAAc;AAAA,IACZ,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,sBAAsB;AAAA,IACpB,SAAS;AAAA,IACT,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,iBAAiB,MAAM,OAAO;AAAA,EAChC;AAAA,EACA,eAAe;AAAA,IACb,iBAAiB,MAAM,OAAO;AAAA,EAChC;AACF,CAAC;"}
@@ -1,4 +1,4 @@
1
- import { createClasses } from "@hitachivantara/uikit-react-shared";
1
+ import { createClasses } from "@hitachivantara/uikit-react-utils";
2
2
  const { useClasses, staticClasses } = createClasses(
3
3
  "HvQueryBuilder-ConfirmationDialog",
4
4
  {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmationDialog.styles.js","sources":["../../../../src/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.tsx"],"sourcesContent":["import { createClasses } from \"../../utils/classes\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-ConfirmationDialog\",\n {\n paper: {},\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,OAAO,CAAC;AAAA,EACV;AACF;"}
1
+ {"version":3,"file":"ConfirmationDialog.styles.js","sources":["../../../../src/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-ConfirmationDialog\",\n {\n paper: {},\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,OAAO,CAAC;AAAA,EACV;AACF;"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { useRef, useState, useReducer, useMemo, useEffect } from "react";
3
+ import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
3
4
  import { useControlled } from "../hooks/useControlled.js";
4
- import { useDefaultProps } from "../hooks/useDefaultProps.js";
5
5
  import { useLabels } from "../hooks/useLabels.js";
6
6
  import { isEqual } from "../utils/helpers.js";
7
7
  import { defaultLabels, HvQueryBuilderProvider, defaultOperators, defaultCombinators } from "./Context.js";
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.js","sources":["../../../src/QueryBuilder/QueryBuilder.tsx"],"sourcesContent":["import { useEffect, useMemo, useReducer, useRef, useState } from \"react\";\n\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport { DeepPartial } from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { isEqual } from \"../utils/helpers\";\nimport { ConfirmationDialog } from \"./ConfirmationDialog\";\nimport {\n defaultCombinators,\n defaultLabels,\n defaultOperators,\n HvQueryBuilderProvider,\n} from \"./Context\";\nimport { staticClasses, useClasses } from \"./QueryBuilder.styles\";\nimport { RuleGroup } from \"./RuleGroup\";\nimport {\n AskAction,\n defaultRendererKey,\n HvQueryBuilderAttribute,\n HvQueryBuilderLabels,\n HvQueryBuilderQuery,\n HvQueryBuilderQueryCombinator,\n HvQueryBuilderQueryOperator,\n HvQueryBuilderRenderers,\n} from \"./types\";\nimport { clearNodeIds, emptyGroup, setNodeIds } from \"./utils\";\nimport reducer from \"./utils/reducer\";\n\nexport { staticClasses as queryBuilderClasses };\n\nexport type HvQueryBuilderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvQueryBuilderProps {\n /** The query attribute types. */\n attributes?: Record<string, HvQueryBuilderAttribute>;\n /** The query rules operators by attribute type and combinator. */\n operators?: Record<string, HvQueryBuilderQueryOperator[]>;\n /** The query combinators operands. */\n combinators?: HvQueryBuilderQueryCombinator[];\n /** The query when the component is controlled. */\n value?: HvQueryBuilderQuery;\n /** The initial query when the component is uncontrolled. */\n defaultValue?: HvQueryBuilderQuery;\n /**\n * The initial query when the component is uncontrolled.\n *\n * @deprecated Use `defaultValue` instead.\n * */\n query?: HvQueryBuilderQuery; // TODO - remove in v6\n /** Callback fired when the query changes. */\n onChange?: (value: HvQueryBuilderQuery) => void;\n /** Max depth of nested query groups. */\n maxDepth?: number;\n /** Object containing all the labels. */\n labels?: DeepPartial<HvQueryBuilderLabels>;\n /** Whether the query builder is in read-only mode. */\n readOnly?: boolean;\n /**\n * Operators that should use the empty value renderer when selected.\n *\n * When one of the listed operators is selected, the rule value is reset and an empty component is rendered.\n * This property takes priority over `renderers`.\n *\n * @default [\"Empty\", \"IsNotEmpty\"]\n * */\n emptyRenderer?: string[];\n /** Custom renderers for the rules' value. */\n renderers?: HvQueryBuilderRenderers;\n /** Whether to opt-out of the confirmation dialogs shown before removing rules and rule groups. @default false. */\n disableConfirmation?: boolean;\n /**\n * Whether to allow attributes to be repeated in AND conditions.\n * By default an error is shown when the selected attribute already exists in an AND conditions.\n * @default false\n */\n allowRepeatedAttributes?: boolean; // TODO - review in v6: should we even have this validation? if needed, we should review its behavior.\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvQueryBuilderClasses;\n}\n\n// TODO - v6\n// - \"range\", \"Empty\", and \"IsNotEmpty\" operators with internal/built-in logic\n// - review query builder validation\n\n// Notes:\n// Deep clone is needed throughout the component to avoid undesired mutations in props, state, and ref values\n\n/**\n * This component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n *\n * Take a look at the [usage page](https://lumada-design.github.io/uikit/master/?path=/docs/widgets-query-builder-usage--docs) to learn more about this component.\n */\nexport const HvQueryBuilder = (props: HvQueryBuilderProps) => {\n const {\n attributes,\n renderers,\n query: queryProp, // TODO - remove in v6\n value,\n defaultValue,\n onChange,\n disableConfirmation = false,\n allowRepeatedAttributes = false,\n operators = defaultOperators,\n combinators = defaultCombinators,\n maxDepth = 1,\n labels: labelsProp,\n readOnly = false,\n emptyRenderer = [\"Empty\", \"IsNotEmpty\"],\n classes: classesProp,\n } = useDefaultProps(\"HvQueryBuilder\", props);\n\n if (\n import.meta.env.DEV &&\n [\n Object.values(attributes || {}).map(({ type }) => type),\n Object.values(operators || {}).flatMap((ops) =>\n ops.map(({ operator }) => operator),\n ),\n ]\n .flat()\n ?.find((key) => key === defaultRendererKey)\n ) {\n // eslint-disable-next-line no-console\n console.error(\n `${defaultRendererKey} is a restricted key and shouldn't be used as an attribute or operator type. Update the key to avoid unexpected behaviors.`,\n );\n }\n\n const { classes } = useClasses(classesProp);\n\n const currentAttributes = useRef<HvQueryBuilderProps[\"attributes\"] | null>(\n null,\n );\n\n const controlled = useRef(value != null);\n const initialQuery = useRef(\n value ?? defaultValue ?? queryProp ?? emptyGroup(),\n );\n const [query, setQuery] = useControlled(value, initialQuery.current);\n const prevQuery = useRef(query);\n\n const [pendingAction, setPendingAction] = useState<AskAction>();\n const [initialState, setInitialState] = useState(true);\n\n const [state, dispatchAction] = useReducer(\n reducer,\n setNodeIds(structuredClone(initialQuery.current)),\n );\n\n const labels = useLabels(defaultLabels, labelsProp);\n\n const contextValue = useMemo(\n () => ({\n dispatchAction,\n askAction: setPendingAction,\n attributes,\n operators,\n combinators,\n maxDepth,\n labels,\n initialTouched: initialState,\n readOnly,\n renderers,\n disableConfirmation,\n allowRepeatedAttributes,\n emptyRenderer,\n }),\n [\n attributes,\n operators,\n combinators,\n maxDepth,\n labels,\n readOnly,\n initialState,\n renderers,\n disableConfirmation,\n emptyRenderer,\n allowRepeatedAttributes,\n ],\n );\n\n // Keep track of attributes\n useEffect(() => {\n if (currentAttributes.current == null) {\n // First run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // Attributes changed. The existing query is almost certainly invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n useEffect(() => {\n // \"value\" prop was updated by user (when controlled)\n if (!isEqual(prevQuery.current, query)) {\n dispatchAction({\n type: \"set-query\",\n query: setNodeIds(structuredClone(query), state),\n });\n prevQuery.current = query;\n } else if (\n !isEqual(\n clearNodeIds(structuredClone(state)),\n clearNodeIds(structuredClone(query)),\n )\n ) {\n setInitialState(false);\n\n // TODO - remove \"true\" from clearNodeIds in v6 (only keep else statement)\n // To avoid breaking changes, clearNodeIds will delete all ids provided by the user when uncontrolled\n // In the future if the user provides ids, it doesn't make sense to remove them with onChange\n if (!controlled.current) {\n onChange?.(\n clearNodeIds(structuredClone(state), true) as HvQueryBuilderQuery,\n );\n } else {\n // When controlled, the ids provided by the user are not removed. Only the auto generated ones.\n onChange?.(clearNodeIds(structuredClone(state)) as HvQueryBuilderQuery);\n }\n\n prevQuery.current = state;\n // This will only run if uncontrolled\n setQuery(state);\n }\n }, [onChange, query, setQuery, state]);\n\n const handleConfirm = () => {\n if (pendingAction) {\n setPendingAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const handleCancel = () => {\n setPendingAction(undefined);\n };\n\n return (\n <HvQueryBuilderProvider value={contextValue}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={handleConfirm}\n onCancel={handleCancel}\n title={pendingAction?.dialog.dialogTitle}\n message={pendingAction?.dialog.dialogMessage}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip}\n />\n </HvQueryBuilderProvider>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilder.js","sources":["../../../src/QueryBuilder/QueryBuilder.tsx"],"sourcesContent":["import { useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useLabels } from \"../hooks/useLabels\";\nimport { DeepPartial } from \"../types/generic\";\nimport { isEqual } from \"../utils/helpers\";\nimport { ConfirmationDialog } from \"./ConfirmationDialog\";\nimport {\n defaultCombinators,\n defaultLabels,\n defaultOperators,\n HvQueryBuilderProvider,\n} from \"./Context\";\nimport { staticClasses, useClasses } from \"./QueryBuilder.styles\";\nimport { RuleGroup } from \"./RuleGroup\";\nimport {\n AskAction,\n defaultRendererKey,\n HvQueryBuilderAttribute,\n HvQueryBuilderLabels,\n HvQueryBuilderQuery,\n HvQueryBuilderQueryCombinator,\n HvQueryBuilderQueryOperator,\n HvQueryBuilderRenderers,\n} from \"./types\";\nimport { clearNodeIds, emptyGroup, setNodeIds } from \"./utils\";\nimport reducer from \"./utils/reducer\";\n\nexport { staticClasses as queryBuilderClasses };\n\nexport type HvQueryBuilderClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvQueryBuilderProps {\n /** The query attribute types. */\n attributes?: Record<string, HvQueryBuilderAttribute>;\n /** The query rules operators by attribute type and combinator. */\n operators?: Record<string, HvQueryBuilderQueryOperator[]>;\n /** The query combinators operands. */\n combinators?: HvQueryBuilderQueryCombinator[];\n /** The query when the component is controlled. */\n value?: HvQueryBuilderQuery;\n /** The initial query when the component is uncontrolled. */\n defaultValue?: HvQueryBuilderQuery;\n /**\n * The initial query when the component is uncontrolled.\n *\n * @deprecated Use `defaultValue` instead.\n * */\n query?: HvQueryBuilderQuery; // TODO - remove in v6\n /** Callback fired when the query changes. */\n onChange?: (value: HvQueryBuilderQuery) => void;\n /** Max depth of nested query groups. */\n maxDepth?: number;\n /** Object containing all the labels. */\n labels?: DeepPartial<HvQueryBuilderLabels>;\n /** Whether the query builder is in read-only mode. */\n readOnly?: boolean;\n /**\n * Operators that should use the empty value renderer when selected.\n *\n * When one of the listed operators is selected, the rule value is reset and an empty component is rendered.\n * This property takes priority over `renderers`.\n *\n * @default [\"Empty\", \"IsNotEmpty\"]\n * */\n emptyRenderer?: string[];\n /** Custom renderers for the rules' value. */\n renderers?: HvQueryBuilderRenderers;\n /** Whether to opt-out of the confirmation dialogs shown before removing rules and rule groups. @default false. */\n disableConfirmation?: boolean;\n /**\n * Whether to allow attributes to be repeated in AND conditions.\n * By default an error is shown when the selected attribute already exists in an AND conditions.\n * @default false\n */\n allowRepeatedAttributes?: boolean; // TODO - review in v6: should we even have this validation? if needed, we should review its behavior.\n /** A Jss Object used to override or extend the styles applied. */\n classes?: HvQueryBuilderClasses;\n}\n\n// TODO - v6\n// - \"range\", \"Empty\", and \"IsNotEmpty\" operators with internal/built-in logic\n// - review query builder validation\n\n// Notes:\n// Deep clone is needed throughout the component to avoid undesired mutations in props, state, and ref values\n\n/**\n * This component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n *\n * Take a look at the [usage page](https://lumada-design.github.io/uikit/master/?path=/docs/widgets-query-builder-usage--docs) to learn more about this component.\n */\nexport const HvQueryBuilder = (props: HvQueryBuilderProps) => {\n const {\n attributes,\n renderers,\n query: queryProp, // TODO - remove in v6\n value,\n defaultValue,\n onChange,\n disableConfirmation = false,\n allowRepeatedAttributes = false,\n operators = defaultOperators,\n combinators = defaultCombinators,\n maxDepth = 1,\n labels: labelsProp,\n readOnly = false,\n emptyRenderer = [\"Empty\", \"IsNotEmpty\"],\n classes: classesProp,\n } = useDefaultProps(\"HvQueryBuilder\", props);\n\n if (\n import.meta.env.DEV &&\n [\n Object.values(attributes || {}).map(({ type }) => type),\n Object.values(operators || {}).flatMap((ops) =>\n ops.map(({ operator }) => operator),\n ),\n ]\n .flat()\n ?.find((key) => key === defaultRendererKey)\n ) {\n // eslint-disable-next-line no-console\n console.error(\n `${defaultRendererKey} is a restricted key and shouldn't be used as an attribute or operator type. Update the key to avoid unexpected behaviors.`,\n );\n }\n\n const { classes } = useClasses(classesProp);\n\n const currentAttributes = useRef<HvQueryBuilderProps[\"attributes\"] | null>(\n null,\n );\n\n const controlled = useRef(value != null);\n const initialQuery = useRef(\n value ?? defaultValue ?? queryProp ?? emptyGroup(),\n );\n const [query, setQuery] = useControlled(value, initialQuery.current);\n const prevQuery = useRef(query);\n\n const [pendingAction, setPendingAction] = useState<AskAction>();\n const [initialState, setInitialState] = useState(true);\n\n const [state, dispatchAction] = useReducer(\n reducer,\n setNodeIds(structuredClone(initialQuery.current)),\n );\n\n const labels = useLabels(defaultLabels, labelsProp);\n\n const contextValue = useMemo(\n () => ({\n dispatchAction,\n askAction: setPendingAction,\n attributes,\n operators,\n combinators,\n maxDepth,\n labels,\n initialTouched: initialState,\n readOnly,\n renderers,\n disableConfirmation,\n allowRepeatedAttributes,\n emptyRenderer,\n }),\n [\n attributes,\n operators,\n combinators,\n maxDepth,\n labels,\n readOnly,\n initialState,\n renderers,\n disableConfirmation,\n emptyRenderer,\n allowRepeatedAttributes,\n ],\n );\n\n // Keep track of attributes\n useEffect(() => {\n if (currentAttributes.current == null) {\n // First run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // Attributes changed. The existing query is almost certainly invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n useEffect(() => {\n // \"value\" prop was updated by user (when controlled)\n if (!isEqual(prevQuery.current, query)) {\n dispatchAction({\n type: \"set-query\",\n query: setNodeIds(structuredClone(query), state),\n });\n prevQuery.current = query;\n } else if (\n !isEqual(\n clearNodeIds(structuredClone(state)),\n clearNodeIds(structuredClone(query)),\n )\n ) {\n setInitialState(false);\n\n // TODO - remove \"true\" from clearNodeIds in v6 (only keep else statement)\n // To avoid breaking changes, clearNodeIds will delete all ids provided by the user when uncontrolled\n // In the future if the user provides ids, it doesn't make sense to remove them with onChange\n if (!controlled.current) {\n onChange?.(\n clearNodeIds(structuredClone(state), true) as HvQueryBuilderQuery,\n );\n } else {\n // When controlled, the ids provided by the user are not removed. Only the auto generated ones.\n onChange?.(clearNodeIds(structuredClone(state)) as HvQueryBuilderQuery);\n }\n\n prevQuery.current = state;\n // This will only run if uncontrolled\n setQuery(state);\n }\n }, [onChange, query, setQuery, state]);\n\n const handleConfirm = () => {\n if (pendingAction) {\n setPendingAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const handleCancel = () => {\n setPendingAction(undefined);\n };\n\n return (\n <HvQueryBuilderProvider value={contextValue}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={handleConfirm}\n onCancel={handleCancel}\n title={pendingAction?.dialog.dialogTitle}\n message={pendingAction?.dialog.dialogMessage}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip}\n />\n </HvQueryBuilderProvider>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ import { createClasses } from "@hitachivantara/uikit-react-utils";
1
2
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { useClasses, staticClasses } = createClasses("HvQueryBuilder", {
4
4
  /** Styles applied to the component root class. */
5
5
  root: {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.styles.js","sources":["../../../src/QueryBuilder/QueryBuilder.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../utils/classes\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvQueryBuilder\", {\n /** Styles applied to the component root class. */\n root: {\n position: \"relative\",\n padding: theme.space.sm,\n marginTop: 12,\n marginBottom: 32,\n border: `1px solid ${theme.colors.atmo4}`,\n },\n /** Styles applied to the top group container. */\n topGroup: {\n margin: theme.space.sm,\n backgroundColor: \"transparent\",\n maxWidth: \"100%\",\n paddingBottom: theme.space.lg,\n },\n /** Styles applied to the sub group containers. */\n subGroup: {\n margin: \"40px 14px 32px 20px\",\n minHeight: 120,\n paddingBottom: theme.space.md,\n\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: 21,\n height: 36,\n\n borderBottom: `1px solid ${theme.colors.atmo4}`,\n borderLeft: `1px solid ${theme.colors.atmo4}`,\n\n top: -38,\n left: -38,\n },\n \":not($topRulesContainer)>&:last-child::after\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: 32,\n height: \"100%\",\n\n borderLeft: `1px solid ${theme.colors.atmo4}`,\n\n top: 0,\n left: `calc(${theme.space.sm} + 2)`,\n },\n },\n /** Styles applied to the radio button+label topGroup when the radio button is disabled. */\n combinator: { minWidth: 80 },\n /** Styles applied to the multi-button combinator container on the top group. */\n topCombinator: {\n position: \"absolute\",\n top: `calc(-1 * ${theme.space.sm})`,\n left: `calc(-1 * ${theme.space.sm})`,\n },\n /** Styles applied to each combinator button. */\n combinatorButton: {},\n /** Styles applied to the remove button. */\n removeButton: {},\n /** Styles applied to the remove button on the top group. */\n topRemoveButton: { position: \"absolute\", top: -16, right: -16 },\n /** Styles applied to the remove button when disabled on the top group. */\n topRemoveButtonDisabled: { backgroundColor: theme.colors.atmo2 },\n /** Styles applied to the rules container. */\n rulesContainer: {},\n /** Styles applied to the sub rules container. */\n subRulesContainer: {\n borderLeft: `1px solid ${theme.colors.atmo4}`,\n marginLeft: theme.space.sm,\n marginBottom: theme.space.md,\n paddingLeft: theme.space.sm,\n paddingTop: 7,\n position: \"relative\",\n left: -33,\n width: \"100%\",\n },\n /** Styles applied to the action button container. */\n actionButtonContainer: {\n marginLeft: \"auto\",\n\n \"&>*\": {\n marginLeft: theme.space.sm,\n },\n },\n /** Styles applied to the top action button container. */\n topActionButtonContainer: {\n position: \"absolute\",\n bottom: `calc(-1 * ${theme.space.md} * 0.5 - 3px)`,\n right: `calc(${theme.space.sm} * 1.75 + 2px)`,\n },\n /** Styles applied to the top rules container. */\n topRulesContainer: {},\n /** Styles applied to the background of buttons to remove transparency */\n buttonBackground: {\n backgroundColor: theme.colors.atmo2,\n display: \"inline-flex\",\n },\n createConditionButton: {\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n padding: 0,\n\n \"&:disabled\": { cursor: \"not-allowed\", pointerEvents: \"none\" },\n },\n createGroupButton: {\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n padding: 0,\n\n \"&:disabled\": { cursor: \"not-allowed\", pointerEvents: \"none\" },\n },\n});\n"],"names":[],"mappings":";;AAIO,MAAM,EAAE,YAAY,kBAAkB,cAAc,kBAAkB;AAAA;AAAA,EAE3E,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,SAAS,MAAM,MAAM;AAAA,IACrB,WAAW;AAAA,IACX,cAAc;AAAA,IACd,QAAQ,aAAa,MAAM,OAAO,KAAK;AAAA,EACzC;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,QAAQ,MAAM,MAAM;AAAA,IACpB,iBAAiB;AAAA,IACjB,UAAU;AAAA,IACV,eAAe,MAAM,MAAM;AAAA,EAC7B;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,eAAe,MAAM,MAAM;AAAA,IAE3B,aAAa;AAAA,MACX,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MAER,OAAO;AAAA,MACP,QAAQ;AAAA,MAER,cAAc,aAAa,MAAM,OAAO,KAAK;AAAA,MAC7C,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,MAE3C,KAAK;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,gDAAgD;AAAA,MAC9C,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MAER,OAAO;AAAA,MACP,QAAQ;AAAA,MAER,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,MAE3C,KAAK;AAAA,MACL,MAAM,QAAQ,MAAM,MAAM,EAAE;AAAA,IAC9B;AAAA,EACF;AAAA;AAAA,EAEA,YAAY,EAAE,UAAU,GAAG;AAAA;AAAA,EAE3B,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,aAAa,MAAM,MAAM,EAAE;AAAA,IAChC,MAAM,aAAa,MAAM,MAAM,EAAE;AAAA,EACnC;AAAA;AAAA,EAEA,kBAAkB,CAAC;AAAA;AAAA,EAEnB,cAAc,CAAC;AAAA;AAAA,EAEf,iBAAiB,EAAE,UAAU,YAAY,KAAK,KAAK,OAAO,IAAI;AAAA;AAAA,EAE9D,yBAAyB,EAAE,iBAAiB,MAAM,OAAO,MAAM;AAAA;AAAA,EAE/D,gBAAgB,CAAC;AAAA;AAAA,EAEjB,mBAAmB;AAAA,IACjB,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,IAC3C,YAAY,MAAM,MAAM;AAAA,IACxB,cAAc,MAAM,MAAM;AAAA,IAC1B,aAAa,MAAM,MAAM;AAAA,IACzB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA;AAAA,EAEA,uBAAuB;AAAA,IACrB,YAAY;AAAA,IAEZ,OAAO;AAAA,MACL,YAAY,MAAM,MAAM;AAAA,IAC1B;AAAA,EACF;AAAA;AAAA,EAEA,0BAA0B;AAAA,IACxB,UAAU;AAAA,IACV,QAAQ,aAAa,MAAM,MAAM,EAAE;AAAA,IACnC,OAAO,QAAQ,MAAM,MAAM,EAAE;AAAA,EAC/B;AAAA;AAAA,EAEA,mBAAmB,CAAC;AAAA;AAAA,EAEpB,kBAAkB;AAAA,IAChB,iBAAiB,MAAM,OAAO;AAAA,IAC9B,SAAS;AAAA,EACX;AAAA,EACA,uBAAuB;AAAA,IACrB,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,SAAS;AAAA,IAET,cAAc,EAAE,QAAQ,eAAe,eAAe,OAAO;AAAA,EAC/D;AAAA,EACA,mBAAmB;AAAA,IACjB,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,SAAS;AAAA,IAET,cAAc,EAAE,QAAQ,eAAe,eAAe,OAAO;AAAA,EAC/D;AACF,CAAC;"}
1
+ {"version":3,"file":"QueryBuilder.styles.js","sources":["../../../src/QueryBuilder/QueryBuilder.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvQueryBuilder\", {\n /** Styles applied to the component root class. */\n root: {\n position: \"relative\",\n padding: theme.space.sm,\n marginTop: 12,\n marginBottom: 32,\n border: `1px solid ${theme.colors.atmo4}`,\n },\n /** Styles applied to the top group container. */\n topGroup: {\n margin: theme.space.sm,\n backgroundColor: \"transparent\",\n maxWidth: \"100%\",\n paddingBottom: theme.space.lg,\n },\n /** Styles applied to the sub group containers. */\n subGroup: {\n margin: \"40px 14px 32px 20px\",\n minHeight: 120,\n paddingBottom: theme.space.md,\n\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: 21,\n height: 36,\n\n borderBottom: `1px solid ${theme.colors.atmo4}`,\n borderLeft: `1px solid ${theme.colors.atmo4}`,\n\n top: -38,\n left: -38,\n },\n \":not($topRulesContainer)>&:last-child::after\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: 32,\n height: \"100%\",\n\n borderLeft: `1px solid ${theme.colors.atmo4}`,\n\n top: 0,\n left: `calc(${theme.space.sm} + 2)`,\n },\n },\n /** Styles applied to the radio button+label topGroup when the radio button is disabled. */\n combinator: { minWidth: 80 },\n /** Styles applied to the multi-button combinator container on the top group. */\n topCombinator: {\n position: \"absolute\",\n top: `calc(-1 * ${theme.space.sm})`,\n left: `calc(-1 * ${theme.space.sm})`,\n },\n /** Styles applied to each combinator button. */\n combinatorButton: {},\n /** Styles applied to the remove button. */\n removeButton: {},\n /** Styles applied to the remove button on the top group. */\n topRemoveButton: { position: \"absolute\", top: -16, right: -16 },\n /** Styles applied to the remove button when disabled on the top group. */\n topRemoveButtonDisabled: { backgroundColor: theme.colors.atmo2 },\n /** Styles applied to the rules container. */\n rulesContainer: {},\n /** Styles applied to the sub rules container. */\n subRulesContainer: {\n borderLeft: `1px solid ${theme.colors.atmo4}`,\n marginLeft: theme.space.sm,\n marginBottom: theme.space.md,\n paddingLeft: theme.space.sm,\n paddingTop: 7,\n position: \"relative\",\n left: -33,\n width: \"100%\",\n },\n /** Styles applied to the action button container. */\n actionButtonContainer: {\n marginLeft: \"auto\",\n\n \"&>*\": {\n marginLeft: theme.space.sm,\n },\n },\n /** Styles applied to the top action button container. */\n topActionButtonContainer: {\n position: \"absolute\",\n bottom: `calc(-1 * ${theme.space.md} * 0.5 - 3px)`,\n right: `calc(${theme.space.sm} * 1.75 + 2px)`,\n },\n /** Styles applied to the top rules container. */\n topRulesContainer: {},\n /** Styles applied to the background of buttons to remove transparency */\n buttonBackground: {\n backgroundColor: theme.colors.atmo2,\n display: \"inline-flex\",\n },\n createConditionButton: {\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n padding: 0,\n\n \"&:disabled\": { cursor: \"not-allowed\", pointerEvents: \"none\" },\n },\n createGroupButton: {\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n padding: 0,\n\n \"&:disabled\": { cursor: \"not-allowed\", pointerEvents: \"none\" },\n },\n});\n"],"names":[],"mappings":";;AAGO,MAAM,EAAE,YAAY,kBAAkB,cAAc,kBAAkB;AAAA;AAAA,EAE3E,MAAM;AAAA,IACJ,UAAU;AAAA,IACV,SAAS,MAAM,MAAM;AAAA,IACrB,WAAW;AAAA,IACX,cAAc;AAAA,IACd,QAAQ,aAAa,MAAM,OAAO,KAAK;AAAA,EACzC;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,QAAQ,MAAM,MAAM;AAAA,IACpB,iBAAiB;AAAA,IACjB,UAAU;AAAA,IACV,eAAe,MAAM,MAAM;AAAA,EAC7B;AAAA;AAAA,EAEA,UAAU;AAAA,IACR,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,eAAe,MAAM,MAAM;AAAA,IAE3B,aAAa;AAAA,MACX,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MAER,OAAO;AAAA,MACP,QAAQ;AAAA,MAER,cAAc,aAAa,MAAM,OAAO,KAAK;AAAA,MAC7C,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,MAE3C,KAAK;AAAA,MACL,MAAM;AAAA,IACR;AAAA,IACA,gDAAgD;AAAA,MAC9C,SAAS;AAAA,MACT,UAAU;AAAA,MACV,QAAQ;AAAA,MAER,OAAO;AAAA,MACP,QAAQ;AAAA,MAER,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,MAE3C,KAAK;AAAA,MACL,MAAM,QAAQ,MAAM,MAAM,EAAE;AAAA,IAC9B;AAAA,EACF;AAAA;AAAA,EAEA,YAAY,EAAE,UAAU,GAAG;AAAA;AAAA,EAE3B,eAAe;AAAA,IACb,UAAU;AAAA,IACV,KAAK,aAAa,MAAM,MAAM,EAAE;AAAA,IAChC,MAAM,aAAa,MAAM,MAAM,EAAE;AAAA,EACnC;AAAA;AAAA,EAEA,kBAAkB,CAAC;AAAA;AAAA,EAEnB,cAAc,CAAC;AAAA;AAAA,EAEf,iBAAiB,EAAE,UAAU,YAAY,KAAK,KAAK,OAAO,IAAI;AAAA;AAAA,EAE9D,yBAAyB,EAAE,iBAAiB,MAAM,OAAO,MAAM;AAAA;AAAA,EAE/D,gBAAgB,CAAC;AAAA;AAAA,EAEjB,mBAAmB;AAAA,IACjB,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,IAC3C,YAAY,MAAM,MAAM;AAAA,IACxB,cAAc,MAAM,MAAM;AAAA,IAC1B,aAAa,MAAM,MAAM;AAAA,IACzB,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA;AAAA,EAEA,uBAAuB;AAAA,IACrB,YAAY;AAAA,IAEZ,OAAO;AAAA,MACL,YAAY,MAAM,MAAM;AAAA,IAC1B;AAAA,EACF;AAAA;AAAA,EAEA,0BAA0B;AAAA,IACxB,UAAU;AAAA,IACV,QAAQ,aAAa,MAAM,MAAM,EAAE;AAAA,IACnC,OAAO,QAAQ,MAAM,MAAM,EAAE;AAAA,EAC/B;AAAA;AAAA,EAEA,mBAAmB,CAAC;AAAA;AAAA,EAEpB,kBAAkB;AAAA,IAChB,iBAAiB,MAAM,OAAO;AAAA,IAC9B,SAAS;AAAA,EACX;AAAA,EACA,uBAAuB;AAAA,IACrB,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,SAAS;AAAA,IAET,cAAc,EAAE,QAAQ,eAAe,eAAe,OAAO;AAAA,EAC/D;AAAA,EACA,mBAAmB;AAAA,IACjB,QAAQ;AAAA,IACR,iBAAiB;AAAA,IACjB,SAAS;AAAA,IAET,cAAc,EAAE,QAAQ,eAAe,eAAe,OAAO;AAAA,EAC/D;AACF,CAAC;"}
@@ -3,7 +3,7 @@ import { useMemo } from "react";
3
3
  import { useTheme } from "@mui/material/styles";
4
4
  import useMediaQuery from "@mui/material/useMediaQuery";
5
5
  import { Delete } from "@hitachivantara/uikit-react-icons";
6
- import { useDefaultProps } from "../../hooks/useDefaultProps.js";
6
+ import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
7
7
  import { useQueryBuilderContext } from "../Context.js";
8
8
  import { useClasses } from "./Rule.styles.js";
9
9
  import { staticClasses } from "./Rule.styles.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Rule.js","sources":["../../../../src/QueryBuilder/Rule/Rule.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { Delete } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvGrid } from \"../../Grid\";\nimport { useDefaultProps } from \"../../hooks/useDefaultProps\";\nimport { HvIconButton } from \"../../IconButton\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { useQueryBuilderContext } from \"../Context\";\nimport { Attribute } from \"./Attribute\";\nimport { Operator } from \"./Operator\";\nimport { staticClasses, useClasses } from \"./Rule.styles\";\nimport { Value } from \"./Value\";\n\nexport { staticClasses as queryBuilderRuleClasses };\n\nexport type HvQueryBuilderRuleClasses = ExtractNames<typeof useClasses>;\n\nexport interface RuleProps {\n id: React.Key;\n combinator: string;\n attribute?: string;\n operator?: string;\n value?: any;\n disabled?: boolean;\n isInvalid: boolean;\n classes?: HvQueryBuilderRuleClasses;\n}\n\nexport const Rule = (props: RuleProps) => {\n const {\n id,\n combinator,\n attribute,\n operator,\n value,\n disabled,\n isInvalid,\n classes: classesProp,\n } = useDefaultProps(\"HvQueryBuilderRule\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const {\n askAction,\n dispatchAction,\n attributes,\n operators,\n labels,\n readOnly,\n disableConfirmation,\n } = useQueryBuilderContext();\n\n const theme = useTheme();\n\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const availableOperators = useMemo(() => {\n const attributeSpec =\n attribute != null && attributes ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) =>\n count + (item.combinators.includes(combinator) ? 1 : 0),\n 0,\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n return (\n <HvGrid\n container\n className={cx(classes.root, { [classes.isMdDown]: isMdDown })}\n spacing={0}\n >\n <HvGrid item xs={12} md={3}>\n <Attribute\n attribute={attribute}\n id={id}\n disabled={disabled}\n isInvalid={isInvalid}\n />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={12} md={3}>\n <Operator\n id={id}\n combinator={combinator}\n attribute={attribute}\n operator={operator}\n />\n </HvGrid>\n )}\n {attribute != null && (operator != null || availableOperators === 0) && (\n <HvGrid item xs={12} md>\n <Value\n attribute={attribute}\n id={id}\n operator={operator}\n value={value}\n />\n </HvGrid>\n )}\n <HvGrid item className={classes.actionsContainer}>\n <HvIconButton\n placement=\"bottom\"\n title={labels.rule.delete.tooltip || labels.rule.delete.ariaLabel}\n onClick={() =>\n disableConfirmation\n ? dispatchAction({ type: \"remove-node\", id })\n : askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog: labels.rule.delete,\n })\n }\n disabled={readOnly}\n >\n <Delete />\n </HvIconButton>\n </HvGrid>\n </HvGrid>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA8Ba,MAAA,OAAO,CAAC,UAAqB;AAClC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EAAA,IACP,gBAAgB,sBAAsB,KAAK;AAE/C,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,uBAAuB;AAE3B,QAAM,QAAQ;AAEd,QAAM,WAAW,cAAc,MAAM,YAAY,KAAK,IAAI,CAAC;AAErD,QAAA,qBAAqB,QAAQ,MAAM;AACvC,UAAM,gBACJ,aAAa,QAAQ,aAAa,WAAW,SAAS,IAAI;AAC5D,QAAI,iBAAiB,MAAM;AACnB,YAAA,gBAAgB,UAAU,cAAc,IAAI;AAClD,UAAI,iBAAiB,MAAM;AACzB,eAAO,cAAc;AAAA,UACnB,CAAC,OAAO,SACN,SAAS,KAAK,YAAY,SAAS,UAAU,IAAI,IAAI;AAAA,UACvD;AAAA,QAAA;AAAA,MAEJ;AAAA,IACF;AAEO,WAAA;AAAA,KACN,CAAC,WAAW,YAAY,YAAY,SAAS,CAAC;AAG/C,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,QAAQ,GAAG,UAAU;AAAA,MAC5D,SAAS;AAAA,MAET,UAAA;AAAA,QAAA,oBAAC,UAAO,MAAI,MAAC,IAAI,IAAI,IAAI,GACvB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,QACC,aAAa,QAAQ,qBAAqB,KACzC,oBAAC,QAAO,EAAA,MAAI,MAAC,IAAI,IAAI,IAAI,GACvB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,QAED,aAAa,SAAS,YAAY,QAAQ,uBAAuB,MAC/D,oBAAA,QAAA,EAAO,MAAI,MAAC,IAAI,IAAI,IAAE,MACrB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,4BAED,QAAO,EAAA,MAAI,MAAC,WAAW,QAAQ,kBAC9B,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,OAAO,KAAK,OAAO,WAAW,OAAO,KAAK,OAAO;AAAA,YACxD,SAAS,MACP,sBACI,eAAe,EAAE,MAAM,eAAe,IAAI,IAC1C,UAAU;AAAA,cACR,SAAS,CAAC,EAAE,MAAM,eAAe,IAAI;AAAA,cACrC,QAAQ,OAAO,KAAK;AAAA,YAAA,CACrB;AAAA,YAEP,UAAU;AAAA,YAEV,8BAAC,QAAO,EAAA;AAAA,UAAA;AAAA,QAAA,GAEZ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"Rule.js","sources":["../../../../src/QueryBuilder/Rule/Rule.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\nimport { Delete } from \"@hitachivantara/uikit-react-icons\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvGrid } from \"../../Grid\";\nimport { HvIconButton } from \"../../IconButton\";\nimport { useQueryBuilderContext } from \"../Context\";\nimport { Attribute } from \"./Attribute\";\nimport { Operator } from \"./Operator\";\nimport { staticClasses, useClasses } from \"./Rule.styles\";\nimport { Value } from \"./Value\";\n\nexport { staticClasses as queryBuilderRuleClasses };\n\nexport type HvQueryBuilderRuleClasses = ExtractNames<typeof useClasses>;\n\nexport interface RuleProps {\n id: React.Key;\n combinator: string;\n attribute?: string;\n operator?: string;\n value?: any;\n disabled?: boolean;\n isInvalid: boolean;\n classes?: HvQueryBuilderRuleClasses;\n}\n\nexport const Rule = (props: RuleProps) => {\n const {\n id,\n combinator,\n attribute,\n operator,\n value,\n disabled,\n isInvalid,\n classes: classesProp,\n } = useDefaultProps(\"HvQueryBuilderRule\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const {\n askAction,\n dispatchAction,\n attributes,\n operators,\n labels,\n readOnly,\n disableConfirmation,\n } = useQueryBuilderContext();\n\n const theme = useTheme();\n\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const availableOperators = useMemo(() => {\n const attributeSpec =\n attribute != null && attributes ? attributes[attribute] : null;\n if (attributeSpec != null) {\n const typeOperators = operators[attributeSpec.type];\n if (typeOperators != null) {\n return typeOperators.reduce(\n (count, item) =>\n count + (item.combinators.includes(combinator) ? 1 : 0),\n 0,\n );\n }\n }\n\n return -1;\n }, [attribute, attributes, combinator, operators]);\n\n return (\n <HvGrid\n container\n className={cx(classes.root, { [classes.isMdDown]: isMdDown })}\n spacing={0}\n >\n <HvGrid item xs={12} md={3}>\n <Attribute\n attribute={attribute}\n id={id}\n disabled={disabled}\n isInvalid={isInvalid}\n />\n </HvGrid>\n {attribute != null && availableOperators > 0 && (\n <HvGrid item xs={12} md={3}>\n <Operator\n id={id}\n combinator={combinator}\n attribute={attribute}\n operator={operator}\n />\n </HvGrid>\n )}\n {attribute != null && (operator != null || availableOperators === 0) && (\n <HvGrid item xs={12} md>\n <Value\n attribute={attribute}\n id={id}\n operator={operator}\n value={value}\n />\n </HvGrid>\n )}\n <HvGrid item className={classes.actionsContainer}>\n <HvIconButton\n placement=\"bottom\"\n title={labels.rule.delete.tooltip || labels.rule.delete.ariaLabel}\n onClick={() =>\n disableConfirmation\n ? dispatchAction({ type: \"remove-node\", id })\n : askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog: labels.rule.delete,\n })\n }\n disabled={readOnly}\n >\n <Delete />\n </HvIconButton>\n </HvGrid>\n </HvGrid>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgCa,MAAA,OAAO,CAAC,UAAqB;AAClC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EAAA,IACP,gBAAgB,sBAAsB,KAAK;AAE/C,QAAM,EAAE,SAAS,GAAG,IAAI,WAAW,WAAW;AAExC,QAAA;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,uBAAuB;AAE3B,QAAM,QAAQ;AAEd,QAAM,WAAW,cAAc,MAAM,YAAY,KAAK,IAAI,CAAC;AAErD,QAAA,qBAAqB,QAAQ,MAAM;AACvC,UAAM,gBACJ,aAAa,QAAQ,aAAa,WAAW,SAAS,IAAI;AAC5D,QAAI,iBAAiB,MAAM;AACnB,YAAA,gBAAgB,UAAU,cAAc,IAAI;AAClD,UAAI,iBAAiB,MAAM;AACzB,eAAO,cAAc;AAAA,UACnB,CAAC,OAAO,SACN,SAAS,KAAK,YAAY,SAAS,UAAU,IAAI,IAAI;AAAA,UACvD;AAAA,QAAA;AAAA,MAEJ;AAAA,IACF;AAEO,WAAA;AAAA,KACN,CAAC,WAAW,YAAY,YAAY,SAAS,CAAC;AAG/C,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAS;AAAA,MACT,WAAW,GAAG,QAAQ,MAAM,EAAE,CAAC,QAAQ,QAAQ,GAAG,UAAU;AAAA,MAC5D,SAAS;AAAA,MAET,UAAA;AAAA,QAAA,oBAAC,UAAO,MAAI,MAAC,IAAI,IAAI,IAAI,GACvB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,QACC,aAAa,QAAQ,qBAAqB,KACzC,oBAAC,QAAO,EAAA,MAAI,MAAC,IAAI,IAAI,IAAI,GACvB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,QAED,aAAa,SAAS,YAAY,QAAQ,uBAAuB,MAC/D,oBAAA,QAAA,EAAO,MAAI,MAAC,IAAI,IAAI,IAAE,MACrB,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UAAA;AAAA,QAAA,GAEJ;AAAA,4BAED,QAAO,EAAA,MAAI,MAAC,WAAW,QAAQ,kBAC9B,UAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO,OAAO,KAAK,OAAO,WAAW,OAAO,KAAK,OAAO;AAAA,YACxD,SAAS,MACP,sBACI,eAAe,EAAE,MAAM,eAAe,IAAI,IAC1C,UAAU;AAAA,cACR,SAAS,CAAC,EAAE,MAAM,eAAe,IAAI;AAAA,cACrC,QAAQ,OAAO,KAAK;AAAA,YAAA,CACrB;AAAA,YAEP,UAAU;AAAA,YAEV,8BAAC,QAAO,EAAA;AAAA,UAAA;AAAA,QAAA,GAEZ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;"}
@@ -1,6 +1,6 @@
1
+ import { createClasses } from "@hitachivantara/uikit-react-utils";
1
2
  import { theme } from "@hitachivantara/uikit-styles";
2
3
  import { staticClasses as staticClasses$1 } from "../QueryBuilder.styles.js";
3
- import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const { useClasses, staticClasses } = createClasses(
5
5
  "HvQueryBuilder-Rule",
6
6
  {
@@ -1 +1 @@
1
- {"version":3,"file":"Rule.styles.js","sources":["../../../../src/QueryBuilder/Rule/Rule.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../utils/classes\";\nimport { staticClasses as queryBuilderClasses } from \"../QueryBuilder.styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-Rule\",\n {\n root: {\n position: \"relative\",\n marginTop: theme.space.xs,\n minHeight: 94,\n\n \"&>div:not(:last-child)\": {\n paddingRight: theme.space.md,\n },\n\n // hide required * as all fields are required\n \"& label>span[aria-hidden]\": {\n visibility: \"hidden\",\n },\n\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: \"17px\",\n height: \"39px\",\n\n borderBottom: `1px solid ${theme.colors.atmo4}`,\n borderLeft: `1px solid ${theme.colors.atmo4}`,\n\n top: 0,\n left: `calc(-1 * 17px)`,\n },\n\n [`:not(.${queryBuilderClasses.topRulesContainer})>&:last-child::after`]: {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: \"17px\",\n height: \"100%\",\n\n borderLeft: `1px solid ${theme.colors.atmo4}`,\n\n top: 0,\n left: `calc(-1 * 17px)`,\n },\n },\n actionsContainer: {\n marginLeft: \"auto\",\n marginTop: \"24px\",\n\n \"&>:not(:last-child)\": {\n marginRight: theme.space.xs,\n },\n },\n isMdDown: {\n \"&>div:not(:last-child)\": {\n paddingRight: 0,\n },\n \"&>div:not(:first-of-type)\": {\n marginTop: theme.space.xs,\n },\n },\n },\n);\n"],"names":["queryBuilderClasses"],"mappings":";;;AAKa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,WAAW,MAAM,MAAM;AAAA,MACvB,WAAW;AAAA,MAEX,0BAA0B;AAAA,QACxB,cAAc,MAAM,MAAM;AAAA,MAC5B;AAAA;AAAA,MAGA,6BAA6B;AAAA,QAC3B,YAAY;AAAA,MACd;AAAA,MAEA,aAAa;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QAER,OAAO;AAAA,QACP,QAAQ;AAAA,QAER,cAAc,aAAa,MAAM,OAAO,KAAK;AAAA,QAC7C,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,QAE3C,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MAEA,CAAC,SAASA,gBAAoB,iBAAiB,uBAAuB,GAAG;AAAA,QACvE,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QAER,OAAO;AAAA,QACP,QAAQ;AAAA,QAER,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,QAE3C,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB,YAAY;AAAA,MACZ,WAAW;AAAA,MAEX,uBAAuB;AAAA,QACrB,aAAa,MAAM,MAAM;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,0BAA0B;AAAA,QACxB,cAAc;AAAA,MAChB;AAAA,MACA,6BAA6B;AAAA,QAC3B,WAAW,MAAM,MAAM;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"Rule.styles.js","sources":["../../../../src/QueryBuilder/Rule/Rule.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { staticClasses as queryBuilderClasses } from \"../QueryBuilder.styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-Rule\",\n {\n root: {\n position: \"relative\",\n marginTop: theme.space.xs,\n minHeight: 94,\n\n \"&>div:not(:last-child)\": {\n paddingRight: theme.space.md,\n },\n\n // hide required * as all fields are required\n \"& label>span[aria-hidden]\": {\n visibility: \"hidden\",\n },\n\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: \"17px\",\n height: \"39px\",\n\n borderBottom: `1px solid ${theme.colors.atmo4}`,\n borderLeft: `1px solid ${theme.colors.atmo4}`,\n\n top: 0,\n left: `calc(-1 * 17px)`,\n },\n\n [`:not(.${queryBuilderClasses.topRulesContainer})>&:last-child::after`]: {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: \"17px\",\n height: \"100%\",\n\n borderLeft: `1px solid ${theme.colors.atmo4}`,\n\n top: 0,\n left: `calc(-1 * 17px)`,\n },\n },\n actionsContainer: {\n marginLeft: \"auto\",\n marginTop: \"24px\",\n\n \"&>:not(:last-child)\": {\n marginRight: theme.space.xs,\n },\n },\n isMdDown: {\n \"&>div:not(:last-child)\": {\n paddingRight: 0,\n },\n \"&>div:not(:first-of-type)\": {\n marginTop: theme.space.xs,\n },\n },\n },\n);\n"],"names":["queryBuilderClasses"],"mappings":";;;AAKa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,UAAU;AAAA,MACV,WAAW,MAAM,MAAM;AAAA,MACvB,WAAW;AAAA,MAEX,0BAA0B;AAAA,QACxB,cAAc,MAAM,MAAM;AAAA,MAC5B;AAAA;AAAA,MAGA,6BAA6B;AAAA,QAC3B,YAAY;AAAA,MACd;AAAA,MAEA,aAAa;AAAA,QACX,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QAER,OAAO;AAAA,QACP,QAAQ;AAAA,QAER,cAAc,aAAa,MAAM,OAAO,KAAK;AAAA,QAC7C,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,QAE3C,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MAEA,CAAC,SAASA,gBAAoB,iBAAiB,uBAAuB,GAAG;AAAA,QACvE,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QAER,OAAO;AAAA,QACP,QAAQ;AAAA,QAER,YAAY,aAAa,MAAM,OAAO,KAAK;AAAA,QAE3C,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,kBAAkB;AAAA,MAChB,YAAY;AAAA,MACZ,WAAW;AAAA,MAEX,uBAAuB;AAAA,QACrB,aAAa,MAAM,MAAM;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,0BAA0B;AAAA,QACxB,cAAc;AAAA,MAChB;AAAA,MACA,6BAA6B;AAAA,QAC3B,WAAW,MAAM,MAAM;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AACF;"}
@@ -1,5 +1,5 @@
1
+ import { createClasses } from "@hitachivantara/uikit-react-utils";
1
2
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { useClasses, staticClasses } = createClasses(
4
4
  "HvQueryBuilder-DateTimeValue",
5
5
  {
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeValue.styles.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../../../utils/classes\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-DateTimeValue\",\n {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n row: {},\n vertical: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n horizontal: {\n display: \"flex\",\n\n \"& > div:not(:last-child)\": {\n marginRight: theme.space.md,\n },\n },\n isMdDown: {\n \"& > div:not(:last-child)\": {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n datePicker: {\n flex: 1,\n },\n timePicker: {\n flex: 1,\n },\n },\n);\n"],"names":[],"mappings":";;AAIa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,eAAe;AAAA,IACjB;AAAA,IACA,KAAK,CAAC;AAAA,IACN,UAAU;AAAA,MACR,SAAS;AAAA,MACT,eAAe;AAAA,IACjB;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MAET,4BAA4B;AAAA,QAC1B,aAAa,MAAM,MAAM;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,4BAA4B;AAAA,QAC1B,aAAa,QAAQ,MAAM,MAAM,EAAE;AAAA,MACrC;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"DateTimeValue.styles.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-DateTimeValue\",\n {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n row: {},\n vertical: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n horizontal: {\n display: \"flex\",\n\n \"& > div:not(:last-child)\": {\n marginRight: theme.space.md,\n },\n },\n isMdDown: {\n \"& > div:not(:last-child)\": {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n datePicker: {\n flex: 1,\n },\n timePicker: {\n flex: 1,\n },\n },\n);\n"],"names":[],"mappings":";;AAGa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM;AAAA,MACJ,SAAS;AAAA,MACT,eAAe;AAAA,IACjB;AAAA,IACA,KAAK,CAAC;AAAA,IACN,UAAU;AAAA,MACR,SAAS;AAAA,MACT,eAAe;AAAA,IACjB;AAAA,IACA,YAAY;AAAA,MACV,SAAS;AAAA,MAET,4BAA4B;AAAA,QAC1B,aAAa,MAAM,MAAM;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,4BAA4B;AAAA,QAC1B,aAAa,QAAQ,MAAM,MAAM,EAAE;AAAA,MACrC;AAAA,IACF;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,IACA,YAAY;AAAA,MACV,MAAM;AAAA,IACR;AAAA,EACF;AACF;"}
@@ -1,5 +1,5 @@
1
+ import { createClasses } from "@hitachivantara/uikit-react-utils";
1
2
  import { theme } from "@hitachivantara/uikit-styles";
2
- import { createClasses } from "@hitachivantara/uikit-react-shared";
3
3
  const { useClasses, staticClasses } = createClasses(
4
4
  "HvQueryBuilder-NumericValue",
5
5
  {
@@ -1 +1 @@
1
- {"version":3,"file":"Numeric.styles.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../../../../utils/classes\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-NumericValue\",\n {\n root: {},\n label: {\n paddingBottom: \"6px\",\n },\n inputContainer: {},\n rangeContainer: {\n display: \"flex\",\n\n \"& $inputContainer\": {\n flexGrow: 1,\n overflow: \"auto\",\n },\n\n \"& > $inputContainer:not(:last-child)\": {\n marginRight: theme.space.md,\n },\n },\n input: {\n flexGrow: 1,\n },\n isMdDown: {\n \"& > $inputContainer:not(:last-child)\": {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n },\n);\n"],"names":[],"mappings":";;AAIa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM,CAAC;AAAA,IACP,OAAO;AAAA,MACL,eAAe;AAAA,IACjB;AAAA,IACA,gBAAgB,CAAC;AAAA,IACjB,gBAAgB;AAAA,MACd,SAAS;AAAA,MAET,qBAAqB;AAAA,QACnB,UAAU;AAAA,QACV,UAAU;AAAA,MACZ;AAAA,MAEA,wCAAwC;AAAA,QACtC,aAAa,MAAM,MAAM;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACR,wCAAwC;AAAA,QACtC,aAAa,QAAQ,MAAM,MAAM,EAAE;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"Numeric.styles.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-NumericValue\",\n {\n root: {},\n label: {\n paddingBottom: \"6px\",\n },\n inputContainer: {},\n rangeContainer: {\n display: \"flex\",\n\n \"& $inputContainer\": {\n flexGrow: 1,\n overflow: \"auto\",\n },\n\n \"& > $inputContainer:not(:last-child)\": {\n marginRight: theme.space.md,\n },\n },\n input: {\n flexGrow: 1,\n },\n isMdDown: {\n \"& > $inputContainer:not(:last-child)\": {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n },\n);\n"],"names":[],"mappings":";;AAGa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,MAAM,CAAC;AAAA,IACP,OAAO;AAAA,MACL,eAAe;AAAA,IACjB;AAAA,IACA,gBAAgB,CAAC;AAAA,IACjB,gBAAgB;AAAA,MACd,SAAS;AAAA,MAET,qBAAqB;AAAA,QACnB,UAAU;AAAA,QACV,UAAU;AAAA,MACZ;AAAA,MAEA,wCAAwC;AAAA,QACtC,aAAa,MAAM,MAAM;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,UAAU;AAAA,IACZ;AAAA,IACA,UAAU;AAAA,MACR,wCAAwC;AAAA,QACtC,aAAa,QAAQ,MAAM,MAAM,EAAE;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AACF;"}
@@ -19,27 +19,25 @@ const NumericValue = ({
19
19
  const isMdDown = useMediaQuery(theme.breakpoints.down("md"));
20
20
  const onSingleValueChange = useCallback(
21
21
  (event, data) => {
22
- const numericData = !data ? null : Number(data);
23
22
  dispatchAction({
24
23
  type: "set-value",
25
24
  id,
26
- value: Number.isNaN(numericData) ? data : numericData
25
+ value: data ?? null
27
26
  });
28
27
  },
29
28
  [dispatchAction, id]
30
29
  );
31
30
  const onRangeValueChange = useCallback(
32
31
  (event, data, from = true) => {
33
- const numericData = !data ? null : Number(data);
34
32
  const currentValue = value;
35
33
  const numericRange = {
36
34
  from: currentValue?.from,
37
35
  to: currentValue?.to
38
36
  };
39
37
  if (from) {
40
- numericRange.from = Number.isNaN(numericData) ? data : numericData;
38
+ numericRange.from = data ?? null;
41
39
  } else {
42
- numericRange.to = Number.isNaN(numericData) ? data : numericData;
40
+ numericRange.to = data ?? null;
43
41
  }
44
42
  dispatchAction({
45
43
  type: "set-value",
@@ -1 +1 @@
1
- {"version":3,"file":"NumericValue.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/NumericValue/NumericValue.tsx"],"sourcesContent":["import { memo, useCallback, useState } from \"react\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nimport { HvInput } from \"../../../../Input\";\nimport { uniqueId } from \"../../../../utils/helpers\";\nimport { useQueryBuilderContext } from \"../../../Context\";\nimport { HvQueryBuilderNumericRange } from \"../../../types\";\nimport { useClasses } from \"./Numeric.styles\";\n\nexport interface NumericValueProps {\n id: React.Key;\n value?: any;\n operator?: string;\n initialTouched?: boolean;\n}\n\nexport const NumericValue = ({\n id,\n value,\n operator,\n initialTouched = false,\n}: NumericValueProps) => {\n const { classes, cx } = useClasses();\n\n const isRange = operator === \"range\";\n const { labels, dispatchAction, readOnly } = useQueryBuilderContext();\n\n const theme = useTheme();\n\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const onSingleValueChange = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n data: string,\n ) => {\n const numericData = !data ? null : Number(data);\n dispatchAction({\n type: \"set-value\",\n id,\n value: Number.isNaN(numericData) ? data : numericData,\n });\n },\n [dispatchAction, id],\n );\n\n const onRangeValueChange = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n data: string,\n from = true,\n ) => {\n const numericData = !data ? null : Number(data);\n const currentValue = value;\n const numericRange = {\n from: currentValue?.from,\n to: currentValue?.to,\n };\n if (from) {\n numericRange.from = Number.isNaN(numericData) ? data : numericData;\n } else {\n numericRange.to = Number.isNaN(numericData) ? data : numericData;\n }\n dispatchAction({\n type: \"set-value\",\n id,\n value: numericRange,\n });\n },\n [dispatchAction, id, value],\n );\n\n const [touchedNumeric, setTouchedNumeric] = useState(initialTouched);\n const [touchedNumericTo, setTouchedNumericTo] = useState(initialTouched);\n\n const elementId = uniqueId(\"numeric\");\n\n let numericValidation: \"required\" | \"invalid\" | null = null;\n let rightValidation: \"required\" | \"invalid\" | \"greaterThan\" | \"equal\" | null =\n null;\n\n if (touchedNumeric || touchedNumericTo) {\n if (value === undefined || value?.toString() === \"\") {\n if (touchedNumeric) {\n numericValidation = \"required\";\n }\n if (touchedNumericTo) {\n rightValidation = \"required\";\n }\n } else if (!isRange) {\n if (Number.isNaN(Number(value))) {\n numericValidation = \"invalid\";\n }\n } else if (isRange) {\n const rangeValue = value;\n if (\n rangeValue?.from === undefined ||\n rangeValue?.from?.toString() === \"\"\n ) {\n numericValidation = \"required\";\n } else if (Number.isNaN(Number(rangeValue?.from))) {\n numericValidation = \"invalid\";\n }\n\n if (rangeValue?.to === undefined || rangeValue?.to?.toString() === \"\") {\n rightValidation = \"required\";\n } else if (Number.isNaN(Number(rangeValue?.to))) {\n rightValidation = \"invalid\";\n } else if (Number(rangeValue?.from) > Number(rangeValue?.to)) {\n rightValidation = \"greaterThan\";\n } else if (Number(rangeValue?.from) === Number(rangeValue?.to)) {\n rightValidation = \"equal\";\n }\n }\n }\n\n const numericStatus = numericValidation != null ? \"invalid\" : \"valid\";\n const rightStatus = rightValidation != null ? \"invalid\" : \"valid\";\n\n const renderRangeInputs = (rangeValue: HvQueryBuilderNumericRange) => (\n <div\n className={cx(classes.rangeContainer, { [classes.isMdDown]: isMdDown })}\n >\n <div className={classes.inputContainer}>\n <HvInput\n label={labels.rule.value.numeric.range.leftLabel}\n className={classes.input}\n id={`${elementId}-numeric-from`}\n name={`${elementId}-numeric-from`}\n value={rangeValue?.from?.toString() || \"\"}\n onChange={(event, data) => onRangeValueChange(event, data)}\n onBlur={() => {\n setTouchedNumeric(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumeric ? \"standBy\" : numericStatus}\n statusMessage={\n numericValidation\n ? labels.rule.value.numeric.validation[numericValidation]\n : \"\"\n }\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n readOnly={readOnly}\n />\n </div>\n <div className={classes.inputContainer}>\n <HvInput\n label={labels.rule.value.numeric.range.rightLabel}\n className={classes.input}\n id={`${elementId}-numeric-to`}\n name={`${elementId}-numeric-to`}\n value={rangeValue?.to?.toString() || \"\"}\n onChange={(event, data) => onRangeValueChange(event, data, false)}\n onBlur={() => {\n setTouchedNumericTo(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumericTo ? \"standBy\" : rightStatus}\n statusMessage={\n rightValidation\n ? labels.rule.value.numeric.validation[rightValidation]\n : \"\"\n }\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n readOnly={readOnly}\n />\n </div>\n </div>\n );\n\n return (\n <div className={classes.root}>\n {isRange && renderRangeInputs(value || {})}\n {!isRange && (\n <div className={classes.inputContainer}>\n <HvInput\n label={labels.rule.value.numeric.label}\n className={classes.input}\n id={`${elementId}-numeric`}\n name={`${elementId}-numeric`}\n value={value?.toString() || \"\"}\n onChange={onSingleValueChange}\n onBlur={() => {\n setTouchedNumeric(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumeric ? \"standBy\" : numericStatus}\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n statusMessage={\n numericValidation\n ? labels.rule.value.numeric.validation[numericValidation]\n : \"\"\n }\n readOnly={readOnly}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default memo(NumericValue);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NumericValue.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/NumericValue/NumericValue.tsx"],"sourcesContent":["import { memo, useCallback, useState } from \"react\";\nimport { useTheme } from \"@mui/material/styles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nimport { HvInput } from \"../../../../Input\";\nimport { uniqueId } from \"../../../../utils/helpers\";\nimport { useQueryBuilderContext } from \"../../../Context\";\nimport { HvQueryBuilderNumericRange } from \"../../../types\";\nimport { useClasses } from \"./Numeric.styles\";\n\nexport interface NumericValueProps {\n id: React.Key;\n value?: any;\n operator?: string;\n initialTouched?: boolean;\n}\n\nexport const NumericValue = ({\n id,\n value,\n operator,\n initialTouched = false,\n}: NumericValueProps) => {\n const { classes, cx } = useClasses();\n\n const isRange = operator === \"range\";\n const { labels, dispatchAction, readOnly } = useQueryBuilderContext();\n\n const theme = useTheme();\n\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const onSingleValueChange = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n data: string,\n ) => {\n dispatchAction({\n type: \"set-value\",\n id,\n value: data ?? null,\n });\n },\n [dispatchAction, id],\n );\n\n const onRangeValueChange = useCallback(\n (\n event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,\n data: string,\n from = true,\n ) => {\n const currentValue = value;\n const numericRange = {\n from: currentValue?.from,\n to: currentValue?.to,\n };\n if (from) {\n numericRange.from = data ?? null;\n } else {\n numericRange.to = data ?? null;\n }\n dispatchAction({\n type: \"set-value\",\n id,\n value: numericRange,\n });\n },\n [dispatchAction, id, value],\n );\n\n const [touchedNumeric, setTouchedNumeric] = useState(initialTouched);\n const [touchedNumericTo, setTouchedNumericTo] = useState(initialTouched);\n\n const elementId = uniqueId(\"numeric\");\n\n let numericValidation: \"required\" | \"invalid\" | null = null;\n let rightValidation: \"required\" | \"invalid\" | \"greaterThan\" | \"equal\" | null =\n null;\n\n if (touchedNumeric || touchedNumericTo) {\n if (value === undefined || value?.toString() === \"\") {\n if (touchedNumeric) {\n numericValidation = \"required\";\n }\n if (touchedNumericTo) {\n rightValidation = \"required\";\n }\n } else if (!isRange) {\n if (Number.isNaN(Number(value))) {\n numericValidation = \"invalid\";\n }\n } else if (isRange) {\n const rangeValue = value;\n if (\n rangeValue?.from === undefined ||\n rangeValue?.from?.toString() === \"\"\n ) {\n numericValidation = \"required\";\n } else if (Number.isNaN(Number(rangeValue?.from))) {\n numericValidation = \"invalid\";\n }\n\n if (rangeValue?.to === undefined || rangeValue?.to?.toString() === \"\") {\n rightValidation = \"required\";\n } else if (Number.isNaN(Number(rangeValue?.to))) {\n rightValidation = \"invalid\";\n } else if (Number(rangeValue?.from) > Number(rangeValue?.to)) {\n rightValidation = \"greaterThan\";\n } else if (Number(rangeValue?.from) === Number(rangeValue?.to)) {\n rightValidation = \"equal\";\n }\n }\n }\n\n const numericStatus = numericValidation != null ? \"invalid\" : \"valid\";\n const rightStatus = rightValidation != null ? \"invalid\" : \"valid\";\n\n const renderRangeInputs = (rangeValue: HvQueryBuilderNumericRange) => (\n <div\n className={cx(classes.rangeContainer, { [classes.isMdDown]: isMdDown })}\n >\n <div className={classes.inputContainer}>\n <HvInput\n label={labels.rule.value.numeric.range.leftLabel}\n className={classes.input}\n id={`${elementId}-numeric-from`}\n name={`${elementId}-numeric-from`}\n value={rangeValue?.from?.toString() || \"\"}\n onChange={(event, data) => onRangeValueChange(event, data)}\n onBlur={() => {\n setTouchedNumeric(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumeric ? \"standBy\" : numericStatus}\n statusMessage={\n numericValidation\n ? labels.rule.value.numeric.validation[numericValidation]\n : \"\"\n }\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n readOnly={readOnly}\n />\n </div>\n <div className={classes.inputContainer}>\n <HvInput\n label={labels.rule.value.numeric.range.rightLabel}\n className={classes.input}\n id={`${elementId}-numeric-to`}\n name={`${elementId}-numeric-to`}\n value={rangeValue?.to?.toString() || \"\"}\n onChange={(event, data) => onRangeValueChange(event, data, false)}\n onBlur={() => {\n setTouchedNumericTo(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumericTo ? \"standBy\" : rightStatus}\n statusMessage={\n rightValidation\n ? labels.rule.value.numeric.validation[rightValidation]\n : \"\"\n }\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n readOnly={readOnly}\n />\n </div>\n </div>\n );\n\n return (\n <div className={classes.root}>\n {isRange && renderRangeInputs(value || {})}\n {!isRange && (\n <div className={classes.inputContainer}>\n <HvInput\n label={labels.rule.value.numeric.label}\n className={classes.input}\n id={`${elementId}-numeric`}\n name={`${elementId}-numeric`}\n value={value?.toString() || \"\"}\n onChange={onSingleValueChange}\n onBlur={() => {\n setTouchedNumeric(true);\n }}\n onKeyDown={(e: any) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n }\n }}\n status={!touchedNumeric ? \"standBy\" : numericStatus}\n required\n inputProps={{\n autoComplete: \"off\",\n }}\n placeholder={labels.rule.value.numeric.placeholder}\n statusMessage={\n numericValidation\n ? labels.rule.value.numeric.validation[numericValidation]\n : \"\"\n }\n readOnly={readOnly}\n />\n </div>\n )}\n </div>\n );\n};\n\nexport default memo(NumericValue);\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { createClasses } from "@hitachivantara/uikit-react-shared";
1
+ import { createClasses } from "@hitachivantara/uikit-react-utils";
2
2
  const { useClasses, staticClasses } = createClasses(
3
3
  "HvQueryBuilder-TextValue",
4
4
  {
@@ -1 +1 @@
1
- {"version":3,"file":"TextValue.styles.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/TextValue/TextValue.styles.tsx"],"sourcesContent":["import { createClasses } from \"../../../../utils/classes\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-TextValue\",\n {\n location: {\n flexGrow: 1,\n },\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,UAAU;AAAA,IACZ;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"TextValue.styles.js","sources":["../../../../../../src/QueryBuilder/Rule/Value/TextValue/TextValue.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-TextValue\",\n {\n location: {\n flexGrow: 1,\n },\n },\n);\n"],"names":[],"mappings":";AAEa,MAAA,EAAE,YAAY,cAAA,IAAkB;AAAA,EAC3C;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,UAAU;AAAA,IACZ;AAAA,EACF;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RuleGroup.js","sources":["../../../../src/QueryBuilder/RuleGroup/RuleGroup.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvButton } from \"../../Button\";\nimport { HvEmptyState } from \"../../EmptyState\";\nimport { HvIconButton } from \"../../IconButton\";\nimport { HvMultiButton } from \"../../MultiButton\";\nimport { HvTypography } from \"../../Typography\";\nimport { ExtractNames } from \"../../utils/classes\";\nimport { useQueryBuilderContext } from \"../Context\";\nimport { useClasses } from \"../QueryBuilder.styles\";\nimport { Rule } from \"../Rule\";\nimport { HvQueryBuilderQueryCombinator, Query } from \"../types\";\n\nexport interface RuleGroupProps {\n id: React.Key;\n level?: number;\n combinator?: string;\n rules?: Query[\"rules\"];\n classes?: ExtractNames<typeof useClasses>;\n}\n\nexport const RuleGroup = ({\n level = 0,\n id,\n combinator = \"and\",\n rules = [],\n classes: classesProp,\n}: RuleGroupProps) => {\n const { classes, cx } = useClasses(classesProp);\n\n const {\n dispatchAction,\n askAction,\n maxDepth,\n combinators,\n labels,\n readOnly,\n disableConfirmation,\n allowRepeatedAttributes,\n } = useQueryBuilderContext();\n\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <div className={classes.buttonBackground}>\n <HvButton\n variant=\"secondarySubtle\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n disabled={readOnly}\n startIcon={<Add />}\n >\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n </div>\n {level <= normalizedMaxDepth && (\n <div className={classes.buttonBackground}>\n <HvButton\n variant=\"secondarySubtle\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n disabled={readOnly}\n startIcon={<Add />}\n >\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n </div>\n )}\n </>\n );\n\n const onClickCombinator = useCallback(\n (item: HvQueryBuilderQueryCombinator) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id],\n );\n\n return (\n <div\n className={cx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level > 0,\n })}\n >\n <HvMultiButton\n className={cx(classes.combinator, classes.topCombinator)}\n disabled={readOnly}\n aria-disabled={readOnly}\n >\n {combinators?.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n disabled={readOnly}\n size=\"xs\"\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n <div className={cx(classes.buttonBackground, classes.topRemoveButton)}>\n <HvIconButton\n className={classes.removeButton}\n onClick={() =>\n disableConfirmation\n ? dispatchAction({ type: \"remove-node\", id })\n : askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n })\n }\n title={\n (level === 0 && labels.query?.delete?.tooltip) ||\n labels.group.delete.tooltip ||\n (level === 0 && labels.query?.delete?.ariaLabel) ||\n labels.group.delete.ariaLabel\n }\n disabled={readOnly}\n >\n <Delete\n className={cx({ [classes.topRemoveButtonDisabled]: readOnly })}\n />\n </HvIconButton>\n </div>\n {rules?.length > 0 && (\n <div\n className={cx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n [classes.topRulesContainer]: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid = allowRepeatedAttributes\n ? false\n : combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (\n r.attribute === rule.attribute &&\n r.id !== rule.id &&\n i < index\n ) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n link\n component=\"button\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n className={classes.createConditionButton}\n disabled={readOnly}\n aria-disabled={readOnly}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n link\n component=\"button\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n className={classes.createGroupButton}\n disabled={readOnly}\n aria-disabled={readOnly}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <div\n className={cx(\n classes.actionButtonContainer,\n classes.topActionButtonContainer,\n )}\n >\n {actionButtons}\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RuleGroup.js","sources":["../../../../src/QueryBuilder/RuleGroup/RuleGroup.tsx"],"sourcesContent":["import { useCallback } from \"react\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\nimport { type ExtractNames } from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvButton } from \"../../Button\";\nimport { HvEmptyState } from \"../../EmptyState\";\nimport { HvIconButton } from \"../../IconButton\";\nimport { HvMultiButton } from \"../../MultiButton\";\nimport { HvTypography } from \"../../Typography\";\nimport { useQueryBuilderContext } from \"../Context\";\nimport { useClasses } from \"../QueryBuilder.styles\";\nimport { Rule } from \"../Rule\";\nimport { HvQueryBuilderQueryCombinator, Query } from \"../types\";\n\nexport interface RuleGroupProps {\n id: React.Key;\n level?: number;\n combinator?: string;\n rules?: Query[\"rules\"];\n classes?: ExtractNames<typeof useClasses>;\n}\n\nexport const RuleGroup = ({\n level = 0,\n id,\n combinator = \"and\",\n rules = [],\n classes: classesProp,\n}: RuleGroupProps) => {\n const { classes, cx } = useClasses(classesProp);\n\n const {\n dispatchAction,\n askAction,\n maxDepth,\n combinators,\n labels,\n readOnly,\n disableConfirmation,\n allowRepeatedAttributes,\n } = useQueryBuilderContext();\n\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <div className={classes.buttonBackground}>\n <HvButton\n variant=\"secondarySubtle\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n disabled={readOnly}\n startIcon={<Add />}\n >\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n </div>\n {level <= normalizedMaxDepth && (\n <div className={classes.buttonBackground}>\n <HvButton\n variant=\"secondarySubtle\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n disabled={readOnly}\n startIcon={<Add />}\n >\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n </div>\n )}\n </>\n );\n\n const onClickCombinator = useCallback(\n (item: HvQueryBuilderQueryCombinator) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id],\n );\n\n return (\n <div\n className={cx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level > 0,\n })}\n >\n <HvMultiButton\n className={cx(classes.combinator, classes.topCombinator)}\n disabled={readOnly}\n aria-disabled={readOnly}\n >\n {combinators?.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n disabled={readOnly}\n size=\"xs\"\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n <div className={cx(classes.buttonBackground, classes.topRemoveButton)}>\n <HvIconButton\n className={classes.removeButton}\n onClick={() =>\n disableConfirmation\n ? dispatchAction({ type: \"remove-node\", id })\n : askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n })\n }\n title={\n (level === 0 && labels.query?.delete?.tooltip) ||\n labels.group.delete.tooltip ||\n (level === 0 && labels.query?.delete?.ariaLabel) ||\n labels.group.delete.ariaLabel\n }\n disabled={readOnly}\n >\n <Delete\n className={cx({ [classes.topRemoveButtonDisabled]: readOnly })}\n />\n </HvIconButton>\n </div>\n {rules?.length > 0 && (\n <div\n className={cx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n [classes.topRulesContainer]: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid = allowRepeatedAttributes\n ? false\n : combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (\n r.attribute === rule.attribute &&\n r.id !== rule.id &&\n i < index\n ) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n link\n component=\"button\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n className={classes.createConditionButton}\n disabled={readOnly}\n aria-disabled={readOnly}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n link\n component=\"button\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n className={classes.createGroupButton}\n disabled={readOnly}\n aria-disabled={readOnly}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <div\n className={cx(\n classes.actionButtonContainer,\n classes.topActionButtonContainer,\n )}\n >\n {actionButtons}\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef, useState, useCallback } from "react";
3
+ import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
3
4
  import { useControlled } from "../hooks/useControlled.js";
4
- import { useDefaultProps } from "../hooks/useDefaultProps.js";
5
5
  import { useUniqueId } from "../hooks/useUniqueId.js";
6
6
  import { setId } from "../utils/setId.js";
7
7
  import { useClasses } from "./Radio.styles.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sources":["../../../src/Radio/Radio.tsx"],"sourcesContent":["import { forwardRef, useCallback, useState } from \"react\";\nimport { RadioProps as MuiRadioProps } from \"@mui/material/Radio\";\n\nimport { HvBaseRadio } from \"../BaseRadio\";\nimport {\n HvFormElement,\n HvLabel,\n HvLabelProps,\n HvWarningText,\n isInvalid,\n} from \"../Forms\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./Radio.styles\";\n\nexport { staticClasses as radioClasses };\n\nexport type HvRadioClasses = ExtractNames<typeof useClasses>;\n\nexport type HvRadioStatus = \"standBy\" | \"valid\" | \"invalid\";\n\nexport interface HvRadioProps\n extends Omit<MuiRadioProps, \"onChange\" | \"classes\"> {\n /**\n * A Jss Object used to override or extend the styles applied to the radio button.\n */\n classes?: HvRadioClasses;\n /**\n * The form element name.\n */\n name?: string;\n /**\n * The value of the form element.\n *\n * The default value is \"on\".\n */\n value?: any;\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.\n */\n label?: React.ReactNode;\n /**\n * Properties passed on to the label element.\n */\n labelProps?: HvLabelProps;\n /**\n * Indicates that user input is required on the form element.\n *\n * If a single radio button in a group has the required attribute, a radio button in\n * that group must be check, though it doesn't have to be the one with the attribute is applied.\n *\n * For that reason, the component doesn't make any uncontrolled changes to its validation status.\n * That should ideally be managed in the context of a radio button group.\n */\n required?: boolean;\n /**\n * Indicates that the form element is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that the form element is disabled.\n */\n disabled?: boolean;\n /**\n * If `true` the radio button is selected, if set to `false` the radio button is not selected.\n *\n * When defined the radio button state becomes controlled.\n */\n checked?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: 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 status?: HvRadioStatus;\n /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage?: string;\n /**\n * Identifies the element that provides an error message for the radio button.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\"?: string;\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any,\n ) => void;\n /**\n * Whether the selector should use semantic colors.\n */\n semantic?: boolean;\n /**\n * Properties passed on to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible?: (event: React.FocusEvent<any>) => void;\n /** @ignore */\n ref?: MuiRadioProps[\"ref\"];\n /** @ignore */\n component?: MuiRadioProps[\"component\"];\n}\n\n/**\n * A Radio Button is a mechanism that allows user to select just an option from a group of options.\n *\n * It should used in a Radio Button Group to present the user with a range of options from\n * which the user <b>may select just one option</b> to complete their task.\n *\n * Individual use of radio buttons, at least uncontrolled, is unadvised as React state management doesn't\n * respond to the browser's native management of radio inputs checked state.\n */\nexport const HvRadio = forwardRef<HTMLButtonElement, HvRadioProps>(\n (props, ref) => {\n const {\n classes: classesProp,\n className,\n id,\n name,\n value = \"on\",\n required = false,\n readOnly = false,\n disabled = false,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n labelProps,\n checked,\n defaultChecked = false,\n onChange,\n status = \"standBy\",\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n semantic = false,\n inputProps,\n onFocusVisible,\n onBlur,\n ...others\n } = useDefaultProps(\"HvRadio\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const elementId = useUniqueId(id);\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible],\n );\n\n const onBlurCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur],\n );\n\n const [isChecked, setIsChecked] = useControlled(\n checked,\n Boolean(defaultChecked),\n );\n\n const onLocalChange = useCallback(\n (evt: React.ChangeEvent<HTMLInputElement>, newChecked: boolean) => {\n setIsChecked(newChecked);\n\n onChange?.(evt, newChecked, value);\n },\n [onChange, setIsChecked, value],\n );\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled\n const canShowError =\n ariaErrorMessage == null &&\n status !== undefined &&\n statusMessage !== undefined;\n\n const hasLabel = label != null;\n\n const isStateInvalid = isInvalid(status);\n\n let errorMessageId: string | undefined;\n if (isStateInvalid) {\n errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n }\n\n const radio = (\n <HvBaseRadio\n ref={ref}\n id={label ? setId(elementId, \"input\") : setId(id, \"input\")}\n name={name}\n className={cx(classes.radio, {\n [classes.invalidRadio]: isStateInvalid,\n })}\n disabled={disabled}\n readOnly={readOnly}\n onChange={onLocalChange}\n value={value}\n checked={isChecked}\n semantic={semantic}\n inputProps={{\n \"aria-invalid\": isStateInvalid ? true : undefined,\n \"aria-errormessage\": errorMessageId,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n ...inputProps,\n }}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n\n return (\n <HvFormElement\n id={id}\n name={name}\n status={status || \"standBy\"}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n className={cx(classes.root, className)}\n >\n {hasLabel ? (\n <div\n className={cx(classes.container, {\n [classes.disabled]: disabled,\n [classes.focusVisible]: !!(focusVisible && label),\n [classes.invalidContainer]: isStateInvalid,\n [classes.checked]: isChecked,\n [classes.semantic]: semantic,\n })}\n >\n {radio}\n <HvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n {...labelProps}\n />\n </div>\n ) : (\n radio\n )}\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder>\n {statusMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n },\n);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Radio.js","sources":["../../../src/Radio/Radio.tsx"],"sourcesContent":["import { forwardRef, useCallback, useState } from \"react\";\nimport { RadioProps as MuiRadioProps } from \"@mui/material/Radio\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport { HvBaseRadio } from \"../BaseRadio\";\nimport {\n HvFormElement,\n HvLabel,\n HvLabelProps,\n HvWarningText,\n isInvalid,\n} from \"../Forms\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./Radio.styles\";\n\nexport { staticClasses as radioClasses };\n\nexport type HvRadioClasses = ExtractNames<typeof useClasses>;\n\nexport type HvRadioStatus = \"standBy\" | \"valid\" | \"invalid\";\n\nexport interface HvRadioProps\n extends Omit<MuiRadioProps, \"onChange\" | \"classes\"> {\n /**\n * A Jss Object used to override or extend the styles applied to the radio button.\n */\n classes?: HvRadioClasses;\n /**\n * The form element name.\n */\n name?: string;\n /**\n * The value of the form element.\n *\n * The default value is \"on\".\n */\n value?: any;\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.\n */\n label?: React.ReactNode;\n /**\n * Properties passed on to the label element.\n */\n labelProps?: HvLabelProps;\n /**\n * Indicates that user input is required on the form element.\n *\n * If a single radio button in a group has the required attribute, a radio button in\n * that group must be check, though it doesn't have to be the one with the attribute is applied.\n *\n * For that reason, the component doesn't make any uncontrolled changes to its validation status.\n * That should ideally be managed in the context of a radio button group.\n */\n required?: boolean;\n /**\n * Indicates that the form element is not editable.\n */\n readOnly?: boolean;\n /**\n * Indicates that the form element is disabled.\n */\n disabled?: boolean;\n /**\n * If `true` the radio button is selected, if set to `false` the radio button is not selected.\n *\n * When defined the radio button state becomes controlled.\n */\n checked?: boolean;\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked?: 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 status?: HvRadioStatus;\n /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage?: string;\n /**\n * Identifies the element that provides an error message for the radio button.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\"?: string;\n /**\n * The callback fired when the radio button is pressed.\n */\n onChange?: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any,\n ) => void;\n /**\n * Whether the selector should use semantic colors.\n */\n semantic?: boolean;\n /**\n * Properties passed on to the input element.\n */\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible?: (event: React.FocusEvent<any>) => void;\n /** @ignore */\n ref?: MuiRadioProps[\"ref\"];\n /** @ignore */\n component?: MuiRadioProps[\"component\"];\n}\n\n/**\n * A Radio Button is a mechanism that allows user to select just an option from a group of options.\n *\n * It should used in a Radio Button Group to present the user with a range of options from\n * which the user <b>may select just one option</b> to complete their task.\n *\n * Individual use of radio buttons, at least uncontrolled, is unadvised as React state management doesn't\n * respond to the browser's native management of radio inputs checked state.\n */\nexport const HvRadio = forwardRef<HTMLButtonElement, HvRadioProps>(\n (props, ref) => {\n const {\n classes: classesProp,\n className,\n id,\n name,\n value = \"on\",\n required = false,\n readOnly = false,\n disabled = false,\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n labelProps,\n checked,\n defaultChecked = false,\n onChange,\n status = \"standBy\",\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n semantic = false,\n inputProps,\n onFocusVisible,\n onBlur,\n ...others\n } = useDefaultProps(\"HvRadio\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const elementId = useUniqueId(id);\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible],\n );\n\n const onBlurCallback = useCallback(\n (evt: React.FocusEvent<any>) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur],\n );\n\n const [isChecked, setIsChecked] = useControlled(\n checked,\n Boolean(defaultChecked),\n );\n\n const onLocalChange = useCallback(\n (evt: React.ChangeEvent<HTMLInputElement>, newChecked: boolean) => {\n setIsChecked(newChecked);\n\n onChange?.(evt, newChecked, value);\n },\n [onChange, setIsChecked, value],\n );\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled\n const canShowError =\n ariaErrorMessage == null &&\n status !== undefined &&\n statusMessage !== undefined;\n\n const hasLabel = label != null;\n\n const isStateInvalid = isInvalid(status);\n\n let errorMessageId: string | undefined;\n if (isStateInvalid) {\n errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n }\n\n const radio = (\n <HvBaseRadio\n ref={ref}\n id={label ? setId(elementId, \"input\") : setId(id, \"input\")}\n name={name}\n className={cx(classes.radio, {\n [classes.invalidRadio]: isStateInvalid,\n })}\n disabled={disabled}\n readOnly={readOnly}\n onChange={onLocalChange}\n value={value}\n checked={isChecked}\n semantic={semantic}\n inputProps={{\n \"aria-invalid\": isStateInvalid ? true : undefined,\n \"aria-errormessage\": errorMessageId,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n ...inputProps,\n }}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n\n return (\n <HvFormElement\n id={id}\n name={name}\n status={status || \"standBy\"}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n className={cx(classes.root, className)}\n >\n {hasLabel ? (\n <div\n className={cx(classes.container, {\n [classes.disabled]: disabled,\n [classes.focusVisible]: !!(focusVisible && label),\n [classes.invalidContainer]: isStateInvalid,\n [classes.checked]: isChecked,\n [classes.semantic]: semantic,\n })}\n >\n {radio}\n <HvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n {...labelProps}\n />\n </div>\n ) : (\n radio\n )}\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder>\n {statusMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n },\n);\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
+ import { createClasses } from "@hitachivantara/uikit-react-utils";
1
2
  import { theme } from "@hitachivantara/uikit-styles";
2
3
  import { outlineStyles } from "../utils/focusUtils.js";
3
- import { createClasses } from "@hitachivantara/uikit-react-shared";
4
4
  const { staticClasses, useClasses } = createClasses("HvRadio", {
5
5
  root: { display: "inline-block" },
6
6
  container: {
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.styles.js","sources":["../../../src/Radio/Radio.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"../utils/classes\";\nimport { outlineStyles } from \"../utils/focusUtils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvRadio\", {\n root: { display: \"inline-block\" },\n container: {\n cursor: \"pointer\",\n display: \"flex\",\n height: \"32px\",\n transitionProperty: \"background-color\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n transitionDelay: \"0ms\",\n\n \"&:hover\": {\n backgroundColor: theme.colors.containerBackgroundHover,\n borderRadius: theme.radii.base,\n },\n },\n invalidContainer: {\n borderBottom: `1px solid ${theme.colors.negative}`,\n\n \"&:hover\": {\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n },\n },\n disabled: {\n cursor: \"not-allowed\",\n\n \"& $label\": { color: theme.colors.secondary_60, cursor: \"not-allowed\" },\n },\n radio: {\n height: \"32px\",\n\n \"& svg\": {\n outline: \"none\",\n boxShadow: \"none\",\n },\n },\n invalidRadio: {\n borderBottom: `1px solid ${theme.colors.negative}`,\n\n \"&:hover\": {\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n },\n },\n label: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n verticalAlign: \"middle\",\n paddingRight: theme.space.xs,\n whiteSpace: \"nowrap\",\n ...theme.typography.body,\n cursor: \"pointer\",\n height: \"32px\",\n lineHeight: \"32px\",\n width: \"100%\",\n },\n focusVisible: { backgroundColor: theme.colors.atmo3, ...outlineStyles },\n checked: {},\n semantic: {},\n});\n"],"names":[],"mappings":";;;AAKO,MAAM,EAAE,eAAe,eAAe,cAAc,WAAW;AAAA,EACpE,MAAM,EAAE,SAAS,eAAe;AAAA,EAChC,WAAW;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,oBAAoB;AAAA,IACpB,oBAAoB;AAAA,IACpB,0BAA0B;AAAA,IAC1B,iBAAiB;AAAA,IAEjB,WAAW;AAAA,MACT,iBAAiB,MAAM,OAAO;AAAA,MAC9B,cAAc,MAAM,MAAM;AAAA,IAC5B;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB,cAAc,aAAa,MAAM,OAAO,QAAQ;AAAA,IAEhD,WAAW;AAAA,MACT,wBAAwB;AAAA,MACxB,yBAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IAER,YAAY,EAAE,OAAO,MAAM,OAAO,cAAc,QAAQ,cAAc;AAAA,EACxE;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,IAER,SAAS;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,cAAc,aAAa,MAAM,OAAO,QAAQ;AAAA,IAEhD,WAAW;AAAA,MACT,wBAAwB;AAAA,MACxB,yBAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,UAAU;AAAA,IACV,cAAc;AAAA,IACd,eAAe;AAAA,IACf,cAAc,MAAM,MAAM;AAAA,IAC1B,YAAY;AAAA,IACZ,GAAG,MAAM,WAAW;AAAA,IACpB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EACA,cAAc,EAAE,iBAAiB,MAAM,OAAO,OAAO,GAAG,cAAc;AAAA,EACtE,SAAS,CAAC;AAAA,EACV,UAAU,CAAC;AACb,CAAC;"}
1
+ {"version":3,"file":"Radio.styles.js","sources":["../../../src/Radio/Radio.styles.tsx"],"sourcesContent":["import { createClasses } from \"@hitachivantara/uikit-react-utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"../utils/focusUtils\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvRadio\", {\n root: { display: \"inline-block\" },\n container: {\n cursor: \"pointer\",\n display: \"flex\",\n height: \"32px\",\n transitionProperty: \"background-color\",\n transitionDuration: \"150ms\",\n transitionTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n transitionDelay: \"0ms\",\n\n \"&:hover\": {\n backgroundColor: theme.colors.containerBackgroundHover,\n borderRadius: theme.radii.base,\n },\n },\n invalidContainer: {\n borderBottom: `1px solid ${theme.colors.negative}`,\n\n \"&:hover\": {\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n },\n },\n disabled: {\n cursor: \"not-allowed\",\n\n \"& $label\": { color: theme.colors.secondary_60, cursor: \"not-allowed\" },\n },\n radio: {\n height: \"32px\",\n\n \"& svg\": {\n outline: \"none\",\n boxShadow: \"none\",\n },\n },\n invalidRadio: {\n borderBottom: `1px solid ${theme.colors.negative}`,\n\n \"&:hover\": {\n borderBottomLeftRadius: \"0px\",\n borderBottomRightRadius: \"0px\",\n },\n },\n label: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n verticalAlign: \"middle\",\n paddingRight: theme.space.xs,\n whiteSpace: \"nowrap\",\n ...theme.typography.body,\n cursor: \"pointer\",\n height: \"32px\",\n lineHeight: \"32px\",\n width: \"100%\",\n },\n focusVisible: { backgroundColor: theme.colors.atmo3, ...outlineStyles },\n checked: {},\n semantic: {},\n});\n"],"names":[],"mappings":";;;AAKO,MAAM,EAAE,eAAe,eAAe,cAAc,WAAW;AAAA,EACpE,MAAM,EAAE,SAAS,eAAe;AAAA,EAChC,WAAW;AAAA,IACT,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,oBAAoB;AAAA,IACpB,oBAAoB;AAAA,IACpB,0BAA0B;AAAA,IAC1B,iBAAiB;AAAA,IAEjB,WAAW;AAAA,MACT,iBAAiB,MAAM,OAAO;AAAA,MAC9B,cAAc,MAAM,MAAM;AAAA,IAC5B;AAAA,EACF;AAAA,EACA,kBAAkB;AAAA,IAChB,cAAc,aAAa,MAAM,OAAO,QAAQ;AAAA,IAEhD,WAAW;AAAA,MACT,wBAAwB;AAAA,MACxB,yBAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,QAAQ;AAAA,IAER,YAAY,EAAE,OAAO,MAAM,OAAO,cAAc,QAAQ,cAAc;AAAA,EACxE;AAAA,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,IAER,SAAS;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,cAAc;AAAA,IACZ,cAAc,aAAa,MAAM,OAAO,QAAQ;AAAA,IAEhD,WAAW;AAAA,MACT,wBAAwB;AAAA,MACxB,yBAAyB;AAAA,IAC3B;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,UAAU;AAAA,IACV,cAAc;AAAA,IACd,eAAe;AAAA,IACf,cAAc,MAAM,MAAM;AAAA,IAC1B,YAAY;AAAA,IACZ,GAAG,MAAM,WAAW;AAAA,IACpB,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AAAA,EACA,cAAc,EAAE,iBAAiB,MAAM,OAAO,OAAO,GAAG,cAAc;AAAA,EACtE,SAAS,CAAC;AAAA,EACV,UAAU,CAAC;AACb,CAAC;"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { forwardRef, useCallback, useMemo, Children, cloneElement } from "react";
3
+ import { useDefaultProps } from "@hitachivantara/uikit-react-utils";
3
4
  import { useControlled } from "../hooks/useControlled.js";
4
- import { useDefaultProps } from "../hooks/useDefaultProps.js";
5
5
  import { useUniqueId } from "../hooks/useUniqueId.js";
6
6
  import { setId } from "../utils/setId.js";
7
7
  import { useClasses } from "./RadioGroup.styles.js";
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","sources":["../../../src/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n forwardRef,\n useCallback,\n useMemo,\n} from \"react\";\n\nimport {\n HvFormElement,\n HvFormStatus,\n HvInfoMessage,\n HvLabel,\n HvWarningText,\n} from \"../Forms\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useDefaultProps } from \"../hooks/useDefaultProps\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { ExtractNames } from \"../utils/classes\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./RadioGroup.styles\";\n\nexport { staticClasses as radioGroupClasses };\n\nexport type HvRadioGroupClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvRadioGroupProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * The form element name.\n *\n * It is propagated to the children radio buttons, unless they already have one (which they shouldn't).\n */\n name?: string;\n /**\n * The value of the form element, represented in one of the child radio buttons values.\n *\n * When defined the radio button group state becomes controlled.\n */\n value?: any;\n /**\n * When uncontrolled, defines the initial value.\n */\n defaultValue?: any;\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 /**\n * Provide additional descriptive text for the form element.\n */\n description?: React.ReactNode;\n /**\n * Indicates that the form element is disabled.\n * If `true` the state is propagated to the children radio buttons.\n */\n disabled?: boolean;\n /**\n * Indicates that the form element is not editable.\n * If `true` the state is propagated to the children radio buttons.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form element.\n * If `true` the state is propagated to the children radio buttons' input element.\n */\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 /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage?: React.ReactNode;\n /**\n * The callback fired when the value changes.\n */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: any) => void;\n /**\n * Indicates whether the radio buttons group's orientation is horizontal or vertical.\n *\n * Defaults to vertical.\n */\n orientation?: \"vertical\" | \"horizontal\";\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvRadioGroupClasses;\n}\n\nconst getValueFromSelectedChildren = (children: React.ReactNode) => {\n const childrenArray = Children.toArray(children);\n const childrenCount = childrenArray.length;\n for (let i = 0; i !== childrenCount; i += 1) {\n const child: any = childrenArray[i];\n\n const childIsControlled = child?.props?.checked !== undefined;\n const childIsSelected = childIsControlled\n ? child?.props?.checked\n : child?.props?.defaultChecked;\n\n if (childIsSelected) {\n return child?.props?.value;\n }\n }\n\n return null;\n};\n\n/**\n * A group of radio buttons.\n *\n * A radio group is a type of selection list that can only have a single entry checked at any one time.\n */\nexport const HvRadioGroup = forwardRef<HTMLDivElement, HvRadioGroupProps>(\n (props, ref) => {\n const {\n id,\n classes: classesProp,\n className,\n children,\n name,\n value: valueProp,\n defaultValue,\n label,\n description,\n status,\n statusMessage,\n required = false,\n readOnly = false,\n disabled = false,\n orientation = \"vertical\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-errormessage\": ariaErrorMessage,\n onChange,\n ...others\n } = useDefaultProps(\"HvRadioGroup\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const elementId = useUniqueId(id);\n\n const [value, setValue] = useControlled(\n valueProp,\n defaultValue !== undefined\n ? defaultValue\n : // When uncontrolled and no default value is given,\n // extract the initial selected values from the children own state\n () => getValueFromSelectedChildren(children),\n );\n\n const onChildChangeInterceptor = useCallback(\n (\n childOnChange: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any,\n ) => void,\n event: React.ChangeEvent<HTMLInputElement>,\n isChecked: boolean,\n newValue: any,\n ) => {\n childOnChange?.(event, isChecked, newValue);\n\n onChange?.(event, newValue);\n\n setValue(newValue);\n },\n [onChange, setValue],\n );\n\n const modifiedChildren = useMemo(() => {\n return Children.map(children, (child: any) => {\n const childValue = child?.props?.value ?? \"on\";\n\n const childIsSelected = childValue === value;\n\n return cloneElement(child, {\n checked: childIsSelected,\n name: child?.props?.name || name || elementId,\n onChange: (\n event: React.ChangeEvent<HTMLInputElement>,\n isChecked: boolean,\n newValue: any,\n ) =>\n onChildChangeInterceptor(\n child?.props?.onChange,\n event,\n isChecked,\n newValue,\n ),\n inputProps: {\n ...child?.props?.inputProps,\n // Set the required attribute directly in the input\n // the radio form element context shouldn't be aware so the\n // label doesn't show redundant asterisk\n required,\n },\n disabled: disabled || child?.props?.disabled,\n readOnly: readOnly || child?.props?.readOnly,\n });\n });\n }, [\n children,\n disabled,\n elementId,\n name,\n onChildChangeInterceptor,\n readOnly,\n required,\n value,\n ]);\n\n // The error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) ||\n (status === undefined && required));\n\n const errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n status={status || \"standBy\"}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n className={cx(classes.root, className)}\n >\n {label && (\n <HvLabel\n id={setId(elementId, \"label\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {description && (\n <HvInfoMessage id={setId(elementId, \"description\")}>\n {description}\n </HvInfoMessage>\n )}\n\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n aria-labelledby={\n ariaLabelledBy || (label && setId(elementId, \"label\")) || undefined\n }\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? errorMessageId : undefined}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n className={cx(classes.group, {\n [classes.vertical]: orientation === \"vertical\",\n [classes.horizontal]: orientation === \"horizontal\",\n [classes.invalid]: status === \"invalid\",\n })}\n {...others}\n >\n {modifiedChildren}\n </div>\n\n {canShowError && (\n <HvWarningText\n id={setId(elementId, \"error\")}\n disableBorder\n className={classes.error}\n >\n {statusMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n },\n);\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RadioGroup.js","sources":["../../../src/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import {\n Children,\n cloneElement,\n forwardRef,\n useCallback,\n useMemo,\n} from \"react\";\nimport {\n useDefaultProps,\n type ExtractNames,\n} from \"@hitachivantara/uikit-react-utils\";\n\nimport {\n HvFormElement,\n HvFormStatus,\n HvInfoMessage,\n HvLabel,\n HvWarningText,\n} from \"../Forms\";\nimport { useControlled } from \"../hooks/useControlled\";\nimport { useUniqueId } from \"../hooks/useUniqueId\";\nimport { HvBaseProps } from \"../types/generic\";\nimport { setId } from \"../utils/setId\";\nimport { staticClasses, useClasses } from \"./RadioGroup.styles\";\n\nexport { staticClasses as radioGroupClasses };\n\nexport type HvRadioGroupClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvRadioGroupProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * The form element name.\n *\n * It is propagated to the children radio buttons, unless they already have one (which they shouldn't).\n */\n name?: string;\n /**\n * The value of the form element, represented in one of the child radio buttons values.\n *\n * When defined the radio button group state becomes controlled.\n */\n value?: any;\n /**\n * When uncontrolled, defines the initial value.\n */\n defaultValue?: any;\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 /**\n * Provide additional descriptive text for the form element.\n */\n description?: React.ReactNode;\n /**\n * Indicates that the form element is disabled.\n * If `true` the state is propagated to the children radio buttons.\n */\n disabled?: boolean;\n /**\n * Indicates that the form element is not editable.\n * If `true` the state is propagated to the children radio buttons.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form element.\n * If `true` the state is propagated to the children radio buttons' input element.\n */\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 /**\n * The error message to show when `status` is \"invalid\".\n */\n statusMessage?: React.ReactNode;\n /**\n * The callback fired when the value changes.\n */\n onChange?: (event: React.ChangeEvent<HTMLInputElement>, value: any) => void;\n /**\n * Indicates whether the radio buttons group's orientation is horizontal or vertical.\n *\n * Defaults to vertical.\n */\n orientation?: \"vertical\" | \"horizontal\";\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvRadioGroupClasses;\n}\n\nconst getValueFromSelectedChildren = (children: React.ReactNode) => {\n const childrenArray = Children.toArray(children);\n const childrenCount = childrenArray.length;\n for (let i = 0; i !== childrenCount; i += 1) {\n const child: any = childrenArray[i];\n\n const childIsControlled = child?.props?.checked !== undefined;\n const childIsSelected = childIsControlled\n ? child?.props?.checked\n : child?.props?.defaultChecked;\n\n if (childIsSelected) {\n return child?.props?.value;\n }\n }\n\n return null;\n};\n\n/**\n * A group of radio buttons.\n *\n * A radio group is a type of selection list that can only have a single entry checked at any one time.\n */\nexport const HvRadioGroup = forwardRef<HTMLDivElement, HvRadioGroupProps>(\n (props, ref) => {\n const {\n id,\n classes: classesProp,\n className,\n children,\n name,\n value: valueProp,\n defaultValue,\n label,\n description,\n status,\n statusMessage,\n required = false,\n readOnly = false,\n disabled = false,\n orientation = \"vertical\",\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-errormessage\": ariaErrorMessage,\n onChange,\n ...others\n } = useDefaultProps(\"HvRadioGroup\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const elementId = useUniqueId(id);\n\n const [value, setValue] = useControlled(\n valueProp,\n defaultValue !== undefined\n ? defaultValue\n : // When uncontrolled and no default value is given,\n // extract the initial selected values from the children own state\n () => getValueFromSelectedChildren(children),\n );\n\n const onChildChangeInterceptor = useCallback(\n (\n childOnChange: (\n event: React.ChangeEvent<HTMLInputElement>,\n checked: boolean,\n value: any,\n ) => void,\n event: React.ChangeEvent<HTMLInputElement>,\n isChecked: boolean,\n newValue: any,\n ) => {\n childOnChange?.(event, isChecked, newValue);\n\n onChange?.(event, newValue);\n\n setValue(newValue);\n },\n [onChange, setValue],\n );\n\n const modifiedChildren = useMemo(() => {\n return Children.map(children, (child: any) => {\n const childValue = child?.props?.value ?? \"on\";\n\n const childIsSelected = childValue === value;\n\n return cloneElement(child, {\n checked: childIsSelected,\n name: child?.props?.name || name || elementId,\n onChange: (\n event: React.ChangeEvent<HTMLInputElement>,\n isChecked: boolean,\n newValue: any,\n ) =>\n onChildChangeInterceptor(\n child?.props?.onChange,\n event,\n isChecked,\n newValue,\n ),\n inputProps: {\n ...child?.props?.inputProps,\n // Set the required attribute directly in the input\n // the radio form element context shouldn't be aware so the\n // label doesn't show redundant asterisk\n required,\n },\n disabled: disabled || child?.props?.disabled,\n readOnly: readOnly || child?.props?.readOnly,\n });\n });\n }, [\n children,\n disabled,\n elementId,\n name,\n onChildChangeInterceptor,\n readOnly,\n required,\n value,\n ]);\n\n // The error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) ||\n (status === undefined && required));\n\n const errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n status={status || \"standBy\"}\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n className={cx(classes.root, className)}\n >\n {label && (\n <HvLabel\n id={setId(elementId, \"label\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {description && (\n <HvInfoMessage id={setId(elementId, \"description\")}>\n {description}\n </HvInfoMessage>\n )}\n\n <div\n ref={ref}\n role=\"radiogroup\"\n aria-label={ariaLabel}\n aria-labelledby={\n ariaLabelledBy || (label && setId(elementId, \"label\")) || undefined\n }\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? errorMessageId : undefined}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n className={cx(classes.group, {\n [classes.vertical]: orientation === \"vertical\",\n [classes.horizontal]: orientation === \"horizontal\",\n [classes.invalid]: status === \"invalid\",\n })}\n {...others}\n >\n {modifiedChildren}\n </div>\n\n {canShowError && (\n <HvWarningText\n id={setId(elementId, \"error\")}\n disableBorder\n className={classes.error}\n >\n {statusMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n },\n);\n"],"names":[],"mappings":"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"}