@hitachivantara/uikit-react-core 3.68.1 → 3.68.4

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 (282) hide show
  1. package/dist/Accordion/Accordion.js.map +1 -1
  2. package/dist/ActionBar/ActionBar.js.map +1 -1
  3. package/dist/ActionsGeneric/ActionsGeneric.js.map +1 -1
  4. package/dist/AppSwitcher/Action/Action.js.map +1 -1
  5. package/dist/AppSwitcher/AppSwitcher.js.map +1 -1
  6. package/dist/AppSwitcher/TitleWithTooltip.js.map +1 -1
  7. package/dist/AssetInventory/AssetInventory.js.map +1 -1
  8. package/dist/AssetInventory/CardView/CardView.js.map +1 -1
  9. package/dist/AssetInventory/ListView/ListView.js.map +1 -1
  10. package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
  11. package/dist/AssetInventory/ListView/ListViewCell/styles.js.map +1 -1
  12. package/dist/AssetInventory/ListView/ListViewContext/ListViewContext.js.map +1 -1
  13. package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
  14. package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
  15. package/dist/AssetInventory/Multibutton/Multibutton.js.map +1 -1
  16. package/dist/AssetInventory/Search/Search.js.map +1 -1
  17. package/dist/AssetInventory/Sort/Sort.js.map +1 -1
  18. package/dist/AssetInventory/setActionsId.js.map +1 -1
  19. package/dist/Avatar/Avatar.js.map +1 -1
  20. package/dist/Badge/Badge.js.map +1 -1
  21. package/dist/Banner/Banner.js.map +1 -1
  22. package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
  23. package/dist/Banner/BannerWrapper/ActionContainer/styles.js.map +1 -1
  24. package/dist/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
  25. package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
  26. package/dist/BaseCheckBox/BaseCheckBox.js.map +1 -1
  27. package/dist/BaseDropdown/BaseDropdown.js.map +1 -1
  28. package/dist/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js.map +1 -1
  29. package/dist/BaseInput/BaseInput.js.map +1 -1
  30. package/dist/BaseInput/validations.js.map +1 -1
  31. package/dist/BaseRadio/BaseRadio.js.map +1 -1
  32. package/dist/BaseSwitch/BaseSwitch.js.map +1 -1
  33. package/dist/BreadCrumb/BreadCrumb.js.map +1 -1
  34. package/dist/BreadCrumb/utils.js.map +1 -1
  35. package/dist/BulkActions/BulkActions.js.map +1 -1
  36. package/dist/BulkActions/styles.js.map +1 -1
  37. package/dist/Button/Button.js.map +1 -1
  38. package/dist/Button/materialConfigurarion.js.map +1 -1
  39. package/dist/Button/styles.js.map +1 -1
  40. package/dist/Calendar/Calendar.js.map +1 -1
  41. package/dist/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  42. package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  43. package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  44. package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  45. package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
  46. package/dist/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  47. package/dist/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  48. package/dist/Calendar/model.js.map +1 -1
  49. package/dist/Calendar/utils.js.map +1 -1
  50. package/dist/Card/Card.js.map +1 -1
  51. package/dist/Card/Content/Content.js.map +1 -1
  52. package/dist/Card/Header/Header.js.map +1 -1
  53. package/dist/Card/Media/Media.js.map +1 -1
  54. package/dist/Card/styles.js.map +1 -1
  55. package/dist/CheckBox/CheckBox.js.map +1 -1
  56. package/dist/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  57. package/dist/Container/Container.js.map +1 -1
  58. package/dist/DatePicker/DatePicker.js.map +1 -1
  59. package/dist/DatePicker/useVisibleDate.js.map +1 -1
  60. package/dist/DatePicker/utils.js.map +1 -1
  61. package/dist/Dialog/Dialog.js.map +1 -1
  62. package/dist/Dialog/DialogActions/DialogActions.js.map +1 -1
  63. package/dist/Dialog/DialogContent/DialogContent.js.map +1 -1
  64. package/dist/Dialog/DialogTitle/DialogTitle.js.map +1 -1
  65. package/dist/Dialog/styles.js.map +1 -1
  66. package/dist/DropDownMenu/DropDownMenu.js.map +1 -1
  67. package/dist/Dropdown/Dropdown.js.map +1 -1
  68. package/dist/Dropdown/List/List.js.map +1 -1
  69. package/dist/EmptyState/EmptyState.js.map +1 -1
  70. package/dist/FileUploader/DropZone/DropZone.js.map +1 -1
  71. package/dist/FileUploader/File/File.js.map +1 -1
  72. package/dist/FileUploader/FileList/FileList.js.map +1 -1
  73. package/dist/FileUploader/FileUploader.js.map +1 -1
  74. package/dist/FileUploader/Preview/Preview.js.map +1 -1
  75. package/dist/FilterGroup/Counter/Counter.js.map +1 -1
  76. package/dist/FilterGroup/Counter/styles.js.map +1 -1
  77. package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  78. package/dist/FilterGroup/FilterContent/styles.js.map +1 -1
  79. package/dist/FilterGroup/FilterGroup.js.map +1 -1
  80. package/dist/FilterGroup/FilterGroupContext.js.map +1 -1
  81. package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  82. package/dist/FilterGroup/LeftPanel/styles.js.map +1 -1
  83. package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  84. package/dist/FilterGroup/RightPanel/styles.js.map +1 -1
  85. package/dist/FilterGroup/styles.js.map +1 -1
  86. package/dist/Focus/Focus.js.map +1 -1
  87. package/dist/Focus/utils.js.map +1 -1
  88. package/dist/Footer/Footer.js.map +1 -1
  89. package/dist/Forms/Adornment/Adornment.js.map +1 -1
  90. package/dist/Forms/CharCounter/CharCounter.js.map +1 -1
  91. package/dist/Forms/FormElement/FormElement.js.map +1 -1
  92. package/dist/Forms/FormElement/context/FormElementContext.js.map +1 -1
  93. package/dist/Forms/FormElement/context/FormElementDescriptorsContext.js.map +1 -1
  94. package/dist/Forms/FormElement/context/FormElementValueContext.js.map +1 -1
  95. package/dist/Forms/FormElement/utils/FormUtils.js.map +1 -1
  96. package/dist/Forms/InfoMessage/InfoMessage.js.map +1 -1
  97. package/dist/Forms/Label/Label.js.map +1 -1
  98. package/dist/Forms/Suggestions/Suggestions.js.map +1 -1
  99. package/dist/Forms/WarningText/WarningText.js.map +1 -1
  100. package/dist/GlobalActions/GlobalActions.js.map +1 -1
  101. package/dist/Grid/Grid.js.map +1 -1
  102. package/dist/Header/Actions/Actions.js.map +1 -1
  103. package/dist/Header/Brand/Brand.js.map +1 -1
  104. package/dist/Header/Header.js.map +1 -1
  105. package/dist/Header/Navigation/MenuBar/MenuBar.js +5 -1
  106. package/dist/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  107. package/dist/Header/Navigation/MenuItem/MenuItem.js +29 -9
  108. package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  109. package/dist/Header/Navigation/MenuItem/styles.js +4 -0
  110. package/dist/Header/Navigation/MenuItem/styles.js.map +1 -1
  111. package/dist/Header/Navigation/Navigation.d.ts +4 -0
  112. package/dist/Header/Navigation/Navigation.js +5 -1
  113. package/dist/Header/Navigation/Navigation.js.map +1 -1
  114. package/dist/Header/Navigation/utils/FocusContext.js.map +1 -1
  115. package/dist/Header/Navigation/utils/SelectionContext.js.map +1 -1
  116. package/dist/Header/Navigation/utils/useSelectionPath.js.map +1 -1
  117. package/dist/Input/Input.js.map +1 -1
  118. package/dist/Kpi/Kpi.js.map +1 -1
  119. package/dist/Link/Link.js.map +1 -1
  120. package/dist/List/List.js +20 -16
  121. package/dist/List/List.js.map +1 -1
  122. package/dist/List/useSelectableList.js.map +1 -1
  123. package/dist/List/utils.js.map +1 -1
  124. package/dist/ListContainer/ListContainer.js.map +1 -1
  125. package/dist/ListContainer/ListContext/ListContext.js.map +1 -1
  126. package/dist/ListContainer/ListItem/ListItem.js.map +1 -1
  127. package/dist/Loading/Loading.js.map +1 -1
  128. package/dist/Login/Login.js.map +1 -1
  129. package/dist/Login/styles.js.map +1 -1
  130. package/dist/MultiButton/MultiButton.js.map +1 -1
  131. package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -1
  132. package/dist/Pagination/Pagination.js.map +1 -1
  133. package/dist/Pagination/Select.js.map +1 -1
  134. package/dist/Pagination/utils.js.map +1 -1
  135. package/dist/Panel/Panel.js.map +1 -1
  136. package/dist/Provider/Provider.js.map +1 -1
  137. package/dist/Provider/context.js.map +1 -1
  138. package/dist/Provider/useLocale.js.map +1 -1
  139. package/dist/Radio/Radio.js.map +1 -1
  140. package/dist/RadioGroup/RadioGroup.js.map +1 -1
  141. package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  142. package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  143. package/dist/ScrollTo/Horizontal/styles.js.map +1 -1
  144. package/dist/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  145. package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  146. package/dist/ScrollTo/Vertical/styles.js.map +1 -1
  147. package/dist/ScrollTo/useScrollTo.js.map +1 -1
  148. package/dist/ScrollTo/withTooltip.js.map +1 -1
  149. package/dist/SelectionList/SelectionList.js.map +1 -1
  150. package/dist/SimpleGrid/SimpleGrid.js.map +1 -1
  151. package/dist/SimpleGrid/styles.js.map +1 -1
  152. package/dist/Slider/Slider.js.map +1 -1
  153. package/dist/Slider/SliderInput/SliderInput.js.map +1 -1
  154. package/dist/Slider/utils.js.map +1 -1
  155. package/dist/Snackbar/Snackbar.js.map +1 -1
  156. package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  157. package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  158. package/dist/Stack/Stack.js.map +1 -1
  159. package/dist/Switch/Switch.js.map +1 -1
  160. package/dist/Tab/Tab.js.map +1 -1
  161. package/dist/Table/CellWithTooltip/index.js.map +1 -1
  162. package/dist/Table/Header/Header.js.map +1 -1
  163. package/dist/Table/NoData/index.js.map +1 -1
  164. package/dist/Table/NoData/styles.js.map +1 -1
  165. package/dist/Table/Table.js +19 -22
  166. package/dist/Table/Table.js.map +1 -1
  167. package/dist/Table/columnUtils.js.map +1 -1
  168. package/dist/Table/selectTable.js.map +1 -1
  169. package/dist/Table/styles.js.map +1 -1
  170. package/dist/Tabs/Tabs.js.map +1 -1
  171. package/dist/Tag/Tag.js.map +1 -1
  172. package/dist/Tag/styles.js.map +1 -1
  173. package/dist/TagsInput/TagsInput.js.map +1 -1
  174. package/dist/TextArea/TextArea.js.map +1 -1
  175. package/dist/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
  176. package/dist/TimePicker/PeriodPicker/index.js.map +1 -1
  177. package/dist/TimePicker/TimePicker.js.map +1 -1
  178. package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
  179. package/dist/TimePicker/UnitTimePicker/index.js.map +1 -1
  180. package/dist/TimePicker/timePickerConverter.js.map +1 -1
  181. package/dist/TimePicker/timePickerFormatter.js.map +1 -1
  182. package/dist/TimePicker/timePickerUtils.js.map +1 -1
  183. package/dist/ToggleButton/ToggleButton.js.map +1 -1
  184. package/dist/Tooltip/Tooltip.js.map +1 -1
  185. package/dist/Typography/Typography.js.map +1 -1
  186. package/dist/UserPreferences/Action/Action.js.map +1 -1
  187. package/dist/UserPreferences/Action/styles.js.map +1 -1
  188. package/dist/UserPreferences/Actions/Actions.js.map +1 -1
  189. package/dist/UserPreferences/Options/Group/Group.js.map +1 -1
  190. package/dist/UserPreferences/Options/Label/Label.js.map +1 -1
  191. package/dist/UserPreferences/Options/Option.js.map +1 -1
  192. package/dist/UserPreferences/Options/Options.js.map +1 -1
  193. package/dist/UserPreferences/Options/OptionsContext.js.map +1 -1
  194. package/dist/UserPreferences/Options/styles.js.map +1 -1
  195. package/dist/UserPreferences/UserPreferences.js.map +1 -1
  196. package/dist/VerticalNavigation/Actions/Action.js.map +1 -1
  197. package/dist/VerticalNavigation/Actions/Actions.js.map +1 -1
  198. package/dist/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
  199. package/dist/VerticalNavigation/Navigation/Navigation.js +10 -3
  200. package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  201. package/dist/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  202. package/dist/VerticalNavigation/TreeView/TreeViewContexts.js.map +1 -1
  203. package/dist/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
  204. package/dist/VerticalNavigation/TreeView/TreeViewItem.js +25 -4
  205. package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  206. package/dist/VerticalNavigation/TreeView/descendants.js.map +1 -1
  207. package/dist/VerticalNavigation/TreeView/styles.js +3 -0
  208. package/dist/VerticalNavigation/TreeView/styles.js.map +1 -1
  209. package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
  210. package/dist/VerticalNavigation/VerticalNavigation.js.map +1 -1
  211. package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js +5 -1
  212. package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  213. package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js +25 -9
  214. package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  215. package/dist/legacy/Header/Navigation/MenuItem/styles.js +4 -0
  216. package/dist/legacy/Header/Navigation/MenuItem/styles.js.map +1 -1
  217. package/dist/legacy/Header/Navigation/Navigation.d.ts +4 -0
  218. package/dist/legacy/Header/Navigation/Navigation.js +5 -1
  219. package/dist/legacy/Header/Navigation/Navigation.js.map +1 -1
  220. package/dist/legacy/List/List.js +23 -19
  221. package/dist/legacy/List/List.js.map +1 -1
  222. package/dist/legacy/Table/Table.js +20 -23
  223. package/dist/legacy/Table/Table.js.map +1 -1
  224. package/dist/legacy/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
  225. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +10 -3
  226. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  227. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
  228. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +24 -4
  229. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  230. package/dist/legacy/VerticalNavigation/TreeView/styles.js +3 -0
  231. package/dist/legacy/VerticalNavigation/TreeView/styles.js.map +1 -1
  232. package/dist/legacy/utils/ConditionalRenderer.js +1 -0
  233. package/dist/legacy/utils/ConditionalRenderer.js.map +1 -1
  234. package/dist/modern/Header/Navigation/MenuBar/MenuBar.js +5 -1
  235. package/dist/modern/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  236. package/dist/modern/Header/Navigation/MenuItem/MenuItem.js +24 -9
  237. package/dist/modern/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  238. package/dist/modern/Header/Navigation/MenuItem/styles.js +4 -0
  239. package/dist/modern/Header/Navigation/MenuItem/styles.js.map +1 -1
  240. package/dist/modern/Header/Navigation/Navigation.d.ts +4 -0
  241. package/dist/modern/Header/Navigation/Navigation.js +5 -1
  242. package/dist/modern/Header/Navigation/Navigation.js.map +1 -1
  243. package/dist/modern/List/List.js +25 -24
  244. package/dist/modern/List/List.js.map +1 -1
  245. package/dist/modern/Table/Table.js +20 -23
  246. package/dist/modern/Table/Table.js.map +1 -1
  247. package/dist/modern/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
  248. package/dist/modern/VerticalNavigation/Navigation/Navigation.js +10 -2
  249. package/dist/modern/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  250. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
  251. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +23 -4
  252. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  253. package/dist/modern/VerticalNavigation/TreeView/styles.js +3 -0
  254. package/dist/modern/VerticalNavigation/TreeView/styles.js.map +1 -1
  255. package/dist/modern/utils/ConditionalRenderer.js +1 -0
  256. package/dist/modern/utils/ConditionalRenderer.js.map +1 -1
  257. package/dist/theme/CssBaseline.js.map +1 -1
  258. package/dist/theme/ScopedCssBaseline.js.map +1 -1
  259. package/dist/theme/createGenerateClassName.js.map +1 -1
  260. package/dist/theme/index.js.map +1 -1
  261. package/dist/theme/overrides/muiButton.js.map +1 -1
  262. package/dist/theme/palette.js.map +1 -1
  263. package/dist/theme/typography.js.map +1 -1
  264. package/dist/useUniqueId.js.map +1 -1
  265. package/dist/utils/ConditionalRenderer.js +1 -0
  266. package/dist/utils/ConditionalRenderer.js.map +1 -1
  267. package/dist/utils/browser.js.map +1 -1
  268. package/dist/utils/hexToRgbA.js.map +1 -1
  269. package/dist/utils/refType.js.map +1 -1
  270. package/dist/utils/setId.js.map +1 -1
  271. package/dist/utils/useComputation.js.map +1 -1
  272. package/dist/utils/useDeprecated.js.map +1 -1
  273. package/dist/utils/useImageLoaded.js.map +1 -1
  274. package/dist/utils/useIsMounted.js.map +1 -1
  275. package/dist/utils/useLabels.js.map +1 -1
  276. package/dist/utils/usePropAsRef.js.map +1 -1
  277. package/dist/utils/useSavedState.js.map +1 -1
  278. package/dist/utils/useUpdated.js.map +1 -1
  279. package/dist/utils/useWidth.js.map +1 -1
  280. package/dist/withId.js.map +1 -1
  281. package/dist/withTooltip.js.map +1 -1
  282. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","names":["HvAccordion","id","className","classes","disabled","label","labelProps","onChange","children","expanded","headingLevel","defaultExpanded","containerProps","others","Boolean","isOpen","setIsOpen","handleAction","event","handleClick","preventDefault","stopPropagation","handleKeyDown","isEventHandled","key","altKey","ctrlKey","metaKey","currentTarget","target","accordionHeaderId","accordionContainer","accordionHeader","color","undefined","variantToApply","accordionButton","result","root","container","hidden","propTypes","PropTypes","string","shape","isRequired","node","instanceOf","Object","func","bool","oneOf","styles","name"],"sources":["../../src/Accordion/Accordion.js"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport styles from \"./styles\";\nimport { setId, useControlled } from \"../utils\";\nimport { HvTypography } from \"..\";\n\n/**\n * A accordion is a design element that expands in place to expose hidden information.\n */\nconst HvAccordion = ({\n id,\n className,\n classes,\n disabled = false,\n label,\n labelProps,\n onChange = null,\n children,\n expanded,\n headingLevel,\n defaultExpanded = false,\n containerProps,\n ...others\n}) => {\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleAction = useCallback(\n (event) => {\n if (!disabled) {\n onChange?.(event, isOpen);\n setIsOpen(!isOpen);\n return true;\n }\n return false;\n },\n [disabled, onChange, isOpen, setIsOpen]\n );\n\n const handleClick = useCallback(\n (event) => {\n handleAction(event);\n event.preventDefault();\n event.stopPropagation();\n },\n [handleAction]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (event.altKey || event.ctrlKey || event.metaKey || event.currentTarget !== event.target) {\n return;\n }\n switch (key) {\n case \"Enter\":\n case \" \":\n isEventHandled = handleAction(event);\n break;\n default:\n return;\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handleAction]\n );\n\n const accordionHeaderId = setId(id, \"button\");\n const accordionContainer = setId(id, \"container\");\n const accordionHeader = useMemo(() => {\n const color = (disabled && [\"atmo5\"]) || undefined;\n const variantToApply =\n headingLevel === 1 || headingLevel === 2 ? \"sectionTitle\" : \"highlightText\";\n const accordionButton = (\n <HvTypography\n id={accordionHeaderId}\n component=\"div\"\n role=\"button\"\n className={clsx(classes.label, {\n [classes.disabled]: disabled,\n })}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n variant={variantToApply}\n aria-expanded={isOpen}\n aria-disabled={disabled}\n {...labelProps}\n >\n {isOpen ? <DropUpXS color={color} /> : <DropDownXS color={color} />}\n {label}\n </HvTypography>\n );\n const result =\n headingLevel === undefined ? (\n accordionButton\n ) : (\n <HvTypography component={`h${headingLevel}`}>{accordionButton}</HvTypography>\n );\n return result;\n }, [\n classes,\n handleClick,\n handleKeyDown,\n label,\n labelProps,\n accordionHeaderId,\n disabled,\n headingLevel,\n isOpen,\n ]);\n\n return (\n <div id={id} className={clsx(className, classes.root)} {...others}>\n {accordionHeader}\n <div\n id={accordionContainer}\n role=\"region\"\n aria-labelledby={accordionHeaderId}\n className={clsx(classes.container, { [classes.hidden]: !isOpen })}\n {...containerProps}\n >\n {children}\n </div>\n </div>\n );\n};\n\nHvAccordion.propTypes = {\n /**\n * Id to be applied to the root node of the accordion.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied to the accordion.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root of the accordion.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the content when it is hidden.\n */\n hidden: PropTypes.string,\n /**\n * Styles applied to the content when it is hidden.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the label button.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the label button when it is disabled.\n */\n disabled: PropTypes.string,\n }).isRequired,\n /**\n * The accordion label button.\n */\n label: PropTypes.node.isRequired,\n /**\n * An object containing props to be passed onto the accordion label button.\n */\n labelProps: PropTypes.instanceOf(Object),\n /**\n * The function that will be executed whenever the accordion toggles it will receive the state of the accordion\n */\n onChange: PropTypes.func,\n /**\n * Whether the accordion is open or not, if this property is defined the accordion must be fully controlled.\n */\n expanded: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded: PropTypes.bool,\n /**\n * An object containing props to be passed onto container holding the accordion children.\n */\n containerProps: PropTypes.instanceOf(Object),\n /**\n * Heading Level to apply to accordion button if ´undefined´ the button won't have a header wrapper.\n */\n headingLevel: PropTypes.oneOf([1, 2, 3, 4, 5, 6]),\n /**\n * Is the accordion disabled.\n */\n disabled: PropTypes.bool,\n /**\n * The content of the accordion.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvAccordion\" })(HvAccordion);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","names":["HvAccordion","id","className","classes","disabled","label","labelProps","onChange","children","expanded","headingLevel","defaultExpanded","containerProps","others","useControlled","Boolean","isOpen","setIsOpen","handleAction","useCallback","event","handleClick","preventDefault","stopPropagation","handleKeyDown","isEventHandled","key","altKey","ctrlKey","metaKey","currentTarget","target","accordionHeaderId","setId","accordionContainer","accordionHeader","useMemo","color","undefined","variantToApply","accordionButton","clsx","result","root","container","hidden","propTypes","PropTypes","string","shape","isRequired","node","instanceOf","Object","func","bool","oneOf","withStyles","styles","name"],"sources":["../../src/Accordion/Accordion.js"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { DropDownXS, DropUpXS } from \"@hitachivantara/uikit-react-icons\";\nimport styles from \"./styles\";\nimport { setId, useControlled } from \"../utils\";\nimport { HvTypography } from \"..\";\n\n/**\n * A accordion is a design element that expands in place to expose hidden information.\n */\nconst HvAccordion = ({\n id,\n className,\n classes,\n disabled = false,\n label,\n labelProps,\n onChange = null,\n children,\n expanded,\n headingLevel,\n defaultExpanded = false,\n containerProps,\n ...others\n}) => {\n const [isOpen, setIsOpen] = useControlled(expanded, Boolean(defaultExpanded));\n\n const handleAction = useCallback(\n (event) => {\n if (!disabled) {\n onChange?.(event, isOpen);\n setIsOpen(!isOpen);\n return true;\n }\n return false;\n },\n [disabled, onChange, isOpen, setIsOpen]\n );\n\n const handleClick = useCallback(\n (event) => {\n handleAction(event);\n event.preventDefault();\n event.stopPropagation();\n },\n [handleAction]\n );\n\n const handleKeyDown = useCallback(\n (event) => {\n let isEventHandled = false;\n const { key } = event;\n\n if (event.altKey || event.ctrlKey || event.metaKey || event.currentTarget !== event.target) {\n return;\n }\n switch (key) {\n case \"Enter\":\n case \" \":\n isEventHandled = handleAction(event);\n break;\n default:\n return;\n }\n\n if (isEventHandled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [handleAction]\n );\n\n const accordionHeaderId = setId(id, \"button\");\n const accordionContainer = setId(id, \"container\");\n const accordionHeader = useMemo(() => {\n const color = (disabled && [\"atmo5\"]) || undefined;\n const variantToApply =\n headingLevel === 1 || headingLevel === 2 ? \"sectionTitle\" : \"highlightText\";\n const accordionButton = (\n <HvTypography\n id={accordionHeaderId}\n component=\"div\"\n role=\"button\"\n className={clsx(classes.label, {\n [classes.disabled]: disabled,\n })}\n tabIndex={0}\n onKeyDown={handleKeyDown}\n onClick={handleClick}\n variant={variantToApply}\n aria-expanded={isOpen}\n aria-disabled={disabled}\n {...labelProps}\n >\n {isOpen ? <DropUpXS color={color} /> : <DropDownXS color={color} />}\n {label}\n </HvTypography>\n );\n const result =\n headingLevel === undefined ? (\n accordionButton\n ) : (\n <HvTypography component={`h${headingLevel}`}>{accordionButton}</HvTypography>\n );\n return result;\n }, [\n classes,\n handleClick,\n handleKeyDown,\n label,\n labelProps,\n accordionHeaderId,\n disabled,\n headingLevel,\n isOpen,\n ]);\n\n return (\n <div id={id} className={clsx(className, classes.root)} {...others}>\n {accordionHeader}\n <div\n id={accordionContainer}\n role=\"region\"\n aria-labelledby={accordionHeaderId}\n className={clsx(classes.container, { [classes.hidden]: !isOpen })}\n {...containerProps}\n >\n {children}\n </div>\n </div>\n );\n};\n\nHvAccordion.propTypes = {\n /**\n * Id to be applied to the root node of the accordion.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied to the accordion.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root of the accordion.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the content when it is hidden.\n */\n hidden: PropTypes.string,\n /**\n * Styles applied to the content when it is hidden.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the label button.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the label button when it is disabled.\n */\n disabled: PropTypes.string,\n }).isRequired,\n /**\n * The accordion label button.\n */\n label: PropTypes.node.isRequired,\n /**\n * An object containing props to be passed onto the accordion label button.\n */\n labelProps: PropTypes.instanceOf(Object),\n /**\n * The function that will be executed whenever the accordion toggles it will receive the state of the accordion\n */\n onChange: PropTypes.func,\n /**\n * Whether the accordion is open or not, if this property is defined the accordion must be fully controlled.\n */\n expanded: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded: PropTypes.bool,\n /**\n * An object containing props to be passed onto container holding the accordion children.\n */\n containerProps: PropTypes.instanceOf(Object),\n /**\n * Heading Level to apply to accordion button if ´undefined´ the button won't have a header wrapper.\n */\n headingLevel: PropTypes.oneOf([1, 2, 3, 4, 5, 6]),\n /**\n * Is the accordion disabled.\n */\n disabled: PropTypes.bool,\n /**\n * The content of the accordion.\n */\n children: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvAccordion\" })(HvAccordion);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBar.js","names":["HvActionBar","props","classes","className","id","children","others","root","propTypes","PropTypes","string","shape","isRequired","node","styles","name"],"sources":["../../src/ActionBar/ActionBar.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\n/**\n * This component acts as a container for the Action Bar pattern.\n */\nconst HvActionBar = (props) => {\n const { classes, className, id, children, ...others } = props;\n\n return (\n <div id={id} className={clsx(classes.root, className)} {...others}>\n {children}\n </div>\n );\n};\n\nHvActionBar.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * The content of the action container.\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvActionBar\" })(HvActionBar);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA;AACA;AACA;AACA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAW;EAC7B,IAAQC,OAAR,GAAwDD,KAAxD,CAAQC,OAAR;EAAA,IAAiBC,SAAjB,GAAwDF,KAAxD,CAAiBE,SAAjB;EAAA,IAA4BC,EAA5B,GAAwDH,KAAxD,CAA4BG,EAA5B;EAAA,IAAgCC,QAAhC,GAAwDJ,KAAxD,CAAgCI,QAAhC;EAAA,IAA6CC,MAA7C,0CAAwDL,KAAxD;EAEA,oBACE;IAAK,EAAE,EAAEG,EAAT;IAAa,SAAS,EAAE,mBAAKF,OAAO,CAACK,IAAb,EAAmBJ,SAAnB;EAAxB,GAA2DG,MAA3D,GACGD,QADH,CADF;AAKD,CARD;;AAUA,wCAAAL,WAAW,CAACQ,SAAZ,GAAwB;EACtB;AACF;AACA;EACEL,SAAS,EAAEM,mBAAUC,MAJC;;EAKtB;AACF;AACA;EACEN,EAAE,EAAEK,mBAAUC,MARQ;;EAStB;AACF;AACA;EACER,OAAO,EAAEO,mBAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIJ,IAAI,EAAEE,mBAAUC;EAJO,CAAhB,EAKNE,UAjBmB;;EAkBtB;AACF;AACA;EACEP,QAAQ,EAAEI,mBAAUI,IAAV,CAAeD;AArBH,CAAxB;;eAwBe,sBAAWE,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAA4Cf,WAA5C,C"}
1
+ {"version":3,"file":"ActionBar.js","names":["HvActionBar","props","classes","className","id","children","others","clsx","root","propTypes","PropTypes","string","shape","isRequired","node","withStyles","styles","name"],"sources":["../../src/ActionBar/ActionBar.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\n/**\n * This component acts as a container for the Action Bar pattern.\n */\nconst HvActionBar = (props) => {\n const { classes, className, id, children, ...others } = props;\n\n return (\n <div id={id} className={clsx(classes.root, className)} {...others}>\n {children}\n </div>\n );\n};\n\nHvActionBar.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n }).isRequired,\n /**\n * The content of the action container.\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvActionBar\" })(HvActionBar);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA;AACA;AACA;AACA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,KAAD,EAAW;EAC7B,IAAQC,OAAR,GAAwDD,KAAxD,CAAQC,OAAR;EAAA,IAAiBC,SAAjB,GAAwDF,KAAxD,CAAiBE,SAAjB;EAAA,IAA4BC,EAA5B,GAAwDH,KAAxD,CAA4BG,EAA5B;EAAA,IAAgCC,QAAhC,GAAwDJ,KAAxD,CAAgCI,QAAhC;EAAA,IAA6CC,MAA7C,0CAAwDL,KAAxD;EAEA,oBACE;IAAK,EAAE,EAAEG,EAAT;IAAa,SAAS,EAAE,IAAAG,aAAA,EAAKL,OAAO,CAACM,IAAb,EAAmBL,SAAnB;EAAxB,GAA2DG,MAA3D,GACGD,QADH,CADF;AAKD,CARD;;AAUA,wCAAAL,WAAW,CAACS,SAAZ,GAAwB;EACtB;AACF;AACA;EACEN,SAAS,EAAEO,kBAAA,CAAUC,MAJC;;EAKtB;AACF;AACA;EACEP,EAAE,EAAEM,kBAAA,CAAUC,MARQ;;EAStB;AACF;AACA;EACET,OAAO,EAAEQ,kBAAA,CAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIJ,IAAI,EAAEE,kBAAA,CAAUC;EAJO,CAAhB,EAKNE,UAjBmB;;EAkBtB;AACF;AACA;EACER,QAAQ,EAAEK,kBAAA,CAAUI,IAAV,CAAeD;AArBH,CAAxB;;eAwBe,IAAAE,gBAAA,EAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAA4CjB,WAA5C,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionsGeneric.js","names":["ActionsGeneric","id","classes","className","category","disabled","actions","actionsCallback","maxVisibleActions","Infinity","others","Array","isArray","renderButton","action","idx","actDisabled","icon","label","other","actionId","renderedIcon","isDisabled","button","event","renderActionsGrid","actsVisible","slice","actsDropdown","semantic","iconColor","undefined","map","root","dropDownMenu","dropDownMenuButton","iconSelected","dropDownMenuButtonSelected","actionOverflow","length","actionContainer","propTypes","PropTypes","string","shape","isRequired","oneOf","bool","oneOfType","node","arrayOf","func","number","styles","name"],"sources":["../../src/ActionsGeneric/ActionsGeneric.js"],"sourcesContent":["import React, { isValidElement } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\nimport { HvButton, HvDropDownMenu, setId } from \"..\";\nimport styles from \"./styles\";\n\nconst ActionsGeneric = ({\n id,\n classes,\n className,\n category = \"ghost\",\n disabled = false,\n actions = [],\n actionsCallback,\n maxVisibleActions = Infinity,\n ...others\n}) => {\n if (!Array.isArray(actions)) return isValidElement(actions) ? actions : null;\n\n const renderButton = (action, idx) => {\n const { disabled: actDisabled, icon, label, ...other } = action;\n const actionId = setId(id, idx, \"action\", action.id);\n\n const renderedIcon = isValidElement(icon) ? icon : icon?.({ isDisabled: disabled });\n\n return (\n <HvButton\n id={actionId}\n key={actionId || idx}\n category={category}\n className={classes.button}\n disabled={actDisabled ?? disabled}\n onClick={(event) => actionsCallback?.(event, id, action)}\n startIcon={renderedIcon}\n {...other}\n >\n {label}\n </HvButton>\n );\n };\n\n const renderActionsGrid = () => {\n const actsVisible = actions.slice(0, maxVisibleActions);\n const actsDropdown = actions.slice(maxVisibleActions);\n\n const semantic = category === \"semantic\";\n const iconColor = (disabled && \"atmo5\") || (semantic && \"base2\") || undefined;\n\n return (\n <>\n {actsVisible.map((action, idx) => renderButton(action, idx))}\n <HvDropDownMenu\n id={setId(id, \"menu\")}\n disabled={disabled}\n category={category}\n classes={{\n root: classes.dropDownMenu,\n icon: classes.dropDownMenuButton,\n iconSelected: classes.dropDownMenuButtonSelected,\n }}\n icon={<MoreOptionsVertical color={iconColor} />}\n placement=\"left\"\n onClick={(event, action) => actionsCallback?.(event, id, action)}\n dataList={actsDropdown}\n keepOpened={false}\n disablePortal={false}\n />\n </>\n );\n };\n\n const actionOverflow = actions.length > maxVisibleActions;\n\n return (\n <div\n className={clsx(className, classes.root, {\n [classes.actionContainer]: actionOverflow,\n })}\n {...others}\n >\n {actionOverflow\n ? renderActionsGrid()\n : actions.map((action, idx) => renderButton(action, idx))}\n </div>\n );\n};\n\nActionsGeneric.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the actions.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to element root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the visible buttons.\n */\n button: PropTypes.string,\n /**\n * Styles applied to the action container wrapper.\n */\n actionContainer: PropTypes.string,\n /**\n * Styles applied to the DropDownMenu component.\n */\n dropDownMenu: PropTypes.string,\n /**\n * Styles applied to the DropDownMenu IconButton component.\n */\n dropDownMenuButton: PropTypes.string,\n /**\n * Styles applied to the DropDownMenu IconButton component when it is selected.\n */\n dropDownMenuButtonSelected: PropTypes.string,\n }).isRequired,\n /**\n * Component identifier.\n */\n id: PropTypes.string,\n /**\n * Button category.\n */\n category: PropTypes.oneOf([\"primary\", \"secondary\", \"ghost\", \"semantic\"]),\n /**\n * Whether actions should be all disabled\n */\n disabled: PropTypes.bool,\n /**\n * The renderable content inside the actions slot of the footer,\n * or an Array of actions `{id, label, icon, disabled}`\n */\n actions: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n disabled: PropTypes.bool,\n })\n ),\n ]),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n};\n\nexport default withStyles(styles, { name: \"HvActionsGeneric\" })(ActionsGeneric);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ActionsGeneric.js","names":["ActionsGeneric","id","classes","className","category","disabled","actions","actionsCallback","maxVisibleActions","Infinity","others","Array","isArray","isValidElement","renderButton","action","idx","actDisabled","icon","label","other","actionId","setId","renderedIcon","isDisabled","button","event","renderActionsGrid","actsVisible","slice","actsDropdown","semantic","iconColor","undefined","map","root","dropDownMenu","dropDownMenuButton","iconSelected","dropDownMenuButtonSelected","actionOverflow","length","clsx","actionContainer","propTypes","PropTypes","string","shape","isRequired","oneOf","bool","oneOfType","node","arrayOf","func","number","withStyles","styles","name"],"sources":["../../src/ActionsGeneric/ActionsGeneric.js"],"sourcesContent":["import React, { isValidElement } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\nimport { HvButton, HvDropDownMenu, setId } from \"..\";\nimport styles from \"./styles\";\n\nconst ActionsGeneric = ({\n id,\n classes,\n className,\n category = \"ghost\",\n disabled = false,\n actions = [],\n actionsCallback,\n maxVisibleActions = Infinity,\n ...others\n}) => {\n if (!Array.isArray(actions)) return isValidElement(actions) ? actions : null;\n\n const renderButton = (action, idx) => {\n const { disabled: actDisabled, icon, label, ...other } = action;\n const actionId = setId(id, idx, \"action\", action.id);\n\n const renderedIcon = isValidElement(icon) ? icon : icon?.({ isDisabled: disabled });\n\n return (\n <HvButton\n id={actionId}\n key={actionId || idx}\n category={category}\n className={classes.button}\n disabled={actDisabled ?? disabled}\n onClick={(event) => actionsCallback?.(event, id, action)}\n startIcon={renderedIcon}\n {...other}\n >\n {label}\n </HvButton>\n );\n };\n\n const renderActionsGrid = () => {\n const actsVisible = actions.slice(0, maxVisibleActions);\n const actsDropdown = actions.slice(maxVisibleActions);\n\n const semantic = category === \"semantic\";\n const iconColor = (disabled && \"atmo5\") || (semantic && \"base2\") || undefined;\n\n return (\n <>\n {actsVisible.map((action, idx) => renderButton(action, idx))}\n <HvDropDownMenu\n id={setId(id, \"menu\")}\n disabled={disabled}\n category={category}\n classes={{\n root: classes.dropDownMenu,\n icon: classes.dropDownMenuButton,\n iconSelected: classes.dropDownMenuButtonSelected,\n }}\n icon={<MoreOptionsVertical color={iconColor} />}\n placement=\"left\"\n onClick={(event, action) => actionsCallback?.(event, id, action)}\n dataList={actsDropdown}\n keepOpened={false}\n disablePortal={false}\n />\n </>\n );\n };\n\n const actionOverflow = actions.length > maxVisibleActions;\n\n return (\n <div\n className={clsx(className, classes.root, {\n [classes.actionContainer]: actionOverflow,\n })}\n {...others}\n >\n {actionOverflow\n ? renderActionsGrid()\n : actions.map((action, idx) => renderButton(action, idx))}\n </div>\n );\n};\n\nActionsGeneric.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the actions.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to element root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the visible buttons.\n */\n button: PropTypes.string,\n /**\n * Styles applied to the action container wrapper.\n */\n actionContainer: PropTypes.string,\n /**\n * Styles applied to the DropDownMenu component.\n */\n dropDownMenu: PropTypes.string,\n /**\n * Styles applied to the DropDownMenu IconButton component.\n */\n dropDownMenuButton: PropTypes.string,\n /**\n * Styles applied to the DropDownMenu IconButton component when it is selected.\n */\n dropDownMenuButtonSelected: PropTypes.string,\n }).isRequired,\n /**\n * Component identifier.\n */\n id: PropTypes.string,\n /**\n * Button category.\n */\n category: PropTypes.oneOf([\"primary\", \"secondary\", \"ghost\", \"semantic\"]),\n /**\n * Whether actions should be all disabled\n */\n disabled: PropTypes.bool,\n /**\n * The renderable content inside the actions slot of the footer,\n * or an Array of actions `{id, label, icon, disabled}`\n */\n actions: PropTypes.oneOfType([\n PropTypes.node,\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n disabled: PropTypes.bool,\n })\n ),\n ]),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n};\n\nexport default withStyles(styles, { name: \"HvActionsGeneric\" })(ActionsGeneric);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Action.js","names":["getColor","theme","color","defaultColor","palette","Action","props","id","className","classes","application","onClickCallback","isSelectedCallback","name","description","disabled","iconElement","iconUrl","url","target","hv","atmosphere","atmo5","accent","acce1","validIconUrl","setValidIconUrl","renderApplicationIcon","brokenTitle","split","initials","substring","isSelected","handleOnClick","event","preventDefault","isLink","root","selected","undefined","typography","borderColor","icon","title","iconInfo","propTypes","PropTypes","string","shape","isRequired","element","oneOf","bool","func","styles"],"sources":["../../../src/AppSwitcher/Action/Action.js"],"sourcesContent":["import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport clsx from \"clsx\";\nimport { useTheme, withStyles } from \"@material-ui/core\";\n\nimport { Info } from \"@hitachivantara/uikit-react-icons\";\nimport { HvTypography, HvAvatar, HvTooltip, HvListItem } from \"../..\";\n\nimport styles from \"./styles\";\n\nimport TitleWithTooltip from \"../TitleWithTooltip\";\n\nconst getColor = (theme, color, defaultColor) => theme.palette[color] || color || defaultColor;\n\nconst Action = (props) => {\n const {\n id,\n className,\n classes,\n application,\n onClickCallback = () => {},\n isSelectedCallback = () => false,\n } = props;\n\n const { name, description, disabled, iconElement, iconUrl, url, target } = application;\n\n const theme = useTheme();\n const color = disabled\n ? theme.hv.palette.atmosphere.atmo5\n : getColor(theme, application.color, theme.hv.palette.accent.acce1);\n\n const [validIconUrl, setValidIconUrl] = useState(true);\n\n const renderApplicationIcon = () => {\n if (iconElement) {\n return iconElement;\n }\n\n if (iconUrl && validIconUrl) {\n return (\n <img\n className={classes.iconUrl}\n src={iconUrl}\n onError={() => {\n setValidIconUrl(false);\n }}\n alt={description}\n />\n );\n }\n\n const brokenTitle = name.split(\" \");\n const initials =\n brokenTitle[0].substring(0, 1) + (brokenTitle[1] ? brokenTitle[1].substring(0, 1) : \"\");\n\n return (\n <HvAvatar size=\"SM\" backgroundColor={color} variant=\"square\">\n {initials}\n </HvAvatar>\n );\n };\n\n const isSelected = isSelectedCallback(application);\n\n /**\n * Handles the onClick event and triggers the appropriate callback if it exists.\n */\n const handleOnClick = (event) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n\n onClickCallback?.(event, { ...application, isSelected });\n };\n\n const isLink = url != null;\n\n return (\n <HvListItem\n id={id}\n interactive\n tabIndex={0}\n selected={isSelected}\n disabled={disabled}\n className={clsx(className, classes.root, {\n [classes.disabled]: disabled,\n [classes.selected]: isSelected,\n })}\n >\n <HvTypography\n component={isLink ? \"a\" : \"button\"}\n href={isLink ? url : undefined}\n target={isLink ? target || \"_top\" : undefined}\n className={classes.typography}\n onClick={handleOnClick}\n style={{ borderColor: color }}\n >\n <div className={classes.icon}>{renderApplicationIcon()}</div>\n\n <TitleWithTooltip title={name} className={classes.title} />\n\n {description && (\n <HvTooltip\n disableFocusListener\n disableTouchListener\n title={<HvTypography>{description}</HvTypography>}\n >\n <div>\n <Info className={classes.iconInfo} role=\"img\" aria-label={description} />\n </div>\n </HvTooltip>\n )}\n </HvTypography>\n </HvListItem>\n );\n};\n\nAction.propTypes = {\n /**\n * Identifier to be applied to the root element.\n */\n id: PropTypes.string,\n\n /**\n * Class names to be applied to the root element.\n */\n className: PropTypes.string,\n /**\n * A Jss object used to override or extend the component styles.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component root class when disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to the typography element.\n */\n typography: PropTypes.string,\n /**\n * Styles applied to the component root class when selected.\n */\n selected: PropTypes.string,\n /**\n * Styles applied to the icon container.\n */\n icon: PropTypes.string,\n /**\n * Styles applied to the icon.\n */\n iconUrl: PropTypes.string,\n /**\n * Styles applied to the action title element.\n */\n title: PropTypes.string,\n /**\n * Styles applied to the info icon element.\n */\n iconInfo: PropTypes.string,\n }).isRequired,\n\n /**\n * The application data to be used to render the Action object.\n */\n application: PropTypes.shape({\n /**\n * Id of the application.\n */\n id: PropTypes.string,\n /**\n * Name of the application, this is the value that will be displayed on the component.\n */\n name: PropTypes.string.isRequired,\n /**\n * The color to be applied to the item's border and to the default icon.\n * You can use either an HEX or color name from the palette.\n */\n color: PropTypes.string,\n /**\n * URL with the icon location to be used to represent the application.\n * iconUrl will only be used if no iconElement is provided.\n */\n iconUrl: PropTypes.string,\n /**\n * Element to be added as the icon representing the application.\n * The iconElement will be the primary option to be displayed.\n */\n iconElement: PropTypes.element,\n /**\n * Small description of the application.\n */\n description: PropTypes.string,\n /**\n * URL where the application is accessible.\n */\n url: PropTypes.string,\n /**\n * Defines if the application should be opened in the same tab or in a new one.\n */\n target: PropTypes.oneOf([\"_top\", \"_blank\"]),\n /**\n * If true, the item will be disabled.\n */\n disabled: PropTypes.bool,\n /**\n * True when the application is selected, false otherwise.\n */\n isSelected: PropTypes.bool,\n }).isRequired,\n\n /**\n * Callback triggered when the action is clicked.\n */\n onClickCallback: PropTypes.func,\n /**\n * Must return a boolean stating if the action element is selected or not.\n */\n isSelectedCallback: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvAppSwitcherAction\" })(Action);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Action.js","names":["getColor","theme","color","defaultColor","palette","Action","props","id","className","classes","application","onClickCallback","isSelectedCallback","name","description","disabled","iconElement","iconUrl","url","target","useTheme","hv","atmosphere","atmo5","accent","acce1","useState","validIconUrl","setValidIconUrl","renderApplicationIcon","brokenTitle","split","initials","substring","isSelected","handleOnClick","event","preventDefault","isLink","clsx","root","selected","undefined","typography","borderColor","icon","title","iconInfo","propTypes","PropTypes","string","shape","isRequired","element","oneOf","bool","func","withStyles","styles"],"sources":["../../../src/AppSwitcher/Action/Action.js"],"sourcesContent":["import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport clsx from \"clsx\";\nimport { useTheme, withStyles } from \"@material-ui/core\";\n\nimport { Info } from \"@hitachivantara/uikit-react-icons\";\nimport { HvTypography, HvAvatar, HvTooltip, HvListItem } from \"../..\";\n\nimport styles from \"./styles\";\n\nimport TitleWithTooltip from \"../TitleWithTooltip\";\n\nconst getColor = (theme, color, defaultColor) => theme.palette[color] || color || defaultColor;\n\nconst Action = (props) => {\n const {\n id,\n className,\n classes,\n application,\n onClickCallback = () => {},\n isSelectedCallback = () => false,\n } = props;\n\n const { name, description, disabled, iconElement, iconUrl, url, target } = application;\n\n const theme = useTheme();\n const color = disabled\n ? theme.hv.palette.atmosphere.atmo5\n : getColor(theme, application.color, theme.hv.palette.accent.acce1);\n\n const [validIconUrl, setValidIconUrl] = useState(true);\n\n const renderApplicationIcon = () => {\n if (iconElement) {\n return iconElement;\n }\n\n if (iconUrl && validIconUrl) {\n return (\n <img\n className={classes.iconUrl}\n src={iconUrl}\n onError={() => {\n setValidIconUrl(false);\n }}\n alt={description}\n />\n );\n }\n\n const brokenTitle = name.split(\" \");\n const initials =\n brokenTitle[0].substring(0, 1) + (brokenTitle[1] ? brokenTitle[1].substring(0, 1) : \"\");\n\n return (\n <HvAvatar size=\"SM\" backgroundColor={color} variant=\"square\">\n {initials}\n </HvAvatar>\n );\n };\n\n const isSelected = isSelectedCallback(application);\n\n /**\n * Handles the onClick event and triggers the appropriate callback if it exists.\n */\n const handleOnClick = (event) => {\n if (disabled) {\n event.preventDefault();\n return;\n }\n\n onClickCallback?.(event, { ...application, isSelected });\n };\n\n const isLink = url != null;\n\n return (\n <HvListItem\n id={id}\n interactive\n tabIndex={0}\n selected={isSelected}\n disabled={disabled}\n className={clsx(className, classes.root, {\n [classes.disabled]: disabled,\n [classes.selected]: isSelected,\n })}\n >\n <HvTypography\n component={isLink ? \"a\" : \"button\"}\n href={isLink ? url : undefined}\n target={isLink ? target || \"_top\" : undefined}\n className={classes.typography}\n onClick={handleOnClick}\n style={{ borderColor: color }}\n >\n <div className={classes.icon}>{renderApplicationIcon()}</div>\n\n <TitleWithTooltip title={name} className={classes.title} />\n\n {description && (\n <HvTooltip\n disableFocusListener\n disableTouchListener\n title={<HvTypography>{description}</HvTypography>}\n >\n <div>\n <Info className={classes.iconInfo} role=\"img\" aria-label={description} />\n </div>\n </HvTooltip>\n )}\n </HvTypography>\n </HvListItem>\n );\n};\n\nAction.propTypes = {\n /**\n * Identifier to be applied to the root element.\n */\n id: PropTypes.string,\n\n /**\n * Class names to be applied to the root element.\n */\n className: PropTypes.string,\n /**\n * A Jss object used to override or extend the component styles.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component root class when disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to the typography element.\n */\n typography: PropTypes.string,\n /**\n * Styles applied to the component root class when selected.\n */\n selected: PropTypes.string,\n /**\n * Styles applied to the icon container.\n */\n icon: PropTypes.string,\n /**\n * Styles applied to the icon.\n */\n iconUrl: PropTypes.string,\n /**\n * Styles applied to the action title element.\n */\n title: PropTypes.string,\n /**\n * Styles applied to the info icon element.\n */\n iconInfo: PropTypes.string,\n }).isRequired,\n\n /**\n * The application data to be used to render the Action object.\n */\n application: PropTypes.shape({\n /**\n * Id of the application.\n */\n id: PropTypes.string,\n /**\n * Name of the application, this is the value that will be displayed on the component.\n */\n name: PropTypes.string.isRequired,\n /**\n * The color to be applied to the item's border and to the default icon.\n * You can use either an HEX or color name from the palette.\n */\n color: PropTypes.string,\n /**\n * URL with the icon location to be used to represent the application.\n * iconUrl will only be used if no iconElement is provided.\n */\n iconUrl: PropTypes.string,\n /**\n * Element to be added as the icon representing the application.\n * The iconElement will be the primary option to be displayed.\n */\n iconElement: PropTypes.element,\n /**\n * Small description of the application.\n */\n description: PropTypes.string,\n /**\n * URL where the application is accessible.\n */\n url: PropTypes.string,\n /**\n * Defines if the application should be opened in the same tab or in a new one.\n */\n target: PropTypes.oneOf([\"_top\", \"_blank\"]),\n /**\n * If true, the item will be disabled.\n */\n disabled: PropTypes.bool,\n /**\n * True when the application is selected, false otherwise.\n */\n isSelected: PropTypes.bool,\n }).isRequired,\n\n /**\n * Callback triggered when the action is clicked.\n */\n onClickCallback: PropTypes.func,\n /**\n * Must return a boolean stating if the action element is selected or not.\n */\n isSelectedCallback: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvAppSwitcherAction\" })(Action);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppSwitcher.js","names":["AppSwitcher","props","id","className","classes","layout","title","applications","onActionClickedCallback","isActionSelectedCallback","header","footer","isOpen","actionClicked","event","application","panelActions","map","name","url","root","item","selected","itemSelected","disabled","itemDisabled","typography","itemTrigger","icon","itemIcon","itemTitle","iconInfo","itemInfoIcon","undefined","closed","open","actionsContainer","footerContainer","propTypes","PropTypes","string","shape","single","dual","fluid","isRequired","oneOf","arrayOf","iconUrl","iconElement","element","description","target","bool","isSelected","func","oneOfType","node","styles"],"sources":["../../src/AppSwitcher/AppSwitcher.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport clsx from \"clsx\";\nimport { deprecatedPropType, withStyles } from \"@material-ui/core\";\n\nimport { HvListContainer } from \"..\";\n\nimport styles from \"./styles\";\n\nimport TitleWithTooltip from \"./TitleWithTooltip\";\nimport Action from \"./Action\";\n\nconst AppSwitcher = (props) => {\n const {\n id,\n\n className,\n classes,\n\n layout = \"single\",\n\n title,\n applications,\n\n onActionClickedCallback = () => {},\n isActionSelectedCallback = () => false,\n\n header,\n footer,\n\n isOpen,\n } = props;\n\n const actionClicked = (event, application) => {\n onActionClickedCallback?.(event, application);\n };\n\n const panelActions = applications.map((application) => {\n if (application.name) {\n return (\n <Action\n key={application.id || `${application.name}_${application.url}`}\n application={application}\n onClickCallback={actionClicked}\n isSelectedCallback={isActionSelectedCallback}\n classes={{\n root: classes.item,\n selected: classes.itemSelected,\n disabled: classes.itemDisabled,\n typography: classes.itemTrigger,\n icon: classes.itemIcon,\n title: classes.itemTitle,\n iconInfo: classes.itemInfoIcon,\n }}\n />\n );\n }\n\n return undefined;\n });\n\n return (\n <div\n id={id}\n className={clsx(className, classes.root, classes[layout], {\n [classes.closed]: isOpen === false,\n [classes.open]: isOpen,\n })}\n >\n {(header && <div className={classes.title}>{header}</div>) ||\n (title && <TitleWithTooltip className={classes.title} title={title} />)}\n <HvListContainer disableGutters className={classes.actionsContainer}>\n {panelActions}\n </HvListContainer>\n {footer && <div className={classes.footerContainer}>{footer}</div>}\n </div>\n );\n};\n\nAppSwitcher.propTypes = {\n /**\n * Identifier to be applied to the root element.\n */\n id: PropTypes.string,\n\n /**\n * Class names to be applied to the root element.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component root class when in single layout mode.\n */\n single: PropTypes.string,\n /**\n * Styles applied to the component root class when in single dual mode.\n */\n dual: PropTypes.string,\n /**\n * Styles applied to the component root class when in single fluid mode.\n */\n fluid: PropTypes.string,\n /**\n * Styles applied to the title element.\n */\n title: PropTypes.string,\n /**\n * Styles applied to the actions container.\n */\n actionsContainer: PropTypes.string,\n /**\n * Styles applied to the footer container.\n */\n footerContainer: PropTypes.string,\n /**\n * Styles applied to the panel when closed.\n */\n closed: PropTypes.string,\n /**\n * Styles applied to the panel when open.\n */\n open: PropTypes.string,\n /**\n * Styles applied to the action item root.\n */\n item: PropTypes.string,\n /**\n * Styles applied to the action item when selected.\n */\n itemSelected: PropTypes.string,\n /**\n * Styles applied to the action item when disabled.\n */\n itemDisabled: PropTypes.string,\n /**\n * Styles applied to the action item typography.\n */\n itemTrigger: PropTypes.string,\n /**\n * Styles applied to the action item icon.\n */\n itemIcon: PropTypes.string,\n /**\n * Styles applied to the action item title.\n */\n itemTitle: PropTypes.string,\n /**\n * Styles applied to the action item info icon.\n */\n itemInfoIcon: PropTypes.string,\n }).isRequired,\n\n /**\n * Number of columns to render. One, two, or whatever fits the component's width.\n */\n layout: PropTypes.oneOf([\"single\", \"dual\", \"fluid\"]),\n\n /**\n * Title to be displayed on the header of the component.\n */\n title: PropTypes.string,\n /**\n * The list of applications to be used to render the actions on the component.\n */\n applications: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * Id of the application.\n */\n id: PropTypes.string,\n /**\n * Name of the application, this is the value that will be displayed on the component.\n */\n name: PropTypes.string.isRequired,\n /**\n * URL with the icon location to be used to represent the application.\n * iconUrl will only be used if no iconElement is provided.\n */\n iconUrl: PropTypes.string,\n /**\n * Element to be added as the icon representing the application.\n * The iconElement will be the primary option to be displayed.\n */\n iconElement: PropTypes.element,\n /**\n * Small description of the application.\n */\n description: PropTypes.string,\n /**\n * URL where the application is accesible.\n */\n url: PropTypes.string,\n /**\n * Defines if the application should be opened in the same tab or in a new one.\n */\n target: PropTypes.oneOf([\"_top\", \"_blank\"]),\n /**\n * If true, the item will be disabled.\n */\n disabled: PropTypes.bool,\n /**\n * True when the application is selected, false otherwise.\n */\n isSelected: PropTypes.bool,\n })\n ).isRequired,\n\n /**\n * Triggered when an action is clicked.\n */\n onActionClickedCallback: PropTypes.func,\n /**\n * Must return a boolean stating if the action element is selected or not.\n */\n isActionSelectedCallback: PropTypes.func,\n\n /**\n * Element to be added to the header container, if none is provided a label with the title will be added.\n */\n header: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * Element to be added to the footer container.\n */\n footer: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\n /**\n * Flag stating if the panel is opened or closed.\n *\n * @deprecated This logic should be external, i.e. using the HvAppSwitcher inside a Drawer component.\n */\n isOpen: deprecatedPropType(PropTypes.bool),\n};\n\nexport default withStyles(styles, { name: \"HvAppSwitcher\" })(AppSwitcher);\n"],"mappings":"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"}
1
+ {"version":3,"file":"AppSwitcher.js","names":["AppSwitcher","props","id","className","classes","layout","title","applications","onActionClickedCallback","isActionSelectedCallback","header","footer","isOpen","actionClicked","event","application","panelActions","map","name","url","root","item","selected","itemSelected","disabled","itemDisabled","typography","itemTrigger","icon","itemIcon","itemTitle","iconInfo","itemInfoIcon","undefined","clsx","closed","open","actionsContainer","footerContainer","propTypes","PropTypes","string","shape","single","dual","fluid","isRequired","oneOf","arrayOf","iconUrl","iconElement","element","description","target","bool","isSelected","func","oneOfType","node","deprecatedPropType","withStyles","styles"],"sources":["../../src/AppSwitcher/AppSwitcher.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport clsx from \"clsx\";\nimport { deprecatedPropType, withStyles } from \"@material-ui/core\";\n\nimport { HvListContainer } from \"..\";\n\nimport styles from \"./styles\";\n\nimport TitleWithTooltip from \"./TitleWithTooltip\";\nimport Action from \"./Action\";\n\nconst AppSwitcher = (props) => {\n const {\n id,\n\n className,\n classes,\n\n layout = \"single\",\n\n title,\n applications,\n\n onActionClickedCallback = () => {},\n isActionSelectedCallback = () => false,\n\n header,\n footer,\n\n isOpen,\n } = props;\n\n const actionClicked = (event, application) => {\n onActionClickedCallback?.(event, application);\n };\n\n const panelActions = applications.map((application) => {\n if (application.name) {\n return (\n <Action\n key={application.id || `${application.name}_${application.url}`}\n application={application}\n onClickCallback={actionClicked}\n isSelectedCallback={isActionSelectedCallback}\n classes={{\n root: classes.item,\n selected: classes.itemSelected,\n disabled: classes.itemDisabled,\n typography: classes.itemTrigger,\n icon: classes.itemIcon,\n title: classes.itemTitle,\n iconInfo: classes.itemInfoIcon,\n }}\n />\n );\n }\n\n return undefined;\n });\n\n return (\n <div\n id={id}\n className={clsx(className, classes.root, classes[layout], {\n [classes.closed]: isOpen === false,\n [classes.open]: isOpen,\n })}\n >\n {(header && <div className={classes.title}>{header}</div>) ||\n (title && <TitleWithTooltip className={classes.title} title={title} />)}\n <HvListContainer disableGutters className={classes.actionsContainer}>\n {panelActions}\n </HvListContainer>\n {footer && <div className={classes.footerContainer}>{footer}</div>}\n </div>\n );\n};\n\nAppSwitcher.propTypes = {\n /**\n * Identifier to be applied to the root element.\n */\n id: PropTypes.string,\n\n /**\n * Class names to be applied to the root element.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component root class when in single layout mode.\n */\n single: PropTypes.string,\n /**\n * Styles applied to the component root class when in single dual mode.\n */\n dual: PropTypes.string,\n /**\n * Styles applied to the component root class when in single fluid mode.\n */\n fluid: PropTypes.string,\n /**\n * Styles applied to the title element.\n */\n title: PropTypes.string,\n /**\n * Styles applied to the actions container.\n */\n actionsContainer: PropTypes.string,\n /**\n * Styles applied to the footer container.\n */\n footerContainer: PropTypes.string,\n /**\n * Styles applied to the panel when closed.\n */\n closed: PropTypes.string,\n /**\n * Styles applied to the panel when open.\n */\n open: PropTypes.string,\n /**\n * Styles applied to the action item root.\n */\n item: PropTypes.string,\n /**\n * Styles applied to the action item when selected.\n */\n itemSelected: PropTypes.string,\n /**\n * Styles applied to the action item when disabled.\n */\n itemDisabled: PropTypes.string,\n /**\n * Styles applied to the action item typography.\n */\n itemTrigger: PropTypes.string,\n /**\n * Styles applied to the action item icon.\n */\n itemIcon: PropTypes.string,\n /**\n * Styles applied to the action item title.\n */\n itemTitle: PropTypes.string,\n /**\n * Styles applied to the action item info icon.\n */\n itemInfoIcon: PropTypes.string,\n }).isRequired,\n\n /**\n * Number of columns to render. One, two, or whatever fits the component's width.\n */\n layout: PropTypes.oneOf([\"single\", \"dual\", \"fluid\"]),\n\n /**\n * Title to be displayed on the header of the component.\n */\n title: PropTypes.string,\n /**\n * The list of applications to be used to render the actions on the component.\n */\n applications: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * Id of the application.\n */\n id: PropTypes.string,\n /**\n * Name of the application, this is the value that will be displayed on the component.\n */\n name: PropTypes.string.isRequired,\n /**\n * URL with the icon location to be used to represent the application.\n * iconUrl will only be used if no iconElement is provided.\n */\n iconUrl: PropTypes.string,\n /**\n * Element to be added as the icon representing the application.\n * The iconElement will be the primary option to be displayed.\n */\n iconElement: PropTypes.element,\n /**\n * Small description of the application.\n */\n description: PropTypes.string,\n /**\n * URL where the application is accesible.\n */\n url: PropTypes.string,\n /**\n * Defines if the application should be opened in the same tab or in a new one.\n */\n target: PropTypes.oneOf([\"_top\", \"_blank\"]),\n /**\n * If true, the item will be disabled.\n */\n disabled: PropTypes.bool,\n /**\n * True when the application is selected, false otherwise.\n */\n isSelected: PropTypes.bool,\n })\n ).isRequired,\n\n /**\n * Triggered when an action is clicked.\n */\n onActionClickedCallback: PropTypes.func,\n /**\n * Must return a boolean stating if the action element is selected or not.\n */\n isActionSelectedCallback: PropTypes.func,\n\n /**\n * Element to be added to the header container, if none is provided a label with the title will be added.\n */\n header: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n /**\n * Element to be added to the footer container.\n */\n footer: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\n /**\n * Flag stating if the panel is opened or closed.\n *\n * @deprecated This logic should be external, i.e. using the HvAppSwitcher inside a Drawer component.\n */\n isOpen: deprecatedPropType(PropTypes.bool),\n};\n\nexport default withStyles(styles, { name: \"HvAppSwitcher\" })(AppSwitcher);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TitleWithTooltip.js","names":["TitleWithTooltip","className","title","isOverflowed","setIsOverflowed","textRef","current","scrollWidth","clientWidth","scrollHeight","clientHeight","propTypes","PropTypes","string"],"sources":["../../src/AppSwitcher/TitleWithTooltip.js"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { HvTooltip, HvTypography } from \"..\";\n\nconst TitleWithTooltip = ({ className, title }) => {\n const [isOverflowed, setIsOverflowed] = useState(false);\n const textRef = useRef();\n\n useEffect(() => {\n if (textRef?.current) {\n setIsOverflowed(\n textRef.current.scrollWidth > textRef.current.clientWidth ||\n textRef.current.scrollHeight > textRef.current.clientHeight\n );\n }\n }, []);\n\n return (\n <HvTooltip\n disableHoverListener={!isOverflowed}\n placement=\"top-start\"\n title={<HvTypography>{title}</HvTypography>}\n >\n <HvTypography variant=\"highlightText\" component=\"span\" ref={textRef} className={className}>\n {title}\n </HvTypography>\n </HvTooltip>\n );\n};\n\nTitleWithTooltip.propTypes = {\n /**\n * Class names to be applied to the root element.\n */\n className: PropTypes.string,\n /**\n * Title to be displayed.\n */\n title: PropTypes.string,\n};\n\nexport default TitleWithTooltip;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,OAA0B;EAAA,IAAvBC,SAAuB,QAAvBA,SAAuB;EAAA,IAAZC,KAAY,QAAZA,KAAY;;EACjD,gBAAwC,qBAAS,KAAT,CAAxC;EAAA;EAAA,IAAOC,YAAP;EAAA,IAAqBC,eAArB;;EACA,IAAMC,OAAO,GAAG,oBAAhB;EAEA,sBAAU,YAAM;IACd,IAAIA,OAAJ,aAAIA,OAAJ,eAAIA,OAAO,CAAEC,OAAb,EAAsB;MACpBF,eAAe,CACbC,OAAO,CAACC,OAAR,CAAgBC,WAAhB,GAA8BF,OAAO,CAACC,OAAR,CAAgBE,WAA9C,IACEH,OAAO,CAACC,OAAR,CAAgBG,YAAhB,GAA+BJ,OAAO,CAACC,OAAR,CAAgBI,YAFpC,CAAf;IAID;EACF,CAPD,EAOG,EAPH;EASA,oBACE,6BAAC,WAAD;IACE,oBAAoB,EAAE,CAACP,YADzB;IAEE,SAAS,EAAC,WAFZ;IAGE,KAAK,eAAE,6BAAC,cAAD,QAAeD,KAAf;EAHT,gBAKE,6BAAC,cAAD;IAAc,OAAO,EAAC,eAAtB;IAAsC,SAAS,EAAC,MAAhD;IAAuD,GAAG,EAAEG,OAA5D;IAAqE,SAAS,EAAEJ;EAAhF,GACGC,KADH,CALF,CADF;AAWD,CAxBD;;AA0BA,wCAAAF,gBAAgB,CAACW,SAAjB,GAA6B;EAC3B;AACF;AACA;EACEV,SAAS,EAAEW,mBAAUC,MAJM;;EAK3B;AACF;AACA;EACEX,KAAK,EAAEU,mBAAUC;AARU,CAA7B;eAWeb,gB"}
1
+ {"version":3,"file":"TitleWithTooltip.js","names":["TitleWithTooltip","className","title","useState","isOverflowed","setIsOverflowed","textRef","useRef","useEffect","current","scrollWidth","clientWidth","scrollHeight","clientHeight","propTypes","PropTypes","string"],"sources":["../../src/AppSwitcher/TitleWithTooltip.js"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport { HvTooltip, HvTypography } from \"..\";\n\nconst TitleWithTooltip = ({ className, title }) => {\n const [isOverflowed, setIsOverflowed] = useState(false);\n const textRef = useRef();\n\n useEffect(() => {\n if (textRef?.current) {\n setIsOverflowed(\n textRef.current.scrollWidth > textRef.current.clientWidth ||\n textRef.current.scrollHeight > textRef.current.clientHeight\n );\n }\n }, []);\n\n return (\n <HvTooltip\n disableHoverListener={!isOverflowed}\n placement=\"top-start\"\n title={<HvTypography>{title}</HvTypography>}\n >\n <HvTypography variant=\"highlightText\" component=\"span\" ref={textRef} className={className}>\n {title}\n </HvTypography>\n </HvTooltip>\n );\n};\n\nTitleWithTooltip.propTypes = {\n /**\n * Class names to be applied to the root element.\n */\n className: PropTypes.string,\n /**\n * Title to be displayed.\n */\n title: PropTypes.string,\n};\n\nexport default TitleWithTooltip;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;;;;AAEA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,OAA0B;EAAA,IAAvBC,SAAuB,QAAvBA,SAAuB;EAAA,IAAZC,KAAY,QAAZA,KAAY;;EACjD,gBAAwC,IAAAC,eAAA,EAAS,KAAT,CAAxC;EAAA;EAAA,IAAOC,YAAP;EAAA,IAAqBC,eAArB;;EACA,IAAMC,OAAO,GAAG,IAAAC,aAAA,GAAhB;EAEA,IAAAC,gBAAA,EAAU,YAAM;IACd,IAAIF,OAAJ,aAAIA,OAAJ,eAAIA,OAAO,CAAEG,OAAb,EAAsB;MACpBJ,eAAe,CACbC,OAAO,CAACG,OAAR,CAAgBC,WAAhB,GAA8BJ,OAAO,CAACG,OAAR,CAAgBE,WAA9C,IACEL,OAAO,CAACG,OAAR,CAAgBG,YAAhB,GAA+BN,OAAO,CAACG,OAAR,CAAgBI,YAFpC,CAAf;IAID;EACF,CAPD,EAOG,EAPH;EASA,oBACE,6BAAC,WAAD;IACE,oBAAoB,EAAE,CAACT,YADzB;IAEE,SAAS,EAAC,WAFZ;IAGE,KAAK,eAAE,6BAAC,cAAD,QAAeF,KAAf;EAHT,gBAKE,6BAAC,cAAD;IAAc,OAAO,EAAC,eAAtB;IAAsC,SAAS,EAAC,MAAhD;IAAuD,GAAG,EAAEI,OAA5D;IAAqE,SAAS,EAAEL;EAAhF,GACGC,KADH,CALF,CADF;AAWD,CAxBD;;AA0BA,wCAAAF,gBAAgB,CAACc,SAAjB,GAA6B;EAC3B;AACF;AACA;EACEb,SAAS,EAAEc,kBAAA,CAAUC,MAJM;;EAK3B;AACF;AACA;EACEd,KAAK,EAAEa,kBAAA,CAAUC;AARU,CAA7B;eAWehB,gB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssetInventory.js","names":["DEFAULT_LABELS","sortBy","inputLabel","placeholder","getPaginationData","hasPagination","paginationServerSide","values","pageSize","page","slice","HvAssetInventory","props","id","classes","className","valuesProp","selectedValues","selectedValuesProp","selectedView","selectedViewProp","children","searchString","searchStringProp","sortOptionId","labelsProp","labels","configuration","onSearch","searchProps","onSortChange","disablePortal","sortProps","pageProp","pages","pageSizeProp","pageSizeOptions","hasBulkActions","paginationProps","onPageChange","onPageSizeChange","onSelection","isSelectable","actions","maxVisibleActions","actionsCallback","FilterPlaceholder","onViewChange","multibuttonProps","emptyComponent","innerPageSize","innerPageValues","setSelectedView","setPageSize","setPage","setValues","pageValues","setPageValues","setSelectedValues","setSearchString","sortId","sortFunc","undefined","selectedSort","setSelectedSort","currentBreakpoint","length","changeView","_event","viewIndex","changePageValues","returnedPageValues","p","sortedValues","sort","setSearchResults","results","value","renderSearch","searchBoxContainer","metadata","onSort","renderSort","sortContainer","paginationOnPageChange","newPage","pageData","paginationOnPageSizeChange","newPageSize","renderPagination","numPages","Math","ceil","onPageChangeInternal","onPageSizeChangeInternal","root","pagination","handleSelectPage","e","checked","selection","map","v","handleSelectAll","allSelected","innerOnSelection","onSelectionFn","event","valueId","target","list","includes","filter","item","propsFillerManager","source","propObj","Object","keys","forEach","key","fillChildProp","child","childProps","viewConfiguration","renderView","view","Array","isArray","React","cloneElement","showButtons","showSort","element","sortable","showSearch","searchable","showRightControls","sortJustify","justifyControls","align","rightControls","multiButtons","bulkActions","viewContainer","propTypes","PropTypes","string","shape","controlsContainer","search","isRequired","oneOfType","arrayOf","node","title","accessor","cellType","oneOf","bool","sortFunction","func","searchFunction","instanceOf","label","icon","disabled","number","styles","name"],"sources":["../../src/AssetInventory/AssetInventory.js"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport find from \"lodash/find\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport MultiButton from \"./Multibutton/Multibutton\";\nimport Search from \"./Search/Search\";\nimport Sort from \"./Sort/Sort\";\nimport HvGrid from \"../Grid\";\nimport HvPagination from \"../Pagination\";\nimport HvBulkActions from \"../BulkActions\";\nimport styles from \"./styles\";\nimport { setId, useLabels, useWidth } from \"../utils\";\n\nconst DEFAULT_LABELS = {\n sortBy: \"Sort by\",\n inputLabel: \"\",\n placeholder: \"Search\",\n};\n\nconst getPaginationData = (hasPagination, paginationServerSide, values, pageSize, page) =>\n hasPagination && !paginationServerSide\n ? values.slice(pageSize * page, pageSize * (page + 1))\n : values;\n\n/**\n * An Asset Inventory allows to switch between views.\n * The Sort and Filter are defined using the metadata configuration, while the remaining configuration can be ser in the AssetInventory or in the individual views.\n */\nconst HvAssetInventory = (props) => {\n const {\n id,\n classes,\n className,\n values: valuesProp,\n selectedValues: selectedValuesProp = [],\n selectedView: selectedViewProp = 0,\n children,\n searchString: searchStringProp = \"\",\n sortOptionId,\n labels: labelsProp,\n configuration,\n onSearch,\n searchProps,\n onSortChange,\n disablePortal = false,\n sortProps,\n page: pageProp = 0,\n pages = 0,\n pageSize: pageSizeProp,\n pageSizeOptions = [5, 10, 20, 25, 50, 100],\n hasBulkActions = false,\n hasPagination = false,\n paginationServerSide = false,\n paginationProps,\n onPageChange,\n onPageSizeChange,\n onSelection,\n isSelectable = false,\n actions,\n maxVisibleActions = 1,\n actionsCallback,\n FilterPlaceholder,\n onViewChange,\n multibuttonProps = [],\n emptyComponent = null,\n } = props;\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const innerPageSize = pageSizeProp || pageSizeOptions[0];\n const innerPageValues = getPaginationData(\n hasPagination,\n paginationServerSide,\n valuesProp,\n innerPageSize,\n pageProp\n );\n\n const [selectedView, setSelectedView] = useState(selectedViewProp || 0);\n const [pageSize, setPageSize] = useState(innerPageSize);\n const [page, setPage] = useState(pageProp);\n const [values, setValues] = useState([...valuesProp]);\n const [pageValues, setPageValues] = useState(innerPageValues);\n\n const [selectedValues, setSelectedValues] = useState([...selectedValuesProp]);\n const [searchString, setSearchString] = useState(searchStringProp);\n const [selectedSort, setSelectedSort] = useState({ sortId: sortOptionId, sortFunc: undefined });\n const currentBreakpoint = useWidth();\n\n useEffect(() => {\n setValues(valuesProp);\n setPageValues(\n getPaginationData(hasPagination, paginationServerSide, valuesProp, innerPageSize, pageProp)\n );\n setPage(pageProp);\n }, [valuesProp, pageProp, innerPageSize, hasPagination, paginationServerSide]);\n\n useEffect(() => {\n if (pageSizeProp === undefined) return;\n setPageSize(pageSizeProp);\n }, [pageSizeProp]);\n\n useEffect(() => {\n if (selectedValuesProp.length > 0) setSelectedValues(selectedValuesProp);\n }, [selectedValuesProp]);\n\n useEffect(() => {\n setSelectedView(selectedViewProp);\n }, [selectedViewProp]);\n\n useEffect(() => {\n setSelectedSort({ sortId: sortOptionId, sortFunc: undefined });\n }, [sortOptionId]);\n\n useEffect(() => {\n setSearchString(searchStringProp);\n }, [searchStringProp]);\n\n const changeView = (_event, viewIndex) => {\n setSelectedView(viewIndex);\n };\n\n const changePageValues = useCallback(\n (returnedPageValues, p = page) => {\n setPageValues(\n getPaginationData(hasPagination, paginationServerSide, returnedPageValues, pageSize, p)\n );\n },\n [hasPagination, paginationServerSide, pageSize, page]\n );\n\n // TODO: we must revisit this section in the future. Right now, sorting the results will\n // reset the array of values which means that we can't sort a filtered result set.\n useEffect(() => {\n if (!(selectedSort?.sortId && selectedSort?.sortFunc)) return;\n const sortedValues = [...valuesProp].sort(selectedSort.sortFunc);\n setValues(sortedValues);\n changePageValues(sortedValues);\n }, [selectedSort, valuesProp, changePageValues]);\n\n const setSearchResults = (results, value) => {\n setValues(results);\n setPage(0);\n setSearchString(value);\n changePageValues(results, 0);\n };\n\n /**\n * Show the search component.\n *\n * @returns {*}\n */\n const renderSearch = () => {\n const { inputLabel, placeholder } = labels;\n return (\n <div className={classes.searchBoxContainer}>\n <Search\n id={id}\n searchString={searchString}\n values={valuesProp}\n metadata={configuration.metadata}\n onFilter={setSearchResults}\n onSearch={onSearch}\n labels={{ inputLabel, placeholder }}\n {...searchProps}\n />\n </div>\n );\n };\n\n const onSort = (sortFunc, sortId) => {\n setSelectedSort({ sortId, sortFunc });\n };\n\n const renderSort = () => {\n return (\n <div className={classes.sortContainer}>\n <Sort\n id={id}\n aria-label={labels?.sortBy}\n metadata={configuration?.metadata}\n selected={selectedSort?.sortId}\n onSelection={onSort}\n onSortChange={onSortChange}\n disablePortal={disablePortal}\n {...sortProps}\n />\n </div>\n );\n };\n\n const paginationOnPageChange = (newPage) => {\n const pageData = values.slice(pageSize * newPage, pageSize * (newPage + 1));\n\n setPage(newPage);\n setPageValues(pageData);\n };\n\n const paginationOnPageSizeChange = (newPageSize) => {\n const pageData = values.slice(newPageSize * page, newPageSize * (page + 1));\n\n setPageSize(newPageSize);\n setPageValues(pageData);\n };\n\n const renderPagination = () => {\n if (values.length === 0) return null;\n\n const numPages = paginationServerSide ? pages : Math.ceil(values.length / pageSize);\n const onPageChangeInternal = paginationServerSide ? onPageChange : paginationOnPageChange;\n\n const onPageSizeChangeInternal = paginationServerSide\n ? onPageSizeChange\n : paginationOnPageSizeChange;\n\n return (\n <HvPagination\n id={setId(id, \"pagination\")}\n classes={{\n root: classes.pagination,\n }}\n pages={numPages}\n page={page}\n canPrevious={page > 0}\n canNext={page < numPages - 1}\n pageSize={pageSize}\n pageSizeOptions={pageSizeOptions}\n onPageChange={onPageChangeInternal}\n onPageSizeChange={onPageSizeChangeInternal}\n {...paginationProps}\n />\n );\n };\n\n const handleSelectPage = (e, checked = false) => {\n const selection = pageValues.map((v) => v.id);\n\n setSelectedValues(checked ? selection : []);\n onSelection?.(e, checked ? selection : []);\n };\n\n const handleSelectAll = (e) => {\n const allSelected = selectedValues.length === values.length;\n const selection = values.map((v) => v.id);\n\n setSelectedValues(allSelected ? [] : selection);\n onSelection?.(e, allSelected ? [] : selection);\n };\n\n const innerOnSelection = (onSelectionFn) => (event) => {\n const valueId = event.target.value;\n\n const list =\n (event.target.checked && [...selectedValues, valueId]) ||\n (selectedValues.includes(valueId) && selectedValues.filter((item) => item !== valueId)) ||\n [];\n\n setSelectedValues(list);\n onSelectionFn?.(event, list);\n };\n\n const propsFillerManager = (source, target, propObj) => {\n Object.keys(propObj).forEach((key) => {\n // eslint-disable-next-line no-param-reassign\n if (source.props[key] == null) target[key] = propObj[key];\n });\n };\n\n const fillChildProp = (child) => {\n const childProps = {\n ...(configuration?.viewConfiguration || child?.props?.viewConfiguration),\n };\n\n propsFillerManager(child, childProps, {\n onSelection: innerOnSelection(onSelection),\n isSelectable,\n actions,\n maxVisibleActions,\n actionsCallback,\n });\n\n return childProps;\n };\n\n /**\n * Render the view.\n *\n * @returns {*}\n */\n const renderView = () => {\n const view = Array.isArray(children) ? children[selectedView] : children;\n\n if (values.length === 0) return emptyComponent;\n\n return React.cloneElement(view, {\n values: pageValues,\n selectedValues,\n viewConfiguration: fillChildProp(view),\n });\n };\n\n const showButtons = children.length > 1;\n const showSort = find(configuration.metadata, (element) => element.sortable);\n const showSearch = find(configuration.metadata, (element) => element.searchable);\n const showRightControls = showButtons || showSort;\n\n const sortJustify = currentBreakpoint === \"xs\" ? \"space-between\" : \"flex-start\";\n const justifyControls = showSort ? sortJustify : \"flex-end\";\n const align = !showSearch ? \"flex-end\" : \"space-between\";\n\n return (\n <div id={id} className={clsx(className, classes.root)}>\n {FilterPlaceholder && <FilterPlaceholder onSelection={changePageValues} />}\n <HvGrid container>\n <HvGrid item xs={12}>\n <HvGrid container justifyContent={align}>\n {showSearch && (\n <HvGrid xs={12} sm={6} md={4} lg={3} xl={3} item>\n {renderSearch()}\n </HvGrid>\n )}\n {showRightControls && (\n <HvGrid xs={12} sm={6} md={4} lg={3} xl={3} item>\n <HvGrid\n className={classes.rightControls}\n justifyContent={justifyControls}\n container\n alignItems=\"flex-end\"\n spacing={0}\n >\n {showSort && (\n <HvGrid className={classes.sortContainer} item xs>\n {renderSort()}\n </HvGrid>\n )}\n {showButtons && (\n <HvGrid item>\n <div className={classes.multiButtons}>\n <MultiButton\n id={id}\n views={multibuttonProps}\n selectedView={selectedView}\n changeView={changeView}\n onViewChange={onViewChange}\n />\n </div>\n </HvGrid>\n )}\n </HvGrid>\n </HvGrid>\n )}\n </HvGrid>\n <HvGrid container>\n <HvGrid item xs={12}>\n {hasBulkActions && (\n <HvBulkActions\n classes={{ root: classes.bulkActions }}\n numTotal={values.length}\n numSelected={selectedValues.length}\n onSelectAll={handleSelectPage}\n onSelectAllPages={handleSelectAll}\n showSelectAllPages\n maxVisibleActions={maxVisibleActions}\n />\n )}\n </HvGrid>\n </HvGrid>\n <HvGrid container className={classes.viewContainer}>\n <HvGrid item xs={12}>\n {renderView()}\n </HvGrid>\n </HvGrid>\n {hasPagination && (\n <HvGrid container>\n <HvGrid item xs={12}>\n {renderPagination()}\n </HvGrid>\n </HvGrid>\n )}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nHvAssetInventory.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the controls container.\n */\n controlsContainer: PropTypes.string,\n /**\n * Styles applied to the search container.\n */\n search: PropTypes.string,\n /**\n * Styles applied to the right controls container.\n */\n rightControls: PropTypes.string,\n /**\n * Styles applied to the multiButtons.\n */\n multiButtons: PropTypes.string,\n /**\n * Styles applied to the bulkActions.\n */\n bulkActions: PropTypes.string,\n /**\n * Styles applied to the view container.\n */\n viewContainer: PropTypes.string,\n /**\n * Styles applied to the search box container.\n */\n searchBoxContainer: PropTypes.string,\n /**\n * Styles applied to the sort container.\n */\n sortContainer: PropTypes.string,\n /**\n * Styles applied to the pagination component.\n */\n pagination: PropTypes.string,\n }).isRequired,\n /**\n * Views components.\n */\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n /**\n * Data passed to the component.\n */\n values: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n })\n ).isRequired,\n /**\n * Labels.\n */\n labels: PropTypes.shape({\n /**\n * Sort label.\n */\n sortBy: PropTypes.string,\n /**\n * the label on top of the search box.\n */\n inputLabel: PropTypes.string,\n /**\n * the placeholder value of the search box.\n */\n placeholder: PropTypes.string,\n }),\n /**\n * Contains the metadata for the values and the necessary configuration for the views,\n * check the views for the specific view configuration.\n */\n configuration: PropTypes.shape({\n metadata: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n accessor: PropTypes.string,\n cellType: PropTypes.oneOf([\"alpha-numeric\", \"numeric\", \"date\", \"node\"]),\n sortable: PropTypes.bool,\n sortFunction: PropTypes.func,\n searchable: PropTypes.bool,\n searchFunction: PropTypes.func,\n })\n ).isRequired,\n viewConfiguration: PropTypes.instanceOf(Object),\n }).isRequired,\n /**\n * Callback evoked in the selection of the card. Receives the event and the current selection of the asset inventory\n */\n onSelection: PropTypes.func,\n /**\n * List of actions to be passed to the views.\n */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n disabled: PropTypes.bool,\n })\n ),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n /**\n * Extra filters\n */\n FilterPlaceholder: PropTypes.element,\n /**\n * Indicates if the views are selectable.\n */\n isSelectable: PropTypes.bool,\n /**\n * Values selected. The list can be maintain internally or it can be passed (overwriting the internal).\n */\n selectedValues: PropTypes.arrayOf(PropTypes.string),\n /**\n * The selected view index.\n */\n selectedView: PropTypes.number,\n /**\n * Defines whether the Asset Inventory includes the bulk actions component.\n */\n hasBulkActions: PropTypes.bool,\n /**\n * Defines whether the Asset Inventory includes the pagination component.\n */\n hasPagination: PropTypes.bool,\n /**\n * Enable or disable the server side pagination mechanism\n */\n paginationServerSide: PropTypes.bool,\n /**\n * The array of possible page sizes for the dropdown.\n */\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n /**\n * Page size.\n */\n pageSize: PropTypes.number,\n /**\n * The currently selected page (0-indexed).\n */\n page: PropTypes.number,\n /**\n * The number of pages the component has.\n */\n pages: PropTypes.number,\n /**\n * Page change callback.\n */\n onPageChange: PropTypes.func,\n /**\n * Page size change callback.\n */\n onPageSizeChange: PropTypes.func,\n /**\n * Search callback.\n */\n onSearch: PropTypes.func,\n /**\n * Sort callback.\n */\n onSortChange: PropTypes.func,\n /**\n * View change callback.\n */\n onViewChange: PropTypes.func,\n /**\n * Visual indication of the sort applied. The id is given by the metadata.id+Asc or metadata.id+Desc.\n */\n sortOptionId: PropTypes.string,\n /**\n * Visual indicator of the search string used.\n */\n searchString: PropTypes.string,\n /**\n * Disable portal on the Sort dropdown\n */\n disablePortal: PropTypes.bool,\n /**\n * Other props passed to the searchbox.\n */\n searchProps: PropTypes.instanceOf(Object),\n /**\n * Others props passed to the Sort. If you want to control the aria-label\n * use the labels.sortBy, as it is mapped directly to the aria-label.\n */\n sortProps: PropTypes.instanceOf(Object),\n /**\n * Array of others prop passed to the created button. Each element must include the id of the view\n * and other props to pe passed to each button.\n */\n multibuttonProps: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n icon: PropTypes.node,\n })\n ),\n /**\n * Extra properties passed to the pagination.\n */\n paginationProps: PropTypes.instanceOf(Object),\n /**\n * Component to the present when no data is available.\n */\n emptyComponent: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvAssetInventory\" })(HvAssetInventory);\n"],"mappings":"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"}
1
+ {"version":3,"file":"AssetInventory.js","names":["DEFAULT_LABELS","sortBy","inputLabel","placeholder","getPaginationData","hasPagination","paginationServerSide","values","pageSize","page","slice","HvAssetInventory","props","id","classes","className","valuesProp","selectedValues","selectedValuesProp","selectedView","selectedViewProp","children","searchString","searchStringProp","sortOptionId","labelsProp","labels","configuration","onSearch","searchProps","onSortChange","disablePortal","sortProps","pageProp","pages","pageSizeProp","pageSizeOptions","hasBulkActions","paginationProps","onPageChange","onPageSizeChange","onSelection","isSelectable","actions","maxVisibleActions","actionsCallback","FilterPlaceholder","onViewChange","multibuttonProps","emptyComponent","useLabels","innerPageSize","innerPageValues","useState","setSelectedView","setPageSize","setPage","setValues","pageValues","setPageValues","setSelectedValues","setSearchString","sortId","sortFunc","undefined","selectedSort","setSelectedSort","currentBreakpoint","useWidth","useEffect","length","changeView","_event","viewIndex","changePageValues","useCallback","returnedPageValues","p","sortedValues","sort","setSearchResults","results","value","renderSearch","searchBoxContainer","metadata","onSort","renderSort","sortContainer","paginationOnPageChange","newPage","pageData","paginationOnPageSizeChange","newPageSize","renderPagination","numPages","Math","ceil","onPageChangeInternal","onPageSizeChangeInternal","setId","root","pagination","handleSelectPage","e","checked","selection","map","v","handleSelectAll","allSelected","innerOnSelection","onSelectionFn","event","valueId","target","list","includes","filter","item","propsFillerManager","source","propObj","Object","keys","forEach","key","fillChildProp","child","childProps","viewConfiguration","renderView","view","Array","isArray","React","cloneElement","showButtons","showSort","find","element","sortable","showSearch","searchable","showRightControls","sortJustify","justifyControls","align","clsx","rightControls","multiButtons","bulkActions","viewContainer","propTypes","PropTypes","string","shape","controlsContainer","search","isRequired","oneOfType","arrayOf","node","title","accessor","cellType","oneOf","bool","sortFunction","func","searchFunction","instanceOf","label","icon","disabled","number","withStyles","styles","name"],"sources":["../../src/AssetInventory/AssetInventory.js"],"sourcesContent":["import React, { useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport find from \"lodash/find\";\nimport { withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport MultiButton from \"./Multibutton/Multibutton\";\nimport Search from \"./Search/Search\";\nimport Sort from \"./Sort/Sort\";\nimport HvGrid from \"../Grid\";\nimport HvPagination from \"../Pagination\";\nimport HvBulkActions from \"../BulkActions\";\nimport styles from \"./styles\";\nimport { setId, useLabels, useWidth } from \"../utils\";\n\nconst DEFAULT_LABELS = {\n sortBy: \"Sort by\",\n inputLabel: \"\",\n placeholder: \"Search\",\n};\n\nconst getPaginationData = (hasPagination, paginationServerSide, values, pageSize, page) =>\n hasPagination && !paginationServerSide\n ? values.slice(pageSize * page, pageSize * (page + 1))\n : values;\n\n/**\n * An Asset Inventory allows to switch between views.\n * The Sort and Filter are defined using the metadata configuration, while the remaining configuration can be ser in the AssetInventory or in the individual views.\n */\nconst HvAssetInventory = (props) => {\n const {\n id,\n classes,\n className,\n values: valuesProp,\n selectedValues: selectedValuesProp = [],\n selectedView: selectedViewProp = 0,\n children,\n searchString: searchStringProp = \"\",\n sortOptionId,\n labels: labelsProp,\n configuration,\n onSearch,\n searchProps,\n onSortChange,\n disablePortal = false,\n sortProps,\n page: pageProp = 0,\n pages = 0,\n pageSize: pageSizeProp,\n pageSizeOptions = [5, 10, 20, 25, 50, 100],\n hasBulkActions = false,\n hasPagination = false,\n paginationServerSide = false,\n paginationProps,\n onPageChange,\n onPageSizeChange,\n onSelection,\n isSelectable = false,\n actions,\n maxVisibleActions = 1,\n actionsCallback,\n FilterPlaceholder,\n onViewChange,\n multibuttonProps = [],\n emptyComponent = null,\n } = props;\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const innerPageSize = pageSizeProp || pageSizeOptions[0];\n const innerPageValues = getPaginationData(\n hasPagination,\n paginationServerSide,\n valuesProp,\n innerPageSize,\n pageProp\n );\n\n const [selectedView, setSelectedView] = useState(selectedViewProp || 0);\n const [pageSize, setPageSize] = useState(innerPageSize);\n const [page, setPage] = useState(pageProp);\n const [values, setValues] = useState([...valuesProp]);\n const [pageValues, setPageValues] = useState(innerPageValues);\n\n const [selectedValues, setSelectedValues] = useState([...selectedValuesProp]);\n const [searchString, setSearchString] = useState(searchStringProp);\n const [selectedSort, setSelectedSort] = useState({ sortId: sortOptionId, sortFunc: undefined });\n const currentBreakpoint = useWidth();\n\n useEffect(() => {\n setValues(valuesProp);\n setPageValues(\n getPaginationData(hasPagination, paginationServerSide, valuesProp, innerPageSize, pageProp)\n );\n setPage(pageProp);\n }, [valuesProp, pageProp, innerPageSize, hasPagination, paginationServerSide]);\n\n useEffect(() => {\n if (pageSizeProp === undefined) return;\n setPageSize(pageSizeProp);\n }, [pageSizeProp]);\n\n useEffect(() => {\n if (selectedValuesProp.length > 0) setSelectedValues(selectedValuesProp);\n }, [selectedValuesProp]);\n\n useEffect(() => {\n setSelectedView(selectedViewProp);\n }, [selectedViewProp]);\n\n useEffect(() => {\n setSelectedSort({ sortId: sortOptionId, sortFunc: undefined });\n }, [sortOptionId]);\n\n useEffect(() => {\n setSearchString(searchStringProp);\n }, [searchStringProp]);\n\n const changeView = (_event, viewIndex) => {\n setSelectedView(viewIndex);\n };\n\n const changePageValues = useCallback(\n (returnedPageValues, p = page) => {\n setPageValues(\n getPaginationData(hasPagination, paginationServerSide, returnedPageValues, pageSize, p)\n );\n },\n [hasPagination, paginationServerSide, pageSize, page]\n );\n\n // TODO: we must revisit this section in the future. Right now, sorting the results will\n // reset the array of values which means that we can't sort a filtered result set.\n useEffect(() => {\n if (!(selectedSort?.sortId && selectedSort?.sortFunc)) return;\n const sortedValues = [...valuesProp].sort(selectedSort.sortFunc);\n setValues(sortedValues);\n changePageValues(sortedValues);\n }, [selectedSort, valuesProp, changePageValues]);\n\n const setSearchResults = (results, value) => {\n setValues(results);\n setPage(0);\n setSearchString(value);\n changePageValues(results, 0);\n };\n\n /**\n * Show the search component.\n *\n * @returns {*}\n */\n const renderSearch = () => {\n const { inputLabel, placeholder } = labels;\n return (\n <div className={classes.searchBoxContainer}>\n <Search\n id={id}\n searchString={searchString}\n values={valuesProp}\n metadata={configuration.metadata}\n onFilter={setSearchResults}\n onSearch={onSearch}\n labels={{ inputLabel, placeholder }}\n {...searchProps}\n />\n </div>\n );\n };\n\n const onSort = (sortFunc, sortId) => {\n setSelectedSort({ sortId, sortFunc });\n };\n\n const renderSort = () => {\n return (\n <div className={classes.sortContainer}>\n <Sort\n id={id}\n aria-label={labels?.sortBy}\n metadata={configuration?.metadata}\n selected={selectedSort?.sortId}\n onSelection={onSort}\n onSortChange={onSortChange}\n disablePortal={disablePortal}\n {...sortProps}\n />\n </div>\n );\n };\n\n const paginationOnPageChange = (newPage) => {\n const pageData = values.slice(pageSize * newPage, pageSize * (newPage + 1));\n\n setPage(newPage);\n setPageValues(pageData);\n };\n\n const paginationOnPageSizeChange = (newPageSize) => {\n const pageData = values.slice(newPageSize * page, newPageSize * (page + 1));\n\n setPageSize(newPageSize);\n setPageValues(pageData);\n };\n\n const renderPagination = () => {\n if (values.length === 0) return null;\n\n const numPages = paginationServerSide ? pages : Math.ceil(values.length / pageSize);\n const onPageChangeInternal = paginationServerSide ? onPageChange : paginationOnPageChange;\n\n const onPageSizeChangeInternal = paginationServerSide\n ? onPageSizeChange\n : paginationOnPageSizeChange;\n\n return (\n <HvPagination\n id={setId(id, \"pagination\")}\n classes={{\n root: classes.pagination,\n }}\n pages={numPages}\n page={page}\n canPrevious={page > 0}\n canNext={page < numPages - 1}\n pageSize={pageSize}\n pageSizeOptions={pageSizeOptions}\n onPageChange={onPageChangeInternal}\n onPageSizeChange={onPageSizeChangeInternal}\n {...paginationProps}\n />\n );\n };\n\n const handleSelectPage = (e, checked = false) => {\n const selection = pageValues.map((v) => v.id);\n\n setSelectedValues(checked ? selection : []);\n onSelection?.(e, checked ? selection : []);\n };\n\n const handleSelectAll = (e) => {\n const allSelected = selectedValues.length === values.length;\n const selection = values.map((v) => v.id);\n\n setSelectedValues(allSelected ? [] : selection);\n onSelection?.(e, allSelected ? [] : selection);\n };\n\n const innerOnSelection = (onSelectionFn) => (event) => {\n const valueId = event.target.value;\n\n const list =\n (event.target.checked && [...selectedValues, valueId]) ||\n (selectedValues.includes(valueId) && selectedValues.filter((item) => item !== valueId)) ||\n [];\n\n setSelectedValues(list);\n onSelectionFn?.(event, list);\n };\n\n const propsFillerManager = (source, target, propObj) => {\n Object.keys(propObj).forEach((key) => {\n // eslint-disable-next-line no-param-reassign\n if (source.props[key] == null) target[key] = propObj[key];\n });\n };\n\n const fillChildProp = (child) => {\n const childProps = {\n ...(configuration?.viewConfiguration || child?.props?.viewConfiguration),\n };\n\n propsFillerManager(child, childProps, {\n onSelection: innerOnSelection(onSelection),\n isSelectable,\n actions,\n maxVisibleActions,\n actionsCallback,\n });\n\n return childProps;\n };\n\n /**\n * Render the view.\n *\n * @returns {*}\n */\n const renderView = () => {\n const view = Array.isArray(children) ? children[selectedView] : children;\n\n if (values.length === 0) return emptyComponent;\n\n return React.cloneElement(view, {\n values: pageValues,\n selectedValues,\n viewConfiguration: fillChildProp(view),\n });\n };\n\n const showButtons = children.length > 1;\n const showSort = find(configuration.metadata, (element) => element.sortable);\n const showSearch = find(configuration.metadata, (element) => element.searchable);\n const showRightControls = showButtons || showSort;\n\n const sortJustify = currentBreakpoint === \"xs\" ? \"space-between\" : \"flex-start\";\n const justifyControls = showSort ? sortJustify : \"flex-end\";\n const align = !showSearch ? \"flex-end\" : \"space-between\";\n\n return (\n <div id={id} className={clsx(className, classes.root)}>\n {FilterPlaceholder && <FilterPlaceholder onSelection={changePageValues} />}\n <HvGrid container>\n <HvGrid item xs={12}>\n <HvGrid container justifyContent={align}>\n {showSearch && (\n <HvGrid xs={12} sm={6} md={4} lg={3} xl={3} item>\n {renderSearch()}\n </HvGrid>\n )}\n {showRightControls && (\n <HvGrid xs={12} sm={6} md={4} lg={3} xl={3} item>\n <HvGrid\n className={classes.rightControls}\n justifyContent={justifyControls}\n container\n alignItems=\"flex-end\"\n spacing={0}\n >\n {showSort && (\n <HvGrid className={classes.sortContainer} item xs>\n {renderSort()}\n </HvGrid>\n )}\n {showButtons && (\n <HvGrid item>\n <div className={classes.multiButtons}>\n <MultiButton\n id={id}\n views={multibuttonProps}\n selectedView={selectedView}\n changeView={changeView}\n onViewChange={onViewChange}\n />\n </div>\n </HvGrid>\n )}\n </HvGrid>\n </HvGrid>\n )}\n </HvGrid>\n <HvGrid container>\n <HvGrid item xs={12}>\n {hasBulkActions && (\n <HvBulkActions\n classes={{ root: classes.bulkActions }}\n numTotal={values.length}\n numSelected={selectedValues.length}\n onSelectAll={handleSelectPage}\n onSelectAllPages={handleSelectAll}\n showSelectAllPages\n maxVisibleActions={maxVisibleActions}\n />\n )}\n </HvGrid>\n </HvGrid>\n <HvGrid container className={classes.viewContainer}>\n <HvGrid item xs={12}>\n {renderView()}\n </HvGrid>\n </HvGrid>\n {hasPagination && (\n <HvGrid container>\n <HvGrid item xs={12}>\n {renderPagination()}\n </HvGrid>\n </HvGrid>\n )}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nHvAssetInventory.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the controls container.\n */\n controlsContainer: PropTypes.string,\n /**\n * Styles applied to the search container.\n */\n search: PropTypes.string,\n /**\n * Styles applied to the right controls container.\n */\n rightControls: PropTypes.string,\n /**\n * Styles applied to the multiButtons.\n */\n multiButtons: PropTypes.string,\n /**\n * Styles applied to the bulkActions.\n */\n bulkActions: PropTypes.string,\n /**\n * Styles applied to the view container.\n */\n viewContainer: PropTypes.string,\n /**\n * Styles applied to the search box container.\n */\n searchBoxContainer: PropTypes.string,\n /**\n * Styles applied to the sort container.\n */\n sortContainer: PropTypes.string,\n /**\n * Styles applied to the pagination component.\n */\n pagination: PropTypes.string,\n }).isRequired,\n /**\n * Views components.\n */\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n /**\n * Data passed to the component.\n */\n values: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n })\n ).isRequired,\n /**\n * Labels.\n */\n labels: PropTypes.shape({\n /**\n * Sort label.\n */\n sortBy: PropTypes.string,\n /**\n * the label on top of the search box.\n */\n inputLabel: PropTypes.string,\n /**\n * the placeholder value of the search box.\n */\n placeholder: PropTypes.string,\n }),\n /**\n * Contains the metadata for the values and the necessary configuration for the views,\n * check the views for the specific view configuration.\n */\n configuration: PropTypes.shape({\n metadata: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n accessor: PropTypes.string,\n cellType: PropTypes.oneOf([\"alpha-numeric\", \"numeric\", \"date\", \"node\"]),\n sortable: PropTypes.bool,\n sortFunction: PropTypes.func,\n searchable: PropTypes.bool,\n searchFunction: PropTypes.func,\n })\n ).isRequired,\n viewConfiguration: PropTypes.instanceOf(Object),\n }).isRequired,\n /**\n * Callback evoked in the selection of the card. Receives the event and the current selection of the asset inventory\n */\n onSelection: PropTypes.func,\n /**\n * List of actions to be passed to the views.\n */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n disabled: PropTypes.bool,\n })\n ),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n /**\n * Extra filters\n */\n FilterPlaceholder: PropTypes.element,\n /**\n * Indicates if the views are selectable.\n */\n isSelectable: PropTypes.bool,\n /**\n * Values selected. The list can be maintain internally or it can be passed (overwriting the internal).\n */\n selectedValues: PropTypes.arrayOf(PropTypes.string),\n /**\n * The selected view index.\n */\n selectedView: PropTypes.number,\n /**\n * Defines whether the Asset Inventory includes the bulk actions component.\n */\n hasBulkActions: PropTypes.bool,\n /**\n * Defines whether the Asset Inventory includes the pagination component.\n */\n hasPagination: PropTypes.bool,\n /**\n * Enable or disable the server side pagination mechanism\n */\n paginationServerSide: PropTypes.bool,\n /**\n * The array of possible page sizes for the dropdown.\n */\n pageSizeOptions: PropTypes.arrayOf(PropTypes.number),\n /**\n * Page size.\n */\n pageSize: PropTypes.number,\n /**\n * The currently selected page (0-indexed).\n */\n page: PropTypes.number,\n /**\n * The number of pages the component has.\n */\n pages: PropTypes.number,\n /**\n * Page change callback.\n */\n onPageChange: PropTypes.func,\n /**\n * Page size change callback.\n */\n onPageSizeChange: PropTypes.func,\n /**\n * Search callback.\n */\n onSearch: PropTypes.func,\n /**\n * Sort callback.\n */\n onSortChange: PropTypes.func,\n /**\n * View change callback.\n */\n onViewChange: PropTypes.func,\n /**\n * Visual indication of the sort applied. The id is given by the metadata.id+Asc or metadata.id+Desc.\n */\n sortOptionId: PropTypes.string,\n /**\n * Visual indicator of the search string used.\n */\n searchString: PropTypes.string,\n /**\n * Disable portal on the Sort dropdown\n */\n disablePortal: PropTypes.bool,\n /**\n * Other props passed to the searchbox.\n */\n searchProps: PropTypes.instanceOf(Object),\n /**\n * Others props passed to the Sort. If you want to control the aria-label\n * use the labels.sortBy, as it is mapped directly to the aria-label.\n */\n sortProps: PropTypes.instanceOf(Object),\n /**\n * Array of others prop passed to the created button. Each element must include the id of the view\n * and other props to pe passed to each button.\n */\n multibuttonProps: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n icon: PropTypes.node,\n })\n ),\n /**\n * Extra properties passed to the pagination.\n */\n paginationProps: PropTypes.instanceOf(Object),\n /**\n * Component to the present when no data is available.\n */\n emptyComponent: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvAssetInventory\" })(HvAssetInventory);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardView.js","names":["DEFAULT_VIEW_CONFIGURATION","onSelection","breakpoints","xs","sm","md","lg","xl","actions","CardRenderChooser","viewConfiguration","render","cardContent","metadata","cardProps","data","isSelectable","maxVisibleActions","actionsCallback","id","CardView","className","classes","values","selectedValues","renderer","innerCardContent","emptyComponent","others","containerRef","currentBreakpoint","renderCard","cardJump","renderCards","map","value","index","checked","indexOf","hasValues","length","root","elements","sizeProps","propTypes","PropTypes","string","shape","isRequired","arrayOf","title","accessor","cellType","oneOf","sortable","bool","sortFunction","func","searchable","searchFunction","instanceOf","Array","node","label","icon","oneOfType","disabled","number","styles","name"],"sources":["../../../src/AssetInventory/CardView/CardView.js"],"sourcesContent":["import React, { useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport {\n HvActionBar,\n HvActionsGeneric,\n HvCard,\n HvCardContent,\n HvGrid,\n useWidth,\n setId,\n} from \"../..\";\nimport Focus from \"../../Focus\";\nimport styles from \"./styles\";\nimport setActionsId from \"../setActionsId\";\n\nconst DEFAULT_VIEW_CONFIGURATION = {\n onSelection: null,\n breakpoints: {\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n },\n actions: null,\n};\n\nconst CardRenderChooser =\n (viewConfiguration, render, cardContent, metadata, cardProps) => (data) => {\n const { onSelection, isSelectable, maxVisibleActions, actionsCallback } = viewConfiguration;\n const actions = setActionsId(viewConfiguration.actions, data.id);\n\n return render ? (\n render(data, { ...viewConfiguration, actions }, metadata, cardProps)\n ) : (\n <HvCard onChange={onSelection} selectable={isSelectable} {...data} {...cardProps}>\n <HvCardContent>{cardContent?.(data)}</HvCardContent>\n {actions && (\n <HvActionBar>\n <HvActionsGeneric\n actions={actions}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </HvActionBar>\n )}\n </HvCard>\n );\n };\n\nconst CardView = ({\n id = \"\",\n className,\n classes,\n values,\n selectedValues,\n renderer,\n viewConfiguration = DEFAULT_VIEW_CONFIGURATION,\n innerCardContent,\n metadata,\n emptyComponent = null,\n ...others\n}) => {\n const containerRef = useRef(null);\n const currentBreakpoint = useWidth();\n\n // If no custom render is passed, the render uses the standard card implementation\n const renderCard = CardRenderChooser(\n viewConfiguration,\n renderer,\n innerCardContent,\n metadata,\n others\n );\n\n const { breakpoints } = viewConfiguration;\n\n const cardJump = () =>\n breakpoints[currentBreakpoint] === false ? 1 : 12 / breakpoints[currentBreakpoint];\n\n /**\n * Render of the cards for each value.\n */\n const renderCards = () => {\n return values.map((value, index) => {\n // eslint-disable-next-line no-param-reassign\n value.checked = !!(selectedValues && selectedValues.indexOf(value.id) > -1);\n\n return (\n <HvGrid id={setId(value.id, \"grid\")} key={value.id} item {...breakpoints}>\n <Focus\n rootRef={containerRef}\n key={value.id}\n strategy=\"grid\"\n filterClass=\"grid\"\n navigationJump={cardJump()}\n focusDisabled={false}\n >\n <div key={value.id} tabIndex={index === 0 ? 0 : -1}>\n {renderCard(value)}\n </div>\n </Focus>\n </HvGrid>\n );\n });\n };\n\n const hasValues = values.length > 0;\n\n return hasValues ? (\n <div className={classes.root} ref={containerRef}>\n <div className={classes.elements}>\n <HvGrid\n className={className}\n id={id}\n container\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {renderCards()}\n </HvGrid>\n </div>\n </div>\n ) : (\n emptyComponent\n );\n};\n\nconst sizeProps = [true, false, \"auto\", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n\nCardView.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component that contains the elements class.\n */\n elements: PropTypes.string,\n }).isRequired,\n /**\n * Metadata associated with the values.\n */\n metadata: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n accessor: PropTypes.string,\n cellType: PropTypes.oneOf([\"alpha-numeric\", \"numeric\", \"date\", \"node\"]),\n sortable: PropTypes.bool,\n sortFunction: PropTypes.func,\n searchable: PropTypes.bool,\n searchFunction: PropTypes.func,\n })\n ),\n /**\n * Values to be passed to the card render.\n */\n values: PropTypes.instanceOf(Array).isRequired,\n /**\n * Selected values.\n */\n selectedValues: PropTypes.arrayOf(PropTypes.string),\n /**\n * Custom render for the cards.\n */\n renderer: PropTypes.func,\n /**\n * innerCardContent to be passed to the standard render.\n */\n innerCardContent: PropTypes.func,\n /**\n * Component to the present when no data is available.\n */\n emptyComponent: PropTypes.node,\n /**\n * Configuration settings for the view.\n */\n viewConfiguration: PropTypes.shape({\n /**\n * Callback evoked in the selection of the card.\n */\n onSelection: PropTypes.func,\n /**\n * Defines if the view allows selections.\n */\n isSelectable: PropTypes.bool,\n /**\n * List of actions to be passed to the cards.\n */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n disabled: PropTypes.bool,\n })\n ),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n /**\n * Defines the number of columns the component is going to use. Check the\n * Grid component for possible values\n */\n breakpoints: PropTypes.shape({\n xs: PropTypes.oneOf(sizeProps),\n sm: PropTypes.oneOf(sizeProps),\n md: PropTypes.oneOf(sizeProps),\n lg: PropTypes.oneOf(sizeProps),\n xl: PropTypes.oneOf(sizeProps),\n }),\n }),\n};\n\nexport default withStyles(styles, { name: \"HvCardView\" })(CardView);\n"],"mappings":"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"}
1
+ {"version":3,"file":"CardView.js","names":["DEFAULT_VIEW_CONFIGURATION","onSelection","breakpoints","xs","sm","md","lg","xl","actions","CardRenderChooser","viewConfiguration","render","cardContent","metadata","cardProps","data","isSelectable","maxVisibleActions","actionsCallback","setActionsId","id","CardView","className","classes","values","selectedValues","renderer","innerCardContent","emptyComponent","others","containerRef","useRef","currentBreakpoint","useWidth","renderCard","cardJump","renderCards","map","value","index","checked","indexOf","setId","hasValues","length","root","elements","sizeProps","propTypes","PropTypes","string","shape","isRequired","arrayOf","title","accessor","cellType","oneOf","sortable","bool","sortFunction","func","searchable","searchFunction","instanceOf","Array","node","label","icon","oneOfType","disabled","number","withStyles","styles","name"],"sources":["../../../src/AssetInventory/CardView/CardView.js"],"sourcesContent":["import React, { useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport {\n HvActionBar,\n HvActionsGeneric,\n HvCard,\n HvCardContent,\n HvGrid,\n useWidth,\n setId,\n} from \"../..\";\nimport Focus from \"../../Focus\";\nimport styles from \"./styles\";\nimport setActionsId from \"../setActionsId\";\n\nconst DEFAULT_VIEW_CONFIGURATION = {\n onSelection: null,\n breakpoints: {\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n },\n actions: null,\n};\n\nconst CardRenderChooser =\n (viewConfiguration, render, cardContent, metadata, cardProps) => (data) => {\n const { onSelection, isSelectable, maxVisibleActions, actionsCallback } = viewConfiguration;\n const actions = setActionsId(viewConfiguration.actions, data.id);\n\n return render ? (\n render(data, { ...viewConfiguration, actions }, metadata, cardProps)\n ) : (\n <HvCard onChange={onSelection} selectable={isSelectable} {...data} {...cardProps}>\n <HvCardContent>{cardContent?.(data)}</HvCardContent>\n {actions && (\n <HvActionBar>\n <HvActionsGeneric\n actions={actions}\n actionsCallback={actionsCallback}\n maxVisibleActions={maxVisibleActions}\n />\n </HvActionBar>\n )}\n </HvCard>\n );\n };\n\nconst CardView = ({\n id = \"\",\n className,\n classes,\n values,\n selectedValues,\n renderer,\n viewConfiguration = DEFAULT_VIEW_CONFIGURATION,\n innerCardContent,\n metadata,\n emptyComponent = null,\n ...others\n}) => {\n const containerRef = useRef(null);\n const currentBreakpoint = useWidth();\n\n // If no custom render is passed, the render uses the standard card implementation\n const renderCard = CardRenderChooser(\n viewConfiguration,\n renderer,\n innerCardContent,\n metadata,\n others\n );\n\n const { breakpoints } = viewConfiguration;\n\n const cardJump = () =>\n breakpoints[currentBreakpoint] === false ? 1 : 12 / breakpoints[currentBreakpoint];\n\n /**\n * Render of the cards for each value.\n */\n const renderCards = () => {\n return values.map((value, index) => {\n // eslint-disable-next-line no-param-reassign\n value.checked = !!(selectedValues && selectedValues.indexOf(value.id) > -1);\n\n return (\n <HvGrid id={setId(value.id, \"grid\")} key={value.id} item {...breakpoints}>\n <Focus\n rootRef={containerRef}\n key={value.id}\n strategy=\"grid\"\n filterClass=\"grid\"\n navigationJump={cardJump()}\n focusDisabled={false}\n >\n <div key={value.id} tabIndex={index === 0 ? 0 : -1}>\n {renderCard(value)}\n </div>\n </Focus>\n </HvGrid>\n );\n });\n };\n\n const hasValues = values.length > 0;\n\n return hasValues ? (\n <div className={classes.root} ref={containerRef}>\n <div className={classes.elements}>\n <HvGrid\n className={className}\n id={id}\n container\n justifyContent=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {renderCards()}\n </HvGrid>\n </div>\n </div>\n ) : (\n emptyComponent\n );\n};\n\nconst sizeProps = [true, false, \"auto\", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];\n\nCardView.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component that contains the elements class.\n */\n elements: PropTypes.string,\n }).isRequired,\n /**\n * Metadata associated with the values.\n */\n metadata: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n accessor: PropTypes.string,\n cellType: PropTypes.oneOf([\"alpha-numeric\", \"numeric\", \"date\", \"node\"]),\n sortable: PropTypes.bool,\n sortFunction: PropTypes.func,\n searchable: PropTypes.bool,\n searchFunction: PropTypes.func,\n })\n ),\n /**\n * Values to be passed to the card render.\n */\n values: PropTypes.instanceOf(Array).isRequired,\n /**\n * Selected values.\n */\n selectedValues: PropTypes.arrayOf(PropTypes.string),\n /**\n * Custom render for the cards.\n */\n renderer: PropTypes.func,\n /**\n * innerCardContent to be passed to the standard render.\n */\n innerCardContent: PropTypes.func,\n /**\n * Component to the present when no data is available.\n */\n emptyComponent: PropTypes.node,\n /**\n * Configuration settings for the view.\n */\n viewConfiguration: PropTypes.shape({\n /**\n * Callback evoked in the selection of the card.\n */\n onSelection: PropTypes.func,\n /**\n * Defines if the view allows selections.\n */\n isSelectable: PropTypes.bool,\n /**\n * List of actions to be passed to the cards.\n */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n disabled: PropTypes.bool,\n })\n ),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n /**\n * Defines the number of columns the component is going to use. Check the\n * Grid component for possible values\n */\n breakpoints: PropTypes.shape({\n xs: PropTypes.oneOf(sizeProps),\n sm: PropTypes.oneOf(sizeProps),\n md: PropTypes.oneOf(sizeProps),\n lg: PropTypes.oneOf(sizeProps),\n xl: PropTypes.oneOf(sizeProps),\n }),\n }),\n};\n\nexport default withStyles(styles, { name: \"HvCardView\" })(CardView);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.js","names":["Rows","renderer","values","selectedValues","viewConfiguration","metadata","map","value","index","checked","includes","id","ListView","className","classes","emptyComponent","others","hasValues","length","renderGridDisplay","containerRef","enhancedViewConfiguration","root","columnConfiguration","tableHead","tableBody","elements","propTypes","PropTypes","string","node","shape","onSelection","func","isSelectable","bool","arrayOf","title","style","instanceOf","Object","actions","isRequired","label","icon","oneOfType","disabled","actionsCallback","maxVisibleActions","number","accessor","cellType","oneOf","sortable","sortFunction","searchable","searchFunction","styles","name"],"sources":["../../../src/AssetInventory/ListView/ListView.js"],"sourcesContent":["import React, { useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { ListViewContextProvider } from \"./ListViewContext/ListViewContext\";\nimport ListViewHeaderRow from \"./ListViewHeaderRow\";\nimport Grid from \"../../Grid\";\nimport styles from \"./styles\";\n\nconst Rows = ({ renderer, values, selectedValues, viewConfiguration, metadata }) =>\n values.map((value, index) => {\n // eslint-disable-next-line no-param-reassign\n value.checked = selectedValues && selectedValues.includes(value.id);\n return renderer(value, index, viewConfiguration, metadata);\n });\n\nconst ListView = ({\n className,\n id,\n viewConfiguration,\n classes,\n renderer,\n values,\n selectedValues,\n metadata,\n emptyComponent,\n ...others\n}) => {\n const hasValues = values.length > 0;\n\n const renderGridDisplay = (containerRef) => {\n const enhancedViewConfiguration = {\n containerRef,\n ...viewConfiguration,\n };\n\n return (\n <Grid container justifyContent=\"center\" alignContent=\"stretch\">\n <Grid item xs={12} sm={12} md={12} lg={12} xl={12}>\n <div\n id={id}\n aria-rowcount={values.length}\n className={clsx(className, classes.root)}\n {...others}\n >\n {viewConfiguration?.columnConfiguration?.length > 0 && hasValues && (\n <div className={classes.tableHead}>\n <ListViewHeaderRow viewConfiguration={enhancedViewConfiguration} />\n </div>\n )}\n <ul className={classes.tableBody}>\n <ListViewContextProvider value={enhancedViewConfiguration}>\n <Rows\n classes={classes}\n renderer={renderer}\n values={values}\n selectedValues={selectedValues}\n metadata={metadata}\n viewConfiguration={enhancedViewConfiguration}\n containerRef={containerRef}\n />\n </ListViewContextProvider>\n </ul>\n </div>\n </Grid>\n </Grid>\n );\n };\n const containerRef = useRef(null);\n return (\n <>\n {!hasValues && emptyComponent}\n {hasValues && (\n <div className={classes.root} ref={containerRef}>\n <div className={classes.elements}>{renderGridDisplay(containerRef)}</div>\n </div>\n )}\n </>\n );\n};\n\nListView.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Component to the present when no data is available.\n */\n emptyComponent: PropTypes.node,\n /**\n * Configuration settings for the view.\n */\n viewConfiguration: PropTypes.shape({\n /**\n * Callback evoked in the selection of the card.\n */\n onSelection: PropTypes.func,\n /**\n * Defines if the view allows selections.\n */\n isSelectable: PropTypes.bool,\n /**\n * List column configuration.\n */\n columnConfiguration: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n style: PropTypes.instanceOf(Object),\n })\n ),\n /**\n * List of actions to be passed to the cards.\n */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n disabled: PropTypes.bool,\n })\n ),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n }),\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component that contains the elements class.\n */\n elements: PropTypes.string,\n /**\n * Styles applied to the table header.\n */\n tableHead: PropTypes.string,\n /**\n * Styles applied to the table body.\n */\n tableBody: PropTypes.string,\n }).isRequired,\n /**\n * The function that will be used to render the list,\n * it receives the values one bye one, is recommended to use\n * the list View cell and list view Row to construct the renderer\n */\n renderer: PropTypes.func.isRequired,\n /**\n * The values that will be passed to the renderer one by one\n */\n values: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Selected values.\n */\n selectedValues: PropTypes.arrayOf(PropTypes.string),\n /**\n * Metadata associated with the values.\n */\n metadata: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n accessor: PropTypes.string,\n cellType: PropTypes.oneOf([\"alpha-numeric\", \"numeric\", \"date\", \"node\"]),\n sortable: PropTypes.bool,\n sortFunction: PropTypes.func,\n searchable: PropTypes.bool,\n searchFunction: PropTypes.func,\n })\n ),\n};\n\nexport default withStyles(styles, { name: \"HvListView\" })(ListView);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ListView.js","names":["Rows","renderer","values","selectedValues","viewConfiguration","metadata","map","value","index","checked","includes","id","ListView","className","classes","emptyComponent","others","hasValues","length","renderGridDisplay","containerRef","enhancedViewConfiguration","clsx","root","columnConfiguration","tableHead","tableBody","useRef","elements","propTypes","PropTypes","string","node","shape","onSelection","func","isSelectable","bool","arrayOf","title","style","instanceOf","Object","actions","isRequired","label","icon","oneOfType","disabled","actionsCallback","maxVisibleActions","number","accessor","cellType","oneOf","sortable","sortFunction","searchable","searchFunction","withStyles","styles","name"],"sources":["../../../src/AssetInventory/ListView/ListView.js"],"sourcesContent":["import React, { useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { ListViewContextProvider } from \"./ListViewContext/ListViewContext\";\nimport ListViewHeaderRow from \"./ListViewHeaderRow\";\nimport Grid from \"../../Grid\";\nimport styles from \"./styles\";\n\nconst Rows = ({ renderer, values, selectedValues, viewConfiguration, metadata }) =>\n values.map((value, index) => {\n // eslint-disable-next-line no-param-reassign\n value.checked = selectedValues && selectedValues.includes(value.id);\n return renderer(value, index, viewConfiguration, metadata);\n });\n\nconst ListView = ({\n className,\n id,\n viewConfiguration,\n classes,\n renderer,\n values,\n selectedValues,\n metadata,\n emptyComponent,\n ...others\n}) => {\n const hasValues = values.length > 0;\n\n const renderGridDisplay = (containerRef) => {\n const enhancedViewConfiguration = {\n containerRef,\n ...viewConfiguration,\n };\n\n return (\n <Grid container justifyContent=\"center\" alignContent=\"stretch\">\n <Grid item xs={12} sm={12} md={12} lg={12} xl={12}>\n <div\n id={id}\n aria-rowcount={values.length}\n className={clsx(className, classes.root)}\n {...others}\n >\n {viewConfiguration?.columnConfiguration?.length > 0 && hasValues && (\n <div className={classes.tableHead}>\n <ListViewHeaderRow viewConfiguration={enhancedViewConfiguration} />\n </div>\n )}\n <ul className={classes.tableBody}>\n <ListViewContextProvider value={enhancedViewConfiguration}>\n <Rows\n classes={classes}\n renderer={renderer}\n values={values}\n selectedValues={selectedValues}\n metadata={metadata}\n viewConfiguration={enhancedViewConfiguration}\n containerRef={containerRef}\n />\n </ListViewContextProvider>\n </ul>\n </div>\n </Grid>\n </Grid>\n );\n };\n const containerRef = useRef(null);\n return (\n <>\n {!hasValues && emptyComponent}\n {hasValues && (\n <div className={classes.root} ref={containerRef}>\n <div className={classes.elements}>{renderGridDisplay(containerRef)}</div>\n </div>\n )}\n </>\n );\n};\n\nListView.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Component to the present when no data is available.\n */\n emptyComponent: PropTypes.node,\n /**\n * Configuration settings for the view.\n */\n viewConfiguration: PropTypes.shape({\n /**\n * Callback evoked in the selection of the card.\n */\n onSelection: PropTypes.func,\n /**\n * Defines if the view allows selections.\n */\n isSelectable: PropTypes.bool,\n /**\n * List column configuration.\n */\n columnConfiguration: PropTypes.arrayOf(\n PropTypes.shape({\n title: PropTypes.string,\n style: PropTypes.instanceOf(Object),\n })\n ),\n /**\n * List of actions to be passed to the cards.\n */\n actions: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n disabled: PropTypes.bool,\n })\n ),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The number of maximum visible actions before they're collapsed into a `DropDownMenu`.\n */\n maxVisibleActions: PropTypes.number,\n }),\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the component that contains the elements class.\n */\n elements: PropTypes.string,\n /**\n * Styles applied to the table header.\n */\n tableHead: PropTypes.string,\n /**\n * Styles applied to the table body.\n */\n tableBody: PropTypes.string,\n }).isRequired,\n /**\n * The function that will be used to render the list,\n * it receives the values one bye one, is recommended to use\n * the list View cell and list view Row to construct the renderer\n */\n renderer: PropTypes.func.isRequired,\n /**\n * The values that will be passed to the renderer one by one\n */\n values: PropTypes.arrayOf(PropTypes.instanceOf(Object)).isRequired,\n /**\n * Selected values.\n */\n selectedValues: PropTypes.arrayOf(PropTypes.string),\n /**\n * Metadata associated with the values.\n */\n metadata: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string,\n title: PropTypes.string,\n accessor: PropTypes.string,\n cellType: PropTypes.oneOf([\"alpha-numeric\", \"numeric\", \"date\", \"node\"]),\n sortable: PropTypes.bool,\n sortFunction: PropTypes.func,\n searchable: PropTypes.bool,\n searchFunction: PropTypes.func,\n })\n ),\n};\n\nexport default withStyles(styles, { name: \"HvListView\" })(ListView);\n"],"mappings":"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"}