@hitachivantara/uikit-react-core 3.68.1 → 3.68.2

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 (244) 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.map +1 -1
  106. package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  107. package/dist/Header/Navigation/Navigation.js.map +1 -1
  108. package/dist/Header/Navigation/utils/FocusContext.js.map +1 -1
  109. package/dist/Header/Navigation/utils/SelectionContext.js.map +1 -1
  110. package/dist/Header/Navigation/utils/useSelectionPath.js.map +1 -1
  111. package/dist/Input/Input.js.map +1 -1
  112. package/dist/Kpi/Kpi.js.map +1 -1
  113. package/dist/Link/Link.js.map +1 -1
  114. package/dist/List/List.js +20 -16
  115. package/dist/List/List.js.map +1 -1
  116. package/dist/List/useSelectableList.js.map +1 -1
  117. package/dist/List/utils.js.map +1 -1
  118. package/dist/ListContainer/ListContainer.js.map +1 -1
  119. package/dist/ListContainer/ListContext/ListContext.js.map +1 -1
  120. package/dist/ListContainer/ListItem/ListItem.js.map +1 -1
  121. package/dist/Loading/Loading.js.map +1 -1
  122. package/dist/Login/Login.js.map +1 -1
  123. package/dist/Login/styles.js.map +1 -1
  124. package/dist/MultiButton/MultiButton.js.map +1 -1
  125. package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -1
  126. package/dist/Pagination/Pagination.js.map +1 -1
  127. package/dist/Pagination/Select.js.map +1 -1
  128. package/dist/Pagination/utils.js.map +1 -1
  129. package/dist/Panel/Panel.js.map +1 -1
  130. package/dist/Provider/Provider.js.map +1 -1
  131. package/dist/Provider/context.js.map +1 -1
  132. package/dist/Provider/useLocale.js.map +1 -1
  133. package/dist/Radio/Radio.js.map +1 -1
  134. package/dist/RadioGroup/RadioGroup.js.map +1 -1
  135. package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  136. package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  137. package/dist/ScrollTo/Horizontal/styles.js.map +1 -1
  138. package/dist/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  139. package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  140. package/dist/ScrollTo/Vertical/styles.js.map +1 -1
  141. package/dist/ScrollTo/useScrollTo.js.map +1 -1
  142. package/dist/ScrollTo/withTooltip.js.map +1 -1
  143. package/dist/SelectionList/SelectionList.js.map +1 -1
  144. package/dist/SimpleGrid/SimpleGrid.js.map +1 -1
  145. package/dist/SimpleGrid/styles.js.map +1 -1
  146. package/dist/Slider/Slider.js.map +1 -1
  147. package/dist/Slider/SliderInput/SliderInput.js.map +1 -1
  148. package/dist/Slider/utils.js.map +1 -1
  149. package/dist/Snackbar/Snackbar.js.map +1 -1
  150. package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  151. package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  152. package/dist/Stack/Stack.js.map +1 -1
  153. package/dist/Switch/Switch.js.map +1 -1
  154. package/dist/Tab/Tab.js.map +1 -1
  155. package/dist/Table/CellWithTooltip/index.js.map +1 -1
  156. package/dist/Table/Header/Header.js.map +1 -1
  157. package/dist/Table/NoData/index.js.map +1 -1
  158. package/dist/Table/NoData/styles.js.map +1 -1
  159. package/dist/Table/Table.js +19 -22
  160. package/dist/Table/Table.js.map +1 -1
  161. package/dist/Table/columnUtils.js.map +1 -1
  162. package/dist/Table/selectTable.js.map +1 -1
  163. package/dist/Table/styles.js.map +1 -1
  164. package/dist/Tabs/Tabs.js.map +1 -1
  165. package/dist/Tag/Tag.js.map +1 -1
  166. package/dist/Tag/styles.js.map +1 -1
  167. package/dist/TagsInput/TagsInput.js.map +1 -1
  168. package/dist/TextArea/TextArea.js.map +1 -1
  169. package/dist/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
  170. package/dist/TimePicker/PeriodPicker/index.js.map +1 -1
  171. package/dist/TimePicker/TimePicker.js.map +1 -1
  172. package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
  173. package/dist/TimePicker/UnitTimePicker/index.js.map +1 -1
  174. package/dist/TimePicker/timePickerConverter.js.map +1 -1
  175. package/dist/TimePicker/timePickerFormatter.js.map +1 -1
  176. package/dist/TimePicker/timePickerUtils.js.map +1 -1
  177. package/dist/ToggleButton/ToggleButton.js.map +1 -1
  178. package/dist/Tooltip/Tooltip.js.map +1 -1
  179. package/dist/Typography/Typography.js.map +1 -1
  180. package/dist/UserPreferences/Action/Action.js.map +1 -1
  181. package/dist/UserPreferences/Action/styles.js.map +1 -1
  182. package/dist/UserPreferences/Actions/Actions.js.map +1 -1
  183. package/dist/UserPreferences/Options/Group/Group.js.map +1 -1
  184. package/dist/UserPreferences/Options/Label/Label.js.map +1 -1
  185. package/dist/UserPreferences/Options/Option.js.map +1 -1
  186. package/dist/UserPreferences/Options/Options.js.map +1 -1
  187. package/dist/UserPreferences/Options/OptionsContext.js.map +1 -1
  188. package/dist/UserPreferences/Options/styles.js.map +1 -1
  189. package/dist/UserPreferences/UserPreferences.js.map +1 -1
  190. package/dist/VerticalNavigation/Actions/Action.js.map +1 -1
  191. package/dist/VerticalNavigation/Actions/Actions.js.map +1 -1
  192. package/dist/VerticalNavigation/Navigation/Navigation.js +0 -1
  193. package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  194. package/dist/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  195. package/dist/VerticalNavigation/TreeView/TreeViewContexts.js.map +1 -1
  196. package/dist/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
  197. package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  198. package/dist/VerticalNavigation/TreeView/descendants.js.map +1 -1
  199. package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
  200. package/dist/VerticalNavigation/VerticalNavigation.js.map +1 -1
  201. package/dist/legacy/List/List.js +23 -19
  202. package/dist/legacy/List/List.js.map +1 -1
  203. package/dist/legacy/Table/Table.js +20 -23
  204. package/dist/legacy/Table/Table.js.map +1 -1
  205. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +0 -1
  206. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  207. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
  208. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  209. package/dist/legacy/utils/ConditionalRenderer.js +1 -0
  210. package/dist/legacy/utils/ConditionalRenderer.js.map +1 -1
  211. package/dist/modern/List/List.js +25 -24
  212. package/dist/modern/List/List.js.map +1 -1
  213. package/dist/modern/Table/Table.js +20 -23
  214. package/dist/modern/Table/Table.js.map +1 -1
  215. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +1 -1
  216. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  217. package/dist/modern/utils/ConditionalRenderer.js +1 -0
  218. package/dist/modern/utils/ConditionalRenderer.js.map +1 -1
  219. package/dist/theme/CssBaseline.js.map +1 -1
  220. package/dist/theme/ScopedCssBaseline.js.map +1 -1
  221. package/dist/theme/createGenerateClassName.js.map +1 -1
  222. package/dist/theme/index.js.map +1 -1
  223. package/dist/theme/overrides/muiButton.js.map +1 -1
  224. package/dist/theme/palette.js.map +1 -1
  225. package/dist/theme/typography.js.map +1 -1
  226. package/dist/useUniqueId.js.map +1 -1
  227. package/dist/utils/ConditionalRenderer.js +1 -0
  228. package/dist/utils/ConditionalRenderer.js.map +1 -1
  229. package/dist/utils/browser.js.map +1 -1
  230. package/dist/utils/hexToRgbA.js.map +1 -1
  231. package/dist/utils/refType.js.map +1 -1
  232. package/dist/utils/setId.js.map +1 -1
  233. package/dist/utils/useComputation.js.map +1 -1
  234. package/dist/utils/useDeprecated.js.map +1 -1
  235. package/dist/utils/useImageLoaded.js.map +1 -1
  236. package/dist/utils/useIsMounted.js.map +1 -1
  237. package/dist/utils/useLabels.js.map +1 -1
  238. package/dist/utils/usePropAsRef.js.map +1 -1
  239. package/dist/utils/useSavedState.js.map +1 -1
  240. package/dist/utils/useUpdated.js.map +1 -1
  241. package/dist/utils/useWidth.js.map +1 -1
  242. package/dist/withId.js.map +1 -1
  243. package/dist/withTooltip.js.map +1 -1
  244. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"FilterContent.js","names":["FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","others","classes","filterGroupOpen","setFilterGroupOpen","FilterGroupContext","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","placeholder","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","PropTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"sources":["../../../src/FilterGroup/FilterContent/FilterContent.js"],"sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} />\n <RightPanel id={id} className={classes.rightSidePanel} labels={labels} />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n &nbsp;\n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n};\n\nexport default FilterContent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterContent.js","names":["FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","others","classes","useStyles","useState","filterGroupOpen","setFilterGroupOpen","useContext","FilterGroupContext","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","useRef","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","useMemo","placeholder","setId","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","PropTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"sources":["../../../src/FilterGroup/FilterContent/FilterContent.js"],"sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} />\n <RightPanel id={id} className={classes.rightSidePanel} labels={labels} />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n &nbsp;\n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n};\n\nexport default FilterContent;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles","theme","root","width","backgroundColor","hv","palette","atmosphere","atmo1","maxHeight","minHeight","display","spacing","height","verticalAlign","padding","margin","overflow","boxShadow","shadow","shad1","panel","actionBar","space","flex","baseDropdownSelection","header","justifyContent","leftSidePanel","rightSidePanel"],"sources":["../../../src/FilterGroup/FilterContent/styles.js"],"sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\nconst styles = makeStyles((theme) => ({\n root: {\n width: 640,\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n maxHeight: \"calc(500px - 75px)\",\n minHeight: \"calc(370px - 75px)\",\n \"& div$leftSidePanel\": {\n display: \"inline-block\",\n width: `calc(50% - ${theme.spacing(\"sm\")}px - ${theme.spacing(\"sm\")}px + 8px)`,\n height: `calc(100% - ${theme.spacing(\"sm\")}px - ${theme.spacing(\"sm\")}px + 8px)`,\n verticalAlign: \"top\",\n maxHeight: \"calc(500px - 75px)\",\n minHeight: \"calc(370px - 75px)\",\n padding: 4,\n margin: theme.spacing(\"sm\") - 4,\n },\n \"& div$rightSidePanel\": {\n display: \"inline-block\",\n width: \"50%\",\n height: \"100%\",\n maxHeight: \"calc(500px - 75px)\",\n minHeight: \"calc(370px - 75px)\",\n verticalAlign: \"top\",\n overflow: \"visible\",\n boxShadow: `inset 8px 0 8px -6px ${theme.hv.palette.shadow.shad1}`,\n },\n },\n panel: {\n maxHeight: 500,\n minHeight: 370,\n },\n actionBar: {\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n },\n space: {\n flex: 1,\n },\n baseDropdownSelection: {\n padding: \"0 30px 0 0\",\n },\n header: {\n display: \"flex\",\n justifyContent: \"space-between\",\n height: 32,\n },\n leftSidePanel: {},\n rightSidePanel: {},\n}));\n\nexport default styles;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAG,sBAAW,UAACC,KAAD;EAAA,OAAY;IACpCC,IAAI,EAAE;MACJC,KAAK,EAAE,GADH;MAEJC,eAAe,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAFzC;MAGJC,SAAS,EAAE,oBAHP;MAIJC,SAAS,EAAE,oBAJP;MAKJ,uBAAuB;QACrBC,OAAO,EAAE,cADY;QAErBR,KAAK,uBAAgBF,KAAK,CAACW,OAAN,CAAc,IAAd,CAAhB,kBAA2CX,KAAK,CAACW,OAAN,CAAc,IAAd,CAA3C,cAFgB;QAGrBC,MAAM,wBAAiBZ,KAAK,CAACW,OAAN,CAAc,IAAd,CAAjB,kBAA4CX,KAAK,CAACW,OAAN,CAAc,IAAd,CAA5C,cAHe;QAIrBE,aAAa,EAAE,KAJM;QAKrBL,SAAS,EAAE,oBALU;QAMrBC,SAAS,EAAE,oBANU;QAOrBK,OAAO,EAAE,CAPY;QAQrBC,MAAM,EAAEf,KAAK,CAACW,OAAN,CAAc,IAAd,IAAsB;MART,CALnB;MAeJ,wBAAwB;QACtBD,OAAO,EAAE,cADa;QAEtBR,KAAK,EAAE,KAFe;QAGtBU,MAAM,EAAE,MAHc;QAItBJ,SAAS,EAAE,oBAJW;QAKtBC,SAAS,EAAE,oBALW;QAMtBI,aAAa,EAAE,KANO;QAOtBG,QAAQ,EAAE,SAPY;QAQtBC,SAAS,iCAA0BjB,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBa,MAAjB,CAAwBC,KAAlD;MARa;IAfpB,CAD8B;IA2BpCC,KAAK,EAAE;MACLZ,SAAS,EAAE,GADN;MAELC,SAAS,EAAE;IAFN,CA3B6B;IA+BpCY,SAAS,EAAE;MACTlB,eAAe,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC;IADpC,CA/ByB;IAkCpCe,KAAK,EAAE;MACLC,IAAI,EAAE;IADD,CAlC6B;IAqCpCC,qBAAqB,EAAE;MACrBV,OAAO,EAAE;IADY,CArCa;IAwCpCW,MAAM,EAAE;MACNf,OAAO,EAAE,MADH;MAENgB,cAAc,EAAE,eAFV;MAGNd,MAAM,EAAE;IAHF,CAxC4B;IA6CpCe,aAAa,EAAE,EA7CqB;IA8CpCC,cAAc,EAAE;EA9CoB,CAAZ;AAAA,CAAX,CAAf;eAiDe7B,M"}
