@hitachivantara/uikit-react-core 5.28.1 → 5.30.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 (446) hide show
  1. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs +1 -1
  2. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs.map +1 -1
  3. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs +5 -1
  4. package/dist/cjs/components/AppSwitcher/Action/Action.styles.cjs.map +1 -1
  5. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs +2 -2
  6. package/dist/cjs/components/BaseCheckBox/BaseCheckBox.styles.cjs.map +1 -1
  7. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs +16 -19
  8. package/dist/cjs/components/BaseDropdown/BaseDropdown.styles.cjs.map +1 -1
  9. package/dist/cjs/components/BaseInput/BaseInput.styles.cjs +27 -27
  10. package/dist/cjs/components/BaseInput/BaseInput.styles.cjs.map +1 -1
  11. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs +2 -2
  12. package/dist/cjs/components/BaseRadio/BaseRadio.styles.cjs.map +1 -1
  13. package/dist/cjs/components/BaseSwitch/BaseSwitch.styles.cjs +35 -35
  14. package/dist/cjs/components/BaseSwitch/BaseSwitch.styles.cjs.map +1 -1
  15. package/dist/cjs/components/BulkActions/BulkActions.cjs +0 -5
  16. package/dist/cjs/components/BulkActions/BulkActions.cjs.map +1 -1
  17. package/dist/cjs/components/BulkActions/BulkActions.styles.cjs +12 -5
  18. package/dist/cjs/components/BulkActions/BulkActions.styles.cjs.map +1 -1
  19. package/dist/cjs/components/Button/Button.cjs +1 -1
  20. package/dist/cjs/components/Button/Button.cjs.map +1 -1
  21. package/dist/cjs/components/Button/Button.styles.cjs +56 -62
  22. package/dist/cjs/components/Button/Button.styles.cjs.map +1 -1
  23. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs +14 -12
  24. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.cjs.map +1 -1
  25. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs +6 -11
  26. package/dist/cjs/components/Calendar/CalendarHeader/CalendarHeader.styles.cjs.map +1 -1
  27. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs +17 -15
  28. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.cjs.map +1 -1
  29. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.styles.cjs +1 -1
  30. package/dist/cjs/components/Calendar/SingleCalendar/CalendarCell.styles.cjs.map +1 -1
  31. package/dist/cjs/components/Card/Card.cjs +1 -1
  32. package/dist/cjs/components/Card/Card.cjs.map +1 -1
  33. package/dist/cjs/components/Card/Card.styles.cjs +5 -5
  34. package/dist/cjs/components/Card/Card.styles.cjs.map +1 -1
  35. package/dist/cjs/components/Card/Header/Header.cjs +12 -20
  36. package/dist/cjs/components/Card/Header/Header.cjs.map +1 -1
  37. package/dist/cjs/components/Card/Header/Header.styles.cjs +2 -0
  38. package/dist/cjs/components/Card/Header/Header.styles.cjs.map +1 -1
  39. package/dist/cjs/components/Carousel/Carousel.styles.cjs +7 -7
  40. package/dist/cjs/components/Carousel/Carousel.styles.cjs.map +1 -1
  41. package/dist/cjs/components/CheckBox/CheckBox.styles.cjs +2 -2
  42. package/dist/cjs/components/CheckBox/CheckBox.styles.cjs.map +1 -1
  43. package/dist/cjs/components/ColorPicker/ColorPicker.cjs +2 -8
  44. package/dist/cjs/components/ColorPicker/ColorPicker.cjs.map +1 -1
  45. package/dist/cjs/components/ColorPicker/ColorPicker.styles.cjs +8 -5
  46. package/dist/cjs/components/ColorPicker/ColorPicker.styles.cjs.map +1 -1
  47. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs +9 -7
  48. package/dist/cjs/components/ColorPicker/Fields/Fields.cjs.map +1 -1
  49. package/dist/cjs/components/ColorPicker/Fields/Fields.styles.cjs +6 -7
  50. package/dist/cjs/components/ColorPicker/Fields/Fields.styles.cjs.map +1 -1
  51. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs +13 -10
  52. package/dist/cjs/components/ColorPicker/Picker/Picker.cjs.map +1 -1
  53. package/dist/cjs/components/ColorPicker/Picker/Picker.styles.cjs +19 -19
  54. package/dist/cjs/components/ColorPicker/Picker/Picker.styles.cjs.map +1 -1
  55. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs +9 -7
  56. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.cjs.map +1 -1
  57. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.styles.cjs +7 -7
  58. package/dist/cjs/components/ColorPicker/PresetColors/PresetColors.styles.cjs.map +1 -1
  59. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs +11 -9
  60. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.cjs.map +1 -1
  61. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.styles.cjs +9 -9
  62. package/dist/cjs/components/ColorPicker/SavedColors/SavedColors.styles.cjs.map +1 -1
  63. package/dist/cjs/components/DatePicker/DatePicker.cjs +4 -18
  64. package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
  65. package/dist/cjs/components/DatePicker/DatePicker.styles.cjs +6 -0
  66. package/dist/cjs/components/DatePicker/DatePicker.styles.cjs.map +1 -1
  67. package/dist/cjs/components/Dialog/Actions/Actions.cjs +4 -1
  68. package/dist/cjs/components/Dialog/Actions/Actions.cjs.map +1 -1
  69. package/dist/cjs/components/Dialog/Dialog.cjs +12 -20
  70. package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
  71. package/dist/cjs/components/Dialog/Dialog.styles.cjs +1 -1
  72. package/dist/cjs/components/Dialog/Dialog.styles.cjs.map +1 -1
  73. package/dist/cjs/components/Dialog/Title/Title.cjs +5 -12
  74. package/dist/cjs/components/Dialog/Title/Title.cjs.map +1 -1
  75. package/dist/cjs/components/Dialog/Title/Title.styles.cjs +2 -1
  76. package/dist/cjs/components/Dialog/Title/Title.styles.cjs.map +1 -1
  77. package/dist/cjs/components/Dialog/context.cjs +10 -0
  78. package/dist/cjs/components/Dialog/context.cjs.map +1 -0
  79. package/dist/cjs/components/Drawer/Drawer.cjs +0 -27
  80. package/dist/cjs/components/Drawer/Drawer.cjs.map +1 -1
  81. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs +3 -3
  82. package/dist/cjs/components/DropDownMenu/DropDownMenu.styles.cjs.map +1 -1
  83. package/dist/cjs/components/Dropdown/Dropdown.cjs +10 -16
  84. package/dist/cjs/components/Dropdown/Dropdown.cjs.map +1 -1
  85. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs +16 -4
  86. package/dist/cjs/components/Dropdown/Dropdown.styles.cjs.map +1 -1
  87. package/dist/cjs/components/Dropdown/List/List.cjs +19 -17
  88. package/dist/cjs/components/Dropdown/List/List.cjs.map +1 -1
  89. package/dist/cjs/components/Dropdown/List/List.styles.cjs +2 -2
  90. package/dist/cjs/components/Dropdown/List/List.styles.cjs.map +1 -1
  91. package/dist/cjs/components/EmptyState/EmptyState.cjs +1 -5
  92. package/dist/cjs/components/EmptyState/EmptyState.cjs.map +1 -1
  93. package/dist/cjs/components/EmptyState/EmptyState.styles.cjs +1 -1
  94. package/dist/cjs/components/EmptyState/EmptyState.styles.cjs.map +1 -1
  95. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs +14 -12
  96. package/dist/cjs/components/FileUploader/DropZone/DropZone.cjs.map +1 -1
  97. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs +8 -8
  98. package/dist/cjs/components/FileUploader/DropZone/DropZone.styles.cjs.map +1 -1
  99. package/dist/cjs/components/FileUploader/File/File.cjs +9 -7
  100. package/dist/cjs/components/FileUploader/File/File.cjs.map +1 -1
  101. package/dist/cjs/components/FileUploader/File/File.styles.cjs +5 -5
  102. package/dist/cjs/components/FileUploader/File/File.styles.cjs.map +1 -1
  103. package/dist/cjs/components/FileUploader/FileList/FileList.cjs +9 -7
  104. package/dist/cjs/components/FileUploader/FileList/FileList.cjs.map +1 -1
  105. package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs +2 -2
  106. package/dist/cjs/components/FileUploader/FileList/FileList.styles.cjs.map +1 -1
  107. package/dist/cjs/components/FileUploader/Preview/Preview.cjs +11 -9
  108. package/dist/cjs/components/FileUploader/Preview/Preview.cjs.map +1 -1
  109. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs +5 -5
  110. package/dist/cjs/components/FileUploader/Preview/Preview.styles.cjs.map +1 -1
  111. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs +7 -5
  112. package/dist/cjs/components/FilterGroup/Counter/Counter.cjs.map +1 -1
  113. package/dist/cjs/components/FilterGroup/Counter/Counter.styles.cjs +1 -1
  114. package/dist/cjs/components/FilterGroup/Counter/Counter.styles.cjs.map +1 -1
  115. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs +23 -21
  116. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.cjs.map +1 -1
  117. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.styles.cjs +3 -3
  118. package/dist/cjs/components/FilterGroup/FilterContent/FilterContent.styles.cjs.map +1 -1
  119. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.styles.cjs +1 -1
  120. package/dist/cjs/components/Forms/InfoMessage/InfoMessage.styles.cjs.map +1 -1
  121. package/dist/cjs/components/Forms/Label/Label.styles.cjs +1 -1
  122. package/dist/cjs/components/Forms/Label/Label.styles.cjs.map +1 -1
  123. package/dist/cjs/components/GlobalActions/GlobalActions.cjs +3 -5
  124. package/dist/cjs/components/GlobalActions/GlobalActions.cjs.map +1 -1
  125. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs +7 -4
  126. package/dist/cjs/components/GlobalActions/GlobalActions.styles.cjs.map +1 -1
  127. package/dist/cjs/components/Header/Actions/Actions.styles.cjs +1 -1
  128. package/dist/cjs/components/Header/Actions/Actions.styles.cjs.map +1 -1
  129. package/dist/cjs/components/Header/Brand/Brand.cjs +2 -6
  130. package/dist/cjs/components/Header/Brand/Brand.cjs.map +1 -1
  131. package/dist/cjs/components/Header/Brand/Brand.styles.cjs +2 -1
  132. package/dist/cjs/components/Header/Brand/Brand.styles.cjs.map +1 -1
  133. package/dist/cjs/components/Header/Header.styles.cjs +4 -4
  134. package/dist/cjs/components/Header/Header.styles.cjs.map +1 -1
  135. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs +10 -8
  136. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.cjs.map +1 -1
  137. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.styles.cjs +5 -5
  138. package/dist/cjs/components/Header/Navigation/MenuBar/Bar.styles.cjs.map +1 -1
  139. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs +12 -9
  140. package/dist/cjs/components/Header/Navigation/MenuBar/MenuBar.cjs.map +1 -1
  141. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs +12 -10
  142. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.cjs.map +1 -1
  143. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs +20 -37
  144. package/dist/cjs/components/Header/Navigation/MenuItem/MenuItem.styles.cjs.map +1 -1
  145. package/dist/cjs/components/InlineEditor/InlineEditor.styles.cjs +3 -3
  146. package/dist/cjs/components/InlineEditor/InlineEditor.styles.cjs.map +1 -1
  147. package/dist/cjs/components/List/List.styles.cjs +1 -1
  148. package/dist/cjs/components/List/List.styles.cjs.map +1 -1
  149. package/dist/cjs/components/ListContainer/ListItem/ListItem.styles.cjs +3 -3
  150. package/dist/cjs/components/ListContainer/ListItem/ListItem.styles.cjs.map +1 -1
  151. package/dist/cjs/components/Pagination/Select.cjs +11 -9
  152. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  153. package/dist/cjs/components/Pagination/Select.styles.cjs +2 -2
  154. package/dist/cjs/components/Pagination/Select.styles.cjs.map +1 -1
  155. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +6 -1
  156. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
  157. package/dist/cjs/components/QueryBuilder/QueryBuilder.styles.cjs +10 -10
  158. package/dist/cjs/components/QueryBuilder/QueryBuilder.styles.cjs.map +1 -1
  159. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +14 -10
  160. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
  161. package/dist/cjs/components/QueryBuilder/Rule/Rule.styles.cjs +9 -9
  162. package/dist/cjs/components/QueryBuilder/Rule/Rule.styles.cjs.map +1 -1
  163. package/dist/cjs/components/Radio/Radio.styles.cjs +2 -2
  164. package/dist/cjs/components/Radio/Radio.styles.cjs.map +1 -1
  165. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs +13 -11
  166. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.cjs.map +1 -1
  167. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs +12 -12
  168. package/dist/cjs/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.cjs.map +1 -1
  169. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs +11 -11
  170. package/dist/cjs/components/ScrollTo/Horizontal/ScrollToHorizontal.styles.cjs.map +1 -1
  171. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.styles.cjs +1 -1
  172. package/dist/cjs/components/ScrollTo/Vertical/ScrollToVertical.styles.cjs.map +1 -1
  173. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs +13 -11
  174. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.cjs.map +1 -1
  175. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs +12 -12
  176. package/dist/cjs/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.cjs.map +1 -1
  177. package/dist/cjs/components/Slider/Slider.styles.cjs +4 -4
  178. package/dist/cjs/components/Slider/Slider.styles.cjs.map +1 -1
  179. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs +14 -12
  180. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.cjs.map +1 -1
  181. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.styles.cjs +1 -1
  182. package/dist/cjs/components/Snackbar/SnackbarContent/SnackbarContent.styles.cjs.map +1 -1
  183. package/dist/cjs/components/Switch/Switch.styles.cjs +1 -1
  184. package/dist/cjs/components/Switch/Switch.styles.cjs.map +1 -1
  185. package/dist/cjs/components/Tab/Tab.styles.cjs +4 -4
  186. package/dist/cjs/components/Tab/Tab.styles.cjs.map +1 -1
  187. package/dist/cjs/components/Table/TableCell/TableCell.cjs +2 -1
  188. package/dist/cjs/components/Table/TableCell/TableCell.cjs.map +1 -1
  189. package/dist/cjs/components/Table/TableCell/TableCell.styles.cjs +11 -11
  190. package/dist/cjs/components/Table/TableCell/TableCell.styles.cjs.map +1 -1
  191. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs +27 -25
  192. package/dist/cjs/components/Table/TableHeader/TableHeader.cjs.map +1 -1
  193. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs +4 -4
  194. package/dist/cjs/components/Table/TableHeader/TableHeader.styles.cjs.map +1 -1
  195. package/dist/cjs/components/Table/TableRow/TableRow.cjs +4 -9
  196. package/dist/cjs/components/Table/TableRow/TableRow.cjs.map +1 -1
  197. package/dist/cjs/components/Table/TableRow/TableRow.styles.cjs +22 -11
  198. package/dist/cjs/components/Table/TableRow/TableRow.styles.cjs.map +1 -1
  199. package/dist/cjs/components/Table/utils/utils.cjs +1 -2
  200. package/dist/cjs/components/Table/utils/utils.cjs.map +1 -1
  201. package/dist/cjs/components/Tag/Tag.styles.cjs +1 -1
  202. package/dist/cjs/components/Tag/Tag.styles.cjs.map +1 -1
  203. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs +6 -6
  204. package/dist/cjs/components/TagsInput/TagsInput.styles.cjs.map +1 -1
  205. package/dist/cjs/components/Tooltip/Tooltip.cjs +0 -1
  206. package/dist/cjs/components/Tooltip/Tooltip.cjs.map +1 -1
  207. package/dist/cjs/components/Tooltip/Tooltip.styles.cjs +25 -29
  208. package/dist/cjs/components/Tooltip/Tooltip.styles.cjs.map +1 -1
  209. package/dist/cjs/components/VerticalNavigation/Actions/Action.styles.cjs +1 -1
  210. package/dist/cjs/components/VerticalNavigation/Actions/Action.styles.cjs.map +1 -1
  211. package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs +1 -1
  212. package/dist/cjs/components/VerticalNavigation/Actions/Actions.styles.cjs.map +1 -1
  213. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs +11 -9
  214. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.cjs.map +1 -1
  215. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs +2 -2
  216. package/dist/cjs/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.cjs.map +1 -1
  217. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs +2 -1
  218. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.cjs.map +1 -1
  219. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs +3 -3
  220. package/dist/cjs/components/VerticalNavigation/TreeView/TreeViewItem.styles.cjs.map +1 -1
  221. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs +1 -1
  222. package/dist/cjs/components/VerticalNavigation/VerticalNavigation.styles.cjs.map +1 -1
  223. package/dist/esm/components/ActionBar/ActionBar.styles.js +1 -1
  224. package/dist/esm/components/ActionBar/ActionBar.styles.js.map +1 -1
  225. package/dist/esm/components/AppSwitcher/Action/Action.styles.js +5 -1
  226. package/dist/esm/components/AppSwitcher/Action/Action.styles.js.map +1 -1
  227. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js +2 -2
  228. package/dist/esm/components/BaseCheckBox/BaseCheckBox.styles.js.map +1 -1
  229. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js +16 -19
  230. package/dist/esm/components/BaseDropdown/BaseDropdown.styles.js.map +1 -1
  231. package/dist/esm/components/BaseInput/BaseInput.styles.js +27 -27
  232. package/dist/esm/components/BaseInput/BaseInput.styles.js.map +1 -1
  233. package/dist/esm/components/BaseRadio/BaseRadio.styles.js +2 -2
  234. package/dist/esm/components/BaseRadio/BaseRadio.styles.js.map +1 -1
  235. package/dist/esm/components/BaseSwitch/BaseSwitch.styles.js +35 -35
  236. package/dist/esm/components/BaseSwitch/BaseSwitch.styles.js.map +1 -1
  237. package/dist/esm/components/BulkActions/BulkActions.js +0 -5
  238. package/dist/esm/components/BulkActions/BulkActions.js.map +1 -1
  239. package/dist/esm/components/BulkActions/BulkActions.styles.js +12 -5
  240. package/dist/esm/components/BulkActions/BulkActions.styles.js.map +1 -1
  241. package/dist/esm/components/Button/Button.js +2 -2
  242. package/dist/esm/components/Button/Button.js.map +1 -1
  243. package/dist/esm/components/Button/Button.styles.js +56 -62
  244. package/dist/esm/components/Button/Button.styles.js.map +1 -1
  245. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js +14 -12
  246. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  247. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js +6 -11
  248. package/dist/esm/components/Calendar/CalendarHeader/CalendarHeader.styles.js.map +1 -1
  249. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js +17 -15
  250. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  251. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.styles.js +1 -1
  252. package/dist/esm/components/Calendar/SingleCalendar/CalendarCell.styles.js.map +1 -1
  253. package/dist/esm/components/Card/Card.js +1 -1
  254. package/dist/esm/components/Card/Card.js.map +1 -1
  255. package/dist/esm/components/Card/Card.styles.js +5 -5
  256. package/dist/esm/components/Card/Card.styles.js.map +1 -1
  257. package/dist/esm/components/Card/Header/Header.js +12 -20
  258. package/dist/esm/components/Card/Header/Header.js.map +1 -1
  259. package/dist/esm/components/Card/Header/Header.styles.js +2 -0
  260. package/dist/esm/components/Card/Header/Header.styles.js.map +1 -1
  261. package/dist/esm/components/Carousel/Carousel.styles.js +7 -7
  262. package/dist/esm/components/Carousel/Carousel.styles.js.map +1 -1
  263. package/dist/esm/components/CheckBox/CheckBox.styles.js +2 -2
  264. package/dist/esm/components/CheckBox/CheckBox.styles.js.map +1 -1
  265. package/dist/esm/components/ColorPicker/ColorPicker.js +2 -8
  266. package/dist/esm/components/ColorPicker/ColorPicker.js.map +1 -1
  267. package/dist/esm/components/ColorPicker/ColorPicker.styles.js +8 -5
  268. package/dist/esm/components/ColorPicker/ColorPicker.styles.js.map +1 -1
  269. package/dist/esm/components/ColorPicker/Fields/Fields.js +9 -7
  270. package/dist/esm/components/ColorPicker/Fields/Fields.js.map +1 -1
  271. package/dist/esm/components/ColorPicker/Fields/Fields.styles.js +6 -7
  272. package/dist/esm/components/ColorPicker/Fields/Fields.styles.js.map +1 -1
  273. package/dist/esm/components/ColorPicker/Picker/Picker.js +13 -10
  274. package/dist/esm/components/ColorPicker/Picker/Picker.js.map +1 -1
  275. package/dist/esm/components/ColorPicker/Picker/Picker.styles.js +19 -19
  276. package/dist/esm/components/ColorPicker/Picker/Picker.styles.js.map +1 -1
  277. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js +9 -7
  278. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.js.map +1 -1
  279. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.styles.js +7 -7
  280. package/dist/esm/components/ColorPicker/PresetColors/PresetColors.styles.js.map +1 -1
  281. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js +11 -9
  282. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.js.map +1 -1
  283. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.styles.js +9 -9
  284. package/dist/esm/components/ColorPicker/SavedColors/SavedColors.styles.js.map +1 -1
  285. package/dist/esm/components/DatePicker/DatePicker.js +4 -16
  286. package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
  287. package/dist/esm/components/DatePicker/DatePicker.styles.js +6 -0
  288. package/dist/esm/components/DatePicker/DatePicker.styles.js.map +1 -1
  289. package/dist/esm/components/Dialog/Actions/Actions.js +4 -1
  290. package/dist/esm/components/Dialog/Actions/Actions.js.map +1 -1
  291. package/dist/esm/components/Dialog/Dialog.js +14 -20
  292. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  293. package/dist/esm/components/Dialog/Dialog.styles.js +1 -1
  294. package/dist/esm/components/Dialog/Dialog.styles.js.map +1 -1
  295. package/dist/esm/components/Dialog/Title/Title.js +5 -12
  296. package/dist/esm/components/Dialog/Title/Title.js.map +1 -1
  297. package/dist/esm/components/Dialog/Title/Title.styles.js +2 -1
  298. package/dist/esm/components/Dialog/Title/Title.styles.js.map +1 -1
  299. package/dist/esm/components/Dialog/context.js +10 -0
  300. package/dist/esm/components/Dialog/context.js.map +1 -0
  301. package/dist/esm/components/Drawer/Drawer.js +0 -27
  302. package/dist/esm/components/Drawer/Drawer.js.map +1 -1
  303. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js +3 -3
  304. package/dist/esm/components/DropDownMenu/DropDownMenu.styles.js.map +1 -1
  305. package/dist/esm/components/Dropdown/Dropdown.js +12 -17
  306. package/dist/esm/components/Dropdown/Dropdown.js.map +1 -1
  307. package/dist/esm/components/Dropdown/Dropdown.styles.js +16 -4
  308. package/dist/esm/components/Dropdown/Dropdown.styles.js.map +1 -1
  309. package/dist/esm/components/Dropdown/List/List.js +19 -17
  310. package/dist/esm/components/Dropdown/List/List.js.map +1 -1
  311. package/dist/esm/components/Dropdown/List/List.styles.js +2 -2
  312. package/dist/esm/components/Dropdown/List/List.styles.js.map +1 -1
  313. package/dist/esm/components/EmptyState/EmptyState.js +3 -7
  314. package/dist/esm/components/EmptyState/EmptyState.js.map +1 -1
  315. package/dist/esm/components/EmptyState/EmptyState.styles.js +1 -1
  316. package/dist/esm/components/EmptyState/EmptyState.styles.js.map +1 -1
  317. package/dist/esm/components/FileUploader/DropZone/DropZone.js +14 -12
  318. package/dist/esm/components/FileUploader/DropZone/DropZone.js.map +1 -1
  319. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js +8 -8
  320. package/dist/esm/components/FileUploader/DropZone/DropZone.styles.js.map +1 -1
  321. package/dist/esm/components/FileUploader/File/File.js +9 -7
  322. package/dist/esm/components/FileUploader/File/File.js.map +1 -1
  323. package/dist/esm/components/FileUploader/File/File.styles.js +5 -5
  324. package/dist/esm/components/FileUploader/File/File.styles.js.map +1 -1
  325. package/dist/esm/components/FileUploader/FileList/FileList.js +9 -7
  326. package/dist/esm/components/FileUploader/FileList/FileList.js.map +1 -1
  327. package/dist/esm/components/FileUploader/FileList/FileList.styles.js +2 -2
  328. package/dist/esm/components/FileUploader/FileList/FileList.styles.js.map +1 -1
  329. package/dist/esm/components/FileUploader/Preview/Preview.js +11 -9
  330. package/dist/esm/components/FileUploader/Preview/Preview.js.map +1 -1
  331. package/dist/esm/components/FileUploader/Preview/Preview.styles.js +5 -5
  332. package/dist/esm/components/FileUploader/Preview/Preview.styles.js.map +1 -1
  333. package/dist/esm/components/FilterGroup/Counter/Counter.js +7 -5
  334. package/dist/esm/components/FilterGroup/Counter/Counter.js.map +1 -1
  335. package/dist/esm/components/FilterGroup/Counter/Counter.styles.js +1 -1
  336. package/dist/esm/components/FilterGroup/Counter/Counter.styles.js.map +1 -1
  337. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js +23 -21
  338. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  339. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.styles.js +3 -3
  340. package/dist/esm/components/FilterGroup/FilterContent/FilterContent.styles.js.map +1 -1
  341. package/dist/esm/components/Forms/InfoMessage/InfoMessage.styles.js +1 -1
  342. package/dist/esm/components/Forms/InfoMessage/InfoMessage.styles.js.map +1 -1
  343. package/dist/esm/components/Forms/Label/Label.styles.js +1 -1
  344. package/dist/esm/components/Forms/Label/Label.styles.js.map +1 -1
  345. package/dist/esm/components/GlobalActions/GlobalActions.js +3 -5
  346. package/dist/esm/components/GlobalActions/GlobalActions.js.map +1 -1
  347. package/dist/esm/components/GlobalActions/GlobalActions.styles.js +7 -4
  348. package/dist/esm/components/GlobalActions/GlobalActions.styles.js.map +1 -1
  349. package/dist/esm/components/Header/Actions/Actions.styles.js +1 -1
  350. package/dist/esm/components/Header/Actions/Actions.styles.js.map +1 -1
  351. package/dist/esm/components/Header/Brand/Brand.js +2 -6
  352. package/dist/esm/components/Header/Brand/Brand.js.map +1 -1
  353. package/dist/esm/components/Header/Brand/Brand.styles.js +2 -1
  354. package/dist/esm/components/Header/Brand/Brand.styles.js.map +1 -1
  355. package/dist/esm/components/Header/Header.styles.js +4 -4
  356. package/dist/esm/components/Header/Header.styles.js.map +1 -1
  357. package/dist/esm/components/Header/Navigation/MenuBar/Bar.js +10 -8
  358. package/dist/esm/components/Header/Navigation/MenuBar/Bar.js.map +1 -1
  359. package/dist/esm/components/Header/Navigation/MenuBar/Bar.styles.js +5 -5
  360. package/dist/esm/components/Header/Navigation/MenuBar/Bar.styles.js.map +1 -1
  361. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js +12 -9
  362. package/dist/esm/components/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  363. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js +12 -10
  364. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  365. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js +20 -37
  366. package/dist/esm/components/Header/Navigation/MenuItem/MenuItem.styles.js.map +1 -1
  367. package/dist/esm/components/InlineEditor/InlineEditor.styles.js +3 -3
  368. package/dist/esm/components/InlineEditor/InlineEditor.styles.js.map +1 -1
  369. package/dist/esm/components/List/List.styles.js +1 -1
  370. package/dist/esm/components/List/List.styles.js.map +1 -1
  371. package/dist/esm/components/ListContainer/ListItem/ListItem.styles.js +3 -3
  372. package/dist/esm/components/ListContainer/ListItem/ListItem.styles.js.map +1 -1
  373. package/dist/esm/components/Pagination/Select.js +11 -9
  374. package/dist/esm/components/Pagination/Select.js.map +1 -1
  375. package/dist/esm/components/Pagination/Select.styles.js +2 -2
  376. package/dist/esm/components/Pagination/Select.styles.js.map +1 -1
  377. package/dist/esm/components/QueryBuilder/QueryBuilder.js +8 -2
  378. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  379. package/dist/esm/components/QueryBuilder/QueryBuilder.styles.js +10 -10
  380. package/dist/esm/components/QueryBuilder/QueryBuilder.styles.js.map +1 -1
  381. package/dist/esm/components/QueryBuilder/Rule/Rule.js +16 -11
  382. package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
  383. package/dist/esm/components/QueryBuilder/Rule/Rule.styles.js +9 -9
  384. package/dist/esm/components/QueryBuilder/Rule/Rule.styles.js.map +1 -1
  385. package/dist/esm/components/Radio/Radio.styles.js +2 -2
  386. package/dist/esm/components/Radio/Radio.styles.js.map +1 -1
  387. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js +13 -11
  388. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  389. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js +12 -12
  390. package/dist/esm/components/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.styles.js.map +1 -1
  391. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.styles.js +11 -11
  392. package/dist/esm/components/ScrollTo/Horizontal/ScrollToHorizontal.styles.js.map +1 -1
  393. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.styles.js +1 -1
  394. package/dist/esm/components/ScrollTo/Vertical/ScrollToVertical.styles.js.map +1 -1
  395. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js +13 -11
  396. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  397. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js +12 -12
  398. package/dist/esm/components/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.styles.js.map +1 -1
  399. package/dist/esm/components/Slider/Slider.styles.js +4 -4
  400. package/dist/esm/components/Slider/Slider.styles.js.map +1 -1
  401. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js +14 -12
  402. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.js.map +1 -1
  403. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.styles.js +1 -1
  404. package/dist/esm/components/Snackbar/SnackbarContent/SnackbarContent.styles.js.map +1 -1
  405. package/dist/esm/components/Switch/Switch.styles.js +1 -1
  406. package/dist/esm/components/Switch/Switch.styles.js.map +1 -1
  407. package/dist/esm/components/Tab/Tab.styles.js +4 -4
  408. package/dist/esm/components/Tab/Tab.styles.js.map +1 -1
  409. package/dist/esm/components/Table/TableCell/TableCell.js +2 -1
  410. package/dist/esm/components/Table/TableCell/TableCell.js.map +1 -1
  411. package/dist/esm/components/Table/TableCell/TableCell.styles.js +11 -11
  412. package/dist/esm/components/Table/TableCell/TableCell.styles.js.map +1 -1
  413. package/dist/esm/components/Table/TableHeader/TableHeader.js +27 -25
  414. package/dist/esm/components/Table/TableHeader/TableHeader.js.map +1 -1
  415. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js +4 -4
  416. package/dist/esm/components/Table/TableHeader/TableHeader.styles.js.map +1 -1
  417. package/dist/esm/components/Table/TableRow/TableRow.js +4 -9
  418. package/dist/esm/components/Table/TableRow/TableRow.js.map +1 -1
  419. package/dist/esm/components/Table/TableRow/TableRow.styles.js +22 -11
  420. package/dist/esm/components/Table/TableRow/TableRow.styles.js.map +1 -1
  421. package/dist/esm/components/Table/utils/utils.js +1 -2
  422. package/dist/esm/components/Table/utils/utils.js.map +1 -1
  423. package/dist/esm/components/Tag/Tag.styles.js +1 -1
  424. package/dist/esm/components/Tag/Tag.styles.js.map +1 -1
  425. package/dist/esm/components/TagsInput/TagsInput.styles.js +6 -6
  426. package/dist/esm/components/TagsInput/TagsInput.styles.js.map +1 -1
  427. package/dist/esm/components/Tooltip/Tooltip.js +1 -2
  428. package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
  429. package/dist/esm/components/Tooltip/Tooltip.styles.js +25 -29
  430. package/dist/esm/components/Tooltip/Tooltip.styles.js.map +1 -1
  431. package/dist/esm/components/VerticalNavigation/Actions/Action.styles.js +1 -1
  432. package/dist/esm/components/VerticalNavigation/Actions/Action.styles.js.map +1 -1
  433. package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js +1 -1
  434. package/dist/esm/components/VerticalNavigation/Actions/Actions.styles.js.map +1 -1
  435. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js +11 -9
  436. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.js.map +1 -1
  437. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js +2 -2
  438. package/dist/esm/components/VerticalNavigation/NavigationSlider/NavigationSlider.styles.js.map +1 -1
  439. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js +2 -1
  440. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  441. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js +3 -3
  442. package/dist/esm/components/VerticalNavigation/TreeView/TreeViewItem.styles.js.map +1 -1
  443. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js +1 -1
  444. package/dist/esm/components/VerticalNavigation/VerticalNavigation.styles.js.map +1 -1
  445. package/dist/types/index.d.ts +371 -320
  446. package/package.json +5 -5
