@hitachivantara/uikit-react-core 3.68.1 → 3.68.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/dist/Accordion/Accordion.js.map +1 -1
  2. package/dist/ActionBar/ActionBar.js.map +1 -1
  3. package/dist/ActionsGeneric/ActionsGeneric.js.map +1 -1
  4. package/dist/AppSwitcher/Action/Action.js.map +1 -1
  5. package/dist/AppSwitcher/AppSwitcher.js.map +1 -1
  6. package/dist/AppSwitcher/TitleWithTooltip.js.map +1 -1
  7. package/dist/AssetInventory/AssetInventory.js.map +1 -1
  8. package/dist/AssetInventory/CardView/CardView.js.map +1 -1
  9. package/dist/AssetInventory/ListView/ListView.js.map +1 -1
  10. package/dist/AssetInventory/ListView/ListViewCell/ListViewCell.js.map +1 -1
  11. package/dist/AssetInventory/ListView/ListViewCell/styles.js.map +1 -1
  12. package/dist/AssetInventory/ListView/ListViewContext/ListViewContext.js.map +1 -1
  13. package/dist/AssetInventory/ListView/ListViewHeaderRow/ListViewHeaderRow.js.map +1 -1
  14. package/dist/AssetInventory/ListView/ListViewRow/ListViewRow.js.map +1 -1
  15. package/dist/AssetInventory/Multibutton/Multibutton.js.map +1 -1
  16. package/dist/AssetInventory/Search/Search.js.map +1 -1
  17. package/dist/AssetInventory/Sort/Sort.js.map +1 -1
  18. package/dist/AssetInventory/setActionsId.js.map +1 -1
  19. package/dist/Avatar/Avatar.js.map +1 -1
  20. package/dist/Badge/Badge.js.map +1 -1
  21. package/dist/Banner/Banner.js.map +1 -1
  22. package/dist/Banner/BannerWrapper/ActionContainer/ActionContainer.js.map +1 -1
  23. package/dist/Banner/BannerWrapper/ActionContainer/styles.js.map +1 -1
  24. package/dist/Banner/BannerWrapper/BannerContentWrapper.js.map +1 -1
  25. package/dist/Banner/BannerWrapper/MessageContainer/MessageContainer.js.map +1 -1
  26. package/dist/BaseCheckBox/BaseCheckBox.js.map +1 -1
  27. package/dist/BaseDropdown/BaseDropdown.js.map +1 -1
  28. package/dist/BaseDropdown/BaseDropdownContext/BaseDropdownContext.js.map +1 -1
  29. package/dist/BaseInput/BaseInput.js.map +1 -1
  30. package/dist/BaseInput/validations.js.map +1 -1
  31. package/dist/BaseRadio/BaseRadio.js.map +1 -1
  32. package/dist/BaseSwitch/BaseSwitch.js.map +1 -1
  33. package/dist/BreadCrumb/BreadCrumb.js.map +1 -1
  34. package/dist/BreadCrumb/utils.js.map +1 -1
  35. package/dist/BulkActions/BulkActions.js.map +1 -1
  36. package/dist/BulkActions/styles.js.map +1 -1
  37. package/dist/Button/Button.js.map +1 -1
  38. package/dist/Button/materialConfigurarion.js.map +1 -1
  39. package/dist/Button/styles.js.map +1 -1
  40. package/dist/Calendar/Calendar.js.map +1 -1
  41. package/dist/Calendar/CalendarHeader/CalendarHeader.js.map +1 -1
  42. package/dist/Calendar/CalendarNavigation/ComposedNavigation/ComposedNavigation.js.map +1 -1
  43. package/dist/Calendar/CalendarNavigation/MonthSelector/MonthSelector.js.map +1 -1
  44. package/dist/Calendar/CalendarNavigation/Navigation/Navigation.js.map +1 -1
  45. package/dist/Calendar/CalendarWeekLabels/CalendarWeekLabels.js.map +1 -1
  46. package/dist/Calendar/SingleCalendar/CalendarCell.js.map +1 -1
  47. package/dist/Calendar/SingleCalendar/SingleCalendar.js.map +1 -1
  48. package/dist/Calendar/model.js.map +1 -1
  49. package/dist/Calendar/utils.js.map +1 -1
  50. package/dist/Card/Card.js.map +1 -1
  51. package/dist/Card/Content/Content.js.map +1 -1
  52. package/dist/Card/Header/Header.js.map +1 -1
  53. package/dist/Card/Media/Media.js.map +1 -1
  54. package/dist/Card/styles.js.map +1 -1
  55. package/dist/CheckBox/CheckBox.js.map +1 -1
  56. package/dist/CheckBoxGroup/CheckBoxGroup.js.map +1 -1
  57. package/dist/Container/Container.js.map +1 -1
  58. package/dist/DatePicker/DatePicker.js.map +1 -1
  59. package/dist/DatePicker/useVisibleDate.js.map +1 -1
  60. package/dist/DatePicker/utils.js.map +1 -1
  61. package/dist/Dialog/Dialog.js.map +1 -1
  62. package/dist/Dialog/DialogActions/DialogActions.js.map +1 -1
  63. package/dist/Dialog/DialogContent/DialogContent.js.map +1 -1
  64. package/dist/Dialog/DialogTitle/DialogTitle.js.map +1 -1
  65. package/dist/Dialog/styles.js.map +1 -1
  66. package/dist/DropDownMenu/DropDownMenu.js.map +1 -1
  67. package/dist/Dropdown/Dropdown.js.map +1 -1
  68. package/dist/Dropdown/List/List.js.map +1 -1
  69. package/dist/EmptyState/EmptyState.js.map +1 -1
  70. package/dist/FileUploader/DropZone/DropZone.js.map +1 -1
  71. package/dist/FileUploader/File/File.js.map +1 -1
  72. package/dist/FileUploader/FileList/FileList.js.map +1 -1
  73. package/dist/FileUploader/FileUploader.js.map +1 -1
  74. package/dist/FileUploader/Preview/Preview.js.map +1 -1
  75. package/dist/FilterGroup/Counter/Counter.js.map +1 -1
  76. package/dist/FilterGroup/Counter/styles.js.map +1 -1
  77. package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  78. package/dist/FilterGroup/FilterContent/styles.js.map +1 -1
  79. package/dist/FilterGroup/FilterGroup.js.map +1 -1
  80. package/dist/FilterGroup/FilterGroupContext.js.map +1 -1
  81. package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  82. package/dist/FilterGroup/LeftPanel/styles.js.map +1 -1
  83. package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  84. package/dist/FilterGroup/RightPanel/styles.js.map +1 -1
  85. package/dist/FilterGroup/styles.js.map +1 -1
  86. package/dist/Focus/Focus.js.map +1 -1
  87. package/dist/Focus/utils.js.map +1 -1
  88. package/dist/Footer/Footer.js.map +1 -1
  89. package/dist/Forms/Adornment/Adornment.js.map +1 -1
  90. package/dist/Forms/CharCounter/CharCounter.js.map +1 -1
  91. package/dist/Forms/FormElement/FormElement.js.map +1 -1
  92. package/dist/Forms/FormElement/context/FormElementContext.js.map +1 -1
  93. package/dist/Forms/FormElement/context/FormElementDescriptorsContext.js.map +1 -1
  94. package/dist/Forms/FormElement/context/FormElementValueContext.js.map +1 -1
  95. package/dist/Forms/FormElement/utils/FormUtils.js.map +1 -1
  96. package/dist/Forms/InfoMessage/InfoMessage.js.map +1 -1
  97. package/dist/Forms/Label/Label.js.map +1 -1
  98. package/dist/Forms/Suggestions/Suggestions.js.map +1 -1
  99. package/dist/Forms/WarningText/WarningText.js.map +1 -1
  100. package/dist/GlobalActions/GlobalActions.js.map +1 -1
  101. package/dist/Grid/Grid.js.map +1 -1
  102. package/dist/Header/Actions/Actions.js.map +1 -1
  103. package/dist/Header/Brand/Brand.js.map +1 -1
  104. package/dist/Header/Header.js.map +1 -1
  105. package/dist/Header/Navigation/MenuBar/MenuBar.js +5 -1
  106. package/dist/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  107. package/dist/Header/Navigation/MenuItem/MenuItem.js +29 -9
  108. package/dist/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  109. package/dist/Header/Navigation/MenuItem/styles.js +4 -0
  110. package/dist/Header/Navigation/MenuItem/styles.js.map +1 -1
  111. package/dist/Header/Navigation/Navigation.d.ts +4 -0
  112. package/dist/Header/Navigation/Navigation.js +5 -1
  113. package/dist/Header/Navigation/Navigation.js.map +1 -1
  114. package/dist/Header/Navigation/utils/FocusContext.js.map +1 -1
  115. package/dist/Header/Navigation/utils/SelectionContext.js.map +1 -1
  116. package/dist/Header/Navigation/utils/useSelectionPath.js.map +1 -1
  117. package/dist/Input/Input.js.map +1 -1
  118. package/dist/Kpi/Kpi.js.map +1 -1
  119. package/dist/Link/Link.js.map +1 -1
  120. package/dist/List/List.js +20 -16
  121. package/dist/List/List.js.map +1 -1
  122. package/dist/List/useSelectableList.js.map +1 -1
  123. package/dist/List/utils.js.map +1 -1
  124. package/dist/ListContainer/ListContainer.js.map +1 -1
  125. package/dist/ListContainer/ListContext/ListContext.js.map +1 -1
  126. package/dist/ListContainer/ListItem/ListItem.js.map +1 -1
  127. package/dist/Loading/Loading.js.map +1 -1
  128. package/dist/Login/Login.js.map +1 -1
  129. package/dist/Login/styles.js.map +1 -1
  130. package/dist/MultiButton/MultiButton.js.map +1 -1
  131. package/dist/OverflowTooltip/OverflowTooltip.js.map +1 -1
  132. package/dist/Pagination/Pagination.js.map +1 -1
  133. package/dist/Pagination/Select.js.map +1 -1
  134. package/dist/Pagination/utils.js.map +1 -1
  135. package/dist/Panel/Panel.js.map +1 -1
  136. package/dist/Provider/Provider.js.map +1 -1
  137. package/dist/Provider/context.js.map +1 -1
  138. package/dist/Provider/useLocale.js.map +1 -1
  139. package/dist/Radio/Radio.js.map +1 -1
  140. package/dist/RadioGroup/RadioGroup.js.map +1 -1
  141. package/dist/ScrollTo/Horizontal/HorizontalScrollListItem/HorizontalScrollListItem.js.map +1 -1
  142. package/dist/ScrollTo/Horizontal/ScrollToHorizontal.js.map +1 -1
  143. package/dist/ScrollTo/Horizontal/styles.js.map +1 -1
  144. package/dist/ScrollTo/Vertical/ScrollToVertical.js.map +1 -1
  145. package/dist/ScrollTo/Vertical/VerticalScrollListItem/VerticalScrollListItem.js.map +1 -1
  146. package/dist/ScrollTo/Vertical/styles.js.map +1 -1
  147. package/dist/ScrollTo/useScrollTo.js.map +1 -1
  148. package/dist/ScrollTo/withTooltip.js.map +1 -1
  149. package/dist/SelectionList/SelectionList.js.map +1 -1
  150. package/dist/SimpleGrid/SimpleGrid.js.map +1 -1
  151. package/dist/SimpleGrid/styles.js.map +1 -1
  152. package/dist/Slider/Slider.js.map +1 -1
  153. package/dist/Slider/SliderInput/SliderInput.js.map +1 -1
  154. package/dist/Slider/utils.js.map +1 -1
  155. package/dist/Snackbar/Snackbar.js.map +1 -1
  156. package/dist/Snackbar/SnackbarContentWrapper/SnackbarContentWrapper.js.map +1 -1
  157. package/dist/Snackbar/SnackbarProvider/SnackbarProvider.js.map +1 -1
  158. package/dist/Stack/Stack.js.map +1 -1
  159. package/dist/Switch/Switch.js.map +1 -1
  160. package/dist/Tab/Tab.js.map +1 -1
  161. package/dist/Table/CellWithTooltip/index.js.map +1 -1
  162. package/dist/Table/Header/Header.js.map +1 -1
  163. package/dist/Table/NoData/index.js.map +1 -1
  164. package/dist/Table/NoData/styles.js.map +1 -1
  165. package/dist/Table/Table.js +19 -22
  166. package/dist/Table/Table.js.map +1 -1
  167. package/dist/Table/columnUtils.js.map +1 -1
  168. package/dist/Table/selectTable.js.map +1 -1
  169. package/dist/Table/styles.js.map +1 -1
  170. package/dist/Tabs/Tabs.js.map +1 -1
  171. package/dist/Tag/Tag.js.map +1 -1
  172. package/dist/Tag/styles.js.map +1 -1
  173. package/dist/TagsInput/TagsInput.js.map +1 -1
  174. package/dist/TextArea/TextArea.js.map +1 -1
  175. package/dist/TimePicker/PeriodPicker/PeriodPicker.js.map +1 -1
  176. package/dist/TimePicker/PeriodPicker/index.js.map +1 -1
  177. package/dist/TimePicker/TimePicker.js.map +1 -1
  178. package/dist/TimePicker/UnitTimePicker/UnitTimePicker.js.map +1 -1
  179. package/dist/TimePicker/UnitTimePicker/index.js.map +1 -1
  180. package/dist/TimePicker/timePickerConverter.js.map +1 -1
  181. package/dist/TimePicker/timePickerFormatter.js.map +1 -1
  182. package/dist/TimePicker/timePickerUtils.js.map +1 -1
  183. package/dist/ToggleButton/ToggleButton.js.map +1 -1
  184. package/dist/Tooltip/Tooltip.js.map +1 -1
  185. package/dist/Typography/Typography.js.map +1 -1
  186. package/dist/UserPreferences/Action/Action.js.map +1 -1
  187. package/dist/UserPreferences/Action/styles.js.map +1 -1
  188. package/dist/UserPreferences/Actions/Actions.js.map +1 -1
  189. package/dist/UserPreferences/Options/Group/Group.js.map +1 -1
  190. package/dist/UserPreferences/Options/Label/Label.js.map +1 -1
  191. package/dist/UserPreferences/Options/Option.js.map +1 -1
  192. package/dist/UserPreferences/Options/Options.js.map +1 -1
  193. package/dist/UserPreferences/Options/OptionsContext.js.map +1 -1
  194. package/dist/UserPreferences/Options/styles.js.map +1 -1
  195. package/dist/UserPreferences/UserPreferences.js.map +1 -1
  196. package/dist/VerticalNavigation/Actions/Action.js.map +1 -1
  197. package/dist/VerticalNavigation/Actions/Actions.js.map +1 -1
  198. package/dist/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
  199. package/dist/VerticalNavigation/Navigation/Navigation.js +10 -3
  200. package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  201. package/dist/VerticalNavigation/TreeView/TreeView.js.map +1 -1
  202. package/dist/VerticalNavigation/TreeView/TreeViewContexts.js.map +1 -1
  203. package/dist/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
  204. package/dist/VerticalNavigation/TreeView/TreeViewItem.js +25 -4
  205. package/dist/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  206. package/dist/VerticalNavigation/TreeView/descendants.js.map +1 -1
  207. package/dist/VerticalNavigation/TreeView/styles.js +3 -0
  208. package/dist/VerticalNavigation/TreeView/styles.js.map +1 -1
  209. package/dist/VerticalNavigation/VerticalContainer/VerticalContainer.js.map +1 -1
  210. package/dist/VerticalNavigation/VerticalNavigation.js.map +1 -1
  211. package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js +5 -1
  212. package/dist/legacy/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  213. package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js +25 -9
  214. package/dist/legacy/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  215. package/dist/legacy/Header/Navigation/MenuItem/styles.js +4 -0
  216. package/dist/legacy/Header/Navigation/MenuItem/styles.js.map +1 -1
  217. package/dist/legacy/Header/Navigation/Navigation.d.ts +4 -0
  218. package/dist/legacy/Header/Navigation/Navigation.js +5 -1
  219. package/dist/legacy/Header/Navigation/Navigation.js.map +1 -1
  220. package/dist/legacy/List/List.js +23 -19
  221. package/dist/legacy/List/List.js.map +1 -1
  222. package/dist/legacy/Table/Table.js +20 -23
  223. package/dist/legacy/Table/Table.js.map +1 -1
  224. package/dist/legacy/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
  225. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +10 -3
  226. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  227. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
  228. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js +24 -4
  229. package/dist/legacy/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  230. package/dist/legacy/VerticalNavigation/TreeView/styles.js +3 -0
  231. package/dist/legacy/VerticalNavigation/TreeView/styles.js.map +1 -1
  232. package/dist/legacy/utils/ConditionalRenderer.js +1 -0
  233. package/dist/legacy/utils/ConditionalRenderer.js.map +1 -1
  234. package/dist/modern/Header/Navigation/MenuBar/MenuBar.js +5 -1
  235. package/dist/modern/Header/Navigation/MenuBar/MenuBar.js.map +1 -1
  236. package/dist/modern/Header/Navigation/MenuItem/MenuItem.js +24 -9
  237. package/dist/modern/Header/Navigation/MenuItem/MenuItem.js.map +1 -1
  238. package/dist/modern/Header/Navigation/MenuItem/styles.js +4 -0
  239. package/dist/modern/Header/Navigation/MenuItem/styles.js.map +1 -1
  240. package/dist/modern/Header/Navigation/Navigation.d.ts +4 -0
  241. package/dist/modern/Header/Navigation/Navigation.js +5 -1
  242. package/dist/modern/Header/Navigation/Navigation.js.map +1 -1
  243. package/dist/modern/List/List.js +25 -24
  244. package/dist/modern/List/List.js.map +1 -1
  245. package/dist/modern/Table/Table.js +20 -23
  246. package/dist/modern/Table/Table.js.map +1 -1
  247. package/dist/modern/VerticalNavigation/Navigation/Navigation.d.ts +8 -0
  248. package/dist/modern/VerticalNavigation/Navigation/Navigation.js +10 -2
  249. package/dist/modern/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  250. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.d.ts +8 -0
  251. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js +23 -4
  252. package/dist/modern/VerticalNavigation/TreeView/TreeViewItem.js.map +1 -1
  253. package/dist/modern/VerticalNavigation/TreeView/styles.js +3 -0
  254. package/dist/modern/VerticalNavigation/TreeView/styles.js.map +1 -1
  255. package/dist/modern/utils/ConditionalRenderer.js +1 -0
  256. package/dist/modern/utils/ConditionalRenderer.js.map +1 -1
  257. package/dist/theme/CssBaseline.js.map +1 -1
  258. package/dist/theme/ScopedCssBaseline.js.map +1 -1
  259. package/dist/theme/createGenerateClassName.js.map +1 -1
  260. package/dist/theme/index.js.map +1 -1
  261. package/dist/theme/overrides/muiButton.js.map +1 -1
  262. package/dist/theme/palette.js.map +1 -1
  263. package/dist/theme/typography.js.map +1 -1
  264. package/dist/useUniqueId.js.map +1 -1
  265. package/dist/utils/ConditionalRenderer.js +1 -0
  266. package/dist/utils/ConditionalRenderer.js.map +1 -1
  267. package/dist/utils/browser.js.map +1 -1
  268. package/dist/utils/hexToRgbA.js.map +1 -1
  269. package/dist/utils/refType.js.map +1 -1
  270. package/dist/utils/setId.js.map +1 -1
  271. package/dist/utils/useComputation.js.map +1 -1
  272. package/dist/utils/useDeprecated.js.map +1 -1
  273. package/dist/utils/useImageLoaded.js.map +1 -1
  274. package/dist/utils/useIsMounted.js.map +1 -1
  275. package/dist/utils/useLabels.js.map +1 -1
  276. package/dist/utils/usePropAsRef.js.map +1 -1
  277. package/dist/utils/useSavedState.js.map +1 -1
  278. package/dist/utils/useUpdated.js.map +1 -1
  279. package/dist/utils/useWidth.js.map +1 -1
  280. package/dist/withId.js.map +1 -1
  281. package/dist/withTooltip.js.map +1 -1
  282. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","names":["DEFAULT_LABELS","applyLabel","cancelLabel","clearLabel","HvDatePicker","props","classes","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","status","statusMessage","ariaErrorMessage","placeholder","labelsProp","labels","value","startValue","endValue","rangeMode","startAdornment","horizontalPlacement","localeProp","locale","showActions","showClear","disablePortal","escapeWithReference","dropdownProps","others","elementId","validationState","setValidationState","validationMessage","localeFromProvider","calendarOpen","setCalendarOpen","startDate","setStartDate","rollbackStartDate","endDate","setEndDate","rollbackEndDate","visibleDate","dispatchAction","focusTarget","endDateIsSet","current","type","NAV_OPTIONS","MONTH_YEAR","target","year","getFullYear","month","getMonth","handleApply","handleCancel","handleClear","undefined","handleCalendarClose","shouldSave","handleToggle","evt","open","focusOnContainer","focus","handleDateChange","event","newDate","autoSave","handleInputDateChange","position","renderActions","actionContainer","leftContainer","action","rightContainer","renderInput","dateString","dateValue","hasLabel","hasDescription","canShowError","isStateInvalid","errorMessageId","root","labelContainer","dropdown","panel","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","icon","modifiers","enabled","join","trim","_event","error","propTypes","PropTypes","string","shape","isRequired","node","bool","oneOf","func","instanceOf","Date","Object","styles","index"],"sources":["../../src/DatePicker/DatePicker.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { Calendar } from \"@hitachivantara/uikit-react-icons\";\nimport clsx from \"clsx\";\nimport { setId, useSavedState, useLabels } from \"../utils\";\nimport {\n HvActionBar,\n HvBaseDropdown,\n HvButton,\n HvCalendar,\n HvLabel,\n HvInfoMessage,\n HvFormElement,\n HvWarningText,\n HvTypography,\n useUniqueId,\n useControlled,\n} from \"..\";\nimport { isInvalid } from \"../Forms/FormElement/validationStates\";\nimport styles from \"./styles\";\nimport { isDate } from \"../Calendar/utils\";\nimport { getDateLabel } from \"./utils\";\nimport useVisibleDate from \"./useVisibleDate\";\nimport useLocale from \"../Provider/useLocale\";\nimport { NAV_OPTIONS } from \"../Calendar/enums\";\n\nconst DEFAULT_LABELS = {\n applyLabel: \"Apply\",\n cancelLabel: \"Cancel\",\n clearLabel: \"Clear\",\n};\n\n/**\n * A date picker, popup calendar or date range picker is a graphical user\n * interface widget which allows the user to select a date from a calendar.\n */\nconst HvDatePicker = (props) => {\n const {\n classes,\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 status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n\n labels: labelsProp,\n\n value,\n startValue,\n endValue,\n\n rangeMode = false,\n startAdornment,\n horizontalPlacement = \"right\",\n locale: localeProp,\n showActions = false,\n showClear = false,\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n ...others\n } = props;\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const elementId = useUniqueId(id, \"hvdatepicker\");\n\n const [validationState, setValidationState] = useControlled(status, \"standBy\");\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const localeFromProvider = useLocale();\n\n const locale = localeProp || localeFromProvider;\n\n const [calendarOpen, setCalendarOpen] = useState(false);\n\n const [startDate, setStartDate, rollbackStartDate] = useSavedState(\n rangeMode ? startValue : value\n );\n const [endDate, setEndDate, rollbackEndDate] = useSavedState(endValue);\n\n const [visibleDate, dispatchAction] = useVisibleDate(startDate, endDate);\n\n const focusTarget = useRef();\n\n useEffect(() => {\n setStartDate(rangeMode ? startValue : value, true);\n setEndDate(endValue, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, startValue, endValue, rangeMode]);\n\n const endDateIsSet = useRef(false);\n endDateIsSet.current = endDate != null;\n\n useEffect(() => {\n if (startDate != null) {\n dispatchAction({\n type: NAV_OPTIONS.MONTH_YEAR,\n target: endDateIsSet.current ? \"left\" : \"best\",\n year: startDate.getFullYear(),\n month: startDate.getMonth() + 1,\n });\n }\n }, [dispatchAction, startDate]);\n\n useEffect(() => {\n if (endDate != null) {\n dispatchAction({\n type: NAV_OPTIONS.MONTH_YEAR,\n target: \"right\",\n year: endDate.getFullYear(),\n month: endDate.getMonth() + 1,\n });\n }\n }, [dispatchAction, endDate]);\n\n /**\n * Handles the `Apply` action. Both single and ranged modes are handled here.\n */\n const handleApply = () => {\n setStartDate(startDate, true);\n setEndDate(endDate ?? startDate, true);\n\n onChange?.(startDate, endDate);\n\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && (!isDate(startDate) || (rangeMode && !isDate(endDate)))) {\n return \"invalid\";\n }\n\n return \"valid\";\n });\n\n setCalendarOpen(false);\n };\n\n /**\n * Handles the `Cancel` action. Both single and ranged modes are handled here.\n */\n const handleCancel = () => {\n rollbackStartDate();\n rollbackEndDate();\n\n onCancel?.();\n\n setCalendarOpen(false);\n };\n\n /**\n * Handles the `Cancel` action. Both single and ranged modes are handled here.\n */\n const handleClear = () => {\n setStartDate(undefined, false);\n setEndDate(undefined, false);\n onClear?.();\n };\n\n const handleCalendarClose = () => {\n const shouldSave = !(rangeMode || showActions);\n if (shouldSave) {\n handleApply();\n } else {\n handleCancel();\n }\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 setCalendarOpen(open);\n if (!open) handleCalendarClose();\n };\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const handleDateChange = (event, newDate) => {\n if (!isDate(newDate)) return;\n\n const autoSave = !showActions && !rangeMode;\n\n if (rangeMode) {\n if (!startDate || (startDate && endDate) || newDate < startDate) {\n setStartDate(newDate);\n setEndDate(null);\n } else {\n setEndDate(newDate);\n }\n } else {\n setStartDate(newDate, autoSave);\n }\n\n if (autoSave) {\n onChange?.(newDate);\n\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && !isDate(newDate)) {\n return \"invalid\";\n }\n\n return \"valid\";\n });\n\n setCalendarOpen(false);\n }\n };\n\n const handleInputDateChange = (event, newDate, position) => {\n if (!isDate(newDate)) return;\n\n if (!rangeMode) {\n handleDateChange(event, newDate);\n return;\n }\n\n if (position === \"left\") {\n setStartDate(newDate > endDate ? endDate : newDate);\n } else if (position === \"right\") {\n if (!startDate) {\n setStartDate(newDate > endDate ? endDate : newDate);\n return;\n }\n setEndDate(newDate < startDate ? startDate : newDate);\n }\n };\n\n /**\n * Renders the container for the action elements.\n */\n const renderActions = () => (\n <HvActionBar\n className={clsx({\n [classes.actionContainer]: showClear,\n })}\n >\n {showClear && (\n <div className={classes.leftContainer}>\n <HvButton\n id={setId(id, \"action\", \"clear\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleClear}\n >\n {labels.clearLabel}\n </HvButton>\n </div>\n )}\n <div className={classes.rightContainer}>\n <HvButton\n id={setId(id, \"action\", \"apply\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleApply}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton\n id={setId(id, \"action\", \"cancel\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleCancel}\n >\n {labels.cancelLabel}\n </HvButton>\n </div>\n </HvActionBar>\n );\n\n const renderInput = (dateString) => (\n <HvTypography variant={dateString ? \"normalText\" : \"placeholderText\"}>\n {(dateString || placeholder) === undefined ? \"\" : dateString || placeholder}\n </HvTypography>\n );\n\n const dateValue = rangeMode ? { startDate, endDate } : startDate;\n\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) || (status === undefined && required));\n\n const isStateInvalid = isInvalid(validationState);\n\n let errorMessageId;\n if (isStateInvalid) {\n errorMessageId = canShowError ? setId(elementId, \"error\") : ariaErrorMessage;\n }\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={dateValue}\n status={validationState}\n disabled={disabled}\n required={required}\n className={clsx(className, classes.root)}\n locale={locale}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel id={setId(elementId, \"label\")} label={label} className={classes.label} />\n )}\n\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n header: isStateInvalid ? classes.dropdownHeaderInvalid : undefined,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={calendarOpen}\n onToggle={handleToggle}\n onClickOutside={handleCalendarClose}\n onContainerCreation={focusOnContainer}\n placeholder={renderInput(getDateLabel(dateValue, rangeMode, locale))}\n adornment={<Calendar className={classes.icon} color={disabled ? \"atmo5\" : undefined} />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy].join(\" \").trim() || undefined\n }\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy].join(\" \").trim() ||\n undefined\n }\n {...dropdownProps}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <HvCalendar\n id={setId(id, \"calendar\")}\n startAdornment={startAdornment}\n onChange={handleDateChange}\n onInputChange={handleInputDateChange}\n onVisibleDateChange={(_event, type, month, target) => {\n dispatchAction({ type, target, month });\n }}\n locale={locale}\n {...visibleDate}\n />\n {(rangeMode || showActions) && renderActions()}\n </HvBaseDropdown>\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n\nHvDatePicker.propTypes = {\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 component root class.\n */\n root: PropTypes.string,\n\n /**\n * Styles applied to the container of the labels elements.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the icon information text.\n */\n description: PropTypes.string,\n\n /**\n * Styles applied to the error area.\n */\n error: PropTypes.string,\n\n /**\n * Styles applied to the dropdown.\n */\n dropdown: PropTypes.string,\n\n panel: PropTypes.string,\n action: PropTypes.string,\n icon: PropTypes.string,\n /**\n * Styles applied to the date picker when invalid.\n */\n dropdownHeaderInvalid: PropTypes.string,\n /**\n * Styles applied to the date picker when opened.\n */\n dropdownHeaderOpen: PropTypes.string,\n /**\n * Styles applied to the container that holds the actions buttons.\n */\n actionContainer: PropTypes.string,\n /**\n * Styles applied to the container that holds the clear button.\n */\n leftContainer: PropTypes.string,\n /**\n * Styles applied to the container that holds the apply and cancel button.\n */\n rightContainer: PropTypes.string,\n }).isRequired,\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 * The placeholder value when nothing is selected.\n */\n placeholder: 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 the validation status is \"invalid\".\n *\n * Defaults to \"Required\" when the status is uncontrolled and no `aria-errormessage` is provided.\n */\n statusMessage: PropTypes.node,\n /**\n * Identifies the element that provides an error message for the date picker.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\": PropTypes.string,\n\n /**\n * The callback fired when the value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * The callback fired when user clicks on cancel.\n */\n onCancel: PropTypes.func,\n\n /**\n * The callback fired when user clicks on clear.\n */\n onClear: PropTypes.func,\n\n /**\n * An object containing all the labels for the datepicker.\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 button label.\n */\n clearLabel: PropTypes.string,\n }),\n\n /**\n * The initial value of the input when in single calendar mode.\n */\n value: PropTypes.instanceOf(Date),\n /**\n * The initial value for the start date when in range mode.\n */\n startValue: PropTypes.instanceOf(Date),\n /**\n * The initial value for the end date when in range mode.\n */\n endValue: PropTypes.instanceOf(Date),\n /**\n * Flag informing if the the component should be in range mode or in single mode.\n */\n rangeMode: PropTypes.bool,\n /**\n * The placement where the calendar should be placed according to the input. Options are `left` or `right`.\n * Note this prop only affects the calendar when in `rangeMode`.\n */\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n /**\n * The calendar locale. If undefined, it uses calendar default\n */\n locale: PropTypes.string,\n\n /**\n * Controls if actions buttons are visible at the calendar.\n */\n showActions: PropTypes.bool,\n /**\n * Controls if clear button is visible at the calendar,\n * only works if showing actions or in range mode.\n */\n showClear: PropTypes.bool,\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 calendar container should follow the date picker input out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n /**\n * An element placed before the Calendar\n */\n startAdornment: PropTypes.node,\n /**\n * An object containing props to be passed onto the baseDropdown.\n */\n dropdownProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvDatePicker\", index: 1 })(HvDatePicker);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAaA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,cAAc,GAAG;EACrBC,UAAU,EAAE,OADS;EAErBC,WAAW,EAAE,QAFQ;EAGrBC,UAAU,EAAE;AAHS,CAAvB;AAMA;AACA;AACA;AACA;;AACA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;EAC9B,IACEC,OADF,GAyCID,KAzCJ,CACEC,OADF;EAAA,IAEEC,SAFF,GAyCIF,KAzCJ,CAEEE,SAFF;EAAA,IAIEC,EAJF,GAyCIH,KAzCJ,CAIEG,EAJF;EAAA,IAKEC,IALF,GAyCIJ,KAzCJ,CAKEI,IALF;EAAA,sBAyCIJ,KAzCJ,CAOEK,QAPF;EAAA,IAOEA,QAPF,gCAOa,KAPb;EAAA,sBAyCIL,KAzCJ,CAQEM,QARF;EAAA,IAQEA,QARF,gCAQa,KARb;EAAA,IAUEC,KAVF,GAyCIP,KAzCJ,CAUEO,KAVF;EAAA,IAWgBC,SAXhB,GAyCIR,KAzCJ,CAWE,YAXF;EAAA,IAYqBS,cAZrB,GAyCIT,KAzCJ,CAYE,iBAZF;EAAA,IAaEU,WAbF,GAyCIV,KAzCJ,CAaEU,WAbF;EAAA,IAcsBC,eAdtB,GAyCIX,KAzCJ,CAcE,kBAdF;EAAA,IAgBEY,QAhBF,GAyCIZ,KAzCJ,CAgBEY,QAhBF;EAAA,IAiBEC,QAjBF,GAyCIb,KAzCJ,CAiBEa,QAjBF;EAAA,IAkBEC,OAlBF,GAyCId,KAzCJ,CAkBEc,OAlBF;EAAA,IAmBEC,MAnBF,GAyCIf,KAzCJ,CAmBEe,MAnBF;EAAA,IAoBEC,aApBF,GAyCIhB,KAzCJ,CAoBEgB,aApBF;EAAA,IAqBuBC,gBArBvB,GAyCIjB,KAzCJ,CAqBE,mBArBF;EAAA,IAuBEkB,WAvBF,GAyCIlB,KAzCJ,CAuBEkB,WAvBF;EAAA,IAyBUC,UAzBV,GAyCInB,KAzCJ,CAyBEoB,MAzBF;EAAA,IA2BEC,KA3BF,GAyCIrB,KAzCJ,CA2BEqB,KA3BF;EAAA,IA4BEC,UA5BF,GAyCItB,KAzCJ,CA4BEsB,UA5BF;EAAA,IA6BEC,QA7BF,GAyCIvB,KAzCJ,CA6BEuB,QA7BF;EAAA,uBAyCIvB,KAzCJ,CA+BEwB,SA/BF;EAAA,IA+BEA,SA/BF,iCA+Bc,KA/Bd;EAAA,IAgCEC,cAhCF,GAyCIzB,KAzCJ,CAgCEyB,cAhCF;EAAA,4BAyCIzB,KAzCJ,CAiCE0B,mBAjCF;EAAA,IAiCEA,mBAjCF,sCAiCwB,OAjCxB;EAAA,IAkCUC,UAlCV,GAyCI3B,KAzCJ,CAkCE4B,MAlCF;EAAA,yBAyCI5B,KAzCJ,CAmCE6B,WAnCF;EAAA,IAmCEA,WAnCF,mCAmCgB,KAnChB;EAAA,uBAyCI7B,KAzCJ,CAoCE8B,SApCF;EAAA,IAoCEA,SApCF,iCAoCc,KApCd;EAAA,2BAyCI9B,KAzCJ,CAqCE+B,aArCF;EAAA,IAqCEA,aArCF,qCAqCkB,IArClB;EAAA,4BAyCI/B,KAzCJ,CAsCEgC,mBAtCF;EAAA,IAsCEA,mBAtCF,sCAsCwB,IAtCxB;EAAA,IAuCEC,aAvCF,GAyCIjC,KAzCJ,CAuCEiC,aAvCF;EAAA,IAwCKC,MAxCL,0CAyCIlC,KAzCJ;EA2CA,IAAMoB,MAAM,GAAG,sBAAUzB,cAAV,EAA0BwB,UAA1B,CAAf;EAEA,IAAMgB,SAAS,GAAG,mBAAYhC,EAAZ,EAAgB,cAAhB,CAAlB;;EAEA,qBAA8C,qBAAcY,MAAd,EAAsB,SAAtB,CAA9C;EAAA;EAAA,IAAOqB,eAAP;EAAA,IAAwBC,kBAAxB;;EAEA,sBAA4B,qBAAcrB,aAAd,EAA6B,UAA7B,CAA5B;EAAA;EAAA,IAAOsB,iBAAP;;EAEA,IAAMC,kBAAkB,GAAG,yBAA3B;EAEA,IAAMX,MAAM,GAAGD,UAAU,IAAIY,kBAA7B;;EAEA,gBAAwC,qBAAS,KAAT,CAAxC;EAAA;EAAA,IAAOC,YAAP;EAAA,IAAqBC,eAArB;;EAEA,qBAAqD,0BACnDjB,SAAS,GAAGF,UAAH,GAAgBD,KAD0B,CAArD;EAAA;EAAA,IAAOqB,SAAP;EAAA,IAAkBC,YAAlB;EAAA,IAAgCC,iBAAhC;;EAGA,sBAA+C,0BAAcrB,QAAd,CAA/C;EAAA;EAAA,IAAOsB,OAAP;EAAA,IAAgBC,UAAhB;EAAA,IAA4BC,eAA5B;;EAEA,sBAAsC,8BAAeL,SAAf,EAA0BG,OAA1B,CAAtC;EAAA;EAAA,IAAOG,WAAP;EAAA,IAAoBC,cAApB;;EAEA,IAAMC,WAAW,GAAG,oBAApB;EAEA,sBAAU,YAAM;IACdP,YAAY,CAACnB,SAAS,GAAGF,UAAH,GAAgBD,KAA1B,EAAiC,IAAjC,CAAZ;IACAyB,UAAU,CAACvB,QAAD,EAAW,IAAX,CAAV,CAFc,CAGd;EACD,CAJD,EAIG,CAACF,KAAD,EAAQC,UAAR,EAAoBC,QAApB,EAA8BC,SAA9B,CAJH;EAMA,IAAM2B,YAAY,GAAG,mBAAO,KAAP,CAArB;EACAA,YAAY,CAACC,OAAb,GAAuBP,OAAO,IAAI,IAAlC;EAEA,sBAAU,YAAM;IACd,IAAIH,SAAS,IAAI,IAAjB,EAAuB;MACrBO,cAAc,CAAC;QACbI,IAAI,EAAEC,mBAAYC,UADL;QAEbC,MAAM,EAAEL,YAAY,CAACC,OAAb,GAAuB,MAAvB,GAAgC,MAF3B;QAGbK,IAAI,EAAEf,SAAS,CAACgB,WAAV,EAHO;QAIbC,KAAK,EAAEjB,SAAS,CAACkB,QAAV,KAAuB;MAJjB,CAAD,CAAd;IAMD;EACF,CATD,EASG,CAACX,cAAD,EAAiBP,SAAjB,CATH;EAWA,sBAAU,YAAM;IACd,IAAIG,OAAO,IAAI,IAAf,EAAqB;MACnBI,cAAc,CAAC;QACbI,IAAI,EAAEC,mBAAYC,UADL;QAEbC,MAAM,EAAE,OAFK;QAGbC,IAAI,EAAEZ,OAAO,CAACa,WAAR,EAHO;QAIbC,KAAK,EAAEd,OAAO,CAACe,QAAR,KAAqB;MAJf,CAAD,CAAd;IAMD;EACF,CATD,EASG,CAACX,cAAD,EAAiBJ,OAAjB,CATH;EAWA;AACF;AACA;;EACE,IAAMgB,WAAW,GAAG,SAAdA,WAAc,GAAM;IACxBlB,YAAY,CAACD,SAAD,EAAY,IAAZ,CAAZ;IACAI,UAAU,CAACD,OAAD,aAACA,OAAD,cAACA,OAAD,GAAYH,SAAZ,EAAuB,IAAvB,CAAV;IAEA9B,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG8B,SAAH,EAAcG,OAAd,CAAR;IAEAR,kBAAkB,CAAC,YAAM;MACvB;MACA,IAAIhC,QAAQ,KAAK,CAAC,oBAAOqC,SAAP,CAAD,IAAuBlB,SAAS,IAAI,CAAC,oBAAOqB,OAAP,CAA1C,CAAZ,EAAyE;QACvE,OAAO,SAAP;MACD;;MAED,OAAO,OAAP;IACD,CAPiB,CAAlB;IASAJ,eAAe,CAAC,KAAD,CAAf;EACD,CAhBD;EAkBA;AACF;AACA;;;EACE,IAAMqB,YAAY,GAAG,SAAfA,YAAe,GAAM;IACzBlB,iBAAiB;IACjBG,eAAe;IAEflC,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ;IAER4B,eAAe,CAAC,KAAD,CAAf;EACD,CAPD;EASA;AACF;AACA;;;EACE,IAAMsB,WAAW,GAAG,SAAdA,WAAc,GAAM;IACxBpB,YAAY,CAACqB,SAAD,EAAY,KAAZ,CAAZ;IACAlB,UAAU,CAACkB,SAAD,EAAY,KAAZ,CAAV;IACAlD,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO;EACR,CAJD;;EAMA,IAAMmD,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAM;IAChC,IAAMC,UAAU,GAAG,EAAE1C,SAAS,IAAIK,WAAf,CAAnB;;IACA,IAAIqC,UAAJ,EAAgB;MACdL,WAAW;IACZ,CAFD,MAEO;MACLC,YAAY;IACb;EACF,CAPD;;EASA,IAAMK,YAAY,GAAG,SAAfA,YAAe,CAACC,GAAD,EAAMC,IAAN,EAAe;IAClC;AACJ;AACA;AACA;AACA;IACI,IAAID,GAAG,KAAK,IAAZ,EAAkB;IAClB3B,eAAe,CAAC4B,IAAD,CAAf;IACA,IAAI,CAACA,IAAL,EAAWJ,mBAAmB;EAC/B,CATD;;EAWA,IAAMK,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;IAAA;;IAC7B,wBAAApB,WAAW,CAACE,OAAZ,8EAAqBmB,KAArB;EACD,CAFD;;EAIA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAQC,OAAR,EAAoB;IAC3C,IAAI,CAAC,oBAAOA,OAAP,CAAL,EAAsB;IAEtB,IAAMC,QAAQ,GAAG,CAAC9C,WAAD,IAAgB,CAACL,SAAlC;;IAEA,IAAIA,SAAJ,EAAe;MACb,IAAI,CAACkB,SAAD,IAAeA,SAAS,IAAIG,OAA5B,IAAwC6B,OAAO,GAAGhC,SAAtD,EAAiE;QAC/DC,YAAY,CAAC+B,OAAD,CAAZ;QACA5B,UAAU,CAAC,IAAD,CAAV;MACD,CAHD,MAGO;QACLA,UAAU,CAAC4B,OAAD,CAAV;MACD;IACF,CAPD,MAOO;MACL/B,YAAY,CAAC+B,OAAD,EAAUC,QAAV,CAAZ;IACD;;IAED,IAAIA,QAAJ,EAAc;MACZ/D,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAG8D,OAAH,CAAR;MAEArC,kBAAkB,CAAC,YAAM;QACvB;QACA,IAAIhC,QAAQ,IAAI,CAAC,oBAAOqE,OAAP,CAAjB,EAAkC;UAChC,OAAO,SAAP;QACD;;QAED,OAAO,OAAP;MACD,CAPiB,CAAlB;MASAjC,eAAe,CAAC,KAAD,CAAf;IACD;EACF,CA9BD;;EAgCA,IAAMmC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACH,KAAD,EAAQC,OAAR,EAAiBG,QAAjB,EAA8B;IAC1D,IAAI,CAAC,oBAAOH,OAAP,CAAL,EAAsB;;IAEtB,IAAI,CAAClD,SAAL,EAAgB;MACdgD,gBAAgB,CAACC,KAAD,EAAQC,OAAR,CAAhB;MACA;IACD;;IAED,IAAIG,QAAQ,KAAK,MAAjB,EAAyB;MACvBlC,YAAY,CAAC+B,OAAO,GAAG7B,OAAV,GAAoBA,OAApB,GAA8B6B,OAA/B,CAAZ;IACD,CAFD,MAEO,IAAIG,QAAQ,KAAK,OAAjB,EAA0B;MAC/B,IAAI,CAACnC,SAAL,EAAgB;QACdC,YAAY,CAAC+B,OAAO,GAAG7B,OAAV,GAAoBA,OAApB,GAA8B6B,OAA/B,CAAZ;QACA;MACD;;MACD5B,UAAU,CAAC4B,OAAO,GAAGhC,SAAV,GAAsBA,SAAtB,GAAkCgC,OAAnC,CAAV;IACD;EACF,CAjBD;EAmBA;AACF;AACA;;;EACE,IAAMI,aAAa,GAAG,SAAhBA,aAAgB;IAAA,oBACpB,6BAAC,aAAD;MACE,SAAS,EAAE,mBACkBhD,SADlB,IACR7B,OAAO,CAAC8E,eADA;IADb,GAKGjD,SAAS,iBACR;MAAK,SAAS,EAAE7B,OAAO,CAAC+E;IAAxB,gBACE,6BAAC,UAAD;MACE,EAAE,EAAE,kBAAM7E,EAAN,EAAU,QAAV,EAAoB,OAApB,CADN;MAEE,SAAS,EAAEF,OAAO,CAACgF,MAFrB;MAGE,QAAQ,EAAC,OAHX;MAIE,OAAO,EAAElB;IAJX,GAMG3C,MAAM,CAACtB,UANV,CADF,CANJ,eAiBE;MAAK,SAAS,EAAEG,OAAO,CAACiF;IAAxB,gBACE,6BAAC,UAAD;MACE,EAAE,EAAE,kBAAM/E,EAAN,EAAU,QAAV,EAAoB,OAApB,CADN;MAEE,SAAS,EAAEF,OAAO,CAACgF,MAFrB;MAGE,QAAQ,EAAC,OAHX;MAIE,OAAO,EAAEpB;IAJX,GAMGzC,MAAM,CAACxB,UANV,CADF,eASE,6BAAC,UAAD;MACE,EAAE,EAAE,kBAAMO,EAAN,EAAU,QAAV,EAAoB,QAApB,CADN;MAEE,SAAS,EAAEF,OAAO,CAACgF,MAFrB;MAGE,QAAQ,EAAC,OAHX;MAIE,OAAO,EAAEnB;IAJX,GAMG1C,MAAM,CAACvB,WANV,CATF,CAjBF,CADoB;EAAA,CAAtB;;EAuCA,IAAMsF,WAAW,GAAG,SAAdA,WAAc,CAACC,UAAD;IAAA,oBAClB,6BAAC,cAAD;MAAc,OAAO,EAAEA,UAAU,GAAG,YAAH,GAAkB;IAAnD,GACG,CAACA,UAAU,IAAIlE,WAAf,MAAgC8C,SAAhC,GAA4C,EAA5C,GAAiDoB,UAAU,IAAIlE,WADlE,CADkB;EAAA,CAApB;;EAMA,IAAMmE,SAAS,GAAG7D,SAAS,GAAG;IAAEkB,SAAS,EAATA,SAAF;IAAaG,OAAO,EAAPA;EAAb,CAAH,GAA4BH,SAAvD;EAEA,IAAM4C,QAAQ,GAAG/E,KAAK,IAAI,IAA1B;EACA,IAAMgF,cAAc,GAAG7E,WAAW,IAAI,IAAtC,CA1Q8B,CA4Q9B;EACA;EACA;EACA;;EACA,IAAM8E,YAAY,GAChBvE,gBAAgB,IAAI,IAApB,KACEF,MAAM,KAAKiD,SAAX,IAAwBhD,aAAa,KAAKgD,SAA3C,IAA0DjD,MAAM,KAAKiD,SAAX,IAAwB3D,QADnF,CADF;EAIA,IAAMoF,cAAc,GAAG,iCAAUrD,eAAV,CAAvB;EAEA,IAAIsD,cAAJ;;EACA,IAAID,cAAJ,EAAoB;IAClBC,cAAc,GAAGF,YAAY,GAAG,kBAAMrD,SAAN,EAAiB,OAAjB,CAAH,GAA+BlB,gBAA5D;EACD;;EAED,oBACE,6BAAC,eAAD;IACE,EAAE,EAAEd,EADN;IAEE,IAAI,EAAEC,IAFR;IAGE,KAAK,EAAEiF,SAHT;IAIE,MAAM,EAAEjD,eAJV;IAKE,QAAQ,EAAE9B,QALZ;IAME,QAAQ,EAAED,QANZ;IAOE,SAAS,EAAE,mBAAKH,SAAL,EAAgBD,OAAO,CAAC0F,IAAxB,CAPb;IAQE,MAAM,EAAE/D;EARV,GASMM,MATN,GAWG,CAACoD,QAAQ,IAAIC,cAAb,kBACC;IAAK,SAAS,EAAEtF,OAAO,CAAC2F;EAAxB,GACGN,QAAQ,iBACP,6BAAC,SAAD;IAAS,EAAE,EAAE,kBAAMnD,SAAN,EAAiB,OAAjB,CAAb;IAAwC,KAAK,EAAE5B,KAA/C;IAAsD,SAAS,EAAEN,OAAO,CAACM;EAAzE,EAFJ,EAKGgF,cAAc,iBACb,6BAAC,eAAD;IAAe,EAAE,EAAE,kBAAMpD,SAAN,EAAiB,aAAjB,CAAnB;IAAoD,SAAS,EAAElC,OAAO,CAACS;EAAvE,GACGA,WADH,CANJ,CAZJ,eAwBE,6BAAC,gBAAD;IACE,IAAI,EAAC,UADP;IAEE,OAAO,EAAE;MACPiF,IAAI,EAAE1F,OAAO,CAAC4F,QADP;MAEPC,KAAK,EAAE7F,OAAO,CAAC6F,KAFR;MAGPC,MAAM,EAAEN,cAAc,GAAGxF,OAAO,CAAC+F,qBAAX,GAAmChC,SAHlD;MAIPiC,UAAU,EAAEhG,OAAO,CAACiG;IAJb,CAFX;IAQE,QAAQ,EAAE5F,QARZ;IASE,aAAa,EAAEyB,aATjB;IAUE,aAAa,MAVf;IAWE,SAAS,EAAEL,mBAXb;IAYE,QAAQ,EAAEc,YAZZ;IAaE,QAAQ,EAAE2B,YAbZ;IAcE,cAAc,EAAEF,mBAdlB;IAeE,mBAAmB,EAAEK,gBAfvB;IAgBE,WAAW,EAAEa,WAAW,CAAC,0BAAaE,SAAb,EAAwB7D,SAAxB,EAAmCI,MAAnC,CAAD,CAhB1B;IAiBE,SAAS,eAAE,6BAAC,yBAAD;MAAU,SAAS,EAAE3B,OAAO,CAACkG,IAA7B;MAAmC,KAAK,EAAE7F,QAAQ,GAAG,OAAH,GAAa0D;IAA/D,EAjBb;IAkBE,WAAW,EAAE;MAAEoC,SAAS,EAAE,CAAC;QAAEhG,IAAI,EAAE,iBAAR;QAA2BiG,OAAO,EAAErE;MAApC,CAAD;IAAb,CAlBf;IAmBE,iBAAc,QAnBhB;IAoBE,cAAYxB,SApBd;IAqBE,mBACE,CAACD,KAAK,IAAI,kBAAM4B,SAAN,EAAiB,OAAjB,CAAV,EAAqC1B,cAArC,EAAqD6F,IAArD,CAA0D,GAA1D,EAA+DC,IAA/D,MAAyEvC,SAtB7E;IAwBE,gBAAcyB,cAAc,GAAG,IAAH,GAAUzB,SAxBxC;IAyBE,qBAAmB0B,cAzBrB;IA0BE,oBACE,CAAChF,WAAW,IAAI,kBAAMyB,SAAN,EAAiB,aAAjB,CAAhB,EAAiDxB,eAAjD,EAAkE2F,IAAlE,CAAuE,GAAvE,EAA4EC,IAA5E,MACAvC;EA5BJ,GA8BM/B,aA9BN,gBAgCE;IAAK,GAAG,EAAEiB,WAAV;IAAuB,QAAQ,EAAE,CAAC;EAAlC,EAhCF,eAiCE,6BAAC,YAAD;IACE,EAAE,EAAE,kBAAM/C,EAAN,EAAU,UAAV,CADN;IAEE,cAAc,EAAEsB,cAFlB;IAGE,QAAQ,EAAE+C,gBAHZ;IAIE,aAAa,EAAEI,qBAJjB;IAKE,mBAAmB,EAAE,6BAAC4B,MAAD,EAASnD,IAAT,EAAeM,KAAf,EAAsBH,MAAtB,EAAiC;MACpDP,cAAc,CAAC;QAAEI,IAAI,EAAJA,IAAF;QAAQG,MAAM,EAANA,MAAR;QAAgBG,KAAK,EAALA;MAAhB,CAAD,CAAd;IACD,CAPH;IAQE,MAAM,EAAE/B;EARV,GASMoB,WATN,EAjCF,EA4CG,CAACxB,SAAS,IAAIK,WAAd,KAA8BiD,aAAa,EA5C9C,CAxBF,EAsEGU,YAAY,iBACX,6BAAC,eAAD;IAAe,EAAE,EAAE,kBAAMrD,SAAN,EAAiB,OAAjB,CAAnB;IAA8C,aAAa,MAA3D;IAA4D,SAAS,EAAElC,OAAO,CAACwG;EAA/E,GACGnE,iBADH,CAvEJ,CADF;AA8ED,CAzWD;;AA2WA,wCAAAvC,YAAY,CAAC2G,SAAb,GAAyB;EACvB;AACF;AACA;EACExG,SAAS,EAAEyG,mBAAUC,MAJE;;EAKvB;AACF;AACA;EACE3G,OAAO,EAAE0G,mBAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIlB,IAAI,EAAEgB,mBAAUC,MAJO;;IAMvB;AACJ;AACA;IACIhB,cAAc,EAAEe,mBAAUC,MATH;;IAUvB;AACJ;AACA;IACIrG,KAAK,EAAEoG,mBAAUC,MAbM;;IAcvB;AACJ;AACA;IACIlG,WAAW,EAAEiG,mBAAUC,MAjBA;;IAmBvB;AACJ;AACA;IACIH,KAAK,EAAEE,mBAAUC,MAtBM;;IAwBvB;AACJ;AACA;IACIf,QAAQ,EAAEc,mBAAUC,MA3BG;IA6BvBd,KAAK,EAAEa,mBAAUC,MA7BM;IA8BvB3B,MAAM,EAAE0B,mBAAUC,MA9BK;IA+BvBT,IAAI,EAAEQ,mBAAUC,MA/BO;;IAgCvB;AACJ;AACA;IACIZ,qBAAqB,EAAEW,mBAAUC,MAnCV;;IAoCvB;AACJ;AACA;IACIV,kBAAkB,EAAES,mBAAUC,MAvCP;;IAwCvB;AACJ;AACA;IACI7B,eAAe,EAAE4B,mBAAUC,MA3CJ;;IA4CvB;AACJ;AACA;IACI5B,aAAa,EAAE2B,mBAAUC,MA/CF;;IAgDvB;AACJ;AACA;IACI1B,cAAc,EAAEyB,mBAAUC;EAnDH,CAAhB,EAoDNE,UA5DoB;;EA8DvB;AACF;AACA;EACE3G,EAAE,EAAEwG,mBAAUC,MAjES;;EAmEvB;AACF;AACA;EACExG,IAAI,EAAEuG,mBAAUC,MAtEO;;EAwEvB;AACF;AACA;AACA;AACA;AACA;EACErG,KAAK,EAAEoG,mBAAUI,IA9EM;;EA+EvB;AACF;AACA;EACE,cAAcJ,mBAAUC,MAlFD;;EAmFvB;AACF;AACA;EACE,mBAAmBD,mBAAUC,MAtFN;;EAuFvB;AACF;AACA;EACElG,WAAW,EAAEiG,mBAAUI,IA1FA;;EA2FvB;AACF;AACA;EACE,oBAAoBJ,mBAAUC,MA9FP;;EAgGvB;AACF;AACA;EACE1F,WAAW,EAAEyF,mBAAUC,MAnGA;;EAqGvB;AACF;AACA;EACEtG,QAAQ,EAAEqG,mBAAUK,IAxGG;;EAyGvB;AACF;AACA;EACE3G,QAAQ,EAAEsG,mBAAUK,IA5GG;;EA8GvB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEjG,MAAM,EAAE4F,mBAAUM,KAAV,CAAgB,CAAC,SAAD,EAAY,OAAZ,EAAqB,SAArB,CAAhB,CAtHe;;EAuHvB;AACF;AACA;AACA;AACA;EACEjG,aAAa,EAAE2F,mBAAUI,IA5HF;;EA6HvB;AACF;AACA;AACA;AACA;EACE,qBAAqBJ,mBAAUC,MAlIR;;EAoIvB;AACF;AACA;EACEhG,QAAQ,EAAE+F,mBAAUO,IAvIG;;EAyIvB;AACF;AACA;EACErG,QAAQ,EAAE8F,mBAAUO,IA5IG;;EA8IvB;AACF;AACA;EACEpG,OAAO,EAAE6F,mBAAUO,IAjJI;;EAmJvB;AACF;AACA;EACE9F,MAAM,EAAEuF,mBAAUE,KAAV,CAAgB;IACtB;AACJ;AACA;IACIjH,UAAU,EAAE+G,mBAAUC,MAJA;;IAKtB;AACJ;AACA;IACI/G,WAAW,EAAE8G,mBAAUC,MARD;;IAStB;AACJ;AACA;IACI9G,UAAU,EAAE6G,mBAAUC;EAZA,CAAhB,CAtJe;;EAqKvB;AACF;AACA;EACEvF,KAAK,EAAEsF,mBAAUQ,UAAV,CAAqBC,IAArB,CAxKgB;;EAyKvB;AACF;AACA;EACE9F,UAAU,EAAEqF,mBAAUQ,UAAV,CAAqBC,IAArB,CA5KW;;EA6KvB;AACF;AACA;EACE7F,QAAQ,EAAEoF,mBAAUQ,UAAV,CAAqBC,IAArB,CAhLa;;EAiLvB;AACF;AACA;EACE5F,SAAS,EAAEmF,mBAAUK,IApLE;;EAqLvB;AACF;AACA;AACA;EACEtF,mBAAmB,EAAEiF,mBAAUM,KAAV,CAAgB,CAAC,MAAD,EAAS,OAAT,CAAhB,CAzLE;;EA0LvB;AACF;AACA;EACErF,MAAM,EAAE+E,mBAAUC,MA7LK;;EA+LvB;AACF;AACA;EACE/E,WAAW,EAAE8E,mBAAUK,IAlMA;;EAmMvB;AACF;AACA;AACA;EACElF,SAAS,EAAE6E,mBAAUK,IAvME;;EAwMvB;AACF;AACA;EACEjF,aAAa,EAAE4E,mBAAUK,IA3MF;;EA4MvB;AACF;AACA;EACEhF,mBAAmB,EAAE2E,mBAAUK,IA/MR;;EAgNvB;AACF;AACA;EACEvF,cAAc,EAAEkF,mBAAUI,IAnNH;;EAoNvB;AACF;AACA;EACE9E,aAAa,EAAE0E,mBAAUQ,UAAV,CAAqBE,MAArB;AAvNQ,CAAzB;;eA0Ne,sBAAWC,eAAX,EAAmB;EAAElH,IAAI,EAAE,cAAR;EAAwBmH,KAAK,EAAE;AAA/B,CAAnB,EAAuDxH,YAAvD,C"}