1
+ {"version":3,"file":"styles.js","names":["styles","makeStyles","theme","root","width","backgroundColor","hv","palette","atmosphere","atmo1","maxHeight","minHeight","display","spacing","height","verticalAlign","padding","margin","overflow","boxShadow","shadow","shad1","panel","actionBar","space","flex","baseDropdownSelection","header","justifyContent","leftSidePanel","rightSidePanel"],"sources":["../../../src/FilterGroup/FilterContent/styles.js"],"sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\nconst styles = makeStyles((theme) => ({\n root: {\n width: 640,\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n maxHeight: \"calc(500px - 75px)\",\n minHeight: \"calc(370px - 75px)\",\n \"& div$leftSidePanel\": {\n display: \"inline-block\",\n width: `calc(50% - ${theme.spacing(\"sm\")}px - ${theme.spacing(\"sm\")}px + 8px)`,\n height: `calc(100% - ${theme.spacing(\"sm\")}px - ${theme.spacing(\"sm\")}px + 8px)`,\n verticalAlign: \"top\",\n maxHeight: \"calc(500px - 75px)\",\n minHeight: \"calc(370px - 75px)\",\n padding: 4,\n margin: theme.spacing(\"sm\") - 4,\n },\n \"& div$rightSidePanel\": {\n display: \"inline-block\",\n width: \"50%\",\n height: \"100%\",\n maxHeight: \"calc(500px - 75px)\",\n minHeight: \"calc(370px - 75px)\",\n verticalAlign: \"top\",\n overflow: \"visible\",\n boxShadow: `inset 8px 0 8px -6px ${theme.hv.palette.shadow.shad1}`,\n },\n },\n panel: {\n maxHeight: 500,\n minHeight: 370,\n },\n actionBar: {\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n },\n space: {\n flex: 1,\n },\n baseDropdownSelection: {\n padding: \"0 30px 0 0\",\n },\n header: {\n display: \"flex\",\n justifyContent: \"space-between\",\n height: 32,\n },\n leftSidePanel: {},\n rightSidePanel: {},\n}));\n\nexport default styles;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAG,IAAAC,gBAAA,EAAW,UAACC,KAAD;EAAA,OAAY;IACpCC,IAAI,EAAE;MACJC,KAAK,EAAE,GADH;MAEJC,eAAe,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAFzC;MAGJC,SAAS,EAAE,oBAHP;MAIJC,SAAS,EAAE,oBAJP;MAKJ,uBAAuB;QACrBC,OAAO,EAAE,cADY;QAErBR,KAAK,uBAAgBF,KAAK,CAACW,OAAN,CAAc,IAAd,CAAhB,kBAA2CX,KAAK,CAACW,OAAN,CAAc,IAAd,CAA3C,cAFgB;QAGrBC,MAAM,wBAAiBZ,KAAK,CAACW,OAAN,CAAc,IAAd,CAAjB,kBAA4CX,KAAK,CAACW,OAAN,CAAc,IAAd,CAA5C,cAHe;QAIrBE,aAAa,EAAE,KAJM;QAKrBL,SAAS,EAAE,oBALU;QAMrBC,SAAS,EAAE,oBANU;QAOrBK,OAAO,EAAE,CAPY;QAQrBC,MAAM,EAAEf,KAAK,CAACW,OAAN,CAAc,IAAd,IAAsB;MART,CALnB;MAeJ,wBAAwB;QACtBD,OAAO,EAAE,cADa;QAEtBR,KAAK,EAAE,KAFe;QAGtBU,MAAM,EAAE,MAHc;QAItBJ,SAAS,EAAE,oBAJW;QAKtBC,SAAS,EAAE,oBALW;QAMtBI,aAAa,EAAE,KANO;QAOtBG,QAAQ,EAAE,SAPY;QAQtBC,SAAS,iCAA0BjB,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBa,MAAjB,CAAwBC,KAAlD;MARa;IAfpB,CAD8B;IA2BpCC,KAAK,EAAE;MACLZ,SAAS,EAAE,GADN;MAELC,SAAS,EAAE;IAFN,CA3B6B;IA+BpCY,SAAS,EAAE;MACTlB,eAAe,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC;IADpC,CA/ByB;IAkCpCe,KAAK,EAAE;MACLC,IAAI,EAAE;IADD,CAlC6B;IAqCpCC,qBAAqB,EAAE;MACrBV,OAAO,EAAE;IADY,CArCa;IAwCpCW,MAAM,EAAE;MACNf,OAAO,EAAE,MADH;MAENgB,cAAc,EAAE,eAFV;MAGNd,MAAM,EAAE;IAHF,CAxC4B;IA6CpCe,aAAa,EAAE,EA7CqB;IA8CpCC,cAAc,EAAE;EA9CoB,CAAZ;AAAA,CAAX,CAAf;eAiDe9B,M"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterGroup.js","names":["DEFAULT_LABELS","applyLabel","cancelLabel","clearLabel","placeholder","searchBoxPlaceholder","selectAll","multiSelectionConjunction","HvFilterGroup","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","status","statusMessage","labelsProp","labels","defaultValue","value","filters","horizontalPlacement","disablePortal","escapeWithReference","height","filterContentProps","others","classes","validationMessage","elementId","hasLabel","hasDescription","canShowError","undefined","root","labelContainer","error","propTypes","PropTypes","string","node","bool","oneOf","func","shape","arrayOf","isRequired","data","oneOfType","number","object","expanded"],"sources":["../../src/FilterGroup/FilterGroup.js"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { FilterGroupProvider } from \"./FilterGroupContext\";\nimport FilterContent from \"./FilterContent\";\nimport useStyles from \"./styles\";\nimport {\n setId,\n useLabels,\n useUniqueId,\n useControlled,\n HvFormElement,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n} from \"..\";\n\nconst DEFAULT_LABELS = {\n applyLabel: \"Apply\",\n cancelLabel: \"Cancel\",\n clearLabel: \"Clear Filters\",\n placeholder: \"Filters\",\n searchBoxPlaceholder: \"Search\",\n selectAll: \"All\",\n multiSelectionConjunction: \"/\",\n};\n\n/**\n * This component implements one potential use-case of the Filter Group pattern Design System Specifies.\n * Due to the enormous variety of capabilities required for this, we strongly recommend checking the code of the component and extend it yourself,\n * while we do not provide a better approach for building this component with smaller and more composable parts.\n */\nconst HvFilterGroup = ({\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n status,\n statusMessage,\n\n labels: labelsProp,\n\n defaultValue,\n value,\n filters,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height = 350,\n filterContentProps,\n\n ...others\n}) => {\n const classes = useStyles();\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const elementId = useUniqueId(id, \"hvfiltergroup\");\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n // error message area will only be needed if the status is being controlled\n // or if required is true\n const canShowError = status !== undefined || required;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={value}\n status={status}\n disabled={disabled}\n required={required}\n className={clsx(className, classes.root)}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <FilterGroupProvider defaultValue={defaultValue} value={value} filters={filters}>\n <FilterContent\n id={elementId}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n escapeWithReference={escapeWithReference}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n status={status}\n onChange={onChange}\n onCancel={onCancel}\n onClear={onClear}\n labels={labels}\n height={height}\n {...filterContentProps}\n />\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </FilterGroupProvider>\n </HvFormElement>\n );\n};\n\nHvFilterGroup.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * The error message to show when `status` is \"invalid\". Defaults to \"Required\".\n */\n statusMessage: PropTypes.node,\n\n /**\n * The callback fired when the value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * The callback fired when the cancel button is clicked.\n */\n onCancel: PropTypes.func,\n\n /**\n * The callback fired when the clear filters button is clicked.\n */\n onClear: PropTypes.func,\n\n /**\n * An object containing all the labels for the Filter Group.\n */\n labels: PropTypes.shape({\n /**\n * Apply button label.\n */\n applyLabel: PropTypes.string,\n /**\n * Cancel button label.\n */\n cancelLabel: PropTypes.string,\n /**\n * Clear Filters button label.\n */\n clearLabel: PropTypes.string,\n /**\n * Placeholder label.\n */\n placeholder: PropTypes.string,\n /**\n * SearchBox placeholder label.\n */\n searchBoxPlaceholder: PropTypes.string,\n /**\n * Select All placeholder label.\n */\n selectAll: PropTypes.string,\n /**\n * Multi selection conjunction placeholder label.\n */\n multiSelectionConjunction: PropTypes.string,\n }),\n\n /**\n * The options of the filter group.\n */\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n name: PropTypes.string.isRequired,\n })\n ).isRequired,\n })\n ).isRequired,\n\n /**\n * The default value of the filter group.\n * If defined the clear action will reset to it.\n */\n defaultValue: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n\n /**\n * The value of the filter group.\n */\n value: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n\n /**\n * The placement where the filter group should be placed according to the input. Options are `left` or `right`.\n */\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * Sets if the filter container should be out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n\n /**\n * The Height of the filter panel, between 295 and 425. Defaults to 350\n */\n height: PropTypes.oneOf([PropTypes.number, PropTypes.string]),\n\n /**\n * The filter content props\n */\n filterContentProps: PropTypes.object,\n\n /**\n * If `true` the filter group starts opened if `false` it starts closed.\n */\n expanded: PropTypes.bool,\n};\n\nexport default HvFilterGroup;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterGroup.js","names":["DEFAULT_LABELS","applyLabel","cancelLabel","clearLabel","placeholder","searchBoxPlaceholder","selectAll","multiSelectionConjunction","HvFilterGroup","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","status","statusMessage","labelsProp","labels","defaultValue","value","filters","horizontalPlacement","disablePortal","escapeWithReference","height","filterContentProps","others","classes","useStyles","useControlled","validationMessage","elementId","useUniqueId","useLabels","hasLabel","hasDescription","canShowError","undefined","clsx","root","labelContainer","setId","error","propTypes","PropTypes","string","node","bool","oneOf","func","shape","arrayOf","isRequired","data","oneOfType","number","object","expanded"],"sources":["../../src/FilterGroup/FilterGroup.js"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { FilterGroupProvider } from \"./FilterGroupContext\";\nimport FilterContent from \"./FilterContent\";\nimport useStyles from \"./styles\";\nimport {\n setId,\n useLabels,\n useUniqueId,\n useControlled,\n HvFormElement,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n} from \"..\";\n\nconst DEFAULT_LABELS = {\n applyLabel: \"Apply\",\n cancelLabel: \"Cancel\",\n clearLabel: \"Clear Filters\",\n placeholder: \"Filters\",\n searchBoxPlaceholder: \"Search\",\n selectAll: \"All\",\n multiSelectionConjunction: \"/\",\n};\n\n/**\n * This component implements one potential use-case of the Filter Group pattern Design System Specifies.\n * Due to the enormous variety of capabilities required for this, we strongly recommend checking the code of the component and extend it yourself,\n * while we do not provide a better approach for building this component with smaller and more composable parts.\n */\nconst HvFilterGroup = ({\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n status,\n statusMessage,\n\n labels: labelsProp,\n\n defaultValue,\n value,\n filters,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height = 350,\n filterContentProps,\n\n ...others\n}) => {\n const classes = useStyles();\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const elementId = useUniqueId(id, \"hvfiltergroup\");\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n // error message area will only be needed if the status is being controlled\n // or if required is true\n const canShowError = status !== undefined || required;\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={value}\n status={status}\n disabled={disabled}\n required={required}\n className={clsx(className, classes.root)}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel\n id={setId(elementId, \"label\")}\n htmlFor={setId(elementId, \"input\")}\n label={label}\n className={classes.label}\n />\n )}\n\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <FilterGroupProvider defaultValue={defaultValue} value={value} filters={filters}>\n <FilterContent\n id={elementId}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n escapeWithReference={escapeWithReference}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n status={status}\n onChange={onChange}\n onCancel={onCancel}\n onClear={onClear}\n labels={labels}\n height={height}\n {...filterContentProps}\n />\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </FilterGroupProvider>\n </HvFormElement>\n );\n};\n\nHvFilterGroup.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * The error message to show when `status` is \"invalid\". Defaults to \"Required\".\n */\n statusMessage: PropTypes.node,\n\n /**\n * The callback fired when the value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * The callback fired when the cancel button is clicked.\n */\n onCancel: PropTypes.func,\n\n /**\n * The callback fired when the clear filters button is clicked.\n */\n onClear: PropTypes.func,\n\n /**\n * An object containing all the labels for the Filter Group.\n */\n labels: PropTypes.shape({\n /**\n * Apply button label.\n */\n applyLabel: PropTypes.string,\n /**\n * Cancel button label.\n */\n cancelLabel: PropTypes.string,\n /**\n * Clear Filters button label.\n */\n clearLabel: PropTypes.string,\n /**\n * Placeholder label.\n */\n placeholder: PropTypes.string,\n /**\n * SearchBox placeholder label.\n */\n searchBoxPlaceholder: PropTypes.string,\n /**\n * Select All placeholder label.\n */\n selectAll: PropTypes.string,\n /**\n * Multi selection conjunction placeholder label.\n */\n multiSelectionConjunction: PropTypes.string,\n }),\n\n /**\n * The options of the filter group.\n */\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n name: PropTypes.string.isRequired,\n })\n ).isRequired,\n })\n ).isRequired,\n\n /**\n * The default value of the filter group.\n * If defined the clear action will reset to it.\n */\n defaultValue: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n\n /**\n * The value of the filter group.\n */\n value: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n\n /**\n * The placement where the filter group should be placed according to the input. Options are `left` or `right`.\n */\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * Sets if the filter container should be out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n\n /**\n * The Height of the filter panel, between 295 and 425. Defaults to 350\n */\n height: PropTypes.oneOf([PropTypes.number, PropTypes.string]),\n\n /**\n * The filter content props\n */\n filterContentProps: PropTypes.object,\n\n /**\n * If `true` the filter group starts opened if `false` it starts closed.\n */\n expanded: PropTypes.bool,\n};\n\nexport default HvFilterGroup;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterGroupContext.js","names":["FilterGroupContext","React","createContext","activeGroup","setActiveGroup","filterOptions","setFilterOptions","filterValues","setFilterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","groups","filters","map","FilterGroupProvider","defaultValue","value","children","group","appliedFilters","setApplyDisabled","contextValue","propTypes","PropTypes","arrayOf","oneOfType","string","number","shape","id","isRequired","name","data","node"],"sources":["../../src/FilterGroup/FilterGroupContext.js"],"sourcesContent":["import React, { useState, useEffect, useMemo, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isEqual from \"lodash/isEqual\";\nimport { useSavedState } from \"../utils\";\n\nexport const FilterGroupContext = React.createContext({\n activeGroup: 0,\n setActiveGroup: () => {},\n filterOptions: [],\n setFilterOptions: () => {},\n filterValues: [],\n setFilterValues: () => {},\n rollbackFilters: () => {},\n clearFilters: () => {},\n applyFilters: () => {},\n applyDisabled: false,\n});\n\nconst groups = (filters) => filters.map(() => []);\n\nexport const FilterGroupProvider = ({ defaultValue, value, filters, children }) => {\n const [group, setActiveGroup] = useState(0);\n const [filterValues, setFilterValues, rollbackFilters, appliedFilters] = useSavedState(\n value || groups(filters)\n );\n const [applyDisabled, setApplyDisabled] = useState(false);\n\n useEffect(() => {\n setFilterValues(value, true);\n }, [value, setFilterValues]);\n\n useEffect(() => {\n setApplyDisabled(isEqual(filterValues, appliedFilters));\n }, [filterValues, appliedFilters]);\n\n const clearFilters = useCallback(() => {\n setFilterValues(defaultValue || groups(filters));\n }, [filters, setFilterValues, defaultValue]);\n\n const applyFilters = useCallback(() => {\n setFilterValues(filterValues, true);\n }, [filterValues, setFilterValues]);\n\n const contextValue = useMemo(\n () => ({\n activeGroup: group,\n setActiveGroup,\n filterOptions: filters,\n filterValues,\n setFilterValues,\n appliedFilters,\n rollbackFilters,\n clearFilters,\n applyFilters,\n applyDisabled,\n defaultValue,\n }),\n [\n appliedFilters,\n applyDisabled,\n applyFilters,\n clearFilters,\n filterValues,\n filters,\n group,\n rollbackFilters,\n setFilterValues,\n defaultValue,\n ]\n );\n\n return <FilterGroupContext.Provider value={contextValue}>{children}</FilterGroupContext.Provider>;\n};\n\nFilterGroupProvider.propTypes = {\n defaultValue: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n value: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n name: PropTypes.string.isRequired,\n })\n ).isRequired,\n })\n ),\n children: PropTypes.node.isRequired,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterGroupContext.js","names":["FilterGroupContext","React","createContext","activeGroup","setActiveGroup","filterOptions","setFilterOptions","filterValues","setFilterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","groups","filters","map","FilterGroupProvider","defaultValue","value","children","useState","group","useSavedState","appliedFilters","setApplyDisabled","useEffect","isEqual","useCallback","contextValue","useMemo","propTypes","PropTypes","arrayOf","oneOfType","string","number","shape","id","isRequired","name","data","node"],"sources":["../../src/FilterGroup/FilterGroupContext.js"],"sourcesContent":["import React, { useState, useEffect, useMemo, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isEqual from \"lodash/isEqual\";\nimport { useSavedState } from \"../utils\";\n\nexport const FilterGroupContext = React.createContext({\n activeGroup: 0,\n setActiveGroup: () => {},\n filterOptions: [],\n setFilterOptions: () => {},\n filterValues: [],\n setFilterValues: () => {},\n rollbackFilters: () => {},\n clearFilters: () => {},\n applyFilters: () => {},\n applyDisabled: false,\n});\n\nconst groups = (filters) => filters.map(() => []);\n\nexport const FilterGroupProvider = ({ defaultValue, value, filters, children }) => {\n const [group, setActiveGroup] = useState(0);\n const [filterValues, setFilterValues, rollbackFilters, appliedFilters] = useSavedState(\n value || groups(filters)\n );\n const [applyDisabled, setApplyDisabled] = useState(false);\n\n useEffect(() => {\n setFilterValues(value, true);\n }, [value, setFilterValues]);\n\n useEffect(() => {\n setApplyDisabled(isEqual(filterValues, appliedFilters));\n }, [filterValues, appliedFilters]);\n\n const clearFilters = useCallback(() => {\n setFilterValues(defaultValue || groups(filters));\n }, [filters, setFilterValues, defaultValue]);\n\n const applyFilters = useCallback(() => {\n setFilterValues(filterValues, true);\n }, [filterValues, setFilterValues]);\n\n const contextValue = useMemo(\n () => ({\n activeGroup: group,\n setActiveGroup,\n filterOptions: filters,\n filterValues,\n setFilterValues,\n appliedFilters,\n rollbackFilters,\n clearFilters,\n applyFilters,\n applyDisabled,\n defaultValue,\n }),\n [\n appliedFilters,\n applyDisabled,\n applyFilters,\n clearFilters,\n filterValues,\n filters,\n group,\n rollbackFilters,\n setFilterValues,\n defaultValue,\n ]\n );\n\n return <FilterGroupContext.Provider value={contextValue}>{children}</FilterGroupContext.Provider>;\n};\n\nFilterGroupProvider.propTypes = {\n defaultValue: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n value: PropTypes.arrayOf(\n PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))\n ),\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n name: PropTypes.string.isRequired,\n })\n ).isRequired,\n })\n ),\n children: PropTypes.node.isRequired,\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LeftPanel.js","names":["LeftPanel","id","className","classes","FilterGroupContext","filterOptions","activeGroup","setActiveGroup","root","map","group","index","ItemText","name","filterItem","propTypes","PropTypes","string"],"sources":["../../../src/FilterGroup/LeftPanel/LeftPanel.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { HvPanel, HvListContainer, HvListItem, setId } from \"../..\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport Counter from \"../Counter\";\nimport useStyles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst LeftPanel = ({ id, className }) => {\n const classes = useStyles();\n const { filterOptions, activeGroup, setActiveGroup } = useContext(FilterGroupContext);\n\n return (\n <HvPanel id={setId(id, \"leftPanel\")} className={clsx(className, classes.root)}>\n <HvListContainer id={setId(id, \"leftPanel-list\")} condensed interactive>\n {filterOptions.map((group, index) => {\n const ItemText = wrapperTooltip(true, group.name, group.name);\n return (\n <HvListItem\n id={group.id}\n className={classes.filterItem}\n key={group.name}\n onClick={() => setActiveGroup(index)}\n selected={filterOptions[activeGroup].id === group.id}\n endAdornment={<Counter id={group.id} />}\n >\n <ItemText />\n </HvListItem>\n );\n })}\n </HvListContainer>\n </HvPanel>\n );\n};\n\nLeftPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default LeftPanel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,OAAuB;EAAA,IAApBC,EAAoB,QAApBA,EAAoB;EAAA,IAAhBC,SAAgB,QAAhBA,SAAgB;EACvC,IAAMC,OAAO,GAAG,sBAAhB;;EACA,kBAAuD,uBAAWC,sCAAX,CAAvD;EAAA,IAAQC,aAAR,eAAQA,aAAR;EAAA,IAAuBC,WAAvB,eAAuBA,WAAvB;EAAA,IAAoCC,cAApC,eAAoCA,cAApC;;EAEA,oBACE,6BAAC,SAAD;IAAS,EAAE,EAAE,aAAMN,EAAN,EAAU,WAAV,CAAb;IAAqC,SAAS,EAAE,mBAAKC,SAAL,EAAgBC,OAAO,CAACK,IAAxB;EAAhD,gBACE,6BAAC,iBAAD;IAAiB,EAAE,EAAE,aAAMP,EAAN,EAAU,gBAAV,CAArB;IAAkD,SAAS,MAA3D;IAA4D,WAAW;EAAvE,GACGI,aAAa,CAACI,GAAd,CAAkB,UAACC,KAAD,EAAQC,KAAR,EAAkB;IACnC,IAAMC,QAAQ,GAAG,2BAAe,IAAf,EAAqBF,KAAK,CAACG,IAA3B,EAAiCH,KAAK,CAACG,IAAvC,CAAjB;IACA,oBACE,6BAAC,YAAD;MACE,EAAE,EAAEH,KAAK,CAACT,EADZ;MAEE,SAAS,EAAEE,OAAO,CAACW,UAFrB;MAGE,GAAG,EAAEJ,KAAK,CAACG,IAHb;MAIE,OAAO,EAAE;QAAA,OAAMN,cAAc,CAACI,KAAD,CAApB;MAAA,CAJX;MAKE,QAAQ,EAAEN,aAAa,CAACC,WAAD,CAAb,CAA2BL,EAA3B,KAAkCS,KAAK,CAACT,EALpD;MAME,YAAY,eAAE,6BAAC,gBAAD;QAAS,EAAE,EAAES,KAAK,CAACT;MAAnB;IANhB,gBAQE,6BAAC,QAAD,OARF,CADF;EAYD,CAdA,CADH,CADF,CADF;AAqBD,CAzBD;;AA2BA,wCAAAD,SAAS,CAACe,SAAV,GAAsB;EACpBd,EAAE,EAAEe,mBAAUC,MADM;EAEpBf,SAAS,EAAEc,mBAAUC;AAFD,CAAtB;eAKejB,S"}
1
+ {"version":3,"file":"LeftPanel.js","names":["LeftPanel","id","className","classes","useStyles","useContext","FilterGroupContext","filterOptions","activeGroup","setActiveGroup","setId","clsx","root","map","group","index","ItemText","wrapperTooltip","name","filterItem","propTypes","PropTypes","string"],"sources":["../../../src/FilterGroup/LeftPanel/LeftPanel.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { HvPanel, HvListContainer, HvListItem, setId } from \"../..\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport Counter from \"../Counter\";\nimport useStyles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst LeftPanel = ({ id, className }) => {\n const classes = useStyles();\n const { filterOptions, activeGroup, setActiveGroup } = useContext(FilterGroupContext);\n\n return (\n <HvPanel id={setId(id, \"leftPanel\")} className={clsx(className, classes.root)}>\n <HvListContainer id={setId(id, \"leftPanel-list\")} condensed interactive>\n {filterOptions.map((group, index) => {\n const ItemText = wrapperTooltip(true, group.name, group.name);\n return (\n <HvListItem\n id={group.id}\n className={classes.filterItem}\n key={group.name}\n onClick={() => setActiveGroup(index)}\n selected={filterOptions[activeGroup].id === group.id}\n endAdornment={<Counter id={group.id} />}\n >\n <ItemText />\n </HvListItem>\n );\n })}\n </HvListContainer>\n </HvPanel>\n );\n};\n\nLeftPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default LeftPanel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY,OAAuB;EAAA,IAApBC,EAAoB,QAApBA,EAAoB;EAAA,IAAhBC,SAAgB,QAAhBA,SAAgB;EACvC,IAAMC,OAAO,GAAG,IAAAC,eAAA,GAAhB;;EACA,kBAAuD,IAAAC,iBAAA,EAAWC,sCAAX,CAAvD;EAAA,IAAQC,aAAR,eAAQA,aAAR;EAAA,IAAuBC,WAAvB,eAAuBA,WAAvB;EAAA,IAAoCC,cAApC,eAAoCA,cAApC;;EAEA,oBACE,6BAAC,SAAD;IAAS,EAAE,EAAE,IAAAC,OAAA,EAAMT,EAAN,EAAU,WAAV,CAAb;IAAqC,SAAS,EAAE,IAAAU,aAAA,EAAKT,SAAL,EAAgBC,OAAO,CAACS,IAAxB;EAAhD,gBACE,6BAAC,iBAAD;IAAiB,EAAE,EAAE,IAAAF,OAAA,EAAMT,EAAN,EAAU,gBAAV,CAArB;IAAkD,SAAS,MAA3D;IAA4D,WAAW;EAAvE,GACGM,aAAa,CAACM,GAAd,CAAkB,UAACC,KAAD,EAAQC,KAAR,EAAkB;IACnC,IAAMC,QAAQ,GAAG,IAAAC,qBAAA,EAAe,IAAf,EAAqBH,KAAK,CAACI,IAA3B,EAAiCJ,KAAK,CAACI,IAAvC,CAAjB;IACA,oBACE,6BAAC,YAAD;MACE,EAAE,EAAEJ,KAAK,CAACb,EADZ;MAEE,SAAS,EAAEE,OAAO,CAACgB,UAFrB;MAGE,GAAG,EAAEL,KAAK,CAACI,IAHb;MAIE,OAAO,EAAE;QAAA,OAAMT,cAAc,CAACM,KAAD,CAApB;MAAA,CAJX;MAKE,QAAQ,EAAER,aAAa,CAACC,WAAD,CAAb,CAA2BP,EAA3B,KAAkCa,KAAK,CAACb,EALpD;MAME,YAAY,eAAE,6BAAC,gBAAD;QAAS,EAAE,EAAEa,KAAK,CAACb;MAAnB;IANhB,gBAQE,6BAAC,QAAD,OARF,CADF;EAYD,CAdA,CADH,CADF,CADF;AAqBD,CAzBD;;AA2BA,wCAAAD,SAAS,CAACoB,SAAV,GAAsB;EACpBnB,EAAE,EAAEoB,kBAAA,CAAUC,MADM;EAEpBpB,SAAS,EAAEmB,kBAAA,CAAUC;AAFD,CAAtB;eAKetB,S"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles","root","display","justifyContent","filterItem"],"sources":["../../../src/FilterGroup/LeftPanel/styles.js"],"sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\n// accommodating the focus outline space with extra 4px\n\nconst styles = makeStyles(() => ({\n root: {\n \"& $filterItem\": {\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n },\n filterItem: {},\n}));\n\nexport default styles;\n"],"mappings":";;;;;;;AAAA;;AAEA;AAEA,IAAMA,MAAM,GAAG,sBAAW;EAAA,OAAO;IAC/BC,IAAI,EAAE;MACJ,iBAAiB;QACfC,OAAO,EAAE,MADM;QAEfC,cAAc,EAAE;MAFD;IADb,CADyB;IAO/BC,UAAU,EAAE;EAPmB,CAAP;AAAA,CAAX,CAAf;eAUeJ,M"}
1
+ {"version":3,"file":"styles.js","names":["styles","makeStyles","root","display","justifyContent","filterItem"],"sources":["../../../src/FilterGroup/LeftPanel/styles.js"],"sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\n// accommodating the focus outline space with extra 4px\n\nconst styles = makeStyles(() => ({\n root: {\n \"& $filterItem\": {\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n },\n filterItem: {},\n}));\n\nexport default styles;\n"],"mappings":";;;;;;;AAAA;;AAEA;AAEA,IAAMA,MAAM,GAAG,IAAAC,gBAAA,EAAW;EAAA,OAAO;IAC/BC,IAAI,EAAE;MACJ,iBAAiB;QACfC,OAAO,EAAE,MADM;QAEfC,cAAc,EAAE;MAFD;IADb,CADyB;IAO/BC,UAAU,EAAE;EAPmB,CAAP;AAAA,CAAX,CAAf;eAUeL,M"}
@@ -1 +1 @@
1
- {"version":3,"file":"RightPanel.js","names":["RightPanel","id","className","labels","classes","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","FilterGroupContext","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","nbrSelected","length","hasSelection","allSelect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","container","selection","root","search","searchBoxPlaceholder","event","str","list","propTypes","PropTypes","string","shape"],"sources":["../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => filterOptions[activeGroup].data.map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n filterOptions[activeGroup].data.map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n};\n\nexport default RightPanel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,OAA+B;EAAA,IAA5BC,EAA4B,QAA5BA,EAA4B;EAAA,IAAxBC,SAAwB,QAAxBA,SAAwB;EAAA,IAAbC,MAAa,QAAbA,MAAa;EAChD,IAAMC,OAAO,GAAG,sBAAhB;;EACA,gBAAkC,qBAAS,EAAT,CAAlC;EAAA;EAAA,IAAOC,SAAP;EAAA,IAAkBC,YAAlB;;EACA,iBAAsC,qBAAS,KAAT,CAAtC;EAAA;EAAA,IAAOC,WAAP;EAAA,IAAoBC,cAApB;;EACA,iBAAsC,qBAAS,KAAT,CAAtC;EAAA;EAAA,IAAOC,WAAP;EAAA,IAAoBC,cAApB;;EAEA,kBAKI,uBAAWC,sCAAX,CALJ;EAAA,IACEC,aADF,eACEA,aADF;EAAA,wCAEEC,YAFF;EAAA,IAEEA,YAFF,sCAEiB,EAFjB;EAAA,IAGEC,eAHF,eAGEA,eAHF;EAAA,IAIEC,WAJF,eAIEA,WAJF;;EAOA,IAAMC,kBAAkB,GAAG,oBACzB;IAAA,OAAMJ,aAAa,CAACG,WAAD,CAAb,CAA2BE,IAA3B,CAAgCC,GAAhC,CAAoC,UAACC,MAAD;MAAA,OAAYA,MAAM,CAAClB,EAAnB;IAAA,CAApC,CAAN;EAAA,CADyB,EAEzB,CAACW,aAAD,EAAgBG,WAAhB,CAFyB,CAA3B;EAKA,IAAMK,kBAAkB,GAAG,oBACzB;IAAA;;IAAA,gCAAMP,YAAY,CAACE,WAAD,CAAlB,0DAAM,sBAA2BM,MAA3B,CAAkC,UAACC,KAAD;MAAA,OAAWN,kBAAkB,CAACO,QAAnB,CAA4BD,KAA5B,CAAX;IAAA,CAAlC,CAAN;EAAA,CADyB,EAEzB,CAACT,YAAD,EAAeG,kBAAf,EAAmCD,WAAnC,CAFyB,CAA3B;EAKA,IAAMS,UAAU,GAAG,oBACjB;IAAA,OACEZ,aAAa,CAACG,WAAD,CAAb,CAA2BE,IAA3B,CAAgCC,GAAhC,CAAoC,UAACC,MAAD;MAAA;;MAAA,uCAC/BA,MAD+B;QAElCM,KAAK,EAAEN,MAAM,CAACO,IAFoB;QAGlCC,QAAQ,4BAAEd,YAAY,CAACE,WAAD,CAAd,2DAAE,uBAA2BQ,QAA3B,CAAoCJ,MAAM,CAAClB,EAA3C,CAHwB;QAIlC2B,QAAQ,EAAET,MAAM,CAACO,IAAP,CAAYG,WAAZ,GAA0BC,OAA1B,CAAkCzB,SAAS,CAACwB,WAAV,EAAlC,IAA6D;MAJrC;IAAA,CAApC,CADF;EAAA,CADiB,EAQjB,CAACjB,aAAD,EAAgBC,YAAhB,EAA8BE,WAA9B,EAA2CV,SAA3C,CARiB,CAAnB;EAWA,IAAM0B,eAAe,GAAG,wBAAY,YAAM;IACxC,IAAMC,WAAW,GAAGZ,kBAAH,aAAGA,kBAAH,uBAAGA,kBAAkB,CAAEa,MAAxC;IACA,IAAMC,YAAY,GAAGF,WAAW,GAAG,CAAnC;IACA,IAAMG,SAAS,GAAGH,WAAW,KAAKhB,kBAAkB,CAACiB,MAArD;IAEAvB,cAAc,CAACwB,YAAD,CAAd;IACA1B,cAAc,CAAC0B,YAAY,IAAIC,SAAjB,CAAd;EACD,CAPuB,EAOrB,CAACf,kBAAD,EAAqBJ,kBAArB,CAPqB,CAAxB;EASA,sBAAU,YAAM;IACde,eAAe;EAChB,CAFD,EAEG,CAACX,kBAAD,EAAqBW,eAArB,CAFH;EAIA,sBAAU;IAAA,OAAMzB,YAAY,CAAC,EAAD,CAAlB;EAAA,CAAV,EAAkC,CAACS,WAAD,CAAlC;;EAEA,IAAMqB,eAAe,GAAG,SAAlBA,eAAkB,CAACC,MAAD,EAAY;IAClC,IAAMC,eAAe,GAAG1B,aAAa,CAACM,GAAd,CAAkB,UAACC,MAAD,EAASoB,CAAT;MAAA,OACxCxB,WAAW,KAAKwB,CAAhB,GACIF,MAAM,CAAChB,MAAP,CAAc,UAACmB,CAAD;QAAA,OAAOA,CAAC,CAACb,QAAT;MAAA,CAAd,EAAiCT,GAAjC,CAAqC,UAACsB,CAAD;QAAA,OAAOA,CAAC,CAACvC,EAAT;MAAA,CAArC,CADJ,oCAESY,YAAY,CAAC0B,CAAD,CAAZ,IAAmB,EAF5B,CADwC;IAAA,CAAlB,CAAxB;IAKAzB,eAAe,CAACwB,eAAD,CAAf;EACD,CAPD;;EASA,IAAMG,eAAe,GAAG,wBAAY,YAAM;IACxC,IAAMH,eAAe,GAAG,wBAAUzB,YAAV,CAAxB;IACAyB,eAAe,CAACvB,WAAD,CAAf,GAA+BN,WAAW,GAAG,EAAH,GAAQO,kBAAlD;IAEAF,eAAe,CAACwB,eAAD,CAAf;EACD,CALuB,EAKrB,CAACvB,WAAD,EAAcC,kBAAd,EAAkCP,WAAlC,EAA+CI,YAA/C,EAA6DC,eAA7D,CALqB,CAAxB;EAOA;AACF;AACA;AACA;AACA;;EACE,IAAM4B,SAAS,GAAG,wBAAY,YAAM;IAClC,IAAQC,SAAR,GAAiDxC,MAAjD,CAAQwC,SAAR;IAAA,IAAmBC,yBAAnB,GAAiDzC,MAAjD,CAAmByC,yBAAnB;IACA,IAAMZ,WAAW,GAAGZ,kBAAH,aAAGA,kBAAH,uBAAGA,kBAAkB,CAAEa,MAAxC;;IAEA,IAAMY,YAAY,gBAChB,6BAAC,cAAD;MAAc,SAAS,EAAC;IAAxB,GACGb,WAAW,GAAG,CAAd,gBACC,yEACE,wCAAIA,WAAJ,CADF,aAEOY,yBAFP,cAEoC5B,kBAAkB,CAACiB,MAFvD,EADD,gBAMC,yEACE,wCAAIU,SAAJ,CADF,cAEQ3B,kBAAkB,CAACiB,MAF3B,OAPJ,CADF;;IAgBA,oBACE;MAAK,SAAS,EAAE7B,OAAO,CAAC0C;IAAxB,gBACE,6BAAC,YAAD;MACE,EAAE,EAAE,aAAM7C,EAAN,EAAU,YAAV,CADN;MAEE,KAAK,EAAE4C,YAFT;MAGE,QAAQ,EAAE;QAAA,OAAMJ,eAAe,EAArB;MAAA,CAHZ;MAIE,OAAO,EAAE;QAAEM,SAAS,EAAE3C,OAAO,CAAC4C;MAArB,CAJX;MAKE,SAAS,EAAE5C,OAAO,CAACuC,SALrB;MAME,aAAa,EAAElC,WAAW,IAAI,CAACF,WANjC;MAOE,OAAO,EAAEA;IAPX,EADF,CADF;EAaD,CAjCiB,EAiCf,CACDa,kBADC,aACDA,kBADC,uBACDA,kBAAkB,CAAEa,MADnB,EAEDjB,kBAAkB,CAACiB,MAFlB,EAGD1B,WAHC,EAIDE,WAJC,EAKDL,OAAO,CAACuC,SALP,EAMDvC,OAAO,CAAC0C,kBANP,EAOD1C,OAAO,CAAC4C,SAPP,EAQDP,eARC,EASDxC,EATC,EAUDE,MAVC,CAjCe,CAAlB;EA8CA,oBACE,6BAAC,SAAD;IAAS,EAAE,EAAE,aAAMF,EAAN,EAAU,YAAV,CAAb;IAAsC,SAAS,EAAE,mBAAKC,SAAL,EAAgBE,OAAO,CAAC6C,IAAxB;EAAjD,gBACE,6BAAC,SAAD;IACE,EAAE,EAAE,aAAMhD,EAAN,EAAU,QAAV,CADN;IAEE,OAAO,EAAE;MACPgD,IAAI,EAAE7C,OAAO,CAAC8C;IADP,CAFX;IAKE,IAAI,EAAC,QALP;IAME,WAAW,EAAE/C,MAAM,CAACgD,oBANtB;IAOE,KAAK,EAAE9C,SAPT;IAQE,QAAQ,EAAE,kBAAC+C,KAAD,EAAQC,GAAR;MAAA,OAAgB/C,YAAY,CAAC+C,GAAD,CAA5B;IAAA;EARZ,EADF,eAWE,6BAAC,SAAD,OAXF,eAYE,6BAAC,QAAD;IACE,GAAG,EAAEtC,WADP;IAEE,EAAE,EAAE,aAAMd,EAAN,EAAU,MAAV,CAFN;IAGE,SAAS,EAAEG,OAAO,CAACkD,IAHrB;IAIE,MAAM,EAAE9B,UAJV;IAKE,WAAW,MALb;IAME,WAAW,MANb;IAOE,aAAa,EAAE,KAPjB;IAQE,QAAQ,EAAEY,eARZ;IASE,UAAU,MATZ;IAUE,SAAS,MAVX;IAWE,WAAW;EAXb,EAZF,CADF;AA4BD,CAhJD;;AAkJA,wCAAApC,UAAU,CAACuD,SAAX,GAAuB;EACrBtD,EAAE,EAAEuD,mBAAUC,MADO;EAErBvD,SAAS,EAAEsD,mBAAUC,MAFA;EAGrBtD,MAAM,EAAEqD,mBAAUE,KAAV,CAAgB;IACtBP,oBAAoB,EAAEK,mBAAUC,MADV;IAEtBd,SAAS,EAAEa,mBAAUC,MAFC;IAGtBb,yBAAyB,EAAEY,mBAAUC;EAHf,CAAhB;AAHa,CAAvB;eAUezD,U"}
1
+ {"version":3,"file":"RightPanel.js","names":["RightPanel","id","className","labels","classes","useStyles","useState","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","useContext","FilterGroupContext","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","useMemo","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","useCallback","nbrSelected","length","hasSelection","allSelect","useEffect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","cloneDeep","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","setId","container","selection","clsx","root","search","searchBoxPlaceholder","event","str","list","propTypes","PropTypes","string","shape"],"sources":["../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => filterOptions[activeGroup].data.map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n filterOptions[activeGroup].data.map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n};\n\nexport default RightPanel;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles","theme","root","width","height","overflowY","margin","padding","search","marginBottom","hvSpacing","list","hiddenOption","display","selectAllContainer","position","zIndex","selectAll"],"sources":["../../../src/FilterGroup/RightPanel/styles.js"],"sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\nconst styles = makeStyles((theme) => ({\n root: {\n \"& ul$list\": {\n width: \"calc(100% + 8px)\",\n height: \"calc(100% - 70px)\",\n overflowY: \"auto\",\n margin: -4,\n padding: 4,\n },\n },\n search: {\n marginBottom: theme.hvSpacing(\"xs\"),\n },\n list: {},\n hiddenOption: {\n display: \"none\",\n },\n selectAllContainer: {\n // prevent the focus ring to be hidden by sibling hover background\n \"&\": {\n position: \"relative\",\n zIndex: 0,\n },\n \"&:focus-within\": {\n zIndex: 1,\n },\n // IE fallback code (using focus-within-polyfill)\n \"&.focus-within\": {\n zIndex: 1,\n },\n },\n selectAll: {\n width: \"100%\",\n },\n}));\n\nexport default styles;\n"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAG,sBAAW,UAACC,KAAD;EAAA,OAAY;IACpCC,IAAI,EAAE;MACJ,aAAa;QACXC,KAAK,EAAE,kBADI;QAEXC,MAAM,EAAE,mBAFG;QAGXC,SAAS,EAAE,MAHA;QAIXC,MAAM,EAAE,CAAC,CAJE;QAKXC,OAAO,EAAE;MALE;IADT,CAD8B;IAUpCC,MAAM,EAAE;MACNC,YAAY,EAAER,KAAK,CAACS,SAAN,CAAgB,IAAhB;IADR,CAV4B;IAapCC,IAAI,EAAE,EAb8B;IAcpCC,YAAY,EAAE;MACZC,OAAO,EAAE;IADG,CAdsB;IAiBpCC,kBAAkB,EAAE;MAClB;MACA,KAAK;QACHC,QAAQ,EAAE,UADP;QAEHC,MAAM,EAAE;MAFL,CAFa;MAMlB,kBAAkB;QAChBA,MAAM,EAAE;MADQ,CANA;MASlB;MACA,kBAAkB;QAChBA,MAAM,EAAE;MADQ;IAVA,CAjBgB;IA+BpCC,SAAS,EAAE;MACTd,KAAK,EAAE;IADE;EA/ByB,CAAZ;AAAA,CAAX,CAAf;eAoCeH,M"}
1
+ {"version":3,"file":"styles.js","names":["styles","makeStyles","theme","root","width","height","overflowY","margin","padding","search","marginBottom","hvSpacing","list","hiddenOption","display","selectAllContainer","position","zIndex","selectAll"],"sources":["../../../src/FilterGroup/RightPanel/styles.js"],"sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\nconst styles = makeStyles((theme) => ({\n root: {\n \"& ul$list\": {\n width: \"calc(100% + 8px)\",\n height: \"calc(100% - 70px)\",\n overflowY: \"auto\",\n margin: -4,\n padding: 4,\n },\n },\n search: {\n marginBottom: theme.hvSpacing(\"xs\"),\n },\n list: {},\n hiddenOption: {\n display: \"none\",\n },\n selectAllContainer: {\n // prevent the focus ring to be hidden by sibling hover background\n \"&\": {\n position: \"relative\",\n zIndex: 0,\n },\n \"&:focus-within\": {\n zIndex: 1,\n },\n // IE fallback code (using focus-within-polyfill)\n \"&.focus-within\": {\n zIndex: 1,\n },\n },\n selectAll: {\n width: \"100%\",\n },\n}));\n\nexport default styles;\n"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAG,IAAAC,gBAAA,EAAW,UAACC,KAAD;EAAA,OAAY;IACpCC,IAAI,EAAE;MACJ,aAAa;QACXC,KAAK,EAAE,kBADI;QAEXC,MAAM,EAAE,mBAFG;QAGXC,SAAS,EAAE,MAHA;QAIXC,MAAM,EAAE,CAAC,CAJE;QAKXC,OAAO,EAAE;MALE;IADT,CAD8B;IAUpCC,MAAM,EAAE;MACNC,YAAY,EAAER,KAAK,CAACS,SAAN,CAAgB,IAAhB;IADR,CAV4B;IAapCC,IAAI,EAAE,EAb8B;IAcpCC,YAAY,EAAE;MACZC,OAAO,EAAE;IADG,CAdsB;IAiBpCC,kBAAkB,EAAE;MAClB;MACA,KAAK;QACHC,QAAQ,EAAE,UADP;QAEHC,MAAM,EAAE;MAFL,CAFa;MAMlB,kBAAkB;QAChBA,MAAM,EAAE;MADQ,CANA;MASlB;MACA,kBAAkB;QAChBA,MAAM,EAAE;MADQ;IAVA,CAjBgB;IA+BpCC,SAAS,EAAE;MACTd,KAAK,EAAE;IADE;EA/ByB,CAAZ;AAAA,CAAX,CAAf;eAoCeJ,M"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles","theme","dropdownPanel","backgroundColor","hv","palette","atmosphere","atmo1","actionBar","width","labelContainer","display","alignItems","label","paddingBottom"],"sources":["../../src/FilterGroup/styles.js"],"sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\nconst styles = makeStyles((theme) => ({\n dropdownPanel: {\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n },\n actionBar: {\n width: \"100%\",\n },\n labelContainer: {\n display: \"flex\",\n alignItems: \"flex-start\",\n },\n label: {\n paddingBottom: \"6px\",\n display: \"block\",\n },\n}));\n\nexport default styles;\n"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAG,sBAAW,UAACC,KAAD;EAAA,OAAY;IACpCC,aAAa,EAAE;MACbC,eAAe,EAAEF,KAAK,CAACG,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC;IADhC,CADqB;IAIpCC,SAAS,EAAE;MACTC,KAAK,EAAE;IADE,CAJyB;IAOpCC,cAAc,EAAE;MACdC,OAAO,EAAE,MADK;MAEdC,UAAU,EAAE;IAFE,CAPoB;IAWpCC,KAAK,EAAE;MACLC,aAAa,EAAE,KADV;MAELH,OAAO,EAAE;IAFJ;EAX6B,CAAZ;AAAA,CAAX,CAAf;eAiBeX,M"}
1
+ {"version":3,"file":"styles.js","names":["styles","makeStyles","theme","dropdownPanel","backgroundColor","hv","palette","atmosphere","atmo1","actionBar","width","labelContainer","display","alignItems","label","paddingBottom"],"sources":["../../src/FilterGroup/styles.js"],"sourcesContent":["import { makeStyles } from \"@material-ui/core\";\n\nconst styles = makeStyles((theme) => ({\n dropdownPanel: {\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n },\n actionBar: {\n width: \"100%\",\n },\n labelContainer: {\n display: \"flex\",\n alignItems: \"flex-start\",\n },\n label: {\n paddingBottom: \"6px\",\n display: \"block\",\n },\n}));\n\nexport default styles;\n"],"mappings":";;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAG,IAAAC,gBAAA,EAAW,UAACC,KAAD;EAAA,OAAY;IACpCC,aAAa,EAAE;MACbC,eAAe,EAAEF,KAAK,CAACG,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC;IADhC,CADqB;IAIpCC,SAAS,EAAE;MACTC,KAAK,EAAE;IADE,CAJyB;IAOpCC,cAAc,EAAE;MACdC,OAAO,EAAE,MADK;MAEdC,UAAU,EAAE;IAFE,CAPoB;IAWpCC,KAAK,EAAE;MACLC,aAAa,EAAE,KADV;MAELH,OAAO,EAAE;IAFJ;EAX6B,CAAZ;AAAA,CAAX,CAAf;eAiBeZ,M"}
@@ -1 +1 @@
1
- {"version":3,"file":"Focus.js","names":["Focus","props","classes","children","configuration","disabledClass","selected","disabled","rootRef","focusOnClick","focusDisabled","strategy","useFalseFocus","filterClass","navigationJump","showFocus","setShowFocus","childFocus","setChildFocus","hasRunConfig","setHasRunConfig","getFocuses","current","Array","from","getElementsByClassName","root","setTabIndex","el","tabIndex","elChildFocus","setSelectedTabIndex","focuses","firstSelected","find","focus","classList","contains","forEach","clearTabSiblings","onFocusStrategy","evt","currentTarget","onBlurStrategy","document","activeElement","setTimeout","config","focusableChildren","length","child","addFocusClass","add","focused","split","c","removeFocusClass","element","remove","onFocus","onBlur","onMouseDown","hasCard","querySelector","focusAndUpdateIndex","nextFocus","previousFocus","focusesList","includes","getEnabledKeys","currentFocusIndex","jump","listSize","right","left","up","down","onGridKeyDownHandler","ArrowUp","KeyboardCodes","ArrowDown","Home","End","ArrowLeft","ArrowRight","Enter","SpaceBar","childFocusIsInput","nodeName","preventDefault","stopPropagation","blockedKeys","keyCode","target","click","last","fall","first","previous","next","onVerticalArrangementHandler","onSingleHandler","onKeyDown","isDisabledFocusable","filter","currentFocus","indexOf","onKeyUp","focusWrapper","childrenToWrap","externalReference","falseFocus","React","cloneElement","className","ref","propTypes","PropTypes","shape","string","focusGridDisabled","isRequired","refType","instanceOf","Object","bool","node","oneOf","number","styles","name"],"sources":["../../src/Focus/Focus.js"],"sourcesContent":["import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { withStyles } from \"@material-ui/core\";\nimport { KeyboardCodes, isBrowser, refType } from \"../utils\";\nimport ConditionalWrapper from \"../utils/ConditionalWrapper\";\nimport { isKey, isOneOfKeys, setFocusTo, getFocusableChildren } from \"./utils\";\nimport styles from \"./styles\";\n\n/* eslint-disable no-param-reassign */\nconst Focus = (props) => {\n const {\n classes,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = {},\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n } = props;\n const [showFocus, setShowFocus] = useState(null);\n const [childFocus, setChildFocus] = useState(null);\n const [hasRunConfig, setHasRunConfig] = useState(false);\n\n const getFocuses = () =>\n rootRef.current\n ? Array.from(rootRef.current.getElementsByClassName(filterClass || classes.root))\n : [];\n\n const setTabIndex = (el, tabIndex = 0) => {\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) => focus.classList.contains(classes.selected));\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (!isNil(tabIndex)) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n evt.currentTarget.classList.add(classes.focused);\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes.focus.split(\" \").forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n element.classList.remove(classes.focused);\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes.focus.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = (evt) => {\n setShowFocus(false);\n removeFocusClass(evt);\n onBlurStrategy(evt);\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass(evt);\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right: (currentFocusIndex + 1) % jump === 0 || currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down: currentFocusIndex + jump > listSize || currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (evt, focuses, focusesList, currentFocusIndex, jump) => {\n const { ArrowUp, ArrowDown, Home, End, ArrowLeft, ArrowRight, Enter, SpaceBar } = KeyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Home, End, SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [Enter, SpaceBar])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(currentFocusIndex, jump, focusesList.length);\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case ArrowUp:\n if (!blockedKeys.up) {\n focusAndUpdateIndex(focuses.jump || focuses.last, evt.current, focusesList);\n }\n break;\n case ArrowDown:\n if (!blockedKeys.down) {\n focusAndUpdateIndex(focuses.fall || focuses.first, evt.current, focusesList);\n }\n break;\n case ArrowLeft:\n if (!blockedKeys.left) {\n focusAndUpdateIndex(focuses.previous || focuses.last, evt.current, focusesList);\n }\n break;\n case ArrowRight:\n if (!blockedKeys.right) {\n focusAndUpdateIndex(focuses.next || focuses.first, evt.current, focusesList);\n }\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const { ArrowUp, ArrowDown, Home, End, Enter, SpaceBar } = KeyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [ArrowUp, ArrowDown, Home, End, SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n evt.target.click();\n break;\n case ArrowUp:\n focusAndUpdateIndex(focuses.previous || focuses.last, evt.current, focusesList);\n break;\n case ArrowDown:\n focusAndUpdateIndex(focuses.next || focuses.first, evt.current, focusesList);\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const { Enter, SpaceBar } = KeyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (!isOneOfKeys(evt, [SpaceBar, Enter]) || (childFocusIsInput && isKey(evt, Enter))) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explictly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) => isDisabledFocusable || !el.classList.contains(classes.disabled)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(evt, focuses, focusesList, currentFocus, navigationJump);\n return;\n }\n\n // TODO add property for specifing the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <div className={classes.externalReference}>\n {childrenToWrap}\n {showFocus && <div className={classes.falseFocus} />}\n </div>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n {React.cloneElement(children, {\n className: clsx(children.props.className, [classes.root, filterClass], {\n [classes.selected]: selected,\n [classes.disabled]: disabledClass,\n [classes.focusDisabled]: focusDisabled,\n }),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n\nFocus.propTypes = {\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.\n */\n root: PropTypes.string,\n /**\n * Styles applied when component is selected.\n */\n selected: PropTypes.string,\n /**\n * Styles applied when component is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to external reference.\n */\n externalReference: PropTypes.string,\n /**\n * Styles applied when using the false focus.\n */\n falseFocus: PropTypes.string,\n /**\n * Styles applied when focus disabled.\n */\n focusDisabled: PropTypes.string,\n focusGridDisabled: PropTypes.string,\n /**\n * Styles applied when focus active.\n */\n focused: PropTypes.string,\n /**\n * Styles applied when focus customization is passed.\n */\n focus: PropTypes.string,\n }).isRequired,\n /**\n * The reference to the root element to hold all Focus' context.\n */\n rootRef: refType,\n /**\n * Extra configuration for the child element.\n */\n configuration: PropTypes.instanceOf(Object),\n /**\n * Whether the focus is selected.\n */\n selected: PropTypes.bool,\n /**\n * Whether the focus is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Child node to set the focus.\n */\n children: PropTypes.node.isRequired,\n /**\n * Focus and navigation strategy to be used.\n */\n strategy: PropTypes.oneOf([\"listbox\", \"menu\", \"card\", \"grid\"]),\n /**\n * Show focus when click element.\n */\n focusOnClick: PropTypes.bool,\n /**\n * Show focus when click element.\n */\n focusDisabled: PropTypes.bool,\n /**\n * Indicates that the disabled class should be applied.\n */\n disabledClass: PropTypes.bool,\n /**\n * Uses an absolute positioned div as a focus.\n */\n useFalseFocus: PropTypes.bool,\n /**\n * Narrows the results of the focus to only theses class\n */\n filterClass: PropTypes.string,\n /**\n * How much the navigation will skip when using the arrows.\n */\n navigationJump: PropTypes.number,\n};\n\nexport default withStyles(styles, { name: \"HvFocus\" })(Focus);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Focus.js","names":["Focus","props","classes","children","configuration","disabledClass","selected","disabled","rootRef","focusOnClick","focusDisabled","strategy","useFalseFocus","filterClass","navigationJump","useState","showFocus","setShowFocus","childFocus","setChildFocus","hasRunConfig","setHasRunConfig","getFocuses","current","Array","from","getElementsByClassName","root","setTabIndex","el","tabIndex","elChildFocus","getFocusableChildren","setSelectedTabIndex","focuses","firstSelected","find","focus","classList","contains","forEach","clearTabSiblings","onFocusStrategy","evt","currentTarget","onBlurStrategy","document","activeElement","setTimeout","config","focusableChildren","length","child","isNil","addFocusClass","add","focused","split","c","removeFocusClass","element","remove","onFocus","onBlur","onMouseDown","hasCard","querySelector","setFocusTo","focusAndUpdateIndex","nextFocus","previousFocus","focusesList","includes","getEnabledKeys","currentFocusIndex","jump","listSize","right","left","up","down","onGridKeyDownHandler","ArrowUp","KeyboardCodes","ArrowDown","Home","End","ArrowLeft","ArrowRight","Enter","SpaceBar","childFocusIsInput","nodeName","isOneOfKeys","isKey","preventDefault","stopPropagation","blockedKeys","keyCode","isBrowser","target","click","last","fall","first","previous","next","onVerticalArrangementHandler","onSingleHandler","onKeyDown","isDisabledFocusable","filter","currentFocus","indexOf","onKeyUp","focusWrapper","childrenToWrap","externalReference","falseFocus","React","cloneElement","className","clsx","ref","propTypes","PropTypes","shape","string","focusGridDisabled","isRequired","refType","instanceOf","Object","bool","node","oneOf","number","withStyles","styles","name"],"sources":["../../src/Focus/Focus.js"],"sourcesContent":["import React, { useState } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport isNil from \"lodash/isNil\";\nimport { withStyles } from \"@material-ui/core\";\nimport { KeyboardCodes, isBrowser, refType } from \"../utils\";\nimport ConditionalWrapper from \"../utils/ConditionalWrapper\";\nimport { isKey, isOneOfKeys, setFocusTo, getFocusableChildren } from \"./utils\";\nimport styles from \"./styles\";\n\n/* eslint-disable no-param-reassign */\nconst Focus = (props) => {\n const {\n classes,\n children,\n configuration = {},\n disabledClass = false,\n selected = false,\n disabled = false,\n rootRef = {},\n focusOnClick = false,\n focusDisabled = true,\n strategy = \"listbox\",\n useFalseFocus = false,\n filterClass,\n navigationJump = 4,\n } = props;\n const [showFocus, setShowFocus] = useState(null);\n const [childFocus, setChildFocus] = useState(null);\n const [hasRunConfig, setHasRunConfig] = useState(false);\n\n const getFocuses = () =>\n rootRef.current\n ? Array.from(rootRef.current.getElementsByClassName(filterClass || classes.root))\n : [];\n\n const setTabIndex = (el, tabIndex = 0) => {\n const elChildFocus = getFocusableChildren(el)[0];\n if (elChildFocus) {\n el.tabIndex = -1;\n elChildFocus.tabIndex = tabIndex;\n } else {\n el.tabIndex = tabIndex;\n }\n };\n\n const setSelectedTabIndex = () => {\n const focuses = getFocuses();\n const firstSelected = focuses.find((focus) => focus.classList.contains(classes.selected));\n\n if (!firstSelected) return;\n focuses.forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(firstSelected, 0);\n };\n\n const clearTabSiblings = (el) => {\n getFocuses().forEach((focus) => setTabIndex(focus, -1));\n setTabIndex(el, 0);\n };\n\n const onFocusStrategy = (evt) => {\n if (strategy === \"listbox\") {\n clearTabSiblings(evt.currentTarget);\n }\n };\n\n const onBlurStrategy = () => {\n if (\n strategy === \"listbox\" &&\n rootRef.current &&\n !rootRef.current.contains(document.activeElement)\n ) {\n setTimeout(() => {\n setSelectedTabIndex();\n }, 10);\n }\n };\n\n const config = (el) => {\n const { tabIndex } = configuration;\n if (!el || hasRunConfig) return;\n if (strategy === \"card\") {\n setChildFocus(children);\n return;\n }\n\n if (strategy === \"grid\") {\n return;\n }\n\n const focusableChildren = getFocusableChildren(el);\n if (focusableChildren.length) {\n focusableChildren.forEach((child) => setTabIndex(child, -1));\n setChildFocus(focusableChildren[0]);\n }\n\n if (!isNil(tabIndex)) setTabIndex(el, tabIndex);\n setHasRunConfig(true);\n };\n\n const addFocusClass = (evt) => {\n if (!useFalseFocus) {\n evt.currentTarget.classList.add(classes.focused);\n // add global class HvIsFocused as a marker\n // not to be styled directly, only as helper in specific css queries\n evt.currentTarget.classList.add(\"HvIsFocused\");\n classes.focus.split(\" \").forEach((c) => evt.currentTarget.classList.add(c));\n }\n };\n\n const removeFocusClass = () => {\n if (!useFalseFocus) {\n getFocuses().forEach((element) => {\n element.classList.remove(classes.focused);\n // remove the global class HvIsFocused\n element.classList.remove(\"HvIsFocused\");\n classes.focus.split(\" \").forEach((c) => element.classList.remove(c));\n });\n }\n };\n\n const onFocus = (evt) => {\n addFocusClass(evt);\n setShowFocus(true);\n // give focus to child element if any focusable\n\n if (childFocus && childFocus.focus) childFocus.focus();\n onFocusStrategy(evt);\n };\n\n const onBlur = (evt) => {\n setShowFocus(false);\n removeFocusClass(evt);\n onBlurStrategy(evt);\n };\n\n const onMouseDown = (evt) => {\n const hasCard = !!evt.currentTarget?.querySelector(\".HvIsCardGridElement\");\n if (strategy === \"grid\" && hasCard) return;\n\n setFocusTo(evt.currentTarget);\n setTabIndex(evt.currentTarget, 0);\n // remove focus outline unless explicitly enabled\n if (!focusOnClick) {\n // TODO this piece of code works only because onMouseDown is happening after the focus event\n // There is nothing in here that guarantees the order of these events, so it may present a problem in the future\n removeFocusClass(evt);\n setShowFocus(false);\n }\n };\n\n const focusAndUpdateIndex = (nextFocus, previousFocus, focusesList) => {\n if (focusesList?.includes(previousFocus)) {\n setTabIndex(previousFocus, -1);\n }\n setTabIndex(nextFocus, 0);\n setFocusTo(nextFocus);\n };\n\n const getEnabledKeys = (currentFocusIndex, jump, listSize) => ({\n right: (currentFocusIndex + 1) % jump === 0 || currentFocusIndex + 1 > listSize - 1,\n left: currentFocusIndex % jump === 0,\n up: currentFocusIndex - jump < 0,\n down: currentFocusIndex + jump > listSize || currentFocusIndex + jump > listSize - 1,\n });\n\n const onGridKeyDownHandler = (evt, focuses, focusesList, currentFocusIndex, jump) => {\n const { ArrowUp, ArrowDown, Home, End, ArrowLeft, ArrowRight, Enter, SpaceBar } = KeyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Home, End, SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n // except for Enter and SpaceBar\n if (!isOneOfKeys(evt, [Enter, SpaceBar])) {\n evt.preventDefault();\n evt.stopPropagation();\n }\n\n const blockedKeys = getEnabledKeys(currentFocusIndex, jump, focusesList.length);\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n if (isBrowser(\"firefox\")) {\n evt.target.click();\n } else {\n evt.currentTarget.click();\n }\n break;\n case ArrowUp:\n if (!blockedKeys.up) {\n focusAndUpdateIndex(focuses.jump || focuses.last, evt.current, focusesList);\n }\n break;\n case ArrowDown:\n if (!blockedKeys.down) {\n focusAndUpdateIndex(focuses.fall || focuses.first, evt.current, focusesList);\n }\n break;\n case ArrowLeft:\n if (!blockedKeys.left) {\n focusAndUpdateIndex(focuses.previous || focuses.last, evt.current, focusesList);\n }\n break;\n case ArrowRight:\n if (!blockedKeys.right) {\n focusAndUpdateIndex(focuses.next || focuses.first, evt.current, focusesList);\n }\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onVerticalArrangementHandler = (evt, focuses, focusesList) => {\n const { ArrowUp, ArrowDown, Home, End, Enter, SpaceBar } = KeyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (\n !isOneOfKeys(evt, [ArrowUp, ArrowDown, Home, End, SpaceBar, Enter]) ||\n (childFocusIsInput && isKey(evt, Enter))\n ) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n switch (evt.keyCode) {\n case SpaceBar:\n case Enter:\n evt.target.click();\n break;\n case ArrowUp:\n focusAndUpdateIndex(focuses.previous || focuses.last, evt.current, focusesList);\n break;\n case ArrowDown:\n focusAndUpdateIndex(focuses.next || focuses.first, evt.current, focusesList);\n break;\n case Home:\n focusAndUpdateIndex(focuses.first, evt.current, focusesList);\n break;\n case End:\n focusAndUpdateIndex(focuses.last, evt.current, focusesList);\n break;\n default:\n }\n };\n\n const onSingleHandler = (evt) => {\n const { Enter, SpaceBar } = KeyboardCodes;\n const childFocusIsInput = childFocus && childFocus.nodeName === \"INPUT\";\n\n if (!isOneOfKeys(evt, [SpaceBar, Enter]) || (childFocusIsInput && isKey(evt, Enter))) {\n // nothing to do\n return;\n }\n\n // we'll do something with the key so prevent default and stop propagation\n evt.preventDefault();\n evt.stopPropagation();\n\n evt.currentTarget.click();\n };\n\n const onKeyDown = (evt) => {\n if (rootRef.current == null) {\n // operating outside of a composite widget\n // nothing to manage, just style and trigger clicks\n onSingleHandler(evt);\n return;\n }\n\n // TODO keep the smart default, but allow to explictly override if disabled elements should be focusable\n const isDisabledFocusable = strategy === \"menu\";\n const focusesList = getFocuses().filter(\n (el) => isDisabledFocusable || !el.classList.contains(classes.disabled)\n );\n\n const currentFocus = focusesList.indexOf(evt.currentTarget);\n\n const focuses = {\n first: focusesList[0],\n last: focusesList[focusesList.length - 1],\n previous: focusesList[currentFocus - 1],\n next: focusesList[currentFocus + 1],\n fall: focusesList[currentFocus + navigationJump],\n jump: focusesList[currentFocus - navigationJump],\n };\n\n if (strategy === \"grid\") {\n onGridKeyDownHandler(evt, focuses, focusesList, currentFocus, navigationJump);\n return;\n }\n\n // TODO add property for specifing the composite widget orientation\n // TODO implement handler for horizontal orientation\n onVerticalArrangementHandler(evt, focuses, focusesList);\n };\n\n const onKeyUp = (evt) => {\n if (isBrowser(\"firefox\")) evt.preventDefault();\n };\n\n if (disabled) return children;\n\n const focusWrapper = (childrenToWrap) => (\n <div className={classes.externalReference}>\n {childrenToWrap}\n {showFocus && <div className={classes.falseFocus} />}\n </div>\n );\n\n return (\n <ConditionalWrapper condition={useFalseFocus} wrapper={focusWrapper}>\n {React.cloneElement(children, {\n className: clsx(children.props.className, [classes.root, filterClass], {\n [classes.selected]: selected,\n [classes.disabled]: disabledClass,\n [classes.focusDisabled]: focusDisabled,\n }),\n ref: config,\n onFocus,\n onBlur,\n onMouseDown,\n onKeyDown,\n onKeyUp,\n selected,\n })}\n </ConditionalWrapper>\n );\n};\n\nFocus.propTypes = {\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.\n */\n root: PropTypes.string,\n /**\n * Styles applied when component is selected.\n */\n selected: PropTypes.string,\n /**\n * Styles applied when component is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to external reference.\n */\n externalReference: PropTypes.string,\n /**\n * Styles applied when using the false focus.\n */\n falseFocus: PropTypes.string,\n /**\n * Styles applied when focus disabled.\n */\n focusDisabled: PropTypes.string,\n focusGridDisabled: PropTypes.string,\n /**\n * Styles applied when focus active.\n */\n focused: PropTypes.string,\n /**\n * Styles applied when focus customization is passed.\n */\n focus: PropTypes.string,\n }).isRequired,\n /**\n * The reference to the root element to hold all Focus' context.\n */\n rootRef: refType,\n /**\n * Extra configuration for the child element.\n */\n configuration: PropTypes.instanceOf(Object),\n /**\n * Whether the focus is selected.\n */\n selected: PropTypes.bool,\n /**\n * Whether the focus is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Child node to set the focus.\n */\n children: PropTypes.node.isRequired,\n /**\n * Focus and navigation strategy to be used.\n */\n strategy: PropTypes.oneOf([\"listbox\", \"menu\", \"card\", \"grid\"]),\n /**\n * Show focus when click element.\n */\n focusOnClick: PropTypes.bool,\n /**\n * Show focus when click element.\n */\n focusDisabled: PropTypes.bool,\n /**\n * Indicates that the disabled class should be applied.\n */\n disabledClass: PropTypes.bool,\n /**\n * Uses an absolute positioned div as a focus.\n */\n useFalseFocus: PropTypes.bool,\n /**\n * Narrows the results of the focus to only theses class\n */\n filterClass: PropTypes.string,\n /**\n * How much the navigation will skip when using the arrows.\n */\n navigationJump: PropTypes.number,\n};\n\nexport default withStyles(styles, { name: \"HvFocus\" })(Focus);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["isKey","evt","key","isOneOfKeys","keys","some","getFocusableChildren","el","querySelectorAll","setFocusTo","focus"],"sources":["../../src/Focus/utils.js"],"sourcesContent":["import { isKeypress } from \"../utils\";\n\nexport const isKey = (evt, key) => isKeypress(evt, key);\n\nexport const isOneOfKeys = (evt, keys) => keys.some((key) => isKey(evt, key));\n\nexport const getFocusableChildren = (el) =>\n el.querySelectorAll(\"input, button, select, textarea, a[href]\") || [];\n\nexport const setFocusTo = (el) => {\n el.focus();\n};\n"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,KAAK,GAAG,SAARA,KAAQ,CAACC,GAAD,EAAMC,GAAN;EAAA,OAAc,uBAAWD,GAAX,EAAgBC,GAAhB,CAAd;AAAA,CAAd;;;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACF,GAAD,EAAMG,IAAN;EAAA,OAAeA,IAAI,CAACC,IAAL,CAAU,UAACH,GAAD;IAAA,OAASF,KAAK,CAACC,GAAD,EAAMC,GAAN,CAAd;EAAA,CAAV,CAAf;AAAA,CAApB;;;;AAEA,IAAMI,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,EAAD;EAAA,OAClCA,EAAE,CAACC,gBAAH,CAAoB,0CAApB,KAAmE,EADjC;AAAA,CAA7B;;;;AAGA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACF,EAAD,EAAQ;EAChCA,EAAE,CAACG,KAAH;AACD,CAFM"}
1
+ {"version":3,"file":"utils.js","names":["isKey","evt","key","isKeypress","isOneOfKeys","keys","some","getFocusableChildren","el","querySelectorAll","setFocusTo","focus"],"sources":["../../src/Focus/utils.js"],"sourcesContent":["import { isKeypress } from \"../utils\";\n\nexport const isKey = (evt, key) => isKeypress(evt, key);\n\nexport const isOneOfKeys = (evt, keys) => keys.some((key) => isKey(evt, key));\n\nexport const getFocusableChildren = (el) =>\n el.querySelectorAll(\"input, button, select, textarea, a[href]\") || [];\n\nexport const setFocusTo = (el) => {\n el.focus();\n};\n"],"mappings":";;;;;;;;;AAAA;;AAEO,IAAMA,KAAK,GAAG,SAARA,KAAQ,CAACC,GAAD,EAAMC,GAAN;EAAA,OAAc,IAAAC,iBAAA,EAAWF,GAAX,EAAgBC,GAAhB,CAAd;AAAA,CAAd;;;;AAEA,IAAME,WAAW,GAAG,SAAdA,WAAc,CAACH,GAAD,EAAMI,IAAN;EAAA,OAAeA,IAAI,CAACC,IAAL,CAAU,UAACJ,GAAD;IAAA,OAASF,KAAK,CAACC,GAAD,EAAMC,GAAN,CAAd;EAAA,CAAV,CAAf;AAAA,CAApB;;;;AAEA,IAAMK,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,EAAD;EAAA,OAClCA,EAAE,CAACC,gBAAH,CAAoB,0CAApB,KAAmE,EADjC;AAAA,CAA7B;;;;AAGA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACF,EAAD,EAAQ;EAChCA,EAAE,CAACG,KAAH;AACD,CAFM"}
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","names":["HvFooter","props","className","classes","name","copyright","Date","getFullYear","links","others","root","rightContainer","separator","propTypes","PropTypes","string","shape","isRequired","node","styles"],"sources":["../../src/Footer/Footer.js"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvTypography } from \"..\";\nimport styles from \"./styles\";\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nconst HvFooter = (props) => {\n const {\n className,\n classes,\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n ...others\n } = props;\n\n return (\n <footer className={clsx(className, classes.root)} {...others}>\n <HvTypography variant=\"highlightText\" className={classes.name}>\n {name}\n </HvTypography>\n <div className={classes.rightContainer}>\n <HvTypography className={classes.copyright}>{copyright}</HvTypography>\n {links && <div className={classes.separator} />}\n {links}\n </div>\n </footer>\n );\n};\n\nHvFooter.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.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to name label on the left.\n */\n name: PropTypes.string,\n /**\n * Styles applied to right container, with copyright and links.\n */\n rightContainer: PropTypes.string,\n /**\n * Styles applied to copyright label on the right.\n */\n copyright: PropTypes.string,\n /**\n * Styles applied to the links node on the right\n */\n links: PropTypes.string,\n /**\n * Styles applied to the separator between copyright and links\n */\n separator: PropTypes.string,\n }).isRequired,\n name: PropTypes.node,\n copyright: PropTypes.node,\n links: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvFooter\" })(HvFooter);\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA;AACA;AACA;AACA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAW;EAC1B,IACEC,SADF,GAOID,KAPJ,CACEC,SADF;EAAA,IAEEC,OAFF,GAOIF,KAPJ,CAEEE,OAFF;EAAA,kBAOIF,KAPJ,CAGEG,IAHF;EAAA,IAGEA,IAHF,4BAGS,iBAHT;EAAA,uBAOIH,KAPJ,CAIEI,SAJF;EAAA,IAIEA,SAJF,4EAI+C,IAAIC,IAAJ,GAAWC,WAAX,EAJ/C;EAAA,IAKEC,KALF,GAOIP,KAPJ,CAKEO,KALF;EAAA,IAMKC,MANL,0CAOIR,KAPJ;EASA,oBACE;IAAQ,SAAS,EAAE,mBAAKC,SAAL,EAAgBC,OAAO,CAACO,IAAxB;EAAnB,GAAsDD,MAAtD,gBACE,6BAAC,cAAD;IAAc,OAAO,EAAC,eAAtB;IAAsC,SAAS,EAAEN,OAAO,CAACC;EAAzD,GACGA,IADH,CADF,eAIE;IAAK,SAAS,EAAED,OAAO,CAACQ;EAAxB,gBACE,6BAAC,cAAD;IAAc,SAAS,EAAER,OAAO,CAACE;EAAjC,GAA6CA,SAA7C,CADF,EAEGG,KAAK,iBAAI;IAAK,SAAS,EAAEL,OAAO,CAACS;EAAxB,EAFZ,EAGGJ,KAHH,CAJF,CADF;AAYD,CAtBD;;AAwBA,wCAAAR,QAAQ,CAACa,SAAT,GAAqB;EACnB;AACF;AACA;EACEX,SAAS,EAAEY,mBAAUC,MAJF;;EAKnB;AACF;AACA;EACEZ,OAAO,EAAEW,mBAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIN,IAAI,EAAEI,mBAAUC,MAJO;;IAKvB;AACJ;AACA;IACIX,IAAI,EAAEU,mBAAUC,MARO;;IASvB;AACJ;AACA;IACIJ,cAAc,EAAEG,mBAAUC,MAZH;;IAavB;AACJ;AACA;IACIV,SAAS,EAAES,mBAAUC,MAhBE;;IAiBvB;AACJ;AACA;IACIP,KAAK,EAAEM,mBAAUC,MApBM;;IAqBvB;AACJ;AACA;IACIH,SAAS,EAAEE,mBAAUC;EAxBE,CAAhB,EAyBNE,UAjCgB;EAkCnBb,IAAI,EAAEU,mBAAUI,IAlCG;EAmCnBb,SAAS,EAAES,mBAAUI,IAnCF;EAoCnBV,KAAK,EAAEM,mBAAUI;AApCE,CAArB;;eAuCe,sBAAWC,eAAX,EAAmB;EAAEf,IAAI,EAAE;AAAR,CAAnB,EAAyCJ,QAAzC,C"}
1
+ {"version":3,"file":"Footer.js","names":["HvFooter","props","className","classes","name","copyright","Date","getFullYear","links","others","clsx","root","rightContainer","separator","propTypes","PropTypes","string","shape","isRequired","node","withStyles","styles"],"sources":["../../src/Footer/Footer.js"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvTypography } from \"..\";\nimport styles from \"./styles\";\n\n/**\n * A Footer is a way of providing extra information at the end of a page.\n */\nconst HvFooter = (props) => {\n const {\n className,\n classes,\n name = \"Hitachi Vantara\",\n copyright = `© Hitachi Vantara Corporation ${new Date().getFullYear()}. All Rights Reserved.`,\n links,\n ...others\n } = props;\n\n return (\n <footer className={clsx(className, classes.root)} {...others}>\n <HvTypography variant=\"highlightText\" className={classes.name}>\n {name}\n </HvTypography>\n <div className={classes.rightContainer}>\n <HvTypography className={classes.copyright}>{copyright}</HvTypography>\n {links && <div className={classes.separator} />}\n {links}\n </div>\n </footer>\n );\n};\n\nHvFooter.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.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to name label on the left.\n */\n name: PropTypes.string,\n /**\n * Styles applied to right container, with copyright and links.\n */\n rightContainer: PropTypes.string,\n /**\n * Styles applied to copyright label on the right.\n */\n copyright: PropTypes.string,\n /**\n * Styles applied to the links node on the right\n */\n links: PropTypes.string,\n /**\n * Styles applied to the separator between copyright and links\n */\n separator: PropTypes.string,\n }).isRequired,\n name: PropTypes.node,\n copyright: PropTypes.node,\n links: PropTypes.node,\n};\n\nexport default withStyles(styles, { name: \"HvFooter\" })(HvFooter);\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA;AACA;AACA;AACA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAW;EAC1B,IACEC,SADF,GAOID,KAPJ,CACEC,SADF;EAAA,IAEEC,OAFF,GAOIF,KAPJ,CAEEE,OAFF;EAAA,kBAOIF,KAPJ,CAGEG,IAHF;EAAA,IAGEA,IAHF,4BAGS,iBAHT;EAAA,uBAOIH,KAPJ,CAIEI,SAJF;EAAA,IAIEA,SAJF,4EAI+C,IAAIC,IAAJ,GAAWC,WAAX,EAJ/C;EAAA,IAKEC,KALF,GAOIP,KAPJ,CAKEO,KALF;EAAA,IAMKC,MANL,0CAOIR,KAPJ;EASA,oBACE;IAAQ,SAAS,EAAE,IAAAS,aAAA,EAAKR,SAAL,EAAgBC,OAAO,CAACQ,IAAxB;EAAnB,GAAsDF,MAAtD,gBACE,6BAAC,cAAD;IAAc,OAAO,EAAC,eAAtB;IAAsC,SAAS,EAAEN,OAAO,CAACC;EAAzD,GACGA,IADH,CADF,eAIE;IAAK,SAAS,EAAED,OAAO,CAACS;EAAxB,gBACE,6BAAC,cAAD;IAAc,SAAS,EAAET,OAAO,CAACE;EAAjC,GAA6CA,SAA7C,CADF,EAEGG,KAAK,iBAAI;IAAK,SAAS,EAAEL,OAAO,CAACU;EAAxB,EAFZ,EAGGL,KAHH,CAJF,CADF;AAYD,CAtBD;;AAwBA,wCAAAR,QAAQ,CAACc,SAAT,GAAqB;EACnB;AACF;AACA;EACEZ,SAAS,EAAEa,kBAAA,CAAUC,MAJF;;EAKnB;AACF;AACA;EACEb,OAAO,EAAEY,kBAAA,CAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIN,IAAI,EAAEI,kBAAA,CAAUC,MAJO;;IAKvB;AACJ;AACA;IACIZ,IAAI,EAAEW,kBAAA,CAAUC,MARO;;IASvB;AACJ;AACA;IACIJ,cAAc,EAAEG,kBAAA,CAAUC,MAZH;;IAavB;AACJ;AACA;IACIX,SAAS,EAAEU,kBAAA,CAAUC,MAhBE;;IAiBvB;AACJ;AACA;IACIR,KAAK,EAAEO,kBAAA,CAAUC,MApBM;;IAqBvB;AACJ;AACA;IACIH,SAAS,EAAEE,kBAAA,CAAUC;EAxBE,CAAhB,EAyBNE,UAjCgB;EAkCnBd,IAAI,EAAEW,kBAAA,CAAUI,IAlCG;EAmCnBd,SAAS,EAAEU,kBAAA,CAAUI,IAnCF;EAoCnBX,KAAK,EAAEO,kBAAA,CAAUI;AApCE,CAArB;;eAuCe,IAAAC,gBAAA,EAAWC,eAAX,EAAmB;EAAEjB,IAAI,EAAE;AAAR,CAAnB,EAAyCJ,QAAzC,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Adornment.js","names":["preventDefault","event","noop","HvAdornment","React","forwardRef","props","ref","id","classes","className","icon","showWhen","onClick","isVisible","undefined","others","HvFormElementContext","elementStatus","HvFormElementDescriptorsContext","input","displayIcon","isClickable","root","adornment","adornmentButton","hideIcon","adornmentIcon","propTypes","PropTypes","string","shape","iconAction","node","isRequired","oneOf","func","bool","styles","name"],"sources":["../../../src/Forms/Adornment/Adornment.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvFormElementContext, HvFormElementDescriptorsContext } from \"../FormElement\";\nimport styles from \"./styles\";\n\nconst preventDefault = (event) => event.preventDefault();\nconst noop = () => {};\n\n/**\n * Allows to add a decorative icon or an action to a form element, usually on the right side of an input.\n * E.g., the reveal password button.\n *\n * In addition to the showWhen feature, which uses the form element's context validation state to determine\n * its visibility, this component also ensures that it does not steal focus from the input and that it is\n * not accessible using the keyboard.\n *\n * As such, its functionality, if any, for accessibility purposes must be provided through an alternative mean,\n * or by using a regular icon button or toggle button instead.\n */\nconst HvAdornment = React.forwardRef((props, ref) => {\n const {\n id,\n classes,\n className,\n icon,\n showWhen = \"\",\n onClick,\n isVisible = undefined,\n ...others\n } = props;\n\n const { elementStatus = \"\" } = useContext(HvFormElementContext);\n\n const { input } = useContext(HvFormElementDescriptorsContext);\n\n const displayIcon = isVisible ?? (showWhen === \"\" || elementStatus === showWhen);\n\n const isClickable = !!onClick;\n\n return isClickable ? (\n <button\n id={id}\n ref={ref}\n type=\"button\"\n tabIndex={-1}\n aria-controls={input?.[0]?.id}\n className={clsx(className, classes.root, classes.adornment, classes.adornmentButton, {\n [classes.hideIcon]: !displayIcon,\n })}\n onClick={onClick}\n onMouseDown={preventDefault}\n onKeyDown={noop}\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </button>\n ) : (\n <div\n id={id}\n ref={ref}\n className={clsx(className, classes.root, classes.adornment, classes.adornmentIcon, {\n [classes.hideIcon]: !displayIcon,\n })}\n role=\"presentation\"\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </div>\n );\n});\n\nHvAdornment.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: 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 container of the input.\n */\n root: PropTypes.string,\n /**\n * Styles applied to all adornments\n */\n adornment: PropTypes.string,\n /**\n * Styles applied to the adornment when acting as a button.\n */\n adornmentIcon: PropTypes.string,\n /**\n * Styles applied to the adornment when acting as a button.\n */\n adornmentButton: PropTypes.string,\n /**\n * Styles applied to icon on action.\n */\n iconAction: PropTypes.string,\n /**\n * Styles applied to the icon.\n */\n icon: PropTypes.string,\n /**\n * Styles applied to the icon when it's supposed to be hidden.\n */\n hideIcon: PropTypes.string,\n }),\n /**\n * The icon to be added into the input.\n */\n icon: PropTypes.node.isRequired,\n /**\n * When the adornment should be displayed.\n */\n showWhen: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * Function to be executed when this element is clicked.\n */\n onClick: PropTypes.func,\n /**\n * If this property is defined the adornment visibility will be exclusively controlled by this value.\n */\n isVisible: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvAdornment\" })(HvAdornment);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD;EAAA,OAAWA,KAAK,CAACD,cAAN,EAAX;AAAA,CAAvB;;AACA,IAAME,IAAI,GAAG,SAAPA,IAAO,GAAM,CAAE,CAArB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,IAAMC,WAAW,gBAAGC,eAAMC,UAAN,CAAiB,UAACC,KAAD,EAAQC,GAAR,EAAgB;EAAA;;EACnD,IACEC,EADF,GASIF,KATJ,CACEE,EADF;EAAA,IAEEC,OAFF,GASIH,KATJ,CAEEG,OAFF;EAAA,IAGEC,SAHF,GASIJ,KATJ,CAGEI,SAHF;EAAA,IAIEC,IAJF,GASIL,KATJ,CAIEK,IAJF;EAAA,sBASIL,KATJ,CAKEM,QALF;EAAA,IAKEA,QALF,gCAKa,EALb;EAAA,IAMEC,OANF,GASIP,KATJ,CAMEO,OANF;EAAA,uBASIP,KATJ,CAOEQ,SAPF;EAAA,IAOEA,SAPF,iCAOcC,SAPd;EAAA,IAQKC,MARL,0CASIV,KATJ;;EAWA,kBAA+B,uBAAWW,iCAAX,CAA/B;EAAA,wCAAQC,aAAR;EAAA,IAAQA,aAAR,sCAAwB,EAAxB;;EAEA,mBAAkB,uBAAWC,4CAAX,CAAlB;EAAA,IAAQC,KAAR,gBAAQA,KAAR;;EAEA,IAAMC,WAAW,GAAGP,SAAH,aAAGA,SAAH,cAAGA,SAAH,GAAiBF,QAAQ,KAAK,EAAb,IAAmBM,aAAa,KAAKN,QAAvE;EAEA,IAAMU,WAAW,GAAG,CAAC,CAACT,OAAtB;EAEA,OAAOS,WAAW,gBAChB;IACE,EAAE,EAAEd,EADN;IAEE,GAAG,EAAED,GAFP;IAGE,IAAI,EAAC,QAHP;IAIE,QAAQ,EAAE,CAAC,CAJb;IAKE,iBAAea,KAAf,aAAeA,KAAf,kCAAeA,KAAK,CAAG,CAAH,CAApB,4CAAe,QAAYZ,EAL7B;IAME,SAAS,EAAE,mBAAKE,SAAL,EAAgBD,OAAO,CAACc,IAAxB,EAA8Bd,OAAO,CAACe,SAAtC,EAAiDf,OAAO,CAACgB,eAAzD,EACW,CAACJ,WADZ,IACRZ,OAAO,CAACiB,QADA,CANb;IASE,OAAO,EAAEb,OATX;IAUE,WAAW,EAAEb,cAVf;IAWE,SAAS,EAAEE;EAXb,GAYMc,MAZN,gBAcE;IAAK,SAAS,EAAEP,OAAO,CAACE;EAAxB,GAA+BA,IAA/B,CAdF,CADgB,gBAkBhB;IACE,EAAE,EAAEH,EADN;IAEE,GAAG,EAAED,GAFP;IAGE,SAAS,EAAE,mBAAKG,SAAL,EAAgBD,OAAO,CAACc,IAAxB,EAA8Bd,OAAO,CAACe,SAAtC,EAAiDf,OAAO,CAACkB,aAAzD,EACW,CAACN,WADZ,IACRZ,OAAO,CAACiB,QADA,CAHb;IAME,IAAI,EAAC;EANP,GAOMV,MAPN,gBASE;IAAK,SAAS,EAAEP,OAAO,CAACE;EAAxB,GAA+BA,IAA/B,CATF,CAlBF;AA8BD,CAlDmB,CAApB;;AAoDA,wCAAAR,WAAW,CAACyB,SAAZ,GAAwB;EACtB;AACF;AACA;EACEpB,EAAE,EAAEqB,mBAAUC,MAJQ;;EAKtB;AACF;AACA;EACEpB,SAAS,EAAEmB,mBAAUC,MARC;;EAStB;AACF;AACA;EACErB,OAAO,EAAEoB,mBAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIR,IAAI,EAAEM,mBAAUC,MAJO;;IAKvB;AACJ;AACA;IACIN,SAAS,EAAEK,mBAAUC,MARE;;IASvB;AACJ;AACA;IACIH,aAAa,EAAEE,mBAAUC,MAZF;;IAavB;AACJ;AACA;IACIL,eAAe,EAAEI,mBAAUC,MAhBJ;;IAiBvB;AACJ;AACA;IACIE,UAAU,EAAEH,mBAAUC,MApBC;;IAqBvB;AACJ;AACA;IACInB,IAAI,EAAEkB,mBAAUC,MAxBO;;IAyBvB;AACJ;AACA;IACIJ,QAAQ,EAAEG,mBAAUC;EA5BG,CAAhB,CAZa;;EA0CtB;AACF;AACA;EACEnB,IAAI,EAAEkB,mBAAUI,IAAV,CAAeC,UA7CC;;EA8CtB;AACF;AACA;EACEtB,QAAQ,EAAEiB,mBAAUM,KAAV,CAAgB,CAAC,SAAD,EAAY,OAAZ,EAAqB,SAArB,CAAhB,CAjDY;;EAkDtB;AACF;AACA;EACEtB,OAAO,EAAEgB,mBAAUO,IArDG;;EAsDtB;AACF;AACA;EACEtB,SAAS,EAAEe,mBAAUQ;AAzDC,CAAxB;;eA4De,sBAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAA4CpC,WAA5C,C"}
1
+ {"version":3,"file":"Adornment.js","names":["preventDefault","event","noop","HvAdornment","React","forwardRef","props","ref","id","classes","className","icon","showWhen","onClick","isVisible","undefined","others","useContext","HvFormElementContext","elementStatus","HvFormElementDescriptorsContext","input","displayIcon","isClickable","clsx","root","adornment","adornmentButton","hideIcon","adornmentIcon","propTypes","PropTypes","string","shape","iconAction","node","isRequired","oneOf","func","bool","withStyles","styles","name"],"sources":["../../../src/Forms/Adornment/Adornment.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvFormElementContext, HvFormElementDescriptorsContext } from \"../FormElement\";\nimport styles from \"./styles\";\n\nconst preventDefault = (event) => event.preventDefault();\nconst noop = () => {};\n\n/**\n * Allows to add a decorative icon or an action to a form element, usually on the right side of an input.\n * E.g., the reveal password button.\n *\n * In addition to the showWhen feature, which uses the form element's context validation state to determine\n * its visibility, this component also ensures that it does not steal focus from the input and that it is\n * not accessible using the keyboard.\n *\n * As such, its functionality, if any, for accessibility purposes must be provided through an alternative mean,\n * or by using a regular icon button or toggle button instead.\n */\nconst HvAdornment = React.forwardRef((props, ref) => {\n const {\n id,\n classes,\n className,\n icon,\n showWhen = \"\",\n onClick,\n isVisible = undefined,\n ...others\n } = props;\n\n const { elementStatus = \"\" } = useContext(HvFormElementContext);\n\n const { input } = useContext(HvFormElementDescriptorsContext);\n\n const displayIcon = isVisible ?? (showWhen === \"\" || elementStatus === showWhen);\n\n const isClickable = !!onClick;\n\n return isClickable ? (\n <button\n id={id}\n ref={ref}\n type=\"button\"\n tabIndex={-1}\n aria-controls={input?.[0]?.id}\n className={clsx(className, classes.root, classes.adornment, classes.adornmentButton, {\n [classes.hideIcon]: !displayIcon,\n })}\n onClick={onClick}\n onMouseDown={preventDefault}\n onKeyDown={noop}\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </button>\n ) : (\n <div\n id={id}\n ref={ref}\n className={clsx(className, classes.root, classes.adornment, classes.adornmentIcon, {\n [classes.hideIcon]: !displayIcon,\n })}\n role=\"presentation\"\n {...others}\n >\n <div className={classes.icon}>{icon}</div>\n </div>\n );\n});\n\nHvAdornment.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * Class names to be applied.\n */\n className: 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 container of the input.\n */\n root: PropTypes.string,\n /**\n * Styles applied to all adornments\n */\n adornment: PropTypes.string,\n /**\n * Styles applied to the adornment when acting as a button.\n */\n adornmentIcon: PropTypes.string,\n /**\n * Styles applied to the adornment when acting as a button.\n */\n adornmentButton: PropTypes.string,\n /**\n * Styles applied to icon on action.\n */\n iconAction: PropTypes.string,\n /**\n * Styles applied to the icon.\n */\n icon: PropTypes.string,\n /**\n * Styles applied to the icon when it's supposed to be hidden.\n */\n hideIcon: PropTypes.string,\n }),\n /**\n * The icon to be added into the input.\n */\n icon: PropTypes.node.isRequired,\n /**\n * When the adornment should be displayed.\n */\n showWhen: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * Function to be executed when this element is clicked.\n */\n onClick: PropTypes.func,\n /**\n * If this property is defined the adornment visibility will be exclusively controlled by this value.\n */\n isVisible: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvAdornment\" })(HvAdornment);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CharCounter.js","names":["HvCharCounter","props","separator","maxCharQuantity","currentCharQuantity","classes","className","id","disabled","disableGutter","others","HvFormElementContext","elementId","elementDisabled","localDisabled","localId","currentId","maxQuantityId","isOverloaded","root","counterDisabled","gutter","overloaded","formElementType","propTypes","PropTypes","string","shape","isRequired","number","bool","styles","name"],"sources":["../../../src/Forms/CharCounter/CharCounter.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { HvTypography } from \"../..\";\nimport { setId } from \"../../utils\";\nimport styles from \"./styles\";\n\n/**\n * Displays the capacity and current usage of a text input box (character count by default).\n *\n * Use the character counter when there is a character or word limit.\n * By itself it doesn't block the user from going above the limit.\n */\nconst HvCharCounter = (props) => {\n const {\n separator = \"/\",\n maxCharQuantity,\n currentCharQuantity = 0,\n classes,\n className,\n id,\n disabled,\n disableGutter = false,\n ...others\n } = props;\n const { elementId, elementDisabled } = useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localId = id ?? setId(elementId, \"counter\");\n const currentId = setId(localId, \"currentQuantity\");\n const maxQuantityId = setId(localId, \"maxQuantity\");\n const isOverloaded = currentCharQuantity > maxCharQuantity;\n\n return (\n <div\n id={localId}\n className={clsx(className, classes.root, {\n [classes.counterDisabled]: localDisabled,\n [classes.gutter]: !disableGutter,\n })}\n aria-live=\"polite\"\n aria-disabled={localDisabled}\n {...others}\n >\n <HvTypography\n id={currentId}\n className={clsx({\n [classes.overloaded]: isOverloaded && !localDisabled,\n [classes.counterDisabled]: localDisabled,\n })}\n variant=\"highlightText\"\n component=\"label\"\n >\n {currentCharQuantity}\n </HvTypography>\n <HvTypography\n id={maxQuantityId}\n className={clsx({\n [classes.overloaded]: isOverloaded && !localDisabled,\n [classes.counterDisabled]: localDisabled,\n })}\n variant=\"normalText\"\n component=\"label\"\n >\n {` ${separator} ${maxCharQuantity}`}\n </HvTypography>\n </div>\n );\n};\n\nHvCharCounter.formElementType = \"controlled\";\n\nHvCharCounter.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 char counter root container.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the char counter root container when the current char counter higher than the max.\n */\n overloaded: PropTypes.string,\n /**\n * Styles applied when the char counter is disabled.\n */\n counterDisabled: PropTypes.string,\n /**\n * Separation for the counter.\n */\n gutter: PropTypes.string,\n }).isRequired,\n /**\n * The string that separtes the current char quantity from the max quantity.\n */\n separator: PropTypes.string,\n /**\n * The maximum allowed length of the characters.\n */\n maxCharQuantity: PropTypes.number.isRequired,\n /**\n * The current char quantity to be rendered.\n */\n currentCharQuantity: PropTypes.number,\n /**\n * If `true` the counter is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true` the info message won't have margins.\n */\n disableGutter: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvCharCounter\" })(HvCharCounter);\n"],"mappings":"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"}
1
+ {"version":3,"file":"CharCounter.js","names":["HvCharCounter","props","separator","maxCharQuantity","currentCharQuantity","classes","className","id","disabled","disableGutter","others","useContext","HvFormElementContext","elementId","elementDisabled","localDisabled","localId","setId","currentId","maxQuantityId","isOverloaded","clsx","root","counterDisabled","gutter","overloaded","formElementType","propTypes","PropTypes","string","shape","isRequired","number","bool","withStyles","styles","name"],"sources":["../../../src/Forms/CharCounter/CharCounter.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport { HvFormElementContext } from \"../FormElement\";\nimport { HvTypography } from \"../..\";\nimport { setId } from \"../../utils\";\nimport styles from \"./styles\";\n\n/**\n * Displays the capacity and current usage of a text input box (character count by default).\n *\n * Use the character counter when there is a character or word limit.\n * By itself it doesn't block the user from going above the limit.\n */\nconst HvCharCounter = (props) => {\n const {\n separator = \"/\",\n maxCharQuantity,\n currentCharQuantity = 0,\n classes,\n className,\n id,\n disabled,\n disableGutter = false,\n ...others\n } = props;\n const { elementId, elementDisabled } = useContext(HvFormElementContext);\n const localDisabled = disabled || elementDisabled;\n const localId = id ?? setId(elementId, \"counter\");\n const currentId = setId(localId, \"currentQuantity\");\n const maxQuantityId = setId(localId, \"maxQuantity\");\n const isOverloaded = currentCharQuantity > maxCharQuantity;\n\n return (\n <div\n id={localId}\n className={clsx(className, classes.root, {\n [classes.counterDisabled]: localDisabled,\n [classes.gutter]: !disableGutter,\n })}\n aria-live=\"polite\"\n aria-disabled={localDisabled}\n {...others}\n >\n <HvTypography\n id={currentId}\n className={clsx({\n [classes.overloaded]: isOverloaded && !localDisabled,\n [classes.counterDisabled]: localDisabled,\n })}\n variant=\"highlightText\"\n component=\"label\"\n >\n {currentCharQuantity}\n </HvTypography>\n <HvTypography\n id={maxQuantityId}\n className={clsx({\n [classes.overloaded]: isOverloaded && !localDisabled,\n [classes.counterDisabled]: localDisabled,\n })}\n variant=\"normalText\"\n component=\"label\"\n >\n {` ${separator} ${maxCharQuantity}`}\n </HvTypography>\n </div>\n );\n};\n\nHvCharCounter.formElementType = \"controlled\";\n\nHvCharCounter.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 char counter root container.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the char counter root container when the current char counter higher than the max.\n */\n overloaded: PropTypes.string,\n /**\n * Styles applied when the char counter is disabled.\n */\n counterDisabled: PropTypes.string,\n /**\n * Separation for the counter.\n */\n gutter: PropTypes.string,\n }).isRequired,\n /**\n * The string that separtes the current char quantity from the max quantity.\n */\n separator: PropTypes.string,\n /**\n * The maximum allowed length of the characters.\n */\n maxCharQuantity: PropTypes.number.isRequired,\n /**\n * The current char quantity to be rendered.\n */\n currentCharQuantity: PropTypes.number,\n /**\n * If `true` the counter is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true` the info message won't have margins.\n */\n disableGutter: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvCharCounter\" })(HvCharCounter);\n"],"mappings":"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"}