@@ -1,16 +1,16 @@
1
- import { jsx, jsxs } from "@emotion/react/jsx-runtime";
2
- import React__default, { useCallback, useMemo } from "react";
1
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
+ import { useCallback, useMemo } from "react";
3
3
  import { useDefaultProps } from "../../hooks/useDefaultProps.js";
4
4
  import MuiDialog from "@mui/material/Dialog";
5
- import MuiBackdrop from "@mui/material/Backdrop";
6
5
  import { Close } from "@hitachivantara/uikit-react-icons";
7
6
  import { theme } from "@hitachivantara/uikit-styles";
8
7
  import { setId } from "../../utils/setId.js";
9
- import { withTooltip } from "../../hocs/withTooltip.js";
10
8
  import { useTheme } from "../../hooks/useTheme.js";
11
9
  import { hexToRgbA } from "../../utils/hexToRgbA.js";
12
10
  import { useClasses } from "./Dialog.styles.js";
13
11
  import { staticClasses } from "./Dialog.styles.js";
12
+ import { DialogContext } from "./context.js";
13
+ import { HvTooltip } from "../Tooltip/Tooltip.js";
14
14
  import { HvButton } from "../Button/Button.js";
15
15
  const HvDialog = (props) => {
16
16
  const {
@@ -32,27 +32,19 @@ const HvDialog = (props) => {
32
32
  css,
33
33
  cx
34
34
  } = useClasses(classesProp);
35
- delete others.fullScreen;
36
35
  const {
37
36
  rootId,
38
37
  colors
39
38
  } = useTheme();
40
- const wrappedClose = useCallback((event, bypassValidation = false, reason) => {
41
- if (bypassValidation || !disableBackdropClick) {
42
- onClose == null ? void 0 : onClose(event, reason);
43
- }
44
- }, [onClose, disableBackdropClick]);
45
39
  const measuredRef = useCallback(() => {
46
40
  if (!firstFocusable)
47
41
  return;
48
42
  const element = document.getElementById(firstFocusable);
49
43
  element == null ? void 0 : element.focus();
50
44
  }, [firstFocusable]);
51
- const closeButtonDisplay = () => /* @__PURE__ */ jsx(Close, { role: "presentation" });
52
- const CloseButtonTooltipWrapper = buttonTitle ? withTooltip(closeButtonDisplay, buttonTitle, "top") : closeButtonDisplay;
53
- const slots = useMemo(() => ({
54
- backdrop: (backdropProps) => /* @__PURE__ */ jsx(MuiBackdrop, { open, onClick: wrappedClose, ...backdropProps })
55
- }), [open, wrappedClose]);
45
+ const contextValue = useMemo(() => ({
46
+ fullscreen
47
+ }), [fullscreen]);
56
48
  return /* @__PURE__ */ jsxs(MuiDialog, { container: typeof window !== "undefined" ? (
57
49
  // TODO: review
58
50
  // eslint-disable-next-line ssr-friendly/no-dom-globals-in-react-fc
@@ -61,7 +53,11 @@ const HvDialog = (props) => {
61
53
  container: css({
62
54
  position: "relative"
63
55
  })
64
- }, id, ref: measuredRef, open, fullScreen: fullscreen, onClose: (event, reason) => wrappedClose(event, void 0, reason), slots, slotProps: {
56
+ }, id, ref: measuredRef, open, fullScreen: fullscreen, onClose: (event, reason) => {
57
+ if (disableBackdropClick)
58
+ return;
59
+ onClose == null ? void 0 : onClose(event, reason);
60
+ }, slotProps: {
65
61
  backdrop: {
66
62
  classes: {
67
63
  root: cx(css({
@@ -78,10 +74,8 @@ const HvDialog = (props) => {
78
74
  })
79
75
  }
80
76
  }, "aria-modal": true, ...others, children: [
81
- /* @__PURE__ */ jsx(HvButton, { id: setId(id, "close"), className: classes.closeButton, variant: "secondaryGhost", onClick: (event) => wrappedClose(event, true, void 0), "aria-label": buttonTitle, children: /* @__PURE__ */ jsx(CloseButtonTooltipWrapper, {}) }),
82
- children && typeof children === "object" ? React__default.Children.map(children, (c) => c && React__default.cloneElement(c, {
83
- fullscreen
84
- })) : children
77
+ /* @__PURE__ */ jsx(HvTooltip, { placement: "top", title: buttonTitle, children: /* @__PURE__ */ jsx(HvButton, { id: setId(id, "close"), className: classes.closeButton, variant: "secondaryGhost", onClick: (event) => onClose == null ? void 0 : onClose(event, void 0), children: /* @__PURE__ */ jsx(Close, { role: "none" }) }) }),
78
+ /* @__PURE__ */ jsx(DialogContext.Provider, { value: contextValue, children })
85
79
  ] });
86
80
  };
87
81
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport MuiDialog, { DialogProps as MuiDialogProps } from \"@mui/material/Dialog\";\nimport MuiBackdrop from \"@mui/material/Backdrop\";\n\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { HvButton } from \"@core/components/Button\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { setId } from \"@core/utils/setId\";\nimport { withTooltip } from \"@core/hocs/withTooltip\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\n\nimport { staticClasses, useClasses } from \"./Dialog.styles\";\n\nexport { staticClasses as dialogClasses };\n\nexport type HvDialogClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDialogProps\n extends Omit<MuiDialogProps, \"fullScreen\" | \"classes\" | \"open\">,\n HvBaseProps {\n /** Current state of the Dialog. */\n open?: boolean;\n /** Function executed on close. */\n onClose?: (\n event: React.SyntheticEvent,\n reason?: \"escapeKeyDown\" | \"backdropClick\"\n ) => void;\n /** @inheritdoc */\n maxWidth?: MuiDialogProps[\"maxWidth\"];\n /** @inheritdoc */\n fullWidth?: MuiDialogProps[\"fullWidth\"];\n /**\n * Element id that should be focus when the Dialog opens.\n * Auto-focusing elements can cause usability issues, so this should be avoided.\n * @deprecated Use `autoFocus` on the element instead, if auto-focusing is required.\n */\n firstFocusable?: string;\n /** Title for the button close. */\n buttonTitle?: string;\n /** Set the dialog to fullscreen mode. */\n fullscreen?: boolean;\n /** Prevent closing the dialog when clicking on the backdrop. */\n disableBackdropClick?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvDialogClasses;\n /** Variant of the dialog. Adds a status bar to the top of the dialog. If not provided, no status bar is added. */\n variant?: \"success\" | \"error\" | \"warning\";\n /** @ignore */\n ref?: MuiDialogProps[\"ref\"];\n /** @ignore */\n component?: MuiDialogProps[\"component\"];\n}\n\nexport const HvDialog = (props: HvDialogProps) => {\n const {\n variant,\n classes: classesProp,\n className,\n id,\n children,\n open = false,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n disableBackdropClick = false,\n ...others\n } = useDefaultProps(\"HvDialog\", props);\n\n const { classes, css, cx } = useClasses(classesProp);\n delete (others as any).fullScreen;\n\n const { rootId, colors } = useTheme();\n\n // Because the `disableBackdropClick` property was deprecated in MUI5\n // and we want to maintain that functionality to the user we're wrapping\n // the onClose call here to make that check.\n const wrappedClose = useCallback(\n (\n event: any,\n bypassValidation: boolean = false,\n reason?: \"escapeKeyDown\" | \"backdropClick\"\n ) => {\n if (bypassValidation || !disableBackdropClick) {\n onClose?.(event, reason);\n }\n },\n [onClose, disableBackdropClick]\n );\n\n const measuredRef = useCallback(() => {\n if (!firstFocusable) return;\n\n const element = document.getElementById(firstFocusable);\n element?.focus();\n }, [firstFocusable]);\n\n const closeButtonDisplay = () => <Close role=\"presentation\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n const slots = useMemo<MuiDialogProps[\"slots\"]>(\n () => ({\n backdrop: (backdropProps) => (\n <MuiBackdrop open={open} onClick={wrappedClose} {...backdropProps} />\n ),\n }),\n [open, wrappedClose]\n );\n\n return (\n <MuiDialog\n container={\n typeof window !== \"undefined\"\n ? // TODO: review\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-react-fc\n document.getElementById(rootId || \"\") || document.body\n : undefined\n }\n className={cx(classes.root, className)}\n classes={{ container: css({ position: \"relative\" }) }}\n id={id}\n ref={measuredRef}\n open={open}\n fullScreen={fullscreen}\n onClose={(event, reason) => wrappedClose(event, undefined, reason)}\n slots={slots}\n slotProps={{\n backdrop: {\n classes: {\n root: cx(\n css({\n background: hexToRgbA(colors?.atmo4 || theme.colors.atmo4, 0.8),\n }),\n classes.background\n ),\n },\n },\n }}\n PaperProps={{\n classes: {\n root: cx(\n css({ position: \"absolute\" }),\n classes.paper,\n variant && cx(classes.statusBar, classes[variant]),\n {\n [classes.fullscreen]: fullscreen,\n }\n ),\n },\n }}\n aria-modal\n {...others}\n >\n <HvButton\n id={setId(id, \"close\")}\n className={classes.closeButton}\n variant=\"secondaryGhost\"\n onClick={(event) => wrappedClose(event, true, undefined)}\n aria-label={buttonTitle}\n >\n <CloseButtonTooltipWrapper />\n </HvButton>\n {children && typeof children === \"object\"\n ? React.Children.map(\n children,\n (c: React.ReactNode) =>\n c && React.cloneElement(c as React.ReactElement, { fullscreen })\n )\n : children}\n </MuiDialog>\n );\n};\n"],"names":["HvDialog","props","variant","classes","classesProp","className","id","children","open","onClose","firstFocusable","buttonTitle","fullscreen","disableBackdropClick","others","useDefaultProps","css","cx","useClasses","fullScreen","rootId","colors","useTheme","wrappedClose","useCallback","event","bypassValidation","reason","measuredRef","element","document","getElementById","focus","closeButtonDisplay","CloseButtonTooltipWrapper","withTooltip","slots","useMemo","backdrop","backdropProps","window","body","undefined","root","container","position","background","hexToRgbA","atmo4","theme","paper","statusBar","setId","closeButton","React","Children","map","c","cloneElement"],"mappings":";;;;;;;;;;;;;;AA2DaA,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,OAAO;AAAA,IACPC;AAAAA,IACAC;AAAAA,IACAC,cAAc;AAAA,IACdC,aAAa;AAAA,IACbC,uBAAuB;AAAA,IACvB,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,YAAYd,KAAK;AAE/B,QAAA;AAAA,IAAEE;AAAAA,IAASa;AAAAA,IAAKC;AAAAA,EAAAA,IAAOC,WAAWd,WAAW;AACnD,SAAQU,OAAeK;AAEjB,QAAA;AAAA,IAAEC;AAAAA,IAAQC;AAAAA,MAAWC,SAAS;AAKpC,QAAMC,eAAeC,YACnB,CACEC,OACAC,mBAA4B,OAC5BC,WACG;AACCD,QAAAA,oBAAoB,CAACb,sBAAsB;AAC7CJ,yCAAUgB,OAAOE;AAAAA,IACnB;AAAA,EAAA,GAEF,CAAClB,SAASI,oBAAoB,CAChC;AAEMe,QAAAA,cAAcJ,YAAY,MAAM;AACpC,QAAI,CAACd;AAAgB;AAEfmB,UAAAA,UAAUC,SAASC,eAAerB,cAAc;AACtDmB,uCAASG;AAAAA,EAAM,GACd,CAACtB,cAAc,CAAC;AAEnB,QAAMuB,qBAAqBA,MAAO,oBAAA,OAAA,EAAM,MAAK,eAAiB,CAAA;AAE9D,QAAMC,4BAA4BvB,cAC9BwB,YAAYF,oBAAoBtB,aAAa,KAAK,IAClDsB;AAEEG,QAAAA,QAAQC,QACZ,OAAO;AAAA,IACLC,UAAWC,mBACR,oBAAA,aAAA,EAAY,MAAY,SAAShB,cAAc,GAAIgB,eAAc;AAAA,EAGtE,IAAA,CAAC/B,MAAMe,YAAY,CACrB;AAEA,SACG,qBAAA,WAAA,EACC,WACE,OAAOiB,WAAW;AAAA;AAAA;AAAA,IAGdV,SAASC,eAAeX,UAAU,EAAE,KAAKU,SAASW;AAAAA,MAClDC,QAEN,WAAWzB,GAAGd,QAAQwC,MAAMtC,SAAS,GACrC,SAAS;AAAA,IAAEuC,WAAW5B,IAAI;AAAA,MAAE6B,UAAU;AAAA,IAAA,CAAY;AAAA,EAAA,GAClD,IACA,KAAKjB,aACL,MACA,YAAYhB,YACZ,SAAS,CAACa,OAAOE,WAAWJ,aAAaE,OAAOiB,QAAWf,MAAM,GACjE,OACA,WAAW;AAAA,IACTW,UAAU;AAAA,MACRnC,SAAS;AAAA,QACPwC,MAAM1B,GACJD,IAAI;AAAA,UACF8B,YAAYC,WAAU1B,iCAAQ2B,UAASC,MAAM5B,OAAO2B,OAAO,GAAG;AAAA,QAAA,CAC/D,GACD7C,QAAQ2C,UACV;AAAA,MACF;AAAA,IACF;AAAA,KAEF,YAAY;AAAA,IACV3C,SAAS;AAAA,MACPwC,MAAM1B,GACJD,IAAI;AAAA,QAAE6B,UAAU;AAAA,MAAA,CAAY,GAC5B1C,QAAQ+C,OACRhD,WAAWe,GAAGd,QAAQgD,WAAWhD,QAAQD,OAAO,CAAC,GACjD;AAAA,QACE,CAACC,QAAQS,UAAU,GAAGA;AAAAA,MAAAA,CAE1B;AAAA,IACF;AAAA,EAEF,GAAA,cAAU,MACV,GAAIE,QAEJ,UAAA;AAAA,IAAC,oBAAA,UAAA,EACC,IAAIsC,MAAM9C,IAAI,OAAO,GACrB,WAAWH,QAAQkD,aACnB,SAAQ,kBACR,SAAU5B,CAAUF,UAAAA,aAAaE,OAAO,MAAMiB,MAAS,GACvD,cAAY/B,aAEZ,UAAC,oBAAA,2BAAA,CAAA,CAAyB,EAC5B,CAAA;AAAA,IACCJ,YAAY,OAAOA,aAAa,WAC7B+C,eAAMC,SAASC,IACbjD,UACA,CAACkD,MACCA,KAAKH,eAAMI,aAAaD,GAAyB;AAAA,MAAE7C;AAAAA,IAAY,CAAA,CACnE,IACAL;AAAAA,EACN,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"Dialog.js","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import { useCallback, useMemo } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport MuiDialog, { DialogProps as MuiDialogProps } from \"@mui/material/Dialog\";\n\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { HvButton } from \"@core/components/Button\";\nimport { HvTooltip } from \"@core/components/Tooltip\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { setId } from \"@core/utils/setId\";\nimport { useTheme } from \"@core/hooks/useTheme\";\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\n\nimport { staticClasses, useClasses } from \"./Dialog.styles\";\nimport { DialogContext } from \"./context\";\n\nexport { staticClasses as dialogClasses };\n\nexport type HvDialogClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDialogProps\n extends Omit<MuiDialogProps, \"fullScreen\" | \"classes\" | \"open\">,\n HvBaseProps {\n /** Current state of the Dialog. */\n open?: boolean;\n /** Callback fired when the component requests to be closed. */\n onClose?: (event: any, reason?: \"escapeKeyDown\" | \"backdropClick\") => void;\n /** @inheritdoc */\n maxWidth?: MuiDialogProps[\"maxWidth\"];\n /** @inheritdoc */\n fullWidth?: MuiDialogProps[\"fullWidth\"];\n /**\n * Element id that should be focus when the Dialog opens.\n * Auto-focusing elements can cause usability issues, so this should be avoided.\n * @deprecated Use `autoFocus` on the element instead, if auto-focusing is required.\n */\n firstFocusable?: string;\n /** Title for the button close. */\n buttonTitle?: string;\n /** Set the dialog to fullscreen mode. */\n fullscreen?: boolean;\n /** Prevent closing the dialog when clicking on the backdrop. */\n disableBackdropClick?: boolean;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvDialogClasses;\n /** Variant of the dialog. Adds a status bar to the top of the dialog. If not provided, no status bar is added. */\n variant?: \"success\" | \"error\" | \"warning\";\n /** @ignore */\n ref?: MuiDialogProps[\"ref\"];\n /** @ignore */\n component?: MuiDialogProps[\"component\"];\n}\n\nexport const HvDialog = (props: HvDialogProps) => {\n const {\n variant,\n classes: classesProp,\n className,\n id,\n children,\n open = false,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n disableBackdropClick = false,\n ...others\n } = useDefaultProps(\"HvDialog\", props);\n\n const { classes, css, cx } = useClasses(classesProp);\n const { rootId, colors } = useTheme();\n\n const measuredRef = useCallback(() => {\n if (!firstFocusable) return;\n\n const element = document.getElementById(firstFocusable);\n element?.focus();\n }, [firstFocusable]);\n\n const contextValue = useMemo(() => ({ fullscreen }), [fullscreen]);\n\n return (\n <MuiDialog\n container={\n typeof window !== \"undefined\"\n ? // TODO: review\n // eslint-disable-next-line ssr-friendly/no-dom-globals-in-react-fc\n document.getElementById(rootId || \"\") || document.body\n : undefined\n }\n className={cx(classes.root, className)}\n classes={{ container: css({ position: \"relative\" }) }}\n id={id}\n ref={measuredRef}\n open={open}\n fullScreen={fullscreen}\n onClose={(event, reason) => {\n // `disableBackdropClick` property was removed in MUI5\n // and we want to maintain that functionality\n if (disableBackdropClick) return;\n\n onClose?.(event, reason);\n }}\n slotProps={{\n backdrop: {\n classes: {\n root: cx(\n css({\n background: hexToRgbA(colors?.atmo4 || theme.colors.atmo4, 0.8),\n }),\n classes.background\n ),\n },\n },\n }}\n PaperProps={{\n classes: {\n root: cx(\n css({ position: \"absolute\" }),\n classes.paper,\n variant && cx(classes.statusBar, classes[variant]),\n {\n [classes.fullscreen]: fullscreen,\n }\n ),\n },\n }}\n aria-modal\n {...others}\n >\n <HvTooltip placement=\"top\" title={buttonTitle}>\n <HvButton\n id={setId(id, \"close\")}\n className={classes.closeButton}\n variant=\"secondaryGhost\"\n onClick={(event) => onClose?.(event, undefined)}\n >\n <Close role=\"none\" />\n </HvButton>\n </HvTooltip>\n <DialogContext.Provider value={contextValue}>\n {children}\n </DialogContext.Provider>\n </MuiDialog>\n );\n};\n"],"names":["HvDialog","props","variant","classes","classesProp","className","id","children","open","onClose","firstFocusable","buttonTitle","fullscreen","disableBackdropClick","others","useDefaultProps","css","cx","useClasses","rootId","colors","useTheme","measuredRef","useCallback","element","document","getElementById","focus","contextValue","useMemo","window","body","undefined","root","container","position","event","reason","backdrop","background","hexToRgbA","atmo4","theme","paper","statusBar","setId","closeButton"],"mappings":";;;;;;;;;;;;;;AAwDaA,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,OAAO;AAAA,IACPC;AAAAA,IACAC;AAAAA,IACAC,cAAc;AAAA,IACdC,aAAa;AAAA,IACbC,uBAAuB;AAAA,IACvB,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,YAAYd,KAAK;AAE/B,QAAA;AAAA,IAAEE;AAAAA,IAASa;AAAAA,IAAKC;AAAAA,EAAAA,IAAOC,WAAWd,WAAW;AAC7C,QAAA;AAAA,IAAEe;AAAAA,IAAQC;AAAAA,MAAWC,SAAS;AAE9BC,QAAAA,cAAcC,YAAY,MAAM;AACpC,QAAI,CAACb;AAAgB;AAEfc,UAAAA,UAAUC,SAASC,eAAehB,cAAc;AACtDc,uCAASG;AAAAA,EAAM,GACd,CAACjB,cAAc,CAAC;AAEbkB,QAAAA,eAAeC,QAAQ,OAAO;AAAA,IAAEjB;AAAAA,EAAAA,IAAe,CAACA,UAAU,CAAC;AAEjE,SACG,qBAAA,WAAA,EACC,WACE,OAAOkB,WAAW;AAAA;AAAA;AAAA,IAGdL,SAASC,eAAeP,UAAU,EAAE,KAAKM,SAASM;AAAAA,MAClDC,QAEN,WAAWf,GAAGd,QAAQ8B,MAAM5B,SAAS,GACrC,SAAS;AAAA,IAAE6B,WAAWlB,IAAI;AAAA,MAAEmB,UAAU;AAAA,IAAA,CAAY;AAAA,EAAA,GAClD,IACA,KAAKb,aACL,MACA,YAAYV,YACZ,SAAS,CAACwB,OAAOC,WAAW;AAGtBxB,QAAAA;AAAsB;AAE1BJ,uCAAU2B,OAAOC;AAAAA,KAEnB,WAAW;AAAA,IACTC,UAAU;AAAA,MACRnC,SAAS;AAAA,QACP8B,MAAMhB,GACJD,IAAI;AAAA,UACFuB,YAAYC,WAAUpB,iCAAQqB,UAASC,MAAMtB,OAAOqB,OAAO,GAAG;AAAA,QAAA,CAC/D,GACDtC,QAAQoC,UACV;AAAA,MACF;AAAA,IACF;AAAA,KAEF,YAAY;AAAA,IACVpC,SAAS;AAAA,MACP8B,MAAMhB,GACJD,IAAI;AAAA,QAAEmB,UAAU;AAAA,MAAA,CAAY,GAC5BhC,QAAQwC,OACRzC,WAAWe,GAAGd,QAAQyC,WAAWzC,QAAQD,OAAO,CAAC,GACjD;AAAA,QACE,CAACC,QAAQS,UAAU,GAAGA;AAAAA,MAAAA,CAE1B;AAAA,IACF;AAAA,EAEF,GAAA,cAAU,MACV,GAAIE,QAEJ,UAAA;AAAA,IAAA,oBAAC,WAAU,EAAA,WAAU,OAAM,OAAOH,aAChC,UAAA,oBAAC,UACC,EAAA,IAAIkC,MAAMvC,IAAI,OAAO,GACrB,WAAWH,QAAQ2C,aACnB,SAAQ,kBACR,SAAUV,CAAU3B,UAAAA,mCAAU2B,OAAOJ,SAErC,UAAA,oBAAC,OAAM,EAAA,MAAK,OAAM,CAAA,EACpB,CAAA,GACF;AAAA,wBACC,cAAc,UAAd,EAAuB,OAAOJ,cAC5BrB,UACH;AAAA,EACF,EAAA,CAAA;AAEJ;"}
@@ -10,7 +10,7 @@ const {
10
10
  color: theme.colors.secondary,
11
11
  backgroundColor: theme.colors.atmo1,
12
12
  boxShadow: ["none", theme.colors.shadow],
13
- borderRadius: theme.dialog.borderRadius
13
+ borderRadius: theme.radii.round
14
14
  },
15
15
  fullscreen: {},
16
16
  closeButton: {
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.styles.js","sources":["../../../../src/components/Dialog/Dialog.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvDialog\", {\n root: {},\n background: {},\n paper: {\n color: theme.colors.secondary,\n backgroundColor: theme.colors.atmo1,\n boxShadow: [\"none\", theme.colors.shadow],\n borderRadius: theme.dialog.borderRadius,\n },\n fullscreen: {},\n closeButton: {\n padding: 0,\n minWidth: \"auto\",\n position: \"absolute\",\n top: theme.space.sm,\n right: theme.space.sm,\n width: 32,\n height: 32,\n },\n statusBar: {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderTopWidth: 4,\n borderTopStyle: \"solid\",\n },\n success: {\n borderTopColor: theme.colors.positive,\n },\n error: {\n borderTopColor: theme.colors.negative,\n },\n warning: {\n borderTopColor: theme.colors.warning,\n },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","background","paper","color","theme","colors","secondary","backgroundColor","atmo1","boxShadow","shadow","borderRadius","dialog","fullscreen","closeButton","padding","minWidth","position","top","space","sm","right","width","height","statusBar","borderTopLeftRadius","borderTopRightRadius","borderTopWidth","borderTopStyle","success","borderTopColor","positive","error","negative","warning"],"mappings":";;AAIa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAAc,YAAY;AAAA,EACrEC,MAAM,CAAC;AAAA,EACPC,YAAY,CAAC;AAAA,EACbC,OAAO;AAAA,IACLC,OAAOC,MAAMC,OAAOC;AAAAA,IACpBC,iBAAiBH,MAAMC,OAAOG;AAAAA,IAC9BC,WAAW,CAAC,QAAQL,MAAMC,OAAOK,MAAM;AAAA,IACvCC,cAAcP,MAAMQ,OAAOD;AAAAA,EAC7B;AAAA,EACAE,YAAY,CAAC;AAAA,EACbC,aAAa;AAAA,IACXC,SAAS;AAAA,IACTC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,KAAKd,MAAMe,MAAMC;AAAAA,IACjBC,OAAOjB,MAAMe,MAAMC;AAAAA,IACnBE,OAAO;AAAA,IACPC,QAAQ;AAAA,EACV;AAAA,EACAC,WAAW;AAAA,IACTC,qBAAqB;AAAA,IACrBC,sBAAsB;AAAA,IACtBC,gBAAgB;AAAA,IAChBC,gBAAgB;AAAA,EAClB;AAAA,EACAC,SAAS;AAAA,IACPC,gBAAgB1B,MAAMC,OAAO0B;AAAAA,EAC/B;AAAA,EACAC,OAAO;AAAA,IACLF,gBAAgB1B,MAAMC,OAAO4B;AAAAA,EAC/B;AAAA,EACAC,SAAS;AAAA,IACPJ,gBAAgB1B,MAAMC,OAAO6B;AAAAA,EAC/B;AACF,CAAC;"}
1
+ {"version":3,"file":"Dialog.styles.js","sources":["../../../../src/components/Dialog/Dialog.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvDialog\", {\n root: {},\n background: {},\n paper: {\n color: theme.colors.secondary,\n backgroundColor: theme.colors.atmo1,\n boxShadow: [\"none\", theme.colors.shadow],\n borderRadius: theme.radii.round,\n },\n fullscreen: {},\n closeButton: {\n padding: 0,\n minWidth: \"auto\",\n position: \"absolute\",\n top: theme.space.sm,\n right: theme.space.sm,\n width: 32,\n height: 32,\n },\n statusBar: {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderTopWidth: 4,\n borderTopStyle: \"solid\",\n },\n success: {\n borderTopColor: theme.colors.positive,\n },\n error: {\n borderTopColor: theme.colors.negative,\n },\n warning: {\n borderTopColor: theme.colors.warning,\n },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","background","paper","color","theme","colors","secondary","backgroundColor","atmo1","boxShadow","shadow","borderRadius","radii","round","fullscreen","closeButton","padding","minWidth","position","top","space","sm","right","width","height","statusBar","borderTopLeftRadius","borderTopRightRadius","borderTopWidth","borderTopStyle","success","borderTopColor","positive","error","negative","warning"],"mappings":";;AAIa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAAc,YAAY;AAAA,EACrEC,MAAM,CAAC;AAAA,EACPC,YAAY,CAAC;AAAA,EACbC,OAAO;AAAA,IACLC,OAAOC,MAAMC,OAAOC;AAAAA,IACpBC,iBAAiBH,MAAMC,OAAOG;AAAAA,IAC9BC,WAAW,CAAC,QAAQL,MAAMC,OAAOK,MAAM;AAAA,IACvCC,cAAcP,MAAMQ,MAAMC;AAAAA,EAC5B;AAAA,EACAC,YAAY,CAAC;AAAA,EACbC,aAAa;AAAA,IACXC,SAAS;AAAA,IACTC,UAAU;AAAA,IACVC,UAAU;AAAA,IACVC,KAAKf,MAAMgB,MAAMC;AAAAA,IACjBC,OAAOlB,MAAMgB,MAAMC;AAAAA,IACnBE,OAAO;AAAA,IACPC,QAAQ;AAAA,EACV;AAAA,EACAC,WAAW;AAAA,IACTC,qBAAqB;AAAA,IACrBC,sBAAsB;AAAA,IACtBC,gBAAgB;AAAA,IAChBC,gBAAgB;AAAA,EAClB;AAAA,EACAC,SAAS;AAAA,IACPC,gBAAgB3B,MAAMC,OAAO2B;AAAAA,EAC/B;AAAA,EACAC,OAAO;AAAA,IACLF,gBAAgB3B,MAAMC,OAAO6B;AAAAA,EAC/B;AAAA,EACAC,SAAS;AAAA,IACPJ,gBAAgB3B,MAAMC,OAAO8B;AAAAA,EAC/B;AACF,CAAC;"}
@@ -2,9 +2,9 @@ import { jsx, jsxs } from "@emotion/react/jsx-runtime";
2
2
  import MuiDialogTitle from "@mui/material/DialogTitle";
3
3
  import { useDefaultProps } from "../../../hooks/useDefaultProps.js";
4
4
  import { iconVariant } from "../../../utils/iconVariant.js";
5
- import { useTheme } from "../../../hooks/useTheme.js";
6
5
  import { useClasses } from "./Title.styles.js";
7
6
  import { staticClasses } from "./Title.styles.js";
7
+ import { useDialogContext } from "../context.js";
8
8
  import { HvTypography } from "../../Typography/Typography.js";
9
9
  const HvDialogTitle = (props) => {
10
10
  const {
@@ -21,14 +21,10 @@ const HvDialogTitle = (props) => {
21
21
  css,
22
22
  cx
23
23
  } = useClasses(classesProp);
24
- const {
25
- activeTheme
26
- } = useTheme();
27
- const isString = typeof children === "string";
28
24
  const {
29
25
  fullscreen
30
- } = others;
31
- delete others.fullscreen;
26
+ } = useDialogContext();
27
+ const isString = typeof children === "string";
32
28
  const icon = customIcon || showIcon && iconVariant(variant);
33
29
  return /* @__PURE__ */ jsx(MuiDialogTitle, { className: cx(!fullscreen && css({
34
30
  flex: 1
@@ -36,12 +32,9 @@ const HvDialogTitle = (props) => {
36
32
  [classes.fullscreen]: fullscreen
37
33
  }, className), ...others, children: /* @__PURE__ */ jsxs("div", { className: classes.messageContainer, children: [
38
34
  icon,
39
- /* @__PURE__ */ jsxs("div", { className: cx({
35
+ /* @__PURE__ */ jsx("div", { className: cx({
40
36
  [classes.textWithIcon]: !!icon
41
- }), children: [
42
- !isString && children,
43
- isString && /* @__PURE__ */ jsx(HvTypography, { variant: activeTheme == null ? void 0 : activeTheme.dialog.titleVariant, children })
44
- ] })
37
+ }), children: !isString ? children : /* @__PURE__ */ jsx(HvTypography, { variant: "title4", className: classes.titleText, children }) })
45
38
  ] }) });
46
39
  };
47
40
  export {
@@ -1 +1 @@
1
- {"version":3,"file":"Title.js","sources":["../../../../../src/components/Dialog/Title/Title.tsx"],"sourcesContent":["import MuiDialogTitle, {\n DialogTitleProps as MuiDialogTitleProps,\n} from \"@mui/material/DialogTitle\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { HvTypography } from \"@core/components/Typography\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { iconVariant } from \"@core/utils/iconVariant\";\nimport { useTheme } from \"@core/hooks/useTheme\";\n\nimport { staticClasses, useClasses } from \"./Title.styles\";\n\nexport { staticClasses as dialogTitleClasses };\n\nexport type HvDialogTitleClasses = ExtractNames<typeof useClasses>;\n\nexport type HvDialogTitleVariant =\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"info\"\n | \"default\";\n\nexport interface HvDialogTitleProps\n extends Omit<MuiDialogTitleProps, \"variant\" | \"classes\">,\n HvBaseProps<HTMLSpanElement, \"color\"> {\n /** Variant of the dialog title. */\n variant?: HvDialogTitleVariant;\n /** Controls if the associated icon to the variant should be shown. */\n showIcon?: boolean;\n /** Custom icon to replace the variant default. */\n customIcon?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvDialogTitleClasses;\n}\n\nexport const HvDialogTitle = (props: HvDialogTitleProps) => {\n const {\n classes: classesProp,\n className,\n children,\n variant = \"default\",\n showIcon = true,\n customIcon = null,\n ...others\n } = useDefaultProps(\"HvDialogTitle\", props);\n\n const { classes, css, cx } = useClasses(classesProp);\n\n const { activeTheme } = useTheme();\n\n const isString = typeof children === \"string\";\n\n const { fullscreen } = others as any;\n delete (others as any).fullscreen;\n\n const icon = customIcon || (showIcon && iconVariant(variant));\n\n return (\n <MuiDialogTitle\n className={cx(\n !fullscreen && css({ flex: 1 }),\n classes.root,\n {\n [classes.fullscreen]: fullscreen,\n },\n className\n )}\n {...others}\n >\n <div className={classes.messageContainer}>\n {icon}\n <div className={cx({ [classes.textWithIcon]: !!icon })}>\n {!isString && children}\n {isString && (\n <HvTypography variant={activeTheme?.dialog.titleVariant}>\n {children}\n </HvTypography>\n )}\n </div>\n </div>\n </MuiDialogTitle>\n );\n};\n"],"names":["HvDialogTitle","props","classes","classesProp","className","children","variant","showIcon","customIcon","others","useDefaultProps","css","cx","useClasses","activeTheme","useTheme","isString","fullscreen","icon","iconVariant","flex","root","messageContainer","textWithIcon","dialog","titleVariant"],"mappings":";;;;;;;;AAqCaA,MAAAA,gBAAgBA,CAACC,UAA8B;AACpD,QAAA;AAAA,IACJC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC,UAAU;AAAA,IACVC,WAAW;AAAA,IACXC,aAAa;AAAA,IACb,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,iBAAiBT,KAAK;AAEpC,QAAA;AAAA,IAAEC;AAAAA,IAASS;AAAAA,IAAKC;AAAAA,EAAAA,IAAOC,WAAWV,WAAW;AAE7C,QAAA;AAAA,IAAEW;AAAAA,MAAgBC,SAAS;AAE3BC,QAAAA,WAAW,OAAOX,aAAa;AAE/B,QAAA;AAAA,IAAEY;AAAAA,EAAeR,IAAAA;AACvB,SAAQA,OAAeQ;AAEvB,QAAMC,OAAOV,cAAeD,YAAYY,YAAYb,OAAO;AAE3D,6BACG,gBACC,EAAA,WAAWM,GACT,CAACK,cAAcN,IAAI;AAAA,IAAES,MAAM;AAAA,EAAA,CAAG,GAC9BlB,QAAQmB,MACR;AAAA,IACE,CAACnB,QAAQe,UAAU,GAAGA;AAAAA,EACxB,GACAb,SACF,GACA,GAAIK,QAEJ,UAAC,qBAAA,OAAA,EAAI,WAAWP,QAAQoB,kBACrBJ,UAAAA;AAAAA,IAAAA;AAAAA,IACD,qBAAC,OAAI,EAAA,WAAWN,GAAG;AAAA,MAAE,CAACV,QAAQqB,YAAY,GAAG,CAAC,CAACL;AAAAA,IAAM,CAAA,GAClD,UAAA;AAAA,MAAA,CAACF,YAAYX;AAAAA,MACbW,YACE,oBAAA,cAAA,EAAa,SAASF,2CAAaU,OAAOC,cACxCpB,UACH;AAAA,IAAA,GAEJ;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;"}
1
+ {"version":3,"file":"Title.js","sources":["../../../../../src/components/Dialog/Title/Title.tsx"],"sourcesContent":["import MuiDialogTitle, {\n DialogTitleProps as MuiDialogTitleProps,\n} from \"@mui/material/DialogTitle\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport { HvTypography } from \"@core/components/Typography\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { iconVariant } from \"@core/utils/iconVariant\";\n\nimport { staticClasses, useClasses } from \"./Title.styles\";\nimport { useDialogContext } from \"../context\";\n\nexport { staticClasses as dialogTitleClasses };\n\nexport type HvDialogTitleClasses = ExtractNames<typeof useClasses>;\n\nexport type HvDialogTitleVariant =\n | \"success\"\n | \"warning\"\n | \"error\"\n | \"info\"\n | \"default\";\n\nexport interface HvDialogTitleProps\n extends Omit<MuiDialogTitleProps, \"variant\" | \"classes\"> {\n /** Variant of the dialog title. */\n variant?: HvDialogTitleVariant;\n /** Controls if the associated icon to the variant should be shown. */\n showIcon?: boolean;\n /** Custom icon to replace the variant default. */\n customIcon?: React.ReactNode;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvDialogTitleClasses;\n}\n\nexport const HvDialogTitle = (props: HvDialogTitleProps) => {\n const {\n classes: classesProp,\n className,\n children,\n variant = \"default\",\n showIcon = true,\n customIcon = null,\n ...others\n } = useDefaultProps(\"HvDialogTitle\", props);\n\n const { classes, css, cx } = useClasses(classesProp);\n const { fullscreen } = useDialogContext();\n\n const isString = typeof children === \"string\";\n\n const icon = customIcon || (showIcon && iconVariant(variant));\n\n return (\n <MuiDialogTitle\n className={cx(\n !fullscreen && css({ flex: 1 }),\n classes.root,\n {\n [classes.fullscreen]: fullscreen,\n },\n className\n )}\n {...others}\n >\n <div className={classes.messageContainer}>\n {icon}\n <div className={cx({ [classes.textWithIcon]: !!icon })}>\n {!isString ? (\n children\n ) : (\n <HvTypography variant=\"title4\" className={classes.titleText}>\n {children}\n </HvTypography>\n )}\n </div>\n </div>\n </MuiDialogTitle>\n );\n};\n"],"names":["HvDialogTitle","props","classes","classesProp","className","children","variant","showIcon","customIcon","others","useDefaultProps","css","cx","useClasses","fullscreen","useDialogContext","isString","icon","iconVariant","flex","root","messageContainer","textWithIcon","titleText"],"mappings":";;;;;;;;AAmCaA,MAAAA,gBAAgBA,CAACC,UAA8B;AACpD,QAAA;AAAA,IACJC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC,UAAU;AAAA,IACVC,WAAW;AAAA,IACXC,aAAa;AAAA,IACb,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,iBAAiBT,KAAK;AAEpC,QAAA;AAAA,IAAEC;AAAAA,IAASS;AAAAA,IAAKC;AAAAA,EAAAA,IAAOC,WAAWV,WAAW;AAC7C,QAAA;AAAA,IAAEW;AAAAA,MAAeC,iBAAiB;AAElCC,QAAAA,WAAW,OAAOX,aAAa;AAErC,QAAMY,OAAOT,cAAeD,YAAYW,YAAYZ,OAAO;AAE3D,6BACG,gBACC,EAAA,WAAWM,GACT,CAACE,cAAcH,IAAI;AAAA,IAAEQ,MAAM;AAAA,EAAA,CAAG,GAC9BjB,QAAQkB,MACR;AAAA,IACE,CAAClB,QAAQY,UAAU,GAAGA;AAAAA,EACxB,GACAV,SACF,GACA,GAAIK,QAEJ,UAAC,qBAAA,OAAA,EAAI,WAAWP,QAAQmB,kBACrBJ,UAAAA;AAAAA,IAAAA;AAAAA,IACD,oBAAC,OAAI,EAAA,WAAWL,GAAG;AAAA,MAAE,CAACV,QAAQoB,YAAY,GAAG,CAAC,CAACL;AAAAA,IAAAA,CAAM,GAClD,UAACD,CAAAA,WACAX,WAEA,oBAAC,cAAa,EAAA,SAAQ,UAAS,WAAWH,QAAQqB,WAC/ClB,UACH,EAEJ,CAAA;AAAA,EAAA,EACF,CAAA,EACF,CAAA;AAEJ;"}
@@ -17,7 +17,8 @@ const {
17
17
  marginLeft: theme.space.xs,
18
18
  // 32px is the icon width
19
19
  marginRight: `calc(32px + ${theme.space.xs})`
20
- }
20
+ },
21
+ titleText: {}
21
22
  });
22
23
  export {
23
24
  staticClasses,
@@ -1 +1 @@
1
- {"version":3,"file":"Title.styles.js","sources":["../../../../../src/components/Dialog/Title/Title.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvDialog-Title\", {\n root: { padding: theme.space.sm, margin: 0 },\n fullscreen: {},\n messageContainer: { display: \"flex\", alignItems: \"center\" },\n textWithIcon: {\n marginLeft: theme.space.xs,\n // 32px is the icon width\n marginRight: `calc(32px + ${theme.space.xs})`,\n },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","padding","theme","space","sm","margin","fullscreen","messageContainer","display","alignItems","textWithIcon","marginLeft","xs","marginRight"],"mappings":";;AAIa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAAc,kBAAkB;AAAA,EAC3EC,MAAM;AAAA,IAAEC,SAASC,MAAMC,MAAMC;AAAAA,IAAIC,QAAQ;AAAA,EAAE;AAAA,EAC3CC,YAAY,CAAC;AAAA,EACbC,kBAAkB;AAAA,IAAEC,SAAS;AAAA,IAAQC,YAAY;AAAA,EAAS;AAAA,EAC1DC,cAAc;AAAA,IACZC,YAAYT,MAAMC,MAAMS;AAAAA;AAAAA,IAExBC,aAAc,eAAcX,MAAMC,MAAMS,EAAG;AAAA,EAC7C;AACF,CAAC;"}
1
+ {"version":3,"file":"Title.styles.js","sources":["../../../../../src/components/Dialog/Title/Title.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvDialog-Title\", {\n root: { padding: theme.space.sm, margin: 0 },\n fullscreen: {},\n messageContainer: { display: \"flex\", alignItems: \"center\" },\n textWithIcon: {\n marginLeft: theme.space.xs,\n // 32px is the icon width\n marginRight: `calc(32px + ${theme.space.xs})`,\n },\n titleText: {},\n});\n"],"names":["staticClasses","useClasses","createClasses","root","padding","theme","space","sm","margin","fullscreen","messageContainer","display","alignItems","textWithIcon","marginLeft","xs","marginRight","titleText"],"mappings":";;AAIa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAAc,kBAAkB;AAAA,EAC3EC,MAAM;AAAA,IAAEC,SAASC,MAAMC,MAAMC;AAAAA,IAAIC,QAAQ;AAAA,EAAE;AAAA,EAC3CC,YAAY,CAAC;AAAA,EACbC,kBAAkB;AAAA,IAAEC,SAAS;AAAA,IAAQC,YAAY;AAAA,EAAS;AAAA,EAC1DC,cAAc;AAAA,IACZC,YAAYT,MAAMC,MAAMS;AAAAA;AAAAA,IAExBC,aAAc,eAAcX,MAAMC,MAAMS,EAAG;AAAA,EAC7C;AAAA,EACAE,WAAW,CAAC;AACd,CAAC;"}
@@ -0,0 +1,10 @@
1
+ import { createContext, useContext } from "react";
2
+ const DialogContext = createContext({
3
+ fullscreen: false
4
+ });
5
+ const useDialogContext = () => useContext(DialogContext);
6
+ export {
7
+ DialogContext,
8
+ useDialogContext
9
+ };
10
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sources":["../../../../src/components/Dialog/context.ts"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nexport const DialogContext = createContext({ fullscreen: false });\n\nexport const useDialogContext = () => useContext(DialogContext);\n"],"names":["DialogContext","createContext","fullscreen","useDialogContext","useContext"],"mappings":";AAEO,MAAMA,gBAAgBC,cAAc;AAAA,EAAEC,YAAY;AAAM,CAAC;AAEnDC,MAAAA,mBAAmBA,MAAMC,WAAWJ,aAAa;"}
@@ -1,21 +1,12 @@
1
1
  import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