1
+ {"version":3,"file":"DatePicker.js","names":["DEFAULT_LABELS","applyLabel","cancelLabel","clearLabel","HvDatePicker","props","classes","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","status","statusMessage","ariaErrorMessage","placeholder","labelsProp","labels","value","startValue","endValue","rangeMode","startAdornment","horizontalPlacement","localeProp","locale","showActions","showClear","disablePortal","escapeWithReference","dropdownProps","others","useLabels","elementId","useUniqueId","useControlled","validationState","setValidationState","validationMessage","localeFromProvider","useLocale","useState","calendarOpen","setCalendarOpen","useSavedState","startDate","setStartDate","rollbackStartDate","endDate","setEndDate","rollbackEndDate","useVisibleDate","visibleDate","dispatchAction","focusTarget","useRef","useEffect","endDateIsSet","current","type","NAV_OPTIONS","MONTH_YEAR","target","year","getFullYear","month","getMonth","handleApply","isDate","handleCancel","handleClear","undefined","handleCalendarClose","shouldSave","handleToggle","evt","open","focusOnContainer","focus","handleDateChange","event","newDate","autoSave","handleInputDateChange","position","renderActions","clsx","actionContainer","leftContainer","setId","action","rightContainer","renderInput","dateString","dateValue","hasLabel","hasDescription","canShowError","isStateInvalid","isInvalid","errorMessageId","root","labelContainer","dropdown","panel","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","getDateLabel","icon","modifiers","enabled","join","trim","_event","error","propTypes","PropTypes","string","shape","isRequired","node","bool","oneOf","func","instanceOf","Date","Object","withStyles","styles","index"],"sources":["../../src/DatePicker/DatePicker.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { Calendar } from \"@hitachivantara/uikit-react-icons\";\nimport clsx from \"clsx\";\nimport { setId, useSavedState, useLabels } from \"../utils\";\nimport {\n HvActionBar,\n HvBaseDropdown,\n HvButton,\n HvCalendar,\n HvLabel,\n HvInfoMessage,\n HvFormElement,\n HvWarningText,\n HvTypography,\n useUniqueId,\n useControlled,\n} from \"..\";\nimport { isInvalid } from \"../Forms/FormElement/validationStates\";\nimport styles from \"./styles\";\nimport { isDate } from \"../Calendar/utils\";\nimport { getDateLabel } from \"./utils\";\nimport useVisibleDate from \"./useVisibleDate\";\nimport useLocale from \"../Provider/useLocale\";\nimport { NAV_OPTIONS } from \"../Calendar/enums\";\n\nconst DEFAULT_LABELS = {\n applyLabel: \"Apply\",\n cancelLabel: \"Cancel\",\n clearLabel: \"Clear\",\n};\n\n/**\n * A date picker, popup calendar or date range picker is a graphical user\n * interface widget which allows the user to select a date from a calendar.\n */\nconst HvDatePicker = (props) => {\n const {\n classes,\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 status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n\n labels: labelsProp,\n\n value,\n startValue,\n endValue,\n\n rangeMode = false,\n startAdornment,\n horizontalPlacement = \"right\",\n locale: localeProp,\n showActions = false,\n showClear = false,\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n ...others\n } = props;\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const elementId = useUniqueId(id, \"hvdatepicker\");\n\n const [validationState, setValidationState] = useControlled(status, \"standBy\");\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const localeFromProvider = useLocale();\n\n const locale = localeProp || localeFromProvider;\n\n const [calendarOpen, setCalendarOpen] = useState(false);\n\n const [startDate, setStartDate, rollbackStartDate] = useSavedState(\n rangeMode ? startValue : value\n );\n const [endDate, setEndDate, rollbackEndDate] = useSavedState(endValue);\n\n const [visibleDate, dispatchAction] = useVisibleDate(startDate, endDate);\n\n const focusTarget = useRef();\n\n useEffect(() => {\n setStartDate(rangeMode ? startValue : value, true);\n setEndDate(endValue, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, startValue, endValue, rangeMode]);\n\n const endDateIsSet = useRef(false);\n endDateIsSet.current = endDate != null;\n\n useEffect(() => {\n if (startDate != null) {\n dispatchAction({\n type: NAV_OPTIONS.MONTH_YEAR,\n target: endDateIsSet.current ? \"left\" : \"best\",\n year: startDate.getFullYear(),\n month: startDate.getMonth() + 1,\n });\n }\n }, [dispatchAction, startDate]);\n\n useEffect(() => {\n if (endDate != null) {\n dispatchAction({\n type: NAV_OPTIONS.MONTH_YEAR,\n target: \"right\",\n year: endDate.getFullYear(),\n month: endDate.getMonth() + 1,\n });\n }\n }, [dispatchAction, endDate]);\n\n /**\n * Handles the `Apply` action. Both single and ranged modes are handled here.\n */\n const handleApply = () => {\n setStartDate(startDate, true);\n setEndDate(endDate ?? startDate, true);\n\n onChange?.(startDate, endDate);\n\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && (!isDate(startDate) || (rangeMode && !isDate(endDate)))) {\n return \"invalid\";\n }\n\n return \"valid\";\n });\n\n setCalendarOpen(false);\n };\n\n /**\n * Handles the `Cancel` action. Both single and ranged modes are handled here.\n */\n const handleCancel = () => {\n rollbackStartDate();\n rollbackEndDate();\n\n onCancel?.();\n\n setCalendarOpen(false);\n };\n\n /**\n * Handles the `Cancel` action. Both single and ranged modes are handled here.\n */\n const handleClear = () => {\n setStartDate(undefined, false);\n setEndDate(undefined, false);\n onClear?.();\n };\n\n const handleCalendarClose = () => {\n const shouldSave = !(rangeMode || showActions);\n if (shouldSave) {\n handleApply();\n } else {\n handleCancel();\n }\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 setCalendarOpen(open);\n if (!open) handleCalendarClose();\n };\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const handleDateChange = (event, newDate) => {\n if (!isDate(newDate)) return;\n\n const autoSave = !showActions && !rangeMode;\n\n if (rangeMode) {\n if (!startDate || (startDate && endDate) || newDate < startDate) {\n setStartDate(newDate);\n setEndDate(null);\n } else {\n setEndDate(newDate);\n }\n } else {\n setStartDate(newDate, autoSave);\n }\n\n if (autoSave) {\n onChange?.(newDate);\n\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && !isDate(newDate)) {\n return \"invalid\";\n }\n\n return \"valid\";\n });\n\n setCalendarOpen(false);\n }\n };\n\n const handleInputDateChange = (event, newDate, position) => {\n if (!isDate(newDate)) return;\n\n if (!rangeMode) {\n handleDateChange(event, newDate);\n return;\n }\n\n if (position === \"left\") {\n setStartDate(newDate > endDate ? endDate : newDate);\n } else if (position === \"right\") {\n if (!startDate) {\n setStartDate(newDate > endDate ? endDate : newDate);\n return;\n }\n setEndDate(newDate < startDate ? startDate : newDate);\n }\n };\n\n /**\n * Renders the container for the action elements.\n */\n const renderActions = () => (\n <HvActionBar\n className={clsx({\n [classes.actionContainer]: showClear,\n })}\n >\n {showClear && (\n <div className={classes.leftContainer}>\n <HvButton\n id={setId(id, \"action\", \"clear\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleClear}\n >\n {labels.clearLabel}\n </HvButton>\n </div>\n )}\n <div className={classes.rightContainer}>\n <HvButton\n id={setId(id, \"action\", \"apply\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleApply}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton\n id={setId(id, \"action\", \"cancel\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleCancel}\n >\n {labels.cancelLabel}\n </HvButton>\n </div>\n </HvActionBar>\n );\n\n const renderInput = (dateString) => (\n <HvTypography variant={dateString ? \"normalText\" : \"placeholderText\"}>\n {(dateString || placeholder) === undefined ? \"\" : dateString || placeholder}\n </HvTypography>\n );\n\n const dateValue = rangeMode ? { startDate, endDate } : startDate;\n\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) || (status === undefined && required));\n\n const isStateInvalid = isInvalid(validationState);\n\n let errorMessageId;\n if (isStateInvalid) {\n errorMessageId = canShowError ? setId(elementId, \"error\") : ariaErrorMessage;\n }\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={dateValue}\n status={validationState}\n disabled={disabled}\n required={required}\n className={clsx(className, classes.root)}\n locale={locale}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel id={setId(elementId, \"label\")} label={label} className={classes.label} />\n )}\n\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n header: isStateInvalid ? classes.dropdownHeaderInvalid : undefined,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={calendarOpen}\n onToggle={handleToggle}\n onClickOutside={handleCalendarClose}\n onContainerCreation={focusOnContainer}\n placeholder={renderInput(getDateLabel(dateValue, rangeMode, locale))}\n adornment={<Calendar className={classes.icon} color={disabled ? \"atmo5\" : undefined} />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy].join(\" \").trim() || undefined\n }\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy].join(\" \").trim() ||\n undefined\n }\n {...dropdownProps}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <HvCalendar\n id={setId(id, \"calendar\")}\n startAdornment={startAdornment}\n onChange={handleDateChange}\n onInputChange={handleInputDateChange}\n onVisibleDateChange={(_event, type, month, target) => {\n dispatchAction({ type, target, month });\n }}\n locale={locale}\n {...visibleDate}\n />\n {(rangeMode || showActions) && renderActions()}\n </HvBaseDropdown>\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n\nHvDatePicker.propTypes = {\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 component root class.\n */\n root: PropTypes.string,\n\n /**\n * Styles applied to the container of the labels elements.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the icon information text.\n */\n description: PropTypes.string,\n\n /**\n * Styles applied to the error area.\n */\n error: PropTypes.string,\n\n /**\n * Styles applied to the dropdown.\n */\n dropdown: PropTypes.string,\n\n panel: PropTypes.string,\n action: PropTypes.string,\n icon: PropTypes.string,\n /**\n * Styles applied to the date picker when invalid.\n */\n dropdownHeaderInvalid: PropTypes.string,\n /**\n * Styles applied to the date picker when opened.\n */\n dropdownHeaderOpen: PropTypes.string,\n /**\n * Styles applied to the container that holds the actions buttons.\n */\n actionContainer: PropTypes.string,\n /**\n * Styles applied to the container that holds the clear button.\n */\n leftContainer: PropTypes.string,\n /**\n * Styles applied to the container that holds the apply and cancel button.\n */\n rightContainer: PropTypes.string,\n }).isRequired,\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 * The placeholder value when nothing is selected.\n */\n placeholder: 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 the validation status is \"invalid\".\n *\n * Defaults to \"Required\" when the status is uncontrolled and no `aria-errormessage` is provided.\n */\n statusMessage: PropTypes.node,\n /**\n * Identifies the element that provides an error message for the date picker.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\": PropTypes.string,\n\n /**\n * The callback fired when the value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * The callback fired when user clicks on cancel.\n */\n onCancel: PropTypes.func,\n\n /**\n * The callback fired when user clicks on clear.\n */\n onClear: PropTypes.func,\n\n /**\n * An object containing all the labels for the datepicker.\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 button label.\n */\n clearLabel: PropTypes.string,\n }),\n\n /**\n * The initial value of the input when in single calendar mode.\n */\n value: PropTypes.instanceOf(Date),\n /**\n * The initial value for the start date when in range mode.\n */\n startValue: PropTypes.instanceOf(Date),\n /**\n * The initial value for the end date when in range mode.\n */\n endValue: PropTypes.instanceOf(Date),\n /**\n * Flag informing if the the component should be in range mode or in single mode.\n */\n rangeMode: PropTypes.bool,\n /**\n * The placement where the calendar should be placed according to the input. Options are `left` or `right`.\n * Note this prop only affects the calendar when in `rangeMode`.\n */\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n /**\n * The calendar locale. If undefined, it uses calendar default\n */\n locale: PropTypes.string,\n\n /**\n * Controls if actions buttons are visible at the calendar.\n */\n showActions: PropTypes.bool,\n /**\n * Controls if clear button is visible at the calendar,\n * only works if showing actions or in range mode.\n */\n showClear: PropTypes.bool,\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 calendar container should follow the date picker input out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n /**\n * An element placed before the Calendar\n */\n startAdornment: PropTypes.node,\n /**\n * An object containing props to be passed onto the baseDropdown.\n */\n dropdownProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvDatePicker\", index: 1 })(HvDatePicker);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useVisibleDate.js","names":["stateToLeftRight","visibleYear","visibleMonth","rightVisibleYear","rightVisibleMonth","left","year","month","right","leftRightToState","subtractYear","addYear","subtractMonth","y","m","addMonth","ensureNoOverlap","keepRight","l","r","isSameYearMonth","d1","d2","visibleDateReducer","state","action","type","NAV_OPTIONS","PREVIOUS_YEAR","target","NEXT_YEAR","PREVIOUS_MONTH","NEXT_MONTH","MONTH","MONTH_YEAR","stateFromRange","startDate","endDate","initialStartDate","initialEndDate","getFullYear","getMonth","useVisibleDate","initData","dispatchAction"],"sources":["../../src/DatePicker/useVisibleDate.js"],"sourcesContent":["import { useReducer } from \"react\";\n\nimport { validateDate } from \"./utils\";\n\nimport { NAV_OPTIONS } from \"../Calendar/enums\";\n\nfunction stateToLeftRight({ visibleYear, visibleMonth, rightVisibleYear, rightVisibleMonth }) {\n return {\n left: { year: visibleYear, month: visibleMonth },\n right: { year: rightVisibleYear, month: rightVisibleMonth },\n };\n}\n\nfunction leftRightToState(left, right) {\n return {\n visibleYear: left.year,\n visibleMonth: left.month,\n rightVisibleYear: right.year,\n rightVisibleMonth: right.month,\n };\n}\n\nfunction subtractYear({ year, month }) {\n return { year: year - 1, month };\n}\n\nfunction addYear({ year, month }) {\n return { year: year + 1, month };\n}\n\nfunction subtractMonth({ year, month }) {\n let y = year;\n let m = month;\n\n m -= 1;\n if (m === 0) {\n y -= 1;\n m = 12;\n }\n\n return { year: y, month: m };\n}\n\nfunction addMonth({ year, month }) {\n let y = year;\n let m = month;\n\n m += 1;\n if (m === 13) {\n y += 1;\n m = 1;\n }\n\n return { year: y, month: m };\n}\n\nfunction ensureNoOverlap(left, right, keepRight = false) {\n let l = left;\n let r = right;\n if (left.year > right.year || (left.year === right.year && left.month >= right.month)) {\n if (keepRight) {\n l = subtractMonth(right);\n } else {\n r = addMonth(left);\n }\n }\n\n return leftRightToState(l, r);\n}\n\nexport function isSameYearMonth(d1, d2) {\n return d1.year === d2.year && d1.month === d2.month;\n}\n\nfunction visibleDateReducer(state, action) {\n let { left, right } = stateToLeftRight(state);\n\n switch (action.type) {\n case NAV_OPTIONS.PREVIOUS_YEAR:\n if (action.target === \"right\") {\n right = subtractYear(right);\n return ensureNoOverlap(left, right, true);\n }\n\n left = subtractYear(left);\n return ensureNoOverlap(left, right, false);\n\n case NAV_OPTIONS.NEXT_YEAR:\n if (action.target === \"right\") {\n right = addYear(right);\n return ensureNoOverlap(left, right, true);\n }\n\n left = addYear(left);\n return ensureNoOverlap(left, right, false);\n\n case NAV_OPTIONS.PREVIOUS_MONTH:\n if (action.target === \"right\") {\n right = subtractMonth(right);\n return ensureNoOverlap(left, right, true);\n }\n\n left = subtractMonth(left);\n return ensureNoOverlap(left, right, false);\n\n case NAV_OPTIONS.NEXT_MONTH:\n if (action.target === \"right\") {\n right = addMonth(right);\n return ensureNoOverlap(left, right, true);\n }\n\n left = addMonth(left);\n return ensureNoOverlap(left, right, false);\n\n case NAV_OPTIONS.MONTH:\n if (action.month != null) {\n if (action.target === \"right\") {\n if (right.month !== action.month) {\n right = { year: right.year, month: action.month };\n return ensureNoOverlap(left, right, true);\n }\n } else if (left.month !== action.month) {\n left = { year: left.year, month: action.month };\n return ensureNoOverlap(left, right, false);\n }\n }\n break;\n\n case NAV_OPTIONS.MONTH_YEAR:\n if (action.month != null && action.year != null) {\n if (action.target === \"right\") {\n if (!isSameYearMonth(left, action) && !isSameYearMonth(right, action)) {\n right = { year: action.year, month: action.month };\n return ensureNoOverlap(left, right, true);\n }\n } else if (\n !isSameYearMonth(left, action) &&\n (action.target === \"left\" || !isSameYearMonth(right, action))\n ) {\n left = { year: action.year, month: action.month };\n return ensureNoOverlap(left, right, false);\n }\n }\n\n break;\n\n default:\n }\n\n return state;\n}\n\nfunction stateFromRange(startDate, endDate) {\n const initialStartDate = validateDate(startDate);\n const initialEndDate = endDate != null ? validateDate(endDate) : initialStartDate;\n\n return ensureNoOverlap(\n { year: initialStartDate.getFullYear(), month: initialStartDate.getMonth() + 1 },\n { year: initialEndDate.getFullYear(), month: initialEndDate.getMonth() + 1 }\n );\n}\n\nexport default function useVisibleDate(startDate, endDate) {\n const [state, dispatchAction] = useReducer(\n visibleDateReducer,\n { startDate, endDate },\n (initData) => {\n return stateFromRange(initData.startDate, initData.endDate);\n }\n );\n\n return [state, dispatchAction];\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useVisibleDate.js","names":["stateToLeftRight","visibleYear","visibleMonth","rightVisibleYear","rightVisibleMonth","left","year","month","right","leftRightToState","subtractYear","addYear","subtractMonth","y","m","addMonth","ensureNoOverlap","keepRight","l","r","isSameYearMonth","d1","d2","visibleDateReducer","state","action","type","NAV_OPTIONS","PREVIOUS_YEAR","target","NEXT_YEAR","PREVIOUS_MONTH","NEXT_MONTH","MONTH","MONTH_YEAR","stateFromRange","startDate","endDate","initialStartDate","validateDate","initialEndDate","getFullYear","getMonth","useVisibleDate","useReducer","initData","dispatchAction"],"sources":["../../src/DatePicker/useVisibleDate.js"],"sourcesContent":["import { useReducer } from \"react\";\n\nimport { validateDate } from \"./utils\";\n\nimport { NAV_OPTIONS } from \"../Calendar/enums\";\n\nfunction stateToLeftRight({ visibleYear, visibleMonth, rightVisibleYear, rightVisibleMonth }) {\n return {\n left: { year: visibleYear, month: visibleMonth },\n right: { year: rightVisibleYear, month: rightVisibleMonth },\n };\n}\n\nfunction leftRightToState(left, right) {\n return {\n visibleYear: left.year,\n visibleMonth: left.month,\n rightVisibleYear: right.year,\n rightVisibleMonth: right.month,\n };\n}\n\nfunction subtractYear({ year, month }) {\n return { year: year - 1, month };\n}\n\nfunction addYear({ year, month }) {\n return { year: year + 1, month };\n}\n\nfunction subtractMonth({ year, month }) {\n let y = year;\n let m = month;\n\n m -= 1;\n if (m === 0) {\n y -= 1;\n m = 12;\n }\n\n return { year: y, month: m };\n}\n\nfunction addMonth({ year, month }) {\n let y = year;\n let m = month;\n\n m += 1;\n if (m === 13) {\n y += 1;\n m = 1;\n }\n\n return { year: y, month: m };\n}\n\nfunction ensureNoOverlap(left, right, keepRight = false) {\n let l = left;\n let r = right;\n if (left.year > right.year || (left.year === right.year && left.month >= right.month)) {\n if (keepRight) {\n l = subtractMonth(right);\n } else {\n r = addMonth(left);\n }\n }\n\n return leftRightToState(l, r);\n}\n\nexport function isSameYearMonth(d1, d2) {\n return d1.year === d2.year && d1.month === d2.month;\n}\n\nfunction visibleDateReducer(state, action) {\n let { left, right } = stateToLeftRight(state);\n\n switch (action.type) {\n case NAV_OPTIONS.PREVIOUS_YEAR:\n if (action.target === \"right\") {\n right = subtractYear(right);\n return ensureNoOverlap(left, right, true);\n }\n\n left = subtractYear(left);\n return ensureNoOverlap(left, right, false);\n\n case NAV_OPTIONS.NEXT_YEAR:\n if (action.target === \"right\") {\n right = addYear(right);\n return ensureNoOverlap(left, right, true);\n }\n\n left = addYear(left);\n return ensureNoOverlap(left, right, false);\n\n case NAV_OPTIONS.PREVIOUS_MONTH:\n if (action.target === \"right\") {\n right = subtractMonth(right);\n return ensureNoOverlap(left, right, true);\n }\n\n left = subtractMonth(left);\n return ensureNoOverlap(left, right, false);\n\n case NAV_OPTIONS.NEXT_MONTH:\n if (action.target === \"right\") {\n right = addMonth(right);\n return ensureNoOverlap(left, right, true);\n }\n\n left = addMonth(left);\n return ensureNoOverlap(left, right, false);\n\n case NAV_OPTIONS.MONTH:\n if (action.month != null) {\n if (action.target === \"right\") {\n if (right.month !== action.month) {\n right = { year: right.year, month: action.month };\n return ensureNoOverlap(left, right, true);\n }\n } else if (left.month !== action.month) {\n left = { year: left.year, month: action.month };\n return ensureNoOverlap(left, right, false);\n }\n }\n break;\n\n case NAV_OPTIONS.MONTH_YEAR:\n if (action.month != null && action.year != null) {\n if (action.target === \"right\") {\n if (!isSameYearMonth(left, action) && !isSameYearMonth(right, action)) {\n right = { year: action.year, month: action.month };\n return ensureNoOverlap(left, right, true);\n }\n } else if (\n !isSameYearMonth(left, action) &&\n (action.target === \"left\" || !isSameYearMonth(right, action))\n ) {\n left = { year: action.year, month: action.month };\n return ensureNoOverlap(left, right, false);\n }\n }\n\n break;\n\n default:\n }\n\n return state;\n}\n\nfunction stateFromRange(startDate, endDate) {\n const initialStartDate = validateDate(startDate);\n const initialEndDate = endDate != null ? validateDate(endDate) : initialStartDate;\n\n return ensureNoOverlap(\n { year: initialStartDate.getFullYear(), month: initialStartDate.getMonth() + 1 },\n { year: initialEndDate.getFullYear(), month: initialEndDate.getMonth() + 1 }\n );\n}\n\nexport default function useVisibleDate(startDate, endDate) {\n const [state, dispatchAction] = useReducer(\n visibleDateReducer,\n { startDate, endDate },\n (initData) => {\n return stateFromRange(initData.startDate, initData.endDate);\n }\n );\n\n return [state, dispatchAction];\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["validateDate","date","Date","getFormattedDateRange","locale","rep","REPRESENTATION_VALUES","SHORT","startDate","endDate","monthYear","getFullYear","getDate","getSingleDateLabel","getRangeDateLabel","getDateLabel","rangeMode"],"sources":["../../src/DatePicker/utils.js"],"sourcesContent":["import { REPRESENTATION_VALUES } from \"../Calendar/enums\";\nimport { getFormattedDate, getMonthName, isDate, isSameMonth } from \"../Calendar/utils\";\n\nexport const validateDate = (date) => (isDate(date) && date) || new Date();\n\nexport const getFormattedDateRange = (date, locale, rep = REPRESENTATION_VALUES.SHORT) => {\n const { startDate, endDate } = date;\n const monthYear = `${getMonthName(startDate, locale, rep)} ${startDate.getFullYear()}`;\n return `${startDate.getDate()} - ${endDate.getDate()} ${monthYear}`;\n};\n\nexport const getSingleDateLabel = (date, locale) =>\n isDate(date) ? getFormattedDate(date, locale) : \"\";\n\nexport const getRangeDateLabel = ({ startDate, endDate }, locale) => {\n if (!(isDate(startDate) && isDate(endDate))) return getSingleDateLabel(startDate);\n\n return isSameMonth(startDate, endDate)\n ? getFormattedDateRange({ startDate, endDate }, locale)\n : `${getFormattedDate(startDate, locale)} - ${getFormattedDate(endDate, locale)}`;\n};\n\nexport const getDateLabel = (date, rangeMode, locale) =>\n rangeMode ? getRangeDateLabel(date, locale) : getSingleDateLabel(date, locale);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD;EAAA,OAAW,mBAAOA,IAAP,KAAgBA,IAAjB,IAA0B,IAAIC,IAAJ,EAApC;AAAA,CAArB;;;;AAEA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACF,IAAD,EAAOG,MAAP,EAAqD;EAAA,IAAtCC,GAAsC,uEAAhCC,6BAAsBC,KAAU;EACxF,IAAQC,SAAR,GAA+BP,IAA/B,CAAQO,SAAR;EAAA,IAAmBC,OAAnB,GAA+BR,IAA/B,CAAmBQ,OAAnB;EACA,IAAMC,SAAS,aAAM,yBAAaF,SAAb,EAAwBJ,MAAxB,EAAgCC,GAAhC,CAAN,cAA8CG,SAAS,CAACG,WAAV,EAA9C,CAAf;EACA,iBAAUH,SAAS,CAACI,OAAV,EAAV,gBAAmCH,OAAO,CAACG,OAAR,EAAnC,cAAwDF,SAAxD;AACD,CAJM;;;;AAMA,IAAMG,kBAAkB,GAAG,SAArBA,kBAAqB,CAACZ,IAAD,EAAOG,MAAP;EAAA,OAChC,mBAAOH,IAAP,IAAe,6BAAiBA,IAAjB,EAAuBG,MAAvB,CAAf,GAAgD,EADhB;AAAA,CAA3B;;;;AAGA,IAAMU,iBAAiB,GAAG,SAApBA,iBAAoB,OAAyBV,MAAzB,EAAoC;EAAA,IAAjCI,SAAiC,QAAjCA,SAAiC;EAAA,IAAtBC,OAAsB,QAAtBA,OAAsB;EACnE,IAAI,EAAE,mBAAOD,SAAP,KAAqB,mBAAOC,OAAP,CAAvB,CAAJ,EAA6C,OAAOI,kBAAkB,CAACL,SAAD,CAAzB;EAE7C,OAAO,wBAAYA,SAAZ,EAAuBC,OAAvB,IACHN,qBAAqB,CAAC;IAAEK,SAAS,EAATA,SAAF;IAAaC,OAAO,EAAPA;EAAb,CAAD,EAAyBL,MAAzB,CADlB,aAEA,6BAAiBI,SAAjB,EAA4BJ,MAA5B,CAFA,gBAEyC,6BAAiBK,OAAjB,EAA0BL,MAA1B,CAFzC,CAAP;AAGD,CANM;;;;AAQA,IAAMW,YAAY,GAAG,SAAfA,YAAe,CAACd,IAAD,EAAOe,SAAP,EAAkBZ,MAAlB;EAAA,OAC1BY,SAAS,GAAGF,iBAAiB,CAACb,IAAD,EAAOG,MAAP,CAApB,GAAqCS,kBAAkB,CAACZ,IAAD,EAAOG,MAAP,CADtC;AAAA,CAArB"}
1
+ {"version":3,"file":"utils.js","names":["validateDate","date","isDate","Date","getFormattedDateRange","locale","rep","REPRESENTATION_VALUES","SHORT","startDate","endDate","monthYear","getMonthName","getFullYear","getDate","getSingleDateLabel","getFormattedDate","getRangeDateLabel","isSameMonth","getDateLabel","rangeMode"],"sources":["../../src/DatePicker/utils.js"],"sourcesContent":["import { REPRESENTATION_VALUES } from \"../Calendar/enums\";\nimport { getFormattedDate, getMonthName, isDate, isSameMonth } from \"../Calendar/utils\";\n\nexport const validateDate = (date) => (isDate(date) && date) || new Date();\n\nexport const getFormattedDateRange = (date, locale, rep = REPRESENTATION_VALUES.SHORT) => {\n const { startDate, endDate } = date;\n const monthYear = `${getMonthName(startDate, locale, rep)} ${startDate.getFullYear()}`;\n return `${startDate.getDate()} - ${endDate.getDate()} ${monthYear}`;\n};\n\nexport const getSingleDateLabel = (date, locale) =>\n isDate(date) ? getFormattedDate(date, locale) : \"\";\n\nexport const getRangeDateLabel = ({ startDate, endDate }, locale) => {\n if (!(isDate(startDate) && isDate(endDate))) return getSingleDateLabel(startDate);\n\n return isSameMonth(startDate, endDate)\n ? getFormattedDateRange({ startDate, endDate }, locale)\n : `${getFormattedDate(startDate, locale)} - ${getFormattedDate(endDate, locale)}`;\n};\n\nexport const getDateLabel = (date, rangeMode, locale) =>\n rangeMode ? getRangeDateLabel(date, locale) : getSingleDateLabel(date, locale);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEO,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAACC,IAAD;EAAA,OAAW,IAAAC,aAAA,EAAOD,IAAP,KAAgBA,IAAjB,IAA0B,IAAIE,IAAJ,EAApC;AAAA,CAArB;;;;AAEA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACH,IAAD,EAAOI,MAAP,EAAqD;EAAA,IAAtCC,GAAsC,uEAAhCC,4BAAA,CAAsBC,KAAU;EACxF,IAAQC,SAAR,GAA+BR,IAA/B,CAAQQ,SAAR;EAAA,IAAmBC,OAAnB,GAA+BT,IAA/B,CAAmBS,OAAnB;EACA,IAAMC,SAAS,aAAM,IAAAC,mBAAA,EAAaH,SAAb,EAAwBJ,MAAxB,EAAgCC,GAAhC,CAAN,cAA8CG,SAAS,CAACI,WAAV,EAA9C,CAAf;EACA,iBAAUJ,SAAS,CAACK,OAAV,EAAV,gBAAmCJ,OAAO,CAACI,OAAR,EAAnC,cAAwDH,SAAxD;AACD,CAJM;;;;AAMA,IAAMI,kBAAkB,GAAG,SAArBA,kBAAqB,CAACd,IAAD,EAAOI,MAAP;EAAA,OAChC,IAAAH,aAAA,EAAOD,IAAP,IAAe,IAAAe,uBAAA,EAAiBf,IAAjB,EAAuBI,MAAvB,CAAf,GAAgD,EADhB;AAAA,CAA3B;;;;AAGA,IAAMY,iBAAiB,GAAG,SAApBA,iBAAoB,OAAyBZ,MAAzB,EAAoC;EAAA,IAAjCI,SAAiC,QAAjCA,SAAiC;EAAA,IAAtBC,OAAsB,QAAtBA,OAAsB;EACnE,IAAI,EAAE,IAAAR,aAAA,EAAOO,SAAP,KAAqB,IAAAP,aAAA,EAAOQ,OAAP,CAAvB,CAAJ,EAA6C,OAAOK,kBAAkB,CAACN,SAAD,CAAzB;EAE7C,OAAO,IAAAS,kBAAA,EAAYT,SAAZ,EAAuBC,OAAvB,IACHN,qBAAqB,CAAC;IAAEK,SAAS,EAATA,SAAF;IAAaC,OAAO,EAAPA;EAAb,CAAD,EAAyBL,MAAzB,CADlB,aAEA,IAAAW,uBAAA,EAAiBP,SAAjB,EAA4BJ,MAA5B,CAFA,gBAEyC,IAAAW,uBAAA,EAAiBN,OAAjB,EAA0BL,MAA1B,CAFzC,CAAP;AAGD,CANM;;;;AAQA,IAAMc,YAAY,GAAG,SAAfA,YAAe,CAAClB,IAAD,EAAOmB,SAAP,EAAkBf,MAAlB;EAAA,OAC1Be,SAAS,GAAGH,iBAAiB,CAAChB,IAAD,EAAOI,MAAP,CAApB,GAAqCU,kBAAkB,CAACd,IAAD,EAAOI,MAAP,CADtC;AAAA,CAArB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","names":["HvDialog","classes","className","id","children","open","onClose","firstFocusable","buttonTitle","fullscreen","others","focusableQueue","setFocusableQueue","measuredRef","node","focusableList","first","last","length","focus","element","document","getElementById","console","warn","keyDownHandler","event","KeyboardCodes","Tab","target","shiftKey","preventDefault","Esc","onEscapeKeyDown","disableEscapeKeyDown","stopPropagation","closeButtonDisplay","CloseButtonTooltipWrapper","root","paper","background","reason","closeButton","React","Children","map","c","cloneElement","propTypes","PropTypes","string","shape","isRequired","bool","func","styles","name"],"sources":["../../src/Dialog/Dialog.js"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { Dialog, withStyles } from \"@material-ui/core\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport isNil from \"lodash/isNil\";\nimport Button from \"../Button\";\nimport { isKeypress, KeyboardCodes, setId } from \"../utils\";\nimport styles from \"./styles\";\nimport withTooltip from \"../withTooltip\";\nimport { getFocusableList } from \"../utils/focusableElementFinder\";\n\n/**\n * The Dialog component provides a solid foundation for creating dialogs, popovers, lightboxes, etc.\n * It is created by the composition of DialogTitle, DialogContent and DialogActions components, passed as child elements.\n */\nconst HvDialog = ({\n classes,\n className,\n id,\n children,\n open,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n ...others\n}) => {\n const [focusableQueue, setFocusableQueue] = useState(null);\n\n const measuredRef = useCallback(\n (node) => {\n if (node) {\n const focusableList = getFocusableList(node);\n setFocusableQueue({\n first: focusableList[1],\n last: focusableList[focusableList.length - 2],\n });\n if (isNil(firstFocusable)) focusableList[1].focus();\n else {\n const element = document.getElementById(firstFocusable);\n if (element) element.focus();\n else {\n // eslint-disable-next-line no-console\n console.warn(`firstFocusable element ${firstFocusable} not found.`);\n focusableList[1].focus();\n }\n }\n }\n },\n [firstFocusable]\n );\n\n const keyDownHandler = (event) => {\n if (isKeypress(event, KeyboardCodes.Tab) && !isNil(event.target) && !isNil(focusableQueue)) {\n if (event.shiftKey && event.target === focusableQueue.first) {\n focusableQueue.last.focus();\n event.preventDefault();\n }\n if (!event.shiftKey && event.target === focusableQueue.last) {\n focusableQueue.first.focus();\n event.preventDefault();\n }\n }\n // Needed as this handler overrides the one in the material ui Modal.\n else if (isKeypress(event, KeyboardCodes.Esc)) {\n if (others.onEscapeKeyDown) {\n others.onEscapeKeyDown(event);\n }\n\n if (!others.disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n\n if (onClose) {\n onClose(event, \"escapeKeyDown\");\n }\n }\n }\n };\n\n const closeButtonDisplay = () => <Close role=\"presentation\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n return (\n <Dialog\n className={clsx(classes.root, className)}\n id={id}\n ref={measuredRef}\n open={open}\n PaperProps={{\n classes: {\n root: clsx(classes.paper, fullscreen ? \"fullscreen\" : \"\"),\n },\n }}\n fullScreen={fullscreen}\n BackdropProps={{\n classes: {\n root: classes.background,\n },\n }}\n onClose={(event, reason) => onClose(event, reason)}\n onKeyDown={keyDownHandler}\n {...others}\n aria-modal\n >\n <Button\n id={setId(id, \"close\")}\n className={classes.closeButton}\n category=\"ghost\"\n onClick={(event) => onClose(event)}\n aria-label={buttonTitle}\n >\n <CloseButtonTooltipWrapper />\n </Button>\n {children && typeof children === \"object\"\n ? React.Children.map(children, (c) => React.cloneElement(c, { fullscreen }))\n : children}\n </Dialog>\n );\n};\n\nHvDialog.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n root: PropTypes.string,\n /**\n * Style applied to the background (outside) of the component.\n */\n background: PropTypes.string,\n /**\n * Style applied to the component (root).\n */\n paper: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Components of the Dialog.\n */\n children: PropTypes.node.isRequired,\n /**\n * Current state of the Dialog.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Function executed on close.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Element id that should be focus when the Dialog opens.\n */\n firstFocusable: PropTypes.string,\n /**\n * Title for the button close.\n */\n buttonTitle: PropTypes.string,\n /**\n * Set the dialog to fullscreen mode.\n */\n fullscreen: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDialog\" })(HvDialog);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","names":["HvDialog","classes","className","id","children","open","onClose","firstFocusable","buttonTitle","fullscreen","others","useState","focusableQueue","setFocusableQueue","measuredRef","useCallback","node","focusableList","getFocusableList","first","last","length","isNil","focus","element","document","getElementById","console","warn","keyDownHandler","event","isKeypress","KeyboardCodes","Tab","target","shiftKey","preventDefault","Esc","onEscapeKeyDown","disableEscapeKeyDown","stopPropagation","closeButtonDisplay","CloseButtonTooltipWrapper","withTooltip","clsx","root","paper","background","reason","setId","closeButton","React","Children","map","c","cloneElement","propTypes","PropTypes","string","shape","isRequired","bool","func","withStyles","styles","name"],"sources":["../../src/Dialog/Dialog.js"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { Dialog, withStyles } from \"@material-ui/core\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport isNil from \"lodash/isNil\";\nimport Button from \"../Button\";\nimport { isKeypress, KeyboardCodes, setId } from \"../utils\";\nimport styles from \"./styles\";\nimport withTooltip from \"../withTooltip\";\nimport { getFocusableList } from \"../utils/focusableElementFinder\";\n\n/**\n * The Dialog component provides a solid foundation for creating dialogs, popovers, lightboxes, etc.\n * It is created by the composition of DialogTitle, DialogContent and DialogActions components, passed as child elements.\n */\nconst HvDialog = ({\n classes,\n className,\n id,\n children,\n open,\n onClose,\n firstFocusable,\n buttonTitle = \"Close\",\n fullscreen = false,\n ...others\n}) => {\n const [focusableQueue, setFocusableQueue] = useState(null);\n\n const measuredRef = useCallback(\n (node) => {\n if (node) {\n const focusableList = getFocusableList(node);\n setFocusableQueue({\n first: focusableList[1],\n last: focusableList[focusableList.length - 2],\n });\n if (isNil(firstFocusable)) focusableList[1].focus();\n else {\n const element = document.getElementById(firstFocusable);\n if (element) element.focus();\n else {\n // eslint-disable-next-line no-console\n console.warn(`firstFocusable element ${firstFocusable} not found.`);\n focusableList[1].focus();\n }\n }\n }\n },\n [firstFocusable]\n );\n\n const keyDownHandler = (event) => {\n if (isKeypress(event, KeyboardCodes.Tab) && !isNil(event.target) && !isNil(focusableQueue)) {\n if (event.shiftKey && event.target === focusableQueue.first) {\n focusableQueue.last.focus();\n event.preventDefault();\n }\n if (!event.shiftKey && event.target === focusableQueue.last) {\n focusableQueue.first.focus();\n event.preventDefault();\n }\n }\n // Needed as this handler overrides the one in the material ui Modal.\n else if (isKeypress(event, KeyboardCodes.Esc)) {\n if (others.onEscapeKeyDown) {\n others.onEscapeKeyDown(event);\n }\n\n if (!others.disableEscapeKeyDown) {\n // Swallow the event, in case someone is listening for the escape key on the body.\n event.stopPropagation();\n\n if (onClose) {\n onClose(event, \"escapeKeyDown\");\n }\n }\n }\n };\n\n const closeButtonDisplay = () => <Close role=\"presentation\" />;\n\n const CloseButtonTooltipWrapper = buttonTitle\n ? withTooltip(closeButtonDisplay, buttonTitle, \"top\")\n : closeButtonDisplay;\n\n return (\n <Dialog\n className={clsx(classes.root, className)}\n id={id}\n ref={measuredRef}\n open={open}\n PaperProps={{\n classes: {\n root: clsx(classes.paper, fullscreen ? \"fullscreen\" : \"\"),\n },\n }}\n fullScreen={fullscreen}\n BackdropProps={{\n classes: {\n root: classes.background,\n },\n }}\n onClose={(event, reason) => onClose(event, reason)}\n onKeyDown={keyDownHandler}\n {...others}\n aria-modal\n >\n <Button\n id={setId(id, \"close\")}\n className={classes.closeButton}\n category=\"ghost\"\n onClick={(event) => onClose(event)}\n aria-label={buttonTitle}\n >\n <CloseButtonTooltipWrapper />\n </Button>\n {children && typeof children === \"object\"\n ? React.Children.map(children, (c) => React.cloneElement(c, { fullscreen }))\n : children}\n </Dialog>\n );\n};\n\nHvDialog.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Style applied to the root of the component.\n */\n root: PropTypes.string,\n /**\n * Style applied to the background (outside) of the component.\n */\n background: PropTypes.string,\n /**\n * Style applied to the component (root).\n */\n paper: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Components of the Dialog.\n */\n children: PropTypes.node.isRequired,\n /**\n * Current state of the Dialog.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Function executed on close.\n */\n onClose: PropTypes.func.isRequired,\n /**\n * Element id that should be focus when the Dialog opens.\n */\n firstFocusable: PropTypes.string,\n /**\n * Title for the button close.\n */\n buttonTitle: PropTypes.string,\n /**\n * Set the dialog to fullscreen mode.\n */\n fullscreen: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDialog\" })(HvDialog);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogActions.js","names":["HvDialogActions","props","classes","className","children","fullscreen","others","root","spacing","propTypes","PropTypes","string","shape","isRequired","node","bool","styles","name"],"sources":["../../../src/Dialog/DialogActions/DialogActions.js"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { DialogActions, withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\nconst HvDialogActions = (props) => {\n const { classes, className, children, fullscreen = false, ...others } = props;\n return (\n <DialogActions\n classes={{\n root: clsx(classes.root, fullscreen && classes.fullscreen),\n spacing: classes.spacing,\n }}\n className={className}\n {...others}\n >\n {children}\n </DialogActions>\n );\n};\n\nHvDialogActions.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 * Style applied to the root of the component (container for the actions).\n */\n root: PropTypes.string,\n /**\n * Style applied to the root of the component if disableSpacing is off.\n */\n spacing: PropTypes.string,\n /**\n * Style applied to the root of the component if fullscreen is on.\n */\n fullscreen: PropTypes.string,\n }).isRequired,\n /**\n * Actions of the Dialog.\n */\n children: PropTypes.node.isRequired,\n /**\n * Whether or not the dialog is in fullscreen mode.\n */\n fullscreen: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDialogActions\" })(HvDialogActions);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAW;EACjC,IAAQC,OAAR,GAAwED,KAAxE,CAAQC,OAAR;EAAA,IAAiBC,SAAjB,GAAwEF,KAAxE,CAAiBE,SAAjB;EAAA,IAA4BC,QAA5B,GAAwEH,KAAxE,CAA4BG,QAA5B;EAAA,wBAAwEH,KAAxE,CAAsCI,UAAtC;EAAA,IAAsCA,UAAtC,kCAAmD,KAAnD;EAAA,IAA6DC,MAA7D,0CAAwEL,KAAxE;EACA,oBACE,6BAAC,mBAAD;IACE,OAAO,EAAE;MACPM,IAAI,EAAE,mBAAKL,OAAO,CAACK,IAAb,EAAmBF,UAAnB,IAAiCH,OAAO,CAACG,UAAzC,CADC;MAEPG,OAAO,EAAEN,OAAO,CAACM;IAFV,CADX;IAKE,SAAS,EAAEL;EALb,GAMMG,MANN,GAQGF,QARH,CADF;AAYD,CAdD;;AAgBA,wCAAAJ,eAAe,CAACS,SAAhB,GAA4B;EAC1B;AACF;AACA;EACEN,SAAS,EAAEO,mBAAUC,MAJK;;EAK1B;AACF;AACA;EACET,OAAO,EAAEQ,mBAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIL,IAAI,EAAEG,mBAAUC,MAJO;;IAKvB;AACJ;AACA;IACIH,OAAO,EAAEE,mBAAUC,MARI;;IASvB;AACJ;AACA;IACIN,UAAU,EAAEK,mBAAUC;EAZC,CAAhB,EAaNE,UArBuB;;EAsB1B;AACF;AACA;EACET,QAAQ,EAAEM,mBAAUI,IAAV,CAAeD,UAzBC;;EA0B1B;AACF;AACA;EACER,UAAU,EAAEK,mBAAUK;AA7BI,CAA5B;;eAgCe,sBAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAAgDjB,eAAhD,C"}
1
+ {"version":3,"file":"DialogActions.js","names":["HvDialogActions","props","classes","className","children","fullscreen","others","root","clsx","spacing","propTypes","PropTypes","string","shape","isRequired","node","bool","withStyles","styles","name"],"sources":["../../../src/Dialog/DialogActions/DialogActions.js"],"sourcesContent":["import React from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { DialogActions, withStyles } from \"@material-ui/core\";\nimport styles from \"./styles\";\n\nconst HvDialogActions = (props) => {\n const { classes, className, children, fullscreen = false, ...others } = props;\n return (\n <DialogActions\n classes={{\n root: clsx(classes.root, fullscreen && classes.fullscreen),\n spacing: classes.spacing,\n }}\n className={className}\n {...others}\n >\n {children}\n </DialogActions>\n );\n};\n\nHvDialogActions.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 * Style applied to the root of the component (container for the actions).\n */\n root: PropTypes.string,\n /**\n * Style applied to the root of the component if disableSpacing is off.\n */\n spacing: PropTypes.string,\n /**\n * Style applied to the root of the component if fullscreen is on.\n */\n fullscreen: PropTypes.string,\n }).isRequired,\n /**\n * Actions of the Dialog.\n */\n children: PropTypes.node.isRequired,\n /**\n * Whether or not the dialog is in fullscreen mode.\n */\n fullscreen: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDialogActions\" })(HvDialogActions);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAW;EACjC,IAAQC,OAAR,GAAwED,KAAxE,CAAQC,OAAR;EAAA,IAAiBC,SAAjB,GAAwEF,KAAxE,CAAiBE,SAAjB;EAAA,IAA4BC,QAA5B,GAAwEH,KAAxE,CAA4BG,QAA5B;EAAA,wBAAwEH,KAAxE,CAAsCI,UAAtC;EAAA,IAAsCA,UAAtC,kCAAmD,KAAnD;EAAA,IAA6DC,MAA7D,0CAAwEL,KAAxE;EACA,oBACE,6BAAC,mBAAD;IACE,OAAO,EAAE;MACPM,IAAI,EAAE,IAAAC,aAAA,EAAKN,OAAO,CAACK,IAAb,EAAmBF,UAAnB,IAAiCH,OAAO,CAACG,UAAzC,CADC;MAEPI,OAAO,EAAEP,OAAO,CAACO;IAFV,CADX;IAKE,SAAS,EAAEN;EALb,GAMMG,MANN,GAQGF,QARH,CADF;AAYD,CAdD;;AAgBA,wCAAAJ,eAAe,CAACU,SAAhB,GAA4B;EAC1B;AACF;AACA;EACEP,SAAS,EAAEQ,kBAAA,CAAUC,MAJK;;EAK1B;AACF;AACA;EACEV,OAAO,EAAES,kBAAA,CAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIN,IAAI,EAAEI,kBAAA,CAAUC,MAJO;;IAKvB;AACJ;AACA;IACIH,OAAO,EAAEE,kBAAA,CAAUC,MARI;;IASvB;AACJ;AACA;IACIP,UAAU,EAAEM,kBAAA,CAAUC;EAZC,CAAhB,EAaNE,UArBuB;;EAsB1B;AACF;AACA;EACEV,QAAQ,EAAEO,kBAAA,CAAUI,IAAV,CAAeD,UAzBC;;EA0B1B;AACF;AACA;EACET,UAAU,EAAEM,kBAAA,CAAUK;AA7BI,CAA5B;;eAgCe,IAAAC,gBAAA,EAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAAgDnB,eAAhD,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogContent.js","names":["HvDialogContent","classes","className","children","indentContent","DialogContent","root","textContent","propTypes","PropTypes","string","shape","isRequired","bool","node","styles","name"],"sources":["../../../src/Dialog/DialogContent/DialogContent.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { DialogContent, withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport HvTypography from \"../../Typography\";\nimport styles from \"./styles\";\n\nconst HvDialogContent = ({ classes, className, children, indentContent = false }) => {\n return (\n <HvTypography\n component={DialogContent}\n className={clsx(className, classes.root, { [classes.textContent]: indentContent })}\n >\n {children}\n </HvTypography>\n );\n};\n\nHvDialogContent.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 * Style applied to the root of the component (container for the content).\n */\n root: PropTypes.string,\n /**\n * Style applied when the content is a string.\n */\n textContent: PropTypes.string,\n }).isRequired,\n /**\n * Content should be indented in relationship to the Dialog title.\n */\n indentContent: PropTypes.bool,\n /**\n * Content to be rendered.\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvDialogContent\" })(HvDialogContent);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OAA6D;EAAA,IAA1DC,OAA0D,QAA1DA,OAA0D;EAAA,IAAjDC,SAAiD,QAAjDA,SAAiD;EAAA,IAAtCC,QAAsC,QAAtCA,QAAsC;EAAA,8BAA5BC,aAA4B;EAAA,IAA5BA,aAA4B,mCAAZ,KAAY;EACnF,oBACE,6BAAC,mBAAD;IACE,SAAS,EAAEC,mBADb;IAEE,SAAS,EAAE,mBAAKH,SAAL,EAAgBD,OAAO,CAACK,IAAxB,EAAuDF,aAAvD,IAAiCH,OAAO,CAACM,WAAzC;EAFb,GAIGJ,QAJH,CADF;AAQD,CATD;;AAWA,wCAAAH,eAAe,CAACQ,SAAhB,GAA4B;EAC1B;AACF;AACA;EACEN,SAAS,EAAEO,mBAAUC,MAJK;;EAK1B;AACF;AACA;EACET,OAAO,EAAEQ,mBAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIL,IAAI,EAAEG,mBAAUC,MAJO;;IAKvB;AACJ;AACA;IACIH,WAAW,EAAEE,mBAAUC;EARA,CAAhB,EASNE,UAjBuB;;EAkB1B;AACF;AACA;EACER,aAAa,EAAEK,mBAAUI,IArBC;;EAsB1B;AACF;AACA;EACEV,QAAQ,EAAEM,mBAAUK,IAAV,CAAeF;AAzBC,CAA5B;;eA4Be,sBAAWG,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAAgDhB,eAAhD,C"}
1
+ {"version":3,"file":"DialogContent.js","names":["HvDialogContent","classes","className","children","indentContent","DialogContent","clsx","root","textContent","propTypes","PropTypes","string","shape","isRequired","bool","node","withStyles","styles","name"],"sources":["../../../src/Dialog/DialogContent/DialogContent.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport { DialogContent, withStyles } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport HvTypography from \"../../Typography\";\nimport styles from \"./styles\";\n\nconst HvDialogContent = ({ classes, className, children, indentContent = false }) => {\n return (\n <HvTypography\n component={DialogContent}\n className={clsx(className, classes.root, { [classes.textContent]: indentContent })}\n >\n {children}\n </HvTypography>\n );\n};\n\nHvDialogContent.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 * Style applied to the root of the component (container for the content).\n */\n root: PropTypes.string,\n /**\n * Style applied when the content is a string.\n */\n textContent: PropTypes.string,\n }).isRequired,\n /**\n * Content should be indented in relationship to the Dialog title.\n */\n indentContent: PropTypes.bool,\n /**\n * Content to be rendered.\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvDialogContent\" })(HvDialogContent);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,OAA6D;EAAA,IAA1DC,OAA0D,QAA1DA,OAA0D;EAAA,IAAjDC,SAAiD,QAAjDA,SAAiD;EAAA,IAAtCC,QAAsC,QAAtCA,QAAsC;EAAA,8BAA5BC,aAA4B;EAAA,IAA5BA,aAA4B,mCAAZ,KAAY;EACnF,oBACE,6BAAC,mBAAD;IACE,SAAS,EAAEC,mBADb;IAEE,SAAS,EAAE,IAAAC,aAAA,EAAKJ,SAAL,EAAgBD,OAAO,CAACM,IAAxB,EAAuDH,aAAvD,IAAiCH,OAAO,CAACO,WAAzC;EAFb,GAIGL,QAJH,CADF;AAQD,CATD;;AAWA,wCAAAH,eAAe,CAACS,SAAhB,GAA4B;EAC1B;AACF;AACA;EACEP,SAAS,EAAEQ,kBAAA,CAAUC,MAJK;;EAK1B;AACF;AACA;EACEV,OAAO,EAAES,kBAAA,CAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIL,IAAI,EAAEG,kBAAA,CAAUC,MAJO;;IAKvB;AACJ;AACA;IACIH,WAAW,EAAEE,kBAAA,CAAUC;EARA,CAAhB,EASNE,UAjBuB;;EAkB1B;AACF;AACA;EACET,aAAa,EAAEM,kBAAA,CAAUI,IArBC;;EAsB1B;AACF;AACA;EACEX,QAAQ,EAAEO,kBAAA,CAAUK,IAAV,CAAeF;AAzBC,CAA5B;;eA4Be,IAAAG,gBAAA,EAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAAgDlB,eAAhD,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"DialogTitle.js","names":["HvDialogTitle","classes","className","children","variant","showIcon","customIcon","others","isString","fullscreen","icon","root","messageContainer","textWithIcon","propTypes","PropTypes","string","shape","closeButton","isRequired","oneOf","bool","node","styles","name"],"sources":["../../../src/Dialog/DialogTitle/DialogTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { DialogTitle, withStyles } from \"@material-ui/core\";\nimport HvTypography from \"../../Typography\";\nimport iconVariant from \"../../utils/iconVariant\";\nimport styles from \"./styles\";\n\nconst HvDialogTitle = ({\n classes,\n className,\n children,\n variant = \"default\",\n showIcon = true,\n customIcon = null,\n ...others\n}) => {\n const isString = typeof children === \"string\";\n const { fullscreen } = others;\n\n // prevent the `fullscreen` prop from being passed to the `DialogTitle` component\n // eslint-disable-next-line no-param-reassign\n delete others.fullscreen;\n\n const icon = customIcon || (showIcon && iconVariant(variant));\n\n return (\n <DialogTitle\n className={clsx(classes.root, className, fullscreen ? \"fullscreen\" : \"\")}\n disableTypography\n {...others}\n >\n <div className={classes.messageContainer}>\n {icon}\n <div className={clsx({ [classes.textWithIcon]: icon })}>\n {!isString && children}\n {isString && <HvTypography variant=\"xxsTitle\">{children}</HvTypography>}\n </div>\n </div>\n </DialogTitle>\n );\n};\n\nHvDialogTitle.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 * Style applied to the root of the component (container for the title).\n */\n root: PropTypes.string,\n /**\n * Style applied to the container of the title\n */\n messageContainer: PropTypes.string,\n /**\n * Style applied to the text when the icon is present.\n */\n textWithIcon: PropTypes.string,\n /**\n * Style applied to the icon.\n */\n icon: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Variant of the Dialog.\n */\n variant: PropTypes.oneOf([\"success\", \"warning\", \"error\", \"info\", \"default\"]),\n /**\n * Controls if the associated icon to the variant should be shown.\n */\n showIcon: PropTypes.bool,\n /**\n * Custom icon to replace the variant default.\n */\n customIcon: PropTypes.node,\n /**\n * Node to be render.\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvDialogTitle\" })(HvDialogTitle);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAQhB;EAAA,IAPJC,OAOI,QAPJA,OAOI;EAAA,IANJC,SAMI,QANJA,SAMI;EAAA,IALJC,QAKI,QALJA,QAKI;EAAA,wBAJJC,OAII;EAAA,IAJJA,OAII,6BAJM,SAIN;EAAA,yBAHJC,QAGI;EAAA,IAHJA,QAGI,8BAHO,IAGP;EAAA,2BAFJC,UAEI;EAAA,IAFJA,UAEI,gCAFS,IAET;EAAA,IADDC,MACC;EACJ,IAAMC,QAAQ,GAAG,OAAOL,QAAP,KAAoB,QAArC;EACA,IAAQM,UAAR,GAAuBF,MAAvB,CAAQE,UAAR,CAFI,CAIJ;EACA;;EACA,OAAOF,MAAM,CAACE,UAAd;EAEA,IAAMC,IAAI,GAAGJ,UAAU,IAAKD,QAAQ,IAAI,0BAAYD,OAAZ,CAAxC;EAEA,oBACE,6BAAC,iBAAD;IACE,SAAS,EAAE,mBAAKH,OAAO,CAACU,IAAb,EAAmBT,SAAnB,EAA8BO,UAA9B,IAA2C,YAA3C,CADb;IAEE,iBAAiB;EAFnB,GAGMF,MAHN,gBAKE;IAAK,SAAS,EAAEN,OAAO,CAACW;EAAxB,GACGF,IADH,eAEE;IAAK,SAAS,EAAE,mBAA+BA,IAA/B,IAAQT,OAAO,CAACY,YAAhB;EAAhB,GACG,CAACL,QAAD,IAAaL,QADhB,EAEGK,QAAQ,iBAAI,6BAAC,mBAAD;IAAc,OAAO,EAAC;EAAtB,GAAkCL,QAAlC,CAFf,CAFF,CALF,CADF;AAeD,CAjCD;;AAmCA,wCAAAH,aAAa,CAACc,SAAd,GAA0B;EACxB;AACF;AACA;EACEZ,SAAS,EAAEa,mBAAUC,MAJG;;EAKxB;AACF;AACA;EACEf,OAAO,EAAEc,mBAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIN,IAAI,EAAEI,mBAAUC,MAJO;;IAKvB;AACJ;AACA;IACIJ,gBAAgB,EAAEG,mBAAUC,MARL;;IASvB;AACJ;AACA;IACIH,YAAY,EAAEE,mBAAUC,MAZD;;IAavB;AACJ;AACA;IACIN,IAAI,EAAEK,mBAAUC,MAhBO;;IAiBvB;AACJ;AACA;IACIE,WAAW,EAAEH,mBAAUC;EApBA,CAAhB,EAqBNG,UA7BqB;;EA8BxB;AACF;AACA;EACEf,OAAO,EAAEW,mBAAUK,KAAV,CAAgB,CAAC,SAAD,EAAY,SAAZ,EAAuB,OAAvB,EAAgC,MAAhC,EAAwC,SAAxC,CAAhB,CAjCe;;EAkCxB;AACF;AACA;EACEf,QAAQ,EAAEU,mBAAUM,IArCI;;EAsCxB;AACF;AACA;EACEf,UAAU,EAAES,mBAAUO,IAzCE;;EA0CxB;AACF;AACA;EACEnB,QAAQ,EAAEY,mBAAUO,IAAV,CAAeH;AA7CD,CAA1B;;eAgDe,sBAAWI,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAA8CxB,aAA9C,C"}
1
+ {"version":3,"file":"DialogTitle.js","names":["HvDialogTitle","classes","className","children","variant","showIcon","customIcon","others","isString","fullscreen","icon","iconVariant","clsx","root","messageContainer","textWithIcon","propTypes","PropTypes","string","shape","closeButton","isRequired","oneOf","bool","node","withStyles","styles","name"],"sources":["../../../src/Dialog/DialogTitle/DialogTitle.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { DialogTitle, withStyles } from \"@material-ui/core\";\nimport HvTypography from \"../../Typography\";\nimport iconVariant from \"../../utils/iconVariant\";\nimport styles from \"./styles\";\n\nconst HvDialogTitle = ({\n classes,\n className,\n children,\n variant = \"default\",\n showIcon = true,\n customIcon = null,\n ...others\n}) => {\n const isString = typeof children === \"string\";\n const { fullscreen } = others;\n\n // prevent the `fullscreen` prop from being passed to the `DialogTitle` component\n // eslint-disable-next-line no-param-reassign\n delete others.fullscreen;\n\n const icon = customIcon || (showIcon && iconVariant(variant));\n\n return (\n <DialogTitle\n className={clsx(classes.root, className, fullscreen ? \"fullscreen\" : \"\")}\n disableTypography\n {...others}\n >\n <div className={classes.messageContainer}>\n {icon}\n <div className={clsx({ [classes.textWithIcon]: icon })}>\n {!isString && children}\n {isString && <HvTypography variant=\"xxsTitle\">{children}</HvTypography>}\n </div>\n </div>\n </DialogTitle>\n );\n};\n\nHvDialogTitle.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 * Style applied to the root of the component (container for the title).\n */\n root: PropTypes.string,\n /**\n * Style applied to the container of the title\n */\n messageContainer: PropTypes.string,\n /**\n * Style applied to the text when the icon is present.\n */\n textWithIcon: PropTypes.string,\n /**\n * Style applied to the icon.\n */\n icon: PropTypes.string,\n /**\n * Style applied to the close button.\n */\n closeButton: PropTypes.string,\n }).isRequired,\n /**\n * Variant of the Dialog.\n */\n variant: PropTypes.oneOf([\"success\", \"warning\", \"error\", \"info\", \"default\"]),\n /**\n * Controls if the associated icon to the variant should be shown.\n */\n showIcon: PropTypes.bool,\n /**\n * Custom icon to replace the variant default.\n */\n customIcon: PropTypes.node,\n /**\n * Node to be render.\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default withStyles(styles, { name: \"HvDialogTitle\" })(HvDialogTitle);\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAQhB;EAAA,IAPJC,OAOI,QAPJA,OAOI;EAAA,IANJC,SAMI,QANJA,SAMI;EAAA,IALJC,QAKI,QALJA,QAKI;EAAA,wBAJJC,OAII;EAAA,IAJJA,OAII,6BAJM,SAIN;EAAA,yBAHJC,QAGI;EAAA,IAHJA,QAGI,8BAHO,IAGP;EAAA,2BAFJC,UAEI;EAAA,IAFJA,UAEI,gCAFS,IAET;EAAA,IADDC,MACC;EACJ,IAAMC,QAAQ,GAAG,OAAOL,QAAP,KAAoB,QAArC;EACA,IAAQM,UAAR,GAAuBF,MAAvB,CAAQE,UAAR,CAFI,CAIJ;EACA;;EACA,OAAOF,MAAM,CAACE,UAAd;EAEA,IAAMC,IAAI,GAAGJ,UAAU,IAAKD,QAAQ,IAAI,IAAAM,oBAAA,EAAYP,OAAZ,CAAxC;EAEA,oBACE,6BAAC,iBAAD;IACE,SAAS,EAAE,IAAAQ,aAAA,EAAKX,OAAO,CAACY,IAAb,EAAmBX,SAAnB,EAA8BO,UAA9B,IAA2C,YAA3C,CADb;IAEE,iBAAiB;EAFnB,GAGMF,MAHN,gBAKE;IAAK,SAAS,EAAEN,OAAO,CAACa;EAAxB,GACGJ,IADH,eAEE;IAAK,SAAS,EAAE,IAAAE,aAAA,EAA+BF,IAA/B,IAAQT,OAAO,CAACc,YAAhB;EAAhB,GACG,CAACP,QAAD,IAAaL,QADhB,EAEGK,QAAQ,iBAAI,6BAAC,mBAAD;IAAc,OAAO,EAAC;EAAtB,GAAkCL,QAAlC,CAFf,CAFF,CALF,CADF;AAeD,CAjCD;;AAmCA,wCAAAH,aAAa,CAACgB,SAAd,GAA0B;EACxB;AACF;AACA;EACEd,SAAS,EAAEe,kBAAA,CAAUC,MAJG;;EAKxB;AACF;AACA;EACEjB,OAAO,EAAEgB,kBAAA,CAAUE,KAAV,CAAgB;IACvB;AACJ;AACA;IACIN,IAAI,EAAEI,kBAAA,CAAUC,MAJO;;IAKvB;AACJ;AACA;IACIJ,gBAAgB,EAAEG,kBAAA,CAAUC,MARL;;IASvB;AACJ;AACA;IACIH,YAAY,EAAEE,kBAAA,CAAUC,MAZD;;IAavB;AACJ;AACA;IACIR,IAAI,EAAEO,kBAAA,CAAUC,MAhBO;;IAiBvB;AACJ;AACA;IACIE,WAAW,EAAEH,kBAAA,CAAUC;EApBA,CAAhB,EAqBNG,UA7BqB;;EA8BxB;AACF;AACA;EACEjB,OAAO,EAAEa,kBAAA,CAAUK,KAAV,CAAgB,CAAC,SAAD,EAAY,SAAZ,EAAuB,OAAvB,EAAgC,MAAhC,EAAwC,SAAxC,CAAhB,CAjCe;;EAkCxB;AACF;AACA;EACEjB,QAAQ,EAAEY,kBAAA,CAAUM,IArCI;;EAsCxB;AACF;AACA;EACEjB,UAAU,EAAEW,kBAAA,CAAUO,IAzCE;;EA0CxB;AACF;AACA;EACErB,QAAQ,EAAEc,kBAAA,CAAUO,IAAV,CAAeH;AA7CD,CAA1B;;eAgDe,IAAAI,gBAAA,EAAWC,eAAX,EAAmB;EAAEC,IAAI,EAAE;AAAR,CAAnB,EAA8C3B,aAA9C,C"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["styles","theme","background","hv","palette","atmosphere","atmo4","paper","atmo1","padding","overflow","boxShadow","shadows","maxHeight","display","flexDirection","closeButton","minWidth","position","top","hvSpacing","right"],"sources":["../../src/Dialog/styles.js"],"sourcesContent":["import fade from \"../utils/hexToRgbA\";\n\nconst styles = (theme) => ({\n background: {\n background: fade(theme.hv.palette.atmosphere.atmo4, 0.8),\n },\n paper: {\n background: `${theme.hv.palette.atmosphere.atmo1}`,\n padding: \"0px\",\n overflow: \"auto\",\n boxShadow: theme.hv.shadows[1],\n \"&:not(.fullscreen)\": {\n maxHeight: \"calc(100% - 200px)\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n },\n closeButton: {\n padding: 0,\n minWidth: \"inherit\",\n position: \"absolute\",\n top: theme.hvSpacing(\"sm\"),\n right: theme.hvSpacing(\"sm\"),\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,UAAU,EAAE;MACVA,UAAU,EAAE,wBAAKD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAAjC,EAAwC,GAAxC;IADF,CADa;IAIzBC,KAAK,EAAE;MACLL,UAAU,YAAKD,KAAK,CAACE,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAAjC,CADL;MAELC,OAAO,EAAE,KAFJ;MAGLC,QAAQ,EAAE,MAHL;MAILC,SAAS,EAAEV,KAAK,CAACE,EAAN,CAASS,OAAT,CAAiB,CAAjB,CAJN;MAKL,sBAAsB;QACpBC,SAAS,EAAE,oBADS;QAEpBC,OAAO,EAAE,MAFW;QAGpBC,aAAa,EAAE;MAHK;IALjB,CAJkB;IAezBC,WAAW,EAAE;MACXP,OAAO,EAAE,CADE;MAEXQ,QAAQ,EAAE,SAFC;MAGXC,QAAQ,EAAE,UAHC;MAIXC,GAAG,EAAElB,KAAK,CAACmB,SAAN,CAAgB,IAAhB,CAJM;MAKXC,KAAK,EAAEpB,KAAK,CAACmB,SAAN,CAAgB,IAAhB;IALI;EAfY,CAAZ;AAAA,CAAf;;eAwBepB,M"}
1
+ {"version":3,"file":"styles.js","names":["styles","theme","background","fade","hv","palette","atmosphere","atmo4","paper","atmo1","padding","overflow","boxShadow","shadows","maxHeight","display","flexDirection","closeButton","minWidth","position","top","hvSpacing","right"],"sources":["../../src/Dialog/styles.js"],"sourcesContent":["import fade from \"../utils/hexToRgbA\";\n\nconst styles = (theme) => ({\n background: {\n background: fade(theme.hv.palette.atmosphere.atmo4, 0.8),\n },\n paper: {\n background: `${theme.hv.palette.atmosphere.atmo1}`,\n padding: \"0px\",\n overflow: \"auto\",\n boxShadow: theme.hv.shadows[1],\n \"&:not(.fullscreen)\": {\n maxHeight: \"calc(100% - 200px)\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n },\n closeButton: {\n padding: 0,\n minWidth: \"inherit\",\n position: \"absolute\",\n top: theme.hvSpacing(\"sm\"),\n right: theme.hvSpacing(\"sm\"),\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,UAAU,EAAE;MACVA,UAAU,EAAE,IAAAC,kBAAA,EAAKF,KAAK,CAACG,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BC,KAAjC,EAAwC,GAAxC;IADF,CADa;IAIzBC,KAAK,EAAE;MACLN,UAAU,YAAKD,KAAK,CAACG,EAAN,CAASC,OAAT,CAAiBC,UAAjB,CAA4BG,KAAjC,CADL;MAELC,OAAO,EAAE,KAFJ;MAGLC,QAAQ,EAAE,MAHL;MAILC,SAAS,EAAEX,KAAK,CAACG,EAAN,CAASS,OAAT,CAAiB,CAAjB,CAJN;MAKL,sBAAsB;QACpBC,SAAS,EAAE,oBADS;QAEpBC,OAAO,EAAE,MAFW;QAGpBC,aAAa,EAAE;MAHK;IALjB,CAJkB;IAezBC,WAAW,EAAE;MACXP,OAAO,EAAE,CADE;MAEXQ,QAAQ,EAAE,SAFC;MAGXC,QAAQ,EAAE,UAHC;MAIXC,GAAG,EAAEnB,KAAK,CAACoB,SAAN,CAAgB,IAAhB,CAJM;MAKXC,KAAK,EAAErB,KAAK,CAACoB,SAAN,CAAgB,IAAhB;IALI;EAfY,CAAZ;AAAA,CAAf;;eAwBerB,M"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropDownMenu.js","names":["DropDownMenu","id","classes","className","icon","placement","dataList","disablePortal","onToggle","onToggleOpen","onClick","keepOpened","disabled","expanded","defaultExpanded","category","others","Boolean","open","setOpen","theme","focusNodes","listId","handleClose","event","handleKeyDown","KeyboardCodes","Tab","node","shiftKey","prevFocus","nextFocus","setTimeout","focus","preventDefault","setFocusToContent","containerRef","getElementsByTagName","headerComponent","iconSelected","undefined","condensed","every","el","popperStyle","style","zIndex","tooltip","width","container","root","baseContainer","e","s","item","menuList","propTypes","PropTypes","string","shape","isRequired","element","arrayOf","label","selected","bool","oneOfType","func","showNavIcon","oneOf","styles","name"],"sources":["../../src/DropDownMenu/DropDownMenu.js"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport deprecatedPropType from \"@material-ui/core/utils/deprecatedPropType\";\nimport { withStyles, useTheme } from \"@material-ui/core\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\nimport { getPrevNextFocus, isKeypress, KeyboardCodes, useControlled } from \"../utils\";\nimport { HvButton, HvList, HvPanel, HvBaseDropdown, setId } from \"..\";\nimport styles from \"./styles\";\nimport withId from \"../withId\";\n\n/**\n * A drop-down menu is a graphical control element, similar to a list box, that allows the user to choose a value from a list.\n */\nconst DropDownMenu = ({\n id,\n classes,\n className,\n icon,\n placement = \"right\",\n dataList,\n disablePortal = false,\n onToggle,\n onToggleOpen,\n onClick,\n keepOpened = true,\n disabled = false,\n expanded,\n defaultExpanded = false,\n // eslint-disable-next-line\n category,\n ...others\n}) => {\n const [open, setOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const theme = useTheme();\n const focusNodes = getPrevNextFocus(setId(id, \"icon-button\"));\n\n const listId = setId(id, \"list\");\n\n const handleClose = (event) => {\n // this will only run if uncontrolled\n setOpen(false);\n onToggleOpen?.(false);\n onToggle?.(event, false);\n };\n\n // If the ESCAPE key is pressed inside the list, the close handler must be called.\n const handleKeyDown = (event) => {\n if (isKeypress(event, KeyboardCodes.Tab)) {\n const node = event.shiftKey ? focusNodes.prevFocus : focusNodes.nextFocus;\n if (node) setTimeout(() => node.focus(), 0);\n handleClose(event);\n }\n event.preventDefault();\n };\n\n const setFocusToContent = (containerRef) => {\n containerRef?.getElementsByTagName(\"li\")[0]?.focus();\n };\n\n const headerComponent = (\n <HvButton\n icon\n category={category}\n id={setId(id, \"icon-button\")}\n className={clsx(classes.icon, {\n [classes.iconSelected]: open,\n })}\n aria-expanded={open}\n disabled={disabled}\n aria-label=\"Dropdown menu\"\n >\n {icon || <MoreOptionsVertical color={disabled ? \"atmo5\" : undefined} />}\n </HvButton>\n );\n\n const condensed = useMemo(() => dataList.every((el) => !el.icon), [dataList]);\n const popperStyle = {\n style: { zIndex: theme.zIndex.tooltip, width: null },\n };\n\n return (\n <HvBaseDropdown\n id={id}\n className={clsx(className, classes.container)}\n classes={{ root: classes.root, container: classes.baseContainer }}\n expanded={open && !disabled}\n component={headerComponent}\n aria-haspopup=\"menu\"\n placement={placement}\n variableWidth\n disablePortal={disablePortal}\n onToggle={(e, s) => {\n // this will only run if uncontrolled\n setOpen(s);\n onToggleOpen?.(s);\n onToggle?.(e, s);\n }}\n disabled={disabled}\n onContainerCreation={setFocusToContent}\n popperProps={popperStyle}\n {...others}\n >\n <HvPanel>\n <HvList\n id={listId}\n values={dataList}\n selectable={false}\n condensed={condensed}\n onClick={(event, item) => {\n if (!keepOpened) handleClose(event);\n onClick?.(event, item);\n }}\n onKeyDown={handleKeyDown}\n classes={{ root: classes.menuList }}\n />\n </HvPanel>\n </HvBaseDropdown>\n );\n};\n\nDropDownMenu.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the container.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the BaseDropdown container.\n */\n baseContainer: PropTypes.string,\n /**\n * Styles applied to the icon.\n */\n icon: PropTypes.string,\n /**\n * Styles applied to the icon when selected.\n */\n iconSelected: PropTypes.string,\n /**\n * Styles applied to the list.\n */\n menuList: PropTypes.string,\n }).isRequired,\n /**\n * Icon.\n */\n icon: PropTypes.element,\n /**\n * A list containing the elements to be rendered.\n *\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - icon: The icon node to be rendered on the left.\n * - showNavIcon: If true renders the navigation icon on the right.\n */\n dataList: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.node.isRequired,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n showNavIcon: PropTypes.bool,\n })\n ).isRequired,\n /**\n * Placement of the dropdown.\n */\n placement: PropTypes.oneOf([\"left\", \"right\"]),\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * Function executed on toggle of the dropdown. Should receive the open status.\n */\n onToggleOpen: deprecatedPropType(\n PropTypes.func,\n \"Instead use the onToggle prop which receives the event\"\n ),\n /**\n * Function executed on toggle of the dropdown. Should receive the open status.\n */\n onToggle: PropTypes.func,\n /**\n * Function executed in each onClick. Should received the clicked element.\n */\n onClick: PropTypes.func,\n /**\n * Keep the Dropdown Menu opened after clicking one option\n */\n keepOpened: PropTypes.bool,\n /**\n * Defines if the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If true it should be displayed open.\n */\n expanded: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDropDownMenu\" })(withId(DropDownMenu));\n"],"mappings":"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"}
1
+ {"version":3,"file":"DropDownMenu.js","names":["DropDownMenu","id","classes","className","icon","placement","dataList","disablePortal","onToggle","onToggleOpen","onClick","keepOpened","disabled","expanded","defaultExpanded","category","others","useControlled","Boolean","open","setOpen","theme","useTheme","focusNodes","getPrevNextFocus","setId","listId","handleClose","event","handleKeyDown","isKeypress","KeyboardCodes","Tab","node","shiftKey","prevFocus","nextFocus","setTimeout","focus","preventDefault","setFocusToContent","containerRef","getElementsByTagName","headerComponent","clsx","iconSelected","undefined","condensed","useMemo","every","el","popperStyle","style","zIndex","tooltip","width","container","root","baseContainer","e","s","item","menuList","propTypes","PropTypes","string","shape","isRequired","element","arrayOf","label","selected","bool","oneOfType","func","showNavIcon","oneOf","deprecatedPropType","withStyles","styles","name","withId"],"sources":["../../src/DropDownMenu/DropDownMenu.js"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport deprecatedPropType from \"@material-ui/core/utils/deprecatedPropType\";\nimport { withStyles, useTheme } from \"@material-ui/core\";\nimport { MoreOptionsVertical } from \"@hitachivantara/uikit-react-icons\";\nimport { getPrevNextFocus, isKeypress, KeyboardCodes, useControlled } from \"../utils\";\nimport { HvButton, HvList, HvPanel, HvBaseDropdown, setId } from \"..\";\nimport styles from \"./styles\";\nimport withId from \"../withId\";\n\n/**\n * A drop-down menu is a graphical control element, similar to a list box, that allows the user to choose a value from a list.\n */\nconst DropDownMenu = ({\n id,\n classes,\n className,\n icon,\n placement = \"right\",\n dataList,\n disablePortal = false,\n onToggle,\n onToggleOpen,\n onClick,\n keepOpened = true,\n disabled = false,\n expanded,\n defaultExpanded = false,\n // eslint-disable-next-line\n category,\n ...others\n}) => {\n const [open, setOpen] = useControlled(expanded, Boolean(defaultExpanded));\n const theme = useTheme();\n const focusNodes = getPrevNextFocus(setId(id, \"icon-button\"));\n\n const listId = setId(id, \"list\");\n\n const handleClose = (event) => {\n // this will only run if uncontrolled\n setOpen(false);\n onToggleOpen?.(false);\n onToggle?.(event, false);\n };\n\n // If the ESCAPE key is pressed inside the list, the close handler must be called.\n const handleKeyDown = (event) => {\n if (isKeypress(event, KeyboardCodes.Tab)) {\n const node = event.shiftKey ? focusNodes.prevFocus : focusNodes.nextFocus;\n if (node) setTimeout(() => node.focus(), 0);\n handleClose(event);\n }\n event.preventDefault();\n };\n\n const setFocusToContent = (containerRef) => {\n containerRef?.getElementsByTagName(\"li\")[0]?.focus();\n };\n\n const headerComponent = (\n <HvButton\n icon\n category={category}\n id={setId(id, \"icon-button\")}\n className={clsx(classes.icon, {\n [classes.iconSelected]: open,\n })}\n aria-expanded={open}\n disabled={disabled}\n aria-label=\"Dropdown menu\"\n >\n {icon || <MoreOptionsVertical color={disabled ? \"atmo5\" : undefined} />}\n </HvButton>\n );\n\n const condensed = useMemo(() => dataList.every((el) => !el.icon), [dataList]);\n const popperStyle = {\n style: { zIndex: theme.zIndex.tooltip, width: null },\n };\n\n return (\n <HvBaseDropdown\n id={id}\n className={clsx(className, classes.container)}\n classes={{ root: classes.root, container: classes.baseContainer }}\n expanded={open && !disabled}\n component={headerComponent}\n aria-haspopup=\"menu\"\n placement={placement}\n variableWidth\n disablePortal={disablePortal}\n onToggle={(e, s) => {\n // this will only run if uncontrolled\n setOpen(s);\n onToggleOpen?.(s);\n onToggle?.(e, s);\n }}\n disabled={disabled}\n onContainerCreation={setFocusToContent}\n popperProps={popperStyle}\n {...others}\n >\n <HvPanel>\n <HvList\n id={listId}\n values={dataList}\n selectable={false}\n condensed={condensed}\n onClick={(event, item) => {\n if (!keepOpened) handleClose(event);\n onClick?.(event, item);\n }}\n onKeyDown={handleKeyDown}\n classes={{ root: classes.menuList }}\n />\n </HvPanel>\n </HvBaseDropdown>\n );\n};\n\nDropDownMenu.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the container.\n */\n container: PropTypes.string,\n /**\n * Styles applied to the BaseDropdown container.\n */\n baseContainer: PropTypes.string,\n /**\n * Styles applied to the icon.\n */\n icon: PropTypes.string,\n /**\n * Styles applied to the icon when selected.\n */\n iconSelected: PropTypes.string,\n /**\n * Styles applied to the list.\n */\n menuList: PropTypes.string,\n }).isRequired,\n /**\n * Icon.\n */\n icon: PropTypes.element,\n /**\n * A list containing the elements to be rendered.\n *\n * - label: The label of the element to be rendered.\n * - selected: The selection state of the element.\n * - disabled: The disabled state of the element.\n * - icon: The icon node to be rendered on the left.\n * - showNavIcon: If true renders the navigation icon on the right.\n */\n dataList: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.node.isRequired,\n selected: PropTypes.bool,\n disabled: PropTypes.bool,\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.node]),\n showNavIcon: PropTypes.bool,\n })\n ).isRequired,\n /**\n * Placement of the dropdown.\n */\n placement: PropTypes.oneOf([\"left\", \"right\"]),\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * Function executed on toggle of the dropdown. Should receive the open status.\n */\n onToggleOpen: deprecatedPropType(\n PropTypes.func,\n \"Instead use the onToggle prop which receives the event\"\n ),\n /**\n * Function executed on toggle of the dropdown. Should receive the open status.\n */\n onToggle: PropTypes.func,\n /**\n * Function executed in each onClick. Should received the clicked element.\n */\n onClick: PropTypes.func,\n /**\n * Keep the Dropdown Menu opened after clicking one option\n */\n keepOpened: PropTypes.bool,\n /**\n * Defines if the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If true it should be displayed open.\n */\n expanded: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial expanded state.\n */\n defaultExpanded: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDropDownMenu\" })(withId(DropDownMenu));\n"],"mappings":"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"}