- import { useState, useEffect } from "react";
3
2
  import { useDefaultProps } from "../../hooks/useDefaultProps.js";
4
3
  import { Drawer } from "@mui/material";
5
4
  import { Close } from "@hitachivantara/uikit-react-icons";
6
- import { theme } from "@hitachivantara/uikit-styles";
7
5
  import { withTooltip } from "../../hocs/withTooltip.js";
8
- import { hexToRgbA } from "../../utils/hexToRgbA.js";
9
6
  import { setId } from "../../utils/setId.js";
10
- import { checkValidHexColorValue } from "../../utils/checkValidHexColorValue.js";
11
- import { getVarValue } from "../../utils/theme.js";
12
- import { useTheme } from "../../hooks/useTheme.js";
13
7
  import { useClasses } from "./Drawer.styles.js";
14
8
  import { staticClasses } from "./Drawer.styles.js";
15
9
  import { HvButton } from "../Button/Button.js";
16
- const getBackgroundColor = (color) => {
17
- return checkValidHexColorValue(color) ? hexToRgbA(color, 0.8) : color;
18
- };
19
10
  const HvDrawer = (props) => {
20
11
  const {
21
12
  className,
@@ -30,32 +21,14 @@ const HvDrawer = (props) => {
30
21
  } = useDefaultProps("HvDrawer", props);
31
22
  const {
32
23
  classes,
33
- css,
34
24
  cx
35
25
  } = useClasses(classesProp);
36
- const {
37
- colors,
38
- activeTheme,
39
- rootId
40
- } = useTheme();
41
- const [backgroundColorValue, setBackgroundColorValue] = useState(getVarValue(theme.drawer.backDropBackgroundColor, rootId) || "");
42
26
  const closeButtonDisplay = () => /* @__PURE__ */ jsx(Close, { role: "none" });
43
27
  const CloseButtonTooltipWrapper = buttonTitle ? withTooltip(closeButtonDisplay, buttonTitle, "top") : closeButtonDisplay;
44
- const [backgroundColor, setBackgroundColor] = useState(getBackgroundColor(backgroundColorValue));
45
- useEffect(() => {
46
- setBackgroundColorValue(getVarValue(theme.drawer.backDropBackgroundColor, rootId) || (activeTheme == null ? void 0 : activeTheme.drawer.backDropBackgroundColor) || "");
47
- setBackgroundColor(getBackgroundColor(backgroundColorValue));
48
- }, [colors, backgroundColorValue, setBackgroundColor, rootId, activeTheme == null ? void 0 : activeTheme.drawer.backDropBackgroundColor]);
49
28
  return /* @__PURE__ */ jsxs(Drawer, { className: cx(classes.root, className), id, anchor, open, PaperProps: {
50
29
  classes: {
51
30
  root: classes.paper
52
31
  }
53
- }, BackdropProps: {
54
- classes: {
55
- root: cx(css({
56
- backgroundColor
57
- }), classes.background)
58
- }
59
32
  }, onClose, ...others, children: [
60
33
  /* @__PURE__ */ jsx(HvButton, { id: setId(id, "close"), className: classes.closeButton, variant: "secondaryGhost", onClick: onClose, "aria-label": buttonTitle, children: /* @__PURE__ */ jsx(CloseButtonTooltipWrapper, {}) }),
61
34
  children
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.js","sources":["../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import { useEffect, useState } from \"react\";\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport {\n Drawer as MuiDrawer,\n DrawerProps as MuiDrawerProps,\n} from \"@mui/material\";\n\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { withTooltip } from \"@core/hocs/withTooltip\";\nimport { hexToRgbA } from \"@core/utils/hexToRgbA\";\nimport { setId } from \"@core/utils/setId\";\nimport { checkValidHexColorValue } from \"@core/utils/checkValidHexColorValue\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { getVarValue } from \"@core/utils/theme\";\nimport { HvButton } from \"@core/components/Button\";\nimport { useTheme } from \"@core/hooks/useTheme\";\n\nimport { staticClasses, useClasses } from \"./Drawer.styles\";\n\nexport { staticClasses as drawerClasses };\n\nexport type HvDrawerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDrawerProps\n extends MuiDrawerProps,\n Omit<MuiDrawerProps, \"classes\">,\n HvBaseProps<HTMLDivElement> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvDrawerClasses;\n /**\n * Components of the Drawer.\n */\n children?: React.ReactNode;\n /**\n * Current state of the Drawer.\n */\n open?: boolean;\n /**\n * Function executed on close.\n * Extended from Modal from material-ui\n *\n */\n onClose?: (\n event: React.SyntheticEvent,\n reason?: \"escapeKeyDown\" | \"backdropClick\"\n ) => void;\n /**\n * The side the drawer opens from.\n */\n anchor?: \"left\" | \"top\" | \"right\" | \"bottom\";\n /**\n * Title for the button close.\n */\n buttonTitle?: string;\n /** @ignore */\n ref?: MuiDrawerProps[\"ref\"];\n /** @ignore */\n component?: MuiDrawerProps[\"component\"];\n}\n\nconst getBackgroundColor = (color: string) => {\n return checkValidHexColorValue(color) ? hexToRgbA(color, 0.8) : color;\n};\n\n/**\n * The Drawer component provides a foundation to create a sliding pane.\n * It only provides the pane with a close button, the rest of the\n * content can be customized.\n */\nexport const HvDrawer = (props: HvDrawerProps) => {\n const {\n className,\n classes: classesProp,\n id,\n children,\n open,\n onClose,\n anchor = \"right\",\n buttonTitle = \"Close\",\n ...others\n } = useDefaultProps(\"HvDrawer\", props);\n\n const { classes, css, cx } = useClasses(classesProp);\n const { colors, activeTheme, rootId } = useTheme();\n\n const [backgroundColorValue, setBackgroundColorValue] = useState<string>(\n getVarValue(theme.drawer.backDropBackgroundColor, rootId) || \"\"\n );\n\n const closeButtonDisplay = () => <Close role=\"none\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n const [backgroundColor, setBackgroundColor] = useState(\n getBackgroundColor(backgroundColorValue)\n );\n\n useEffect(() => {\n setBackgroundColorValue(\n getVarValue(theme.drawer.backDropBackgroundColor, rootId) ||\n activeTheme?.drawer.backDropBackgroundColor ||\n \"\"\n );\n\n setBackgroundColor(getBackgroundColor(backgroundColorValue));\n }, [\n colors,\n backgroundColorValue,\n setBackgroundColor,\n rootId,\n activeTheme?.drawer.backDropBackgroundColor,\n ]);\n\n return (\n <MuiDrawer\n className={cx(classes.root, className)}\n id={id}\n anchor={anchor}\n open={open}\n PaperProps={{\n classes: {\n root: classes.paper,\n },\n }}\n BackdropProps={{\n classes: {\n root: cx(css({ backgroundColor }), classes.background),\n },\n }}\n onClose={onClose}\n {...others}\n >\n <HvButton\n id={setId(id, \"close\")}\n className={classes.closeButton}\n variant=\"secondaryGhost\"\n onClick={onClose}\n aria-label={buttonTitle}\n >\n <CloseButtonTooltipWrapper />\n </HvButton>\n {children}\n </MuiDrawer>\n );\n};\n"],"names":["getBackgroundColor","color","checkValidHexColorValue","hexToRgbA","HvDrawer","props","className","classes","classesProp","id","children","open","onClose","anchor","buttonTitle","others","useDefaultProps","css","cx","useClasses","colors","activeTheme","rootId","useTheme","backgroundColorValue","setBackgroundColorValue","useState","getVarValue","theme","drawer","backDropBackgroundColor","closeButtonDisplay","CloseButtonTooltipWrapper","withTooltip","backgroundColor","setBackgroundColor","useEffect","MuiDrawer","root","paper","background","setId","closeButton"],"mappings":";;;;;;;;;;;;;;;AA0EA,MAAMA,qBAAqBA,CAACC,UAAkB;AAC5C,SAAOC,wBAAwBD,KAAK,IAAIE,UAAUF,OAAO,GAAG,IAAIA;AAClE;AAOaG,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,SAAS;AAAA,IACTC,cAAc;AAAA,IACd,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,YAAYX,KAAK;AAE/B,QAAA;AAAA,IAAEE;AAAAA,IAASU;AAAAA,IAAKC;AAAAA,EAAAA,IAAOC,WAAWX,WAAW;AAC7C,QAAA;AAAA,IAAEY;AAAAA,IAAQC;AAAAA,IAAaC;AAAAA,MAAWC,SAAS;AAE3C,QAAA,CAACC,sBAAsBC,uBAAuB,IAAIC,SACtDC,YAAYC,MAAMC,OAAOC,yBAAyBR,MAAM,KAAK,EAC/D;AAEA,QAAMS,qBAAqBA,MAAO,oBAAA,OAAA,EAAM,MAAK,OAAS,CAAA;AAEtD,QAAMC,4BAA4BlB,cAC9BmB,YAAYF,oBAAoBjB,aAAa,KAAK,IAClDiB;AAEJ,QAAM,CAACG,iBAAiBC,kBAAkB,IAAIT,SAC5C1B,mBAAmBwB,oBAAoB,CACzC;AAEAY,YAAU,MAAM;AAEZT,4BAAAA,YAAYC,MAAMC,OAAOC,yBAAyBR,MAAM,MACtDD,2CAAaQ,OAAOC,4BACpB,EACJ;AAEmB9B,uBAAAA,mBAAmBwB,oBAAoB,CAAC;AAAA,EAAA,GAC1D,CACDJ,QACAI,sBACAW,oBACAb,QACAD,2CAAaQ,OAAOC,uBAAuB,CAC5C;AAGC,SAAA,qBAACO,QACC,EAAA,WAAWnB,GAAGX,QAAQ+B,MAAMhC,SAAS,GACrC,IACA,QACA,MACA,YAAY;AAAA,IACVC,SAAS;AAAA,MACP+B,MAAM/B,QAAQgC;AAAAA,IAChB;AAAA,KAEF,eAAe;AAAA,IACbhC,SAAS;AAAA,MACP+B,MAAMpB,GAAGD,IAAI;AAAA,QAAEiB;AAAAA,MAAAA,CAAiB,GAAG3B,QAAQiC,UAAU;AAAA,IACvD;AAAA,EAAA,GAEF,SACIzB,GAAAA,QAEJ,UAAA;AAAA,IAAA,oBAAC,YACC,IAAI0B,MAAMhC,IAAI,OAAO,GACrB,WAAWF,QAAQmC,aACnB,SAAQ,kBACR,SAAS9B,SACT,cAAYE,aAEZ,UAAA,oBAAC,4BAAyB,CAAA,GAC5B;AAAA,IACCJ;AAAAA,EACH,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"Drawer.js","sources":["../../../../src/components/Drawer/Drawer.tsx"],"sourcesContent":["import { useDefaultProps } from \"@core/hooks/useDefaultProps\";\n\nimport {\n Drawer as MuiDrawer,\n DrawerProps as MuiDrawerProps,\n} from \"@mui/material\";\n\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\n\nimport { HvBaseProps } from \"@core/types/generic\";\nimport { withTooltip } from \"@core/hocs/withTooltip\";\nimport { setId } from \"@core/utils/setId\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvButton } from \"@core/components/Button\";\n\nimport { staticClasses, useClasses } from \"./Drawer.styles\";\n\nexport { staticClasses as drawerClasses };\n\nexport type HvDrawerClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDrawerProps\n extends MuiDrawerProps,\n Omit<MuiDrawerProps, \"classes\">,\n HvBaseProps<HTMLDivElement> {\n /**\n * Class names to be applied.\n */\n className?: string;\n /**\n * Id to be applied to the root node.\n */\n id?: string;\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes?: HvDrawerClasses;\n /**\n * Components of the Drawer.\n */\n children?: React.ReactNode;\n /**\n * Current state of the Drawer.\n */\n open?: boolean;\n /**\n * Function executed on close.\n * Extended from Modal from material-ui\n *\n */\n onClose?: (\n event: React.SyntheticEvent,\n reason?: \"escapeKeyDown\" | \"backdropClick\"\n ) => void;\n /**\n * The side the drawer opens from.\n */\n anchor?: \"left\" | \"top\" | \"right\" | \"bottom\";\n /**\n * Title for the button close.\n */\n buttonTitle?: string;\n /** @ignore */\n ref?: MuiDrawerProps[\"ref\"];\n /** @ignore */\n component?: MuiDrawerProps[\"component\"];\n}\n\n/**\n * The Drawer component provides a foundation to create a sliding pane.\n * It only provides the pane with a close button, the rest of the\n * content can be customized.\n */\nexport const HvDrawer = (props: HvDrawerProps) => {\n const {\n className,\n classes: classesProp,\n id,\n children,\n open,\n onClose,\n anchor = \"right\",\n buttonTitle = \"Close\",\n ...others\n } = useDefaultProps(\"HvDrawer\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const closeButtonDisplay = () => <Close role=\"none\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n return (\n <MuiDrawer\n className={cx(classes.root, className)}\n id={id}\n anchor={anchor}\n open={open}\n PaperProps={{\n classes: {\n root: classes.paper,\n },\n }}\n onClose={onClose}\n {...others}\n >\n <HvButton\n id={setId(id, \"close\")}\n className={classes.closeButton}\n variant=\"secondaryGhost\"\n onClick={onClose}\n aria-label={buttonTitle}\n >\n <CloseButtonTooltipWrapper />\n </HvButton>\n {children}\n </MuiDrawer>\n );\n};\n"],"names":["HvDrawer","props","className","classes","classesProp","id","children","open","onClose","anchor","buttonTitle","others","useDefaultProps","cx","useClasses","closeButtonDisplay","CloseButtonTooltipWrapper","withTooltip","MuiDrawer","root","paper","setId","closeButton"],"mappings":";;;;;;;;;AAyEaA,MAAAA,WAAWA,CAACC,UAAyB;AAC1C,QAAA;AAAA,IACJC;AAAAA,IACAC,SAASC;AAAAA,IACTC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IACAC,SAAS;AAAA,IACTC,cAAc;AAAA,IACd,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,YAAYX,KAAK;AAE/B,QAAA;AAAA,IAAEE;AAAAA,IAASU;AAAAA,EAAAA,IAAOC,WAAWV,WAAW;AAE9C,QAAMW,qBAAqBA,MAAO,oBAAA,OAAA,EAAM,MAAK,OAAS,CAAA;AAEtD,QAAMC,4BAA4BN,cAC9BO,YAAYF,oBAAoBL,aAAa,KAAK,IAClDK;AAGF,SAAA,qBAACG,QACC,EAAA,WAAWL,GAAGV,QAAQgB,MAAMjB,SAAS,GACrC,IACA,QACA,MACA,YAAY;AAAA,IACVC,SAAS;AAAA,MACPgB,MAAMhB,QAAQiB;AAAAA,IAChB;AAAA,EAAA,GAEF,SACIT,GAAAA,QAEJ,UAAA;AAAA,IAAA,oBAAC,YACC,IAAIU,MAAMhB,IAAI,OAAO,GACrB,WAAWF,QAAQmB,aACnB,SAAQ,kBACR,SAASd,SACT,cAAYE,aAEZ,UAAA,oBAAC,4BAAyB,CAAA,GAC5B;AAAA,IACCJ;AAAAA,EACH,EAAA,CAAA;AAEJ;"}
@@ -26,8 +26,8 @@ const {
26
26
  height: 32,
27
27
  boxSizing: "border-box",
28
28
  padding: 0,
29
- borderRadius: theme.dropDownMenu.borderRadius,
30
- border: theme.dropDownMenu.borderClosed
29
+ borderRadius: theme.radii.base,
30
+ border: "1px solid transparent"
31
31
  },
32
32
  /** Styles applied to the icon when selected. */
33
33
  iconSelected: {
@@ -40,7 +40,7 @@ const {
40
40
  fill: theme.colors.secondary
41
41
  },
42
42
  borderRadius: `${theme.radii.base} ${theme.radii.base} 0px 0px`,
43
- border: theme.dropDownMenu.borderOpened
43
+ border: `1px solid ${theme.colors.secondary_80}`
44
44
  },
45
45
  /** Styles applied to the list root. */
46
46
  menuListRoot: {},
@@ -1 +1 @@
1
- {"version":3,"file":"DropDownMenu.styles.js","sources":["../../../../src/components/DropDownMenu/DropDownMenu.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"@core/utils/focusUtils\";\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvDropDownMenu\", {\n /** Styles applied to the container. */\n container: {\n width: 32,\n },\n /** Styles applied to the BaseDropdown container. */\n baseContainer: {},\n /** Styles applied to the root. */\n root: {\n display: \"inline-block\",\n width: \"auto\",\n \"&:focus-visible $icon\": {\n ...outlineStyles,\n },\n },\n /** Styles applied to the icon. */\n icon: {\n position: \"relative\",\n width: 32,\n height: 32,\n boxSizing: \"border-box\",\n padding: 0,\n borderRadius: theme.dropDownMenu.borderRadius,\n border: theme.dropDownMenu.borderClosed,\n },\n /** Styles applied to the icon when selected. */\n iconSelected: {\n backgroundColor: theme.colors.atmo1,\n boxShadow: theme.colors.shadow,\n\n \"&:hover\": {\n backgroundColor: theme.colors.atmo1,\n },\n\n \"& svg .color0\": {\n fill: theme.colors.secondary,\n },\n\n borderRadius: `${theme.radii.base} ${theme.radii.base} 0px 0px`,\n border: theme.dropDownMenu.borderOpened,\n },\n /** Styles applied to the list root. */\n menuListRoot: {},\n /** Styles applied to the list. */\n menuList: {},\n});\n"],"names":["staticClasses","useClasses","createClasses","container","width","baseContainer","root","display","outlineStyles","icon","position","height","boxSizing","padding","borderRadius","theme","dropDownMenu","border","borderClosed","iconSelected","backgroundColor","colors","atmo1","boxShadow","shadow","fill","secondary","radii","base","borderOpened","menuListRoot","menuList"],"mappings":";;;AAKa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAAc,kBAAkB;AAAA;AAAA,EAE3EC,WAAW;AAAA,IACTC,OAAO;AAAA,EACT;AAAA;AAAA,EAEAC,eAAe,CAAC;AAAA;AAAA,EAEhBC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTH,OAAO;AAAA,IACP,yBAAyB;AAAA,MACvB,GAAGI;AAAAA,IACL;AAAA,EACF;AAAA;AAAA,EAEAC,MAAM;AAAA,IACJC,UAAU;AAAA,IACVN,OAAO;AAAA,IACPO,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,SAAS;AAAA,IACTC,cAAcC,MAAMC,aAAaF;AAAAA,IACjCG,QAAQF,MAAMC,aAAaE;AAAAA,EAC7B;AAAA;AAAA,EAEAC,cAAc;AAAA,IACZC,iBAAiBL,MAAMM,OAAOC;AAAAA,IAC9BC,WAAWR,MAAMM,OAAOG;AAAAA,IAExB,WAAW;AAAA,MACTJ,iBAAiBL,MAAMM,OAAOC;AAAAA,IAChC;AAAA,IAEA,iBAAiB;AAAA,MACfG,MAAMV,MAAMM,OAAOK;AAAAA,IACrB;AAAA,IAEAZ,cAAe,GAAEC,MAAMY,MAAMC,IAAK,IAAGb,MAAMY,MAAMC,IAAK;AAAA,IACtDX,QAAQF,MAAMC,aAAaa;AAAAA,EAC7B;AAAA;AAAA,EAEAC,cAAc,CAAC;AAAA;AAAA,EAEfC,UAAU,CAAC;AACb,CAAC;"}
1
+ {"version":3,"file":"DropDownMenu.styles.js","sources":["../../../../src/components/DropDownMenu/DropDownMenu.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { outlineStyles } from \"@core/utils/focusUtils\";\nimport { createClasses } from \"@core/utils/classes\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvDropDownMenu\", {\n /** Styles applied to the container. */\n container: {\n width: 32,\n },\n /** Styles applied to the BaseDropdown container. */\n baseContainer: {},\n /** Styles applied to the root. */\n root: {\n display: \"inline-block\",\n width: \"auto\",\n \"&:focus-visible $icon\": {\n ...outlineStyles,\n },\n },\n /** Styles applied to the icon. */\n icon: {\n position: \"relative\",\n width: 32,\n height: 32,\n boxSizing: \"border-box\",\n padding: 0,\n borderRadius: theme.radii.base,\n border: \"1px solid transparent\",\n },\n /** Styles applied to the icon when selected. */\n iconSelected: {\n backgroundColor: theme.colors.atmo1,\n boxShadow: theme.colors.shadow,\n\n \"&:hover\": {\n backgroundColor: theme.colors.atmo1,\n },\n\n \"& svg .color0\": {\n fill: theme.colors.secondary,\n },\n\n borderRadius: `${theme.radii.base} ${theme.radii.base} 0px 0px`,\n border: `1px solid ${theme.colors.secondary_80}`,\n },\n /** Styles applied to the list root. */\n menuListRoot: {},\n /** Styles applied to the list. */\n menuList: {},\n});\n"],"names":["staticClasses","useClasses","createClasses","container","width","baseContainer","root","display","outlineStyles","icon","position","height","boxSizing","padding","borderRadius","theme","radii","base","border","iconSelected","backgroundColor","colors","atmo1","boxShadow","shadow","fill","secondary","secondary_80","menuListRoot","menuList"],"mappings":";;;AAKa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAAc,kBAAkB;AAAA;AAAA,EAE3EC,WAAW;AAAA,IACTC,OAAO;AAAA,EACT;AAAA;AAAA,EAEAC,eAAe,CAAC;AAAA;AAAA,EAEhBC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTH,OAAO;AAAA,IACP,yBAAyB;AAAA,MACvB,GAAGI;AAAAA,IACL;AAAA,EACF;AAAA;AAAA,EAEAC,MAAM;AAAA,IACJC,UAAU;AAAA,IACVN,OAAO;AAAA,IACPO,QAAQ;AAAA,IACRC,WAAW;AAAA,IACXC,SAAS;AAAA,IACTC,cAAcC,MAAMC,MAAMC;AAAAA,IAC1BC,QAAQ;AAAA,EACV;AAAA;AAAA,EAEAC,cAAc;AAAA,IACZC,iBAAiBL,MAAMM,OAAOC;AAAAA,IAC9BC,WAAWR,MAAMM,OAAOG;AAAAA,IAExB,WAAW;AAAA,MACTJ,iBAAiBL,MAAMM,OAAOC;AAAAA,IAChC;AAAA,IAEA,iBAAiB;AAAA,MACfG,MAAMV,MAAMM,OAAOK;AAAAA,IACrB;AAAA,IAEAZ,cAAe,GAAEC,MAAMC,MAAMC,IAAK,IAAGF,MAAMC,MAAMC,IAAK;AAAA,IACtDC,QAAS,aAAYH,MAAMM,OAAOM,YAAa;AAAA,EACjD;AAAA;AAAA,EAEAC,cAAc,CAAC;AAAA;AAAA,EAEfC,UAAU,CAAC;AACb,CAAC;"}
@@ -1,10 +1,10 @@
1
1
  import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
2
  import { useState, useEffect, useRef } from "react";
3
- import { theme } from "@hitachivantara/uikit-styles";
4
3
  import { useDefaultProps } from "../../hooks/useDefaultProps.js";
5
4
  import { setId } from "../../utils/setId.js";
6
5
  import { getSelectionLabel, getSelected } from "./utils.js";
7
- import { useClasses, staticClasses } from "./Dropdown.styles.js";
6
+ import { useClasses } from "./Dropdown.styles.js";
7
+ import { staticClasses } from "./Dropdown.styles.js";
8
8
  import { useLabels } from "../../hooks/useLabels.js";
9
9
  import { useUniqueId } from "../../hooks/useUniqueId.js";
10
10
  import { useControlled } from "../../hooks/useControlled.js";
@@ -70,8 +70,7 @@ const HvDropdown = (props) => {
70
70
  } = useDefaultProps("HvDropdown", props);
71
71
  const {
72
72
  classes,
73
- cx,
74
- css
73
+ cx
75
74
  } = useClasses(classesProp);
76
75
  const labels = useLabels(DEFAULT_LABELS, labelsProp);
77
76
  const elementId = useUniqueId(id, "hvdropdown");
@@ -157,10 +156,9 @@ const HvDropdown = (props) => {
157
156
  const buildHeaderLabel = () => {
158
157
  const hasSelection = getSelected(internalValues).length > 0;
159
158
  return (labels == null ? void 0 : labels.select) || !multiSelect ? /* @__PURE__ */ jsx(HvTypography, { component: "div", variant: "body", className: cx(classes.placeholder, {
160
- [classes.selectionDisabled]: disabled
161
- }, !(isOpen || hasSelection) && css({
162
- color: theme.dropdown.placeholderColor
163
- })), children: selectionLabel.selected }) : /* @__PURE__ */ jsxs(HvTypography, { component: "div", className: cx(classes.placeholder, {
159
+ [classes.selectionDisabled]: disabled,
160
+ [classes.placeholderClosed]: !(isOpen || hasSelection)
161
+ }), children: selectionLabel.selected }) : /* @__PURE__ */ jsxs(HvTypography, { component: "div", className: cx(classes.placeholder, {
164
162
  [classes.selectionDisabled]: disabled
165
163
  }), variant: "body", children: [
166
164
  /* @__PURE__ */ jsx("b", { children: selectionLabel.selected }),
@@ -175,20 +173,17 @@ const HvDropdown = (props) => {
175
173
  if (isStateInvalid) {
176
174
  errorMessageId = canShowError ? setId(elementId, "error") : ariaErrorMessage;
177
175
  }
178
- return /* @__PURE__ */ jsxs(HvFormElement, { id, name, status: validationState, disabled, readOnly, required, className: cx(classes.root, disabled && css({
179
- color: theme.dropdown.disabledColor
180
- }), className), ...others, children: [
176
+ return /* @__PURE__ */ jsxs(HvFormElement, { id, name, status: validationState, disabled, readOnly, required, className: cx(classes.root, {
177
+ [classes.disabled]: disabled
178
+ }, className), ...others, children: [
181
179
  (hasLabel || hasDescription) && /* @__PURE__ */ jsxs("div", { className: classes.labelContainer, children: [
182
180
  hasLabel && /* @__PURE__ */ jsx(HvLabel, { id: setId(elementId, "label"), label, className: classes.label }),
183
181
  hasDescription && /* @__PURE__ */ jsx(HvInfoMessage, { id: setId(elementId, "description"), className: classes.description, children: description })
184
182
  ] }),
185
183
  /* @__PURE__ */ jsx(HvBaseDropdown, { id: setId(id, "dropdown"), classes: {
186
- root: cx(classes.dropdown, readOnly && css({
187
- [`& .${staticClasses.dropdownHeader}`]: {
188
- border: theme.dropdown.readOnlyBorder,
189
- backgroundColor: theme.dropdown.readOnlyBackgroundColor
190
- }
191
- })),
184
+ root: cx(classes.dropdown, {
185
+ [classes.readOnly]: readOnly
186
+ }),
192
187
  arrow: classes.arrow,
193
188
  header: cx(classes.dropdownHeader, {
194
189
  [classes.dropdownHeaderInvalid]: isStateInvalid
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.js","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nimport { PopperProps } from \"@mui/material\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { setId } from \"@core/utils/setId\";\nimport { useLabels, useUniqueId, useControlled } from \"@core/hooks\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport {\n HvBaseDropdown,\n HvBaseDropdownProps,\n} from \"@core/components/BaseDropdown\";\nimport { HvListValue } from \"@core/components/List\";\nimport {\n isInvalid,\n HvInfoMessage,\n HvWarningText,\n HvFormElement,\n HvLabel,\n} from \"@core/components/Forms\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { getSelected, getSelectionLabel } from \"./utils\";\nimport { HvDropdownList, HvDropdownListProps } from \"./List\";\nimport { staticClasses, useClasses } from \"./Dropdown.styles\";\nimport { HvDropdownLabelsProps, HvDropdownStatus } from \"./types\";\n\nexport { staticClasses as dropdownClasses };\n\nexport type HvDropdownClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDropdownProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvDropdownClasses;\n /**\n * The form element name.\n */\n name?: string;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: any;\n /**\n * Provide additional descriptive text for the form element.\n */\n description?: any;\n /**\n * The placeholder value when nothing is selected.\n */\n placeholder?: string;\n /**\n * Indicates that the form element is disabled.\n */\n disabled?: boolean;\n /**\n * Indicates that the form element is in read only mode.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form 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?: HvDropdownStatus;\n /**\n * The error message to show when the validation status is \"invalid\".\n *\n * Defaults to \"Required\" when the status is uncontrolled and no `aria-errormessage` is provided.\n */\n statusMessage?: any;\n /**\n * Identifies the element that provides an error message for the dropdown.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\"?: string;\n /**\n * The callback fired when the value changes.\n */\n onChange?: (selected: HvListValue | HvListValue[] | undefined) => void;\n /**\n * The list to be rendered by the dropdown.\n */\n values?: HvListValue[];\n /**\n * If `true` the dropdown is multiSelect, if `false` the dropdown is single select.\n */\n multiSelect?: boolean;\n /**\n * If `true` the dropdown is rendered with a search bar, if `false` there won't be a search bar.\n */\n showSearch?: boolean;\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * If 'true' the dropdown will notify on the first render.\n */\n notifyChangesOnFirstRender?: boolean;\n /**\n * An object containing all the labels for the dropdown.\n */\n labels?: HvDropdownLabelsProps;\n /**\n * If `true` the dropdown will show tooltips when user mouseenter text in list\n */\n hasTooltips?: boolean;\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal?: boolean;\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth?: boolean;\n /**\n * If `true`, selection can be toggled when single selection.\n */\n singleSelectionToggle?: boolean;\n /**\n * Placement of the dropdown.\n */\n placement?: \"left\" | \"right\";\n /**\n * An object containing props to be wired to the popper component.\n */\n popperProps?: Partial<PopperProps>;\n /**\n * Callback called when the user cancels the changes.\n *\n * Called when the cancel button is used and when the user clicks outside the open container.\n *\n * @param {object} event The event source of the callback.\n */\n onCancel?: (event: Event) => void;\n /**\n * Callback called when dropdown changes the expanded state.\n *\n * @param {object} event The event source of the callback.\n * @param {boolean} open If the dropdown new state is open (`true`) or closed (`false`).\n */\n onToggle?: (event: Event, open: boolean) => void;\n /**\n * Callback called when the user clicks outside the open container.\n *\n * @param {object} event The event source of the callback.\n */\n onClickOutside?: (event: Event) => void;\n /**\n * @ignore\n */\n onFocus?: React.FocusEventHandler<any>;\n /**\n * @ignore\n */\n onBlur?: React.FocusEventHandler<any>;\n /**\n * Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used\n */\n height?: number;\n /**\n * Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used\n */\n maxHeight?: number;\n /**\n * Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options.\n */\n virtualized?: boolean;\n /**\n * Extra props passed to the dropdown.\n */\n baseDropdownProps?: HvBaseDropdownProps;\n /**\n * Extra props passed to the list.\n */\n listProps?: HvDropdownListProps;\n}\n\nconst DEFAULT_LABELS: HvDropdownLabelsProps = {\n select: undefined,\n selectAll: \"All\",\n cancelLabel: \"Cancel\",\n applyLabel: \"Apply\",\n searchPlaceholder: \"Search\",\n multiSelectionConjunction: \"/\",\n};\n\n/**\n * A dropdown list is a graphical control element, similar to a list box, that allows the user to choose one value from a list.\n */\nexport const HvDropdown = (props: HvDropdownProps) => {\n const {\n classes: classesProp,\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n readOnly = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n placeholder = \"Select...\",\n\n onChange,\n\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n onCancel,\n onToggle,\n onClickOutside,\n\n onFocus,\n onBlur,\n\n values,\n multiSelect = false,\n showSearch = false,\n expanded,\n defaultExpanded = false,\n notifyChangesOnFirstRender = false,\n labels: labelsProp,\n hasTooltips = false,\n disablePortal = false,\n singleSelectionToggle = true,\n placement,\n variableWidth = false,\n popperProps = {},\n height,\n maxHeight,\n virtualized = false,\n baseDropdownProps = {},\n listProps = {},\n ...others\n } = useDefaultProps(\"HvDropdown\", props);\n\n const { classes, cx, css } = useClasses(classesProp);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const elementId = useUniqueId(id, \"hvdropdown\");\n\n const [validationState, setValidationState] = useControlled(\n status,\n \"standBy\"\n );\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const [selectionLabel, setSelectionLabel] = useState(\n getSelectionLabel(labels, placeholder, multiSelect, values)\n );\n const [internalValues, setInternalValues] = useState(values);\n\n useEffect(() => {\n setInternalValues(values);\n }, [values]);\n\n useEffect(() => {\n setSelectionLabel(\n getSelectionLabel(labels, placeholder, multiSelect, values)\n );\n }, [labels, multiSelect, placeholder, values]);\n\n if (virtualized && !height && process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.error(\n \"Dropdown/List in virtualized mode requires a height. Please define it.\"\n );\n }\n\n const dropdownHeaderRef = useRef<HTMLDivElement>();\n\n const handleToggle: HvBaseDropdownProps[\"onToggle\"] = (event, open) => {\n onToggle?.(event, open);\n\n setIsOpen(open);\n\n if (!open) {\n // also run built-in validation when closing without changes\n // as the user \"touched\" the input\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required) {\n const hasSelection = getSelected(internalValues).length > 0;\n\n if (!hasSelection) {\n return \"invalid\";\n }\n }\n\n return \"valid\";\n });\n }\n };\n\n /** Applies the selected values to the state */\n const handleSelection: HvDropdownListProps[\"onChange\"] = (\n listValues,\n commitChanges,\n toggle,\n notifyChanges = true\n ) => {\n const selected = getSelected(listValues);\n\n if (commitChanges) {\n setInternalValues(listValues);\n setSelectionLabel(\n getSelectionLabel(labels, placeholder, multiSelect, listValues)\n );\n\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && selected.length === 0) {\n return \"invalid\";\n }\n\n return \"valid\";\n });\n }\n if (notifyChanges) onChange?.(multiSelect ? selected : selected[0]);\n if (toggle) {\n handleToggle(undefined as any, false);\n\n // focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n dropdownHeaderRef.current?.focus({ preventScroll: true });\n }\n };\n\n /**\n * Handles the `Cancel` action. Both single and ranged modes are handled here.\n */\n const handleCancel: HvDropdownListProps[\"onCancel\"] = (evt) => {\n onCancel?.(evt as any);\n\n handleToggle(evt as any, false);\n\n // focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n dropdownHeaderRef.current?.focus({ preventScroll: true });\n };\n\n const handleClickOutside: HvBaseDropdownProps[\"onClickOutside\"] = (evt) => {\n onClickOutside?.(evt);\n onCancel?.(evt);\n };\n\n const setFocusToContent: HvBaseDropdownProps[\"onContainerCreation\"] = (\n containerRef\n ) => {\n const inputs = containerRef?.getElementsByTagName(\"input\");\n if (inputs && inputs.length > 0) {\n inputs[0].focus();\n return;\n }\n const listItems =\n containerRef != null ? [...containerRef.getElementsByTagName(\"li\")] : [];\n listItems.every((listItem) => {\n if (listItem.tabIndex >= 0) {\n listItem.focus();\n return false;\n }\n return true;\n });\n };\n\n const buildHeaderLabel = () => {\n const hasSelection = getSelected(internalValues).length > 0;\n return labels?.select || !multiSelect ? (\n <HvTypography\n component=\"div\"\n variant=\"body\"\n className={cx(\n classes.placeholder,\n {\n [classes.selectionDisabled]: disabled,\n },\n !(isOpen || hasSelection) &&\n css({ color: theme.dropdown.placeholderColor })\n )}\n >\n {selectionLabel.selected}\n </HvTypography>\n ) : (\n <HvTypography\n component=\"div\"\n className={cx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"body\"\n >\n <b>{selectionLabel.selected}</b>\n {` ${labels?.multiSelectionConjunction} ${selectionLabel.total}`}\n </HvTypography>\n );\n };\n\n const hasLabel = label != null;\n const hasDescription = description != null;\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 isStateInvalid = isInvalid(validationState);\n\n let errorMessageId;\n if (isStateInvalid) {\n errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n }\n\n return (\n <HvFormElement\n id={id}\n name={name}\n status={validationState}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n className={cx(\n classes.root,\n disabled && css({ color: theme.dropdown.disabledColor }),\n className\n )}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage\n id={setId(elementId, \"description\")}\n className={classes.description}\n >\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n classes={{\n root: cx(\n classes.dropdown,\n readOnly &&\n css({\n [`& .${staticClasses.dropdownHeader}`]: {\n border: theme.dropdown.readOnlyBorder,\n backgroundColor: theme.dropdown.readOnlyBackgroundColor,\n },\n })\n ),\n arrow: classes.arrow,\n header: cx(classes.dropdownHeader, {\n [classes.dropdownHeaderInvalid]: isStateInvalid,\n }),\n headerOpen: classes.dropdownHeaderOpen,\n }}\n expanded={isOpen}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n disablePortal={disablePortal}\n placement={placement}\n popperProps={popperProps}\n placeholder={buildHeaderLabel()}\n onToggle={handleToggle}\n onClickOutside={handleClickOutside}\n onContainerCreation={setFocusToContent}\n role=\"combobox\"\n variableWidth={variableWidth}\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy]\n .join(\" \")\n .trim() || undefined\n }\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n onFocus={onFocus}\n onBlur={onBlur}\n dropdownHeaderRef={dropdownHeaderRef}\n {...baseDropdownProps}\n >\n <HvDropdownList\n id={setId(elementId, \"values\")}\n classes={{\n rootList: classes.rootList,\n dropdownListContainer: classes.dropdownListContainer,\n }}\n values={internalValues}\n multiSelect={multiSelect}\n showSearch={showSearch}\n onChange={handleSelection}\n onCancel={handleCancel}\n labels={labels}\n notifyChangesOnFirstRender={notifyChangesOnFirstRender}\n hasTooltips={hasTooltips}\n singleSelectionToggle={singleSelectionToggle}\n aria-label={ariaLabel}\n aria-labelledby={hasLabel ? setId(elementId, \"label\") : undefined}\n height={height}\n maxHeight={maxHeight}\n virtualized={virtualized}\n {...listProps}\n />\n </HvBaseDropdown>\n {canShowError && (\n <HvWarningText\n id={setId(elementId, \"error\")}\n disableBorder\n className={classes.error}\n >\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n"],"names":["DEFAULT_LABELS","select","undefined","selectAll","cancelLabel","applyLabel","searchPlaceholder","multiSelectionConjunction","HvDropdown","props","classes","classesProp","className","id","name","required","disabled","readOnly","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","placeholder","onChange","status","statusMessage","ariaErrorMessage","onCancel","onToggle","onClickOutside","onFocus","onBlur","values","multiSelect","showSearch","expanded","defaultExpanded","notifyChangesOnFirstRender","labels","labelsProp","hasTooltips","disablePortal","singleSelectionToggle","placement","variableWidth","popperProps","height","maxHeight","virtualized","baseDropdownProps","listProps","others","useDefaultProps","cx","css","useClasses","useLabels","elementId","useUniqueId","validationState","setValidationState","useControlled","validationMessage","isOpen","setIsOpen","Boolean","selectionLabel","setSelectionLabel","useState","getSelectionLabel","internalValues","setInternalValues","useEffect","process","env","NODE_ENV","console","error","dropdownHeaderRef","useRef","handleToggle","event","open","hasSelection","getSelected","length","handleSelection","listValues","commitChanges","toggle","notifyChanges","selected","current","focus","preventScroll","handleCancel","evt","handleClickOutside","setFocusToContent","containerRef","inputs","getElementsByTagName","listItems","every","listItem","tabIndex","buildHeaderLabel","selectionDisabled","color","theme","dropdown","placeholderColor","total","hasLabel","hasDescription","canShowError","isStateInvalid","isInvalid","errorMessageId","setId","root","disabledColor","labelContainer","staticClasses","dropdownHeader","border","readOnlyBorder","backgroundColor","readOnlyBackgroundColor","arrow","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","join","trim","rootList","dropdownListContainer"],"mappings":";;;;;;;;;;;;;;;;;;AAyMA,MAAMA,iBAAwC;AAAA,EAC5CC,QAAQC;AAAAA,EACRC,WAAW;AAAA,EACXC,aAAa;AAAA,EACbC,YAAY;AAAA,EACZC,mBAAmB;AAAA,EACnBC,2BAA2B;AAC7B;AAKaC,MAAAA,aAAaA,CAACC,UAA2B;AAC9C,QAAA;AAAA,IACJC,SAASC;AAAAA,IACTC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,IAEAC,WAAW;AAAA,IACXC,WAAW;AAAA,IACXC,WAAW;AAAA,IAEXC;AAAAA,IACA,cAAcC;AAAAA,IACd,mBAAmBC;AAAAA,IACnBC;AAAAA,IACA,oBAAoBC;AAAAA,IAEpBC,cAAc;AAAA,IAEdC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,IACA,qBAAqBC;AAAAA,IAErBC;AAAAA,IACAC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IACAC;AAAAA,IAEAC;AAAAA,IACAC,cAAc;AAAA,IACdC,aAAa;AAAA,IACbC;AAAAA,IACAC,kBAAkB;AAAA,IAClBC,6BAA6B;AAAA,IAC7BC,QAAQC;AAAAA,IACRC,cAAc;AAAA,IACdC,gBAAgB;AAAA,IAChBC,wBAAwB;AAAA,IACxBC;AAAAA,IACAC,gBAAgB;AAAA,IAChBC,cAAc,CAAC;AAAA,IACfC;AAAAA,IACAC;AAAAA,IACAC,cAAc;AAAA,IACdC,oBAAoB,CAAC;AAAA,IACrBC,YAAY,CAAC;AAAA,IACb,GAAGC;AAAAA,EAAAA,IACDC,gBAAgB,cAAc5C,KAAK;AAEjC,QAAA;AAAA,IAAEC;AAAAA,IAAS4C;AAAAA,IAAIC;AAAAA,EAAAA,IAAQC,WAAW7C,WAAW;AAE7C4B,QAAAA,SAASkB,UAAUzD,gBAAgBwC,UAAU;AAE7CkB,QAAAA,YAAYC,YAAY9C,IAAI,YAAY;AAE9C,QAAM,CAAC+C,iBAAiBC,kBAAkB,IAAIC,cAC5CrC,QACA,SACF;AAEA,QAAM,CAACsC,iBAAiB,IAAID,cAAcpC,eAAe,UAAU;AAE7D,QAAA,CAACsC,QAAQC,SAAS,IAAIH,cAAc1B,UAAU8B,QAAQ7B,eAAe,CAAC;AACtE,QAAA,CAAC8B,gBAAgBC,iBAAiB,IAAIC,SAC1CC,kBAAkB/B,QAAQhB,aAAaW,aAAaD,MAAM,CAC5D;AACA,QAAM,CAACsC,gBAAgBC,iBAAiB,IAAIH,SAASpC,MAAM;AAE3DwC,YAAU,MAAM;AACdD,sBAAkBvC,MAAM;AAAA,EAAA,GACvB,CAACA,MAAM,CAAC;AAEXwC,YAAU,MAAM;AACdL,sBACEE,kBAAkB/B,QAAQhB,aAAaW,aAAaD,MAAM,CAC5D;AAAA,KACC,CAACM,QAAQL,aAAaX,aAAaU,MAAM,CAAC;AAE7C,MAAIgB,eAAe,CAACF,UAAU2B,QAAQC,IAAIC,aAAa,cAAc;AAEnEC,YAAQC,MACN,wEACF;AAAA,EACF;AAEA,QAAMC,oBAAoBC;AAEpBC,QAAAA,eAAgDA,CAACC,OAAOC,SAAS;AACrEtD,yCAAWqD,OAAOC;AAElBlB,cAAUkB,IAAI;AAEd,QAAI,CAACA,MAAM;AAGTtB,yBAAmB,MAAM;AAEvB,YAAI9C,UAAU;AACZ,gBAAMqE,eAAeC,YAAYd,cAAc,EAAEe,SAAS;AAE1D,cAAI,CAACF,cAAc;AACV,mBAAA;AAAA,UACT;AAAA,QACF;AAEO,eAAA;AAAA,MAAA,CACR;AAAA,IACH;AAAA,EAAA;AAIF,QAAMG,kBAAmDA,CACvDC,YACAC,eACAC,QACAC,gBAAgB,SACb;;AACGC,UAAAA,WAAWP,YAAYG,UAAU;AAEvC,QAAIC,eAAe;AACjBjB,wBAAkBgB,UAAU;AAC5BpB,wBACEE,kBAAkB/B,QAAQhB,aAAaW,aAAasD,UAAU,CAChE;AAEA3B,yBAAmB,MAAM;AAEnB9C,YAAAA,YAAY6E,SAASN,WAAW,GAAG;AAC9B,iBAAA;AAAA,QACT;AAEO,eAAA;AAAA,MAAA,CACR;AAAA,IACH;AACIK,QAAAA;AAAenE,2CAAWU,cAAc0D,WAAWA,SAAS,CAAC;AACjE,QAAIF,QAAQ;AACVT,mBAAa/E,QAAkB,KAAK;AAIpC6E,8BAAkBc,YAAlBd,mBAA2Be,MAAM;AAAA,QAAEC,eAAe;AAAA,MAAA;AAAA,IACpD;AAAA,EAAA;AAMF,QAAMC,eAAiDC,CAAQ,QAAA;;AAC7DrE,yCAAWqE;AAEXhB,iBAAagB,KAAY,KAAK;AAI9BlB,4BAAkBc,YAAlBd,mBAA2Be,MAAM;AAAA,MAAEC,eAAe;AAAA,IAAA;AAAA,EAAM;AAG1D,QAAMG,qBAA6DD,CAAQ,QAAA;AACzEnE,qDAAiBmE;AACjBrE,yCAAWqE;AAAAA,EAAG;AAGhB,QAAME,oBACJC,CACG,iBAAA;AACGC,UAAAA,SAASD,6CAAcE,qBAAqB;AAC9CD,QAAAA,UAAUA,OAAOf,SAAS,GAAG;AACxB,aAAA,CAAC,EAAEQ;AACV;AAAA,IACF;AACMS,UAAAA,YACJH,gBAAgB,OAAO,CAAC,GAAGA,aAAaE,qBAAqB,IAAI,CAAC,IAAI;AACxEC,cAAUC,MAAOC,CAAa,aAAA;AACxBA,UAAAA,SAASC,YAAY,GAAG;AAC1BD,iBAASX,MAAM;AACR,eAAA;AAAA,MACT;AACO,aAAA;AAAA,IAAA,CACR;AAAA,EAAA;AAGH,QAAMa,mBAAmBA,MAAM;AAC7B,UAAMvB,eAAeC,YAAYd,cAAc,EAAEe,SAAS;AAC1D,YAAO/C,iCAAQtC,WAAU,CAACiC,cACvB,oBAAA,cAAA,EACC,WAAU,OACV,SAAQ,QACR,WAAWoB,GACT5C,QAAQa,aACR;AAAA,MACE,CAACb,QAAQkG,iBAAiB,GAAG5F;AAAAA,IAE/B,GAAA,EAAEgD,UAAUoB,iBACV7B,IAAI;AAAA,MAAEsD,OAAOC,MAAMC,SAASC;AAAAA,IAAkB,CAAA,CAClD,GAEC7C,UAAAA,eAAeyB,SAClB,CAAA,IAEC,qBAAA,cAAA,EACC,WAAU,OACV,WAAWtC,GAAG5C,QAAQa,aAAa;AAAA,MACjC,CAACb,QAAQkG,iBAAiB,GAAG5F;AAAAA,IAAAA,CAC9B,GACD,SAAQ,QAER,UAAA;AAAA,MAAC,oBAAA,KAAA,EAAGmD,yBAAeyB,SAAS,CAAA;AAAA,MAC1B,IAAGrD,iCAAQhC,yBAA0B,IAAG4D,eAAe8C,KAAM;AAAA,IACjE,EAAA,CAAA;AAAA,EAAA;AAIJ,QAAMC,WAAWhG,SAAS;AAC1B,QAAMiG,iBAAiB9F,eAAe;AAMhC+F,QAAAA,eACJzF,oBAAoB,SAClBF,WAAWvB,UAAawB,kBAAkBxB,UACzCuB,WAAWvB,UAAaa;AAEvBsG,QAAAA,iBAAiBC,UAAU1D,eAAe;AAE5C2D,MAAAA;AACJ,MAAIF,gBAAgB;AAClBE,qBAAiBH,eACbI,MAAM9D,WAAW,OAAO,IACxB/B;AAAAA,EACN;AAEA,SACG,qBAAA,eAAA,EACC,IACA,MACA,QAAQiC,iBACR,UACA,UACA,UACA,WAAWN,GACT5C,QAAQ+G,MACRzG,YAAYuC,IAAI;AAAA,IAAEsD,OAAOC,MAAMC,SAASW;AAAAA,EAAe,CAAA,GACvD9G,SACF,GACA,GAAIwC,QAEF8D,UAAAA;AAAAA,KAAAA,YAAYC,mBACZ,qBAAC,OAAI,EAAA,WAAWzG,QAAQiH,gBACrBT,UAAAA;AAAAA,MACC,YAAA,oBAAC,SACC,EAAA,IAAIM,MAAM9D,WAAW,OAAO,GAC5B,OACA,WAAWhD,QAAQQ,MAEtB,CAAA;AAAA,MAEAiG,kBACE,oBAAA,eAAA,EACC,IAAIK,MAAM9D,WAAW,aAAa,GAClC,WAAWhD,QAAQW,aAElBA,UACH,YAAA,CAAA;AAAA,IAAA,GAEJ;AAAA,wBAED,gBACC,EAAA,IAAImG,MAAM3G,IAAI,UAAU,GACxB,SAAS;AAAA,MACP4G,MAAMnE,GACJ5C,QAAQqG,UACR9F,YACEsC,IAAI;AAAA,QACF,CAAE,MAAKqE,cAAcC,cAAe,EAAC,GAAG;AAAA,UACtCC,QAAQhB,MAAMC,SAASgB;AAAAA,UACvBC,iBAAiBlB,MAAMC,SAASkB;AAAAA,QAClC;AAAA,MAAA,CACD,CACL;AAAA,MACAC,OAAOxH,QAAQwH;AAAAA,MACfC,QAAQ7E,GAAG5C,QAAQmH,gBAAgB;AAAA,QACjC,CAACnH,QAAQ0H,qBAAqB,GAAGf;AAAAA,MAAAA,CAClC;AAAA,MACDgB,YAAY3H,QAAQ4H;AAAAA,IAAAA,GAEtB,UAAUtE,QACV,UACA,UACA,UACA,eACA,WACA,aACA,aAAa2C,iBAAAA,GACb,UAAU1B,cACV,gBAAgBiB,oBAChB,qBAAqBC,mBACrB,MAAK,YACL,eACA,cAAYhF,WACZ,mBACE,CAACD,SAASsG,MAAM9D,WAAW,OAAO,GAAGtC,cAAc,EAChDmH,KAAK,GAAG,EACRC,KAAK,KAAKtI,QAEf,gBAAcmH,iBAAiB,OAAOnH,QACtC,qBAAmBqH,gBACnB,oBACE,CAAClG,eAAemG,MAAM9D,WAAW,aAAa,GAAGpC,eAAe,EAC7DiH,KAAK,GAAG,EACRC,KAAK,KAAKtI,QAEf,SACA,QACA,mBACA,GAAIgD,mBAEJ,UAAA,oBAAC,kBACC,IAAIsE,MAAM9D,WAAW,QAAQ,GAC7B,SAAS;AAAA,MACP+E,UAAU/H,QAAQ+H;AAAAA,MAClBC,uBAAuBhI,QAAQgI;AAAAA,IACjC,GACA,QAAQnE,gBACR,aACA,YACA,UAAUgB,iBACV,UAAUS,cACV,QACA,4BACA,aACA,uBACA,cAAY7E,WACZ,mBAAiB+F,WAAWM,MAAM9D,WAAW,OAAO,IAAIxD,QACxD,QACA,WACA,aACIiD,GAAAA,UAAAA,CAAU,EAElB,CAAA;AAAA,IACCiE,gBACC,oBAAC,eACC,EAAA,IAAII,MAAM9D,WAAW,OAAO,GAC5B,eAAa,MACb,WAAWhD,QAAQoE,OAElBf,UACH,mBAAA;AAAA,EAEJ,EAAA,CAAA;AAEJ;"}
1
+ {"version":3,"file":"Dropdown.js","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { PopperProps } from \"@mui/material\";\n\nimport { useDefaultProps } from \"@core/hooks/useDefaultProps\";\nimport { setId } from \"@core/utils/setId\";\nimport { useLabels, useUniqueId, useControlled } from \"@core/hooks\";\nimport { HvBaseProps } from \"@core/types/generic\";\nimport {\n HvBaseDropdown,\n HvBaseDropdownProps,\n} from \"@core/components/BaseDropdown\";\nimport { HvListValue } from \"@core/components/List\";\nimport {\n isInvalid,\n HvInfoMessage,\n HvWarningText,\n HvFormElement,\n HvLabel,\n} from \"@core/components/Forms\";\nimport { ExtractNames } from \"@core/utils/classes\";\nimport { HvTypography } from \"@core/components/Typography\";\n\nimport { getSelected, getSelectionLabel } from \"./utils\";\nimport { HvDropdownList, HvDropdownListProps } from \"./List\";\nimport { staticClasses, useClasses } from \"./Dropdown.styles\";\nimport { HvDropdownLabelsProps, HvDropdownStatus } from \"./types\";\n\nexport { staticClasses as dropdownClasses };\n\nexport type HvDropdownClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvDropdownProps\n extends HvBaseProps<HTMLDivElement, \"onChange\"> {\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes?: HvDropdownClasses;\n /**\n * The form element name.\n */\n name?: string;\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label?: any;\n /**\n * Provide additional descriptive text for the form element.\n */\n description?: any;\n /**\n * The placeholder value when nothing is selected.\n */\n placeholder?: string;\n /**\n * Indicates that the form element is disabled.\n */\n disabled?: boolean;\n /**\n * Indicates that the form element is in read only mode.\n */\n readOnly?: boolean;\n /**\n * Indicates that user input is required on the form 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?: HvDropdownStatus;\n /**\n * The error message to show when the validation status is \"invalid\".\n *\n * Defaults to \"Required\" when the status is uncontrolled and no `aria-errormessage` is provided.\n */\n statusMessage?: any;\n /**\n * Identifies the element that provides an error message for the dropdown.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\"?: string;\n /**\n * The callback fired when the value changes.\n */\n onChange?: (selected: HvListValue | HvListValue[] | undefined) => void;\n /**\n * The list to be rendered by the dropdown.\n */\n values?: HvListValue[];\n /**\n * If `true` the dropdown is multiSelect, if `false` the dropdown is single select.\n */\n multiSelect?: boolean;\n /**\n * If `true` the dropdown is rendered with a search bar, if `false` there won't be a search bar.\n */\n showSearch?: boolean;\n /**\n * If `true` the dropdown starts opened if `false` it starts closed.\n */\n expanded?: boolean;\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded?: boolean;\n /**\n * If 'true' the dropdown will notify on the first render.\n */\n notifyChangesOnFirstRender?: boolean;\n /**\n * An object containing all the labels for the dropdown.\n */\n labels?: HvDropdownLabelsProps;\n /**\n * If `true` the dropdown will show tooltips when user mouseenter text in list\n */\n hasTooltips?: boolean;\n /**\n * Disable the portal behavior.\n * The children stay within it's parent DOM hierarchy.\n */\n disablePortal?: boolean;\n /**\n * If `true` the dropdown width depends size of content if `false` the width depends on the header size.\n * Defaults to `false`.\n */\n variableWidth?: boolean;\n /**\n * If `true`, selection can be toggled when single selection.\n */\n singleSelectionToggle?: boolean;\n /**\n * Placement of the dropdown.\n */\n placement?: \"left\" | \"right\";\n /**\n * An object containing props to be wired to the popper component.\n */\n popperProps?: Partial<PopperProps>;\n /**\n * Callback called when the user cancels the changes.\n *\n * Called when the cancel button is used and when the user clicks outside the open container.\n *\n * @param {object} event The event source of the callback.\n */\n onCancel?: (event: Event) => void;\n /**\n * Callback called when dropdown changes the expanded state.\n *\n * @param {object} event The event source of the callback.\n * @param {boolean} open If the dropdown new state is open (`true`) or closed (`false`).\n */\n onToggle?: (event: Event, open: boolean) => void;\n /**\n * Callback called when the user clicks outside the open container.\n *\n * @param {object} event The event source of the callback.\n */\n onClickOutside?: (event: Event) => void;\n /**\n * @ignore\n */\n onFocus?: React.FocusEventHandler<any>;\n /**\n * @ignore\n */\n onBlur?: React.FocusEventHandler<any>;\n /**\n * Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used\n */\n height?: number;\n /**\n * Experimental. Height of the dropdown, in case you want to control it from a prop. Styles can also be used through dropdownListContainer class. Required in case virtualized is used\n */\n maxHeight?: number;\n /**\n * Experimental. Uses dropdown in a virtualized form, where not all options are rendered initially. Good for use cases with a lot of options.\n */\n virtualized?: boolean;\n /**\n * Extra props passed to the dropdown.\n */\n baseDropdownProps?: HvBaseDropdownProps;\n /**\n * Extra props passed to the list.\n */\n listProps?: HvDropdownListProps;\n}\n\nconst DEFAULT_LABELS: HvDropdownLabelsProps = {\n select: undefined,\n selectAll: \"All\",\n cancelLabel: \"Cancel\",\n applyLabel: \"Apply\",\n searchPlaceholder: \"Search\",\n multiSelectionConjunction: \"/\",\n};\n\n/**\n * A dropdown list is a graphical control element, similar to a list box, that allows the user to choose one value from a list.\n */\nexport const HvDropdown = (props: HvDropdownProps) => {\n const {\n classes: classesProp,\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n readOnly = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n placeholder = \"Select...\",\n\n onChange,\n\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n onCancel,\n onToggle,\n onClickOutside,\n\n onFocus,\n onBlur,\n\n values,\n multiSelect = false,\n showSearch = false,\n expanded,\n defaultExpanded = false,\n notifyChangesOnFirstRender = false,\n labels: labelsProp,\n hasTooltips = false,\n disablePortal = false,\n singleSelectionToggle = true,\n placement,\n variableWidth = false,\n popperProps = {},\n height,\n maxHeight,\n virtualized = false,\n baseDropdownProps = {},\n listProps = {},\n ...others\n } = useDefaultProps(\"HvDropdown\", props);\n\n const { classes, cx } = useClasses(classesProp);\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const elementId = useUniqueId(id, \"hvdropdown\");\n\n const [validationState, setValidationState] = useControlled(\n status,\n \"standBy\"\n );\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const [selectionLabel, setSelectionLabel] = useState(\n getSelectionLabel(labels, placeholder, multiSelect, values)\n );\n const [internalValues, setInternalValues] = useState(values);\n\n useEffect(() => {\n setInternalValues(values);\n }, [values]);\n\n useEffect(() => {\n setSelectionLabel(\n getSelectionLabel(labels, placeholder, multiSelect, values)\n );\n }, [labels, multiSelect, placeholder, values]);\n\n if (virtualized && !height && process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.error(\n \"Dropdown/List in virtualized mode requires a height. Please define it.\"\n );\n }\n\n const dropdownHeaderRef = useRef<HTMLDivElement>();\n\n const handleToggle: HvBaseDropdownProps[\"onToggle\"] = (event, open) => {\n onToggle?.(event, open);\n\n setIsOpen(open);\n\n if (!open) {\n // also run built-in validation when closing without changes\n // as the user \"touched\" the input\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required) {\n const hasSelection = getSelected(internalValues).length > 0;\n\n if (!hasSelection) {\n return \"invalid\";\n }\n }\n\n return \"valid\";\n });\n }\n };\n\n /** Applies the selected values to the state */\n const handleSelection: HvDropdownListProps[\"onChange\"] = (\n listValues,\n commitChanges,\n toggle,\n notifyChanges = true\n ) => {\n const selected = getSelected(listValues);\n\n if (commitChanges) {\n setInternalValues(listValues);\n setSelectionLabel(\n getSelectionLabel(labels, placeholder, multiSelect, listValues)\n );\n\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && selected.length === 0) {\n return \"invalid\";\n }\n\n return \"valid\";\n });\n }\n if (notifyChanges) onChange?.(multiSelect ? selected : selected[0]);\n if (toggle) {\n handleToggle(undefined as any, false);\n\n // focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n dropdownHeaderRef.current?.focus({ preventScroll: true });\n }\n };\n\n /**\n * Handles the `Cancel` action. Both single and ranged modes are handled here.\n */\n const handleCancel: HvDropdownListProps[\"onCancel\"] = (evt) => {\n onCancel?.(evt as any);\n\n handleToggle(evt as any, false);\n\n // focus-ring won't be visible even if using the keyboard:\n // https://github.com/WICG/focus-visible/issues/88\n dropdownHeaderRef.current?.focus({ preventScroll: true });\n };\n\n const handleClickOutside: HvBaseDropdownProps[\"onClickOutside\"] = (evt) => {\n onClickOutside?.(evt);\n onCancel?.(evt);\n };\n\n const setFocusToContent: HvBaseDropdownProps[\"onContainerCreation\"] = (\n containerRef\n ) => {\n const inputs = containerRef?.getElementsByTagName(\"input\");\n if (inputs && inputs.length > 0) {\n inputs[0].focus();\n return;\n }\n const listItems =\n containerRef != null ? [...containerRef.getElementsByTagName(\"li\")] : [];\n listItems.every((listItem) => {\n if (listItem.tabIndex >= 0) {\n listItem.focus();\n return false;\n }\n return true;\n });\n };\n\n const buildHeaderLabel = () => {\n const hasSelection = getSelected(internalValues).length > 0;\n return labels?.select || !multiSelect ? (\n <HvTypography\n component=\"div\"\n variant=\"body\"\n className={cx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n [classes.placeholderClosed]: !(isOpen || hasSelection),\n })}\n >\n {selectionLabel.selected}\n </HvTypography>\n ) : (\n <HvTypography\n component=\"div\"\n className={cx(classes.placeholder, {\n [classes.selectionDisabled]: disabled,\n })}\n variant=\"body\"\n >\n <b>{selectionLabel.selected}</b>\n {` ${labels?.multiSelectionConjunction} ${selectionLabel.total}`}\n </HvTypography>\n );\n };\n\n const hasLabel = label != null;\n const hasDescription = description != null;\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 isStateInvalid = isInvalid(validationState);\n\n let errorMessageId;\n if (isStateInvalid) {\n errorMessageId = canShowError\n ? setId(elementId, \"error\")\n : ariaErrorMessage;\n }\n\n return (\n <HvFormElement\n id={id}\n name={name}\n status={validationState}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n className={cx(\n classes.root,\n {\n [classes.disabled]: disabled,\n },\n className\n )}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage\n id={setId(elementId, \"description\")}\n className={classes.description}\n >\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n classes={{\n root: cx(classes.dropdown, {\n [classes.readOnly]: readOnly,\n }),\n arrow: classes.arrow,\n header: cx(classes.dropdownHeader, {\n [classes.dropdownHeaderInvalid]: isStateInvalid,\n }),\n headerOpen: classes.dropdownHeaderOpen,\n }}\n expanded={isOpen}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n disablePortal={disablePortal}\n placement={placement}\n popperProps={popperProps}\n placeholder={buildHeaderLabel()}\n onToggle={handleToggle}\n onClickOutside={handleClickOutside}\n onContainerCreation={setFocusToContent}\n role=\"combobox\"\n variableWidth={variableWidth}\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy]\n .join(\" \")\n .trim() || undefined\n }\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy]\n .join(\" \")\n .trim() || undefined\n }\n onFocus={onFocus}\n onBlur={onBlur}\n dropdownHeaderRef={dropdownHeaderRef}\n {...baseDropdownProps}\n >\n <HvDropdownList\n id={setId(elementId, \"values\")}\n classes={{\n rootList: classes.rootList,\n dropdownListContainer: classes.dropdownListContainer,\n }}\n values={internalValues}\n multiSelect={multiSelect}\n showSearch={showSearch}\n onChange={handleSelection}\n onCancel={handleCancel}\n labels={labels}\n notifyChangesOnFirstRender={notifyChangesOnFirstRender}\n hasTooltips={hasTooltips}\n singleSelectionToggle={singleSelectionToggle}\n aria-label={ariaLabel}\n aria-labelledby={hasLabel ? setId(elementId, \"label\") : undefined}\n height={height}\n maxHeight={maxHeight}\n virtualized={virtualized}\n {...listProps}\n />\n </HvBaseDropdown>\n {canShowError && (\n <HvWarningText\n id={setId(elementId, \"error\")}\n disableBorder\n className={classes.error}\n >\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n"],"names":["DEFAULT_LABELS","select","undefined","selectAll","cancelLabel","applyLabel","searchPlaceholder","multiSelectionConjunction","HvDropdown","props","classes","classesProp","className","id","name","required","disabled","readOnly","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","placeholder","onChange","status","statusMessage","ariaErrorMessage","onCancel","onToggle","onClickOutside","onFocus","onBlur","values","multiSelect","showSearch","expanded","defaultExpanded","notifyChangesOnFirstRender","labels","labelsProp","hasTooltips","disablePortal","singleSelectionToggle","placement","variableWidth","popperProps","height","maxHeight","virtualized","baseDropdownProps","listProps","others","useDefaultProps","cx","useClasses","useLabels","elementId","useUniqueId","validationState","setValidationState","useControlled","validationMessage","isOpen","setIsOpen","Boolean","selectionLabel","setSelectionLabel","useState","getSelectionLabel","internalValues","setInternalValues","useEffect","process","env","NODE_ENV","console","error","dropdownHeaderRef","useRef","handleToggle","event","open","hasSelection","getSelected","length","handleSelection","listValues","commitChanges","toggle","notifyChanges","selected","current","focus","preventScroll","handleCancel","evt","handleClickOutside","setFocusToContent","containerRef","inputs","getElementsByTagName","listItems","every","listItem","tabIndex","buildHeaderLabel","selectionDisabled","placeholderClosed","total","hasLabel","hasDescription","canShowError","isStateInvalid","isInvalid","errorMessageId","setId","root","labelContainer","dropdown","arrow","header","dropdownHeader","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","join","trim","rootList","dropdownListContainer"],"mappings":"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"}