@hitachivantara/uikit-react-core 3.69.0 → 3.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/BaseDropdown/styles.js +1 -0
  2. package/dist/BaseDropdown/styles.js.map +1 -1
  3. package/dist/DatePicker/DatePicker.d.ts +4 -0
  4. package/dist/DatePicker/DatePicker.js +11 -3
  5. package/dist/DatePicker/DatePicker.js.map +1 -1
  6. package/dist/FilterGroup/FilterContent/FilterContent.d.ts +49 -0
  7. package/dist/FilterGroup/FilterContent/FilterContent.js +9 -3
  8. package/dist/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  9. package/dist/FilterGroup/FilterContent/index.d.ts +2 -0
  10. package/dist/FilterGroup/FilterGroup.d.ts +3 -2
  11. package/dist/FilterGroup/LeftPanel/LeftPanel.js +6 -4
  12. package/dist/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  13. package/dist/FilterGroup/RightPanel/RightPanel.js +6 -4
  14. package/dist/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  15. package/dist/TimePicker/TimePicker.d.ts +13 -0
  16. package/dist/TimePicker/TimePicker.js +9 -1
  17. package/dist/TimePicker/TimePicker.js.map +1 -1
  18. package/dist/legacy/BaseDropdown/styles.js +1 -0
  19. package/dist/legacy/BaseDropdown/styles.js.map +1 -1
  20. package/dist/legacy/DatePicker/DatePicker.d.ts +4 -0
  21. package/dist/legacy/DatePicker/DatePicker.js +11 -3
  22. package/dist/legacy/DatePicker/DatePicker.js.map +1 -1
  23. package/dist/legacy/FilterGroup/FilterContent/FilterContent.d.ts +49 -0
  24. package/dist/legacy/FilterGroup/FilterContent/FilterContent.js +9 -3
  25. package/dist/legacy/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  26. package/dist/legacy/FilterGroup/FilterContent/index.d.ts +2 -0
  27. package/dist/legacy/FilterGroup/FilterGroup.d.ts +3 -2
  28. package/dist/legacy/FilterGroup/LeftPanel/LeftPanel.js +6 -4
  29. package/dist/legacy/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  30. package/dist/legacy/FilterGroup/RightPanel/RightPanel.js +6 -4
  31. package/dist/legacy/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  32. package/dist/legacy/TimePicker/TimePicker.d.ts +13 -0
  33. package/dist/legacy/TimePicker/TimePicker.js +9 -1
  34. package/dist/legacy/TimePicker/TimePicker.js.map +1 -1
  35. package/dist/modern/BaseDropdown/styles.js +1 -0
  36. package/dist/modern/BaseDropdown/styles.js.map +1 -1
  37. package/dist/modern/DatePicker/DatePicker.d.ts +4 -0
  38. package/dist/modern/DatePicker/DatePicker.js +12 -4
  39. package/dist/modern/DatePicker/DatePicker.js.map +1 -1
  40. package/dist/modern/FilterGroup/FilterContent/FilterContent.d.ts +49 -0
  41. package/dist/modern/FilterGroup/FilterContent/FilterContent.js +10 -4
  42. package/dist/modern/FilterGroup/FilterContent/FilterContent.js.map +1 -1
  43. package/dist/modern/FilterGroup/FilterContent/index.d.ts +2 -0
  44. package/dist/modern/FilterGroup/FilterGroup.d.ts +3 -2
  45. package/dist/modern/FilterGroup/LeftPanel/LeftPanel.js +6 -4
  46. package/dist/modern/FilterGroup/LeftPanel/LeftPanel.js.map +1 -1
  47. package/dist/modern/FilterGroup/RightPanel/RightPanel.js +6 -4
  48. package/dist/modern/FilterGroup/RightPanel/RightPanel.js.map +1 -1
  49. package/dist/modern/TimePicker/TimePicker.d.ts +13 -0
  50. package/dist/modern/TimePicker/TimePicker.js +8 -1
  51. package/dist/modern/TimePicker/TimePicker.js.map +1 -1
  52. package/package.json +2 -2
@@ -4,7 +4,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
4
4
 
5
5
  var _Filters, _Counter;
6
6
 
7
- var _excluded = ["id", "status", "disabled", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "labels", "horizontalPlacement", "disablePortal", "escapeWithReference", "height"];
7
+ var _excluded = ["id", "status", "disabled", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "labels", "horizontalPlacement", "disablePortal", "escapeWithReference", "height", "leftEmptyElement", "rightEmptyElement"];
8
8
  import "core-js/modules/es.symbol.js";
9
9
  import "core-js/modules/es.symbol.description.js";
10
10
  import "core-js/modules/es.string.trim.js";
@@ -41,6 +41,8 @@ var FilterContent = function FilterContent(_ref) {
41
41
  _ref$escapeWithRefere = _ref.escapeWithReference,
42
42
  escapeWithReference = _ref$escapeWithRefere === void 0 ? true : _ref$escapeWithRefere,
43
43
  height = _ref.height,
44
+ leftEmptyElement = _ref.leftEmptyElement,
45
+ rightEmptyElement = _ref.rightEmptyElement,
44
46
  others = _objectWithoutProperties(_ref, _excluded);
45
47
 
46
48
  var classes = useStyles();
@@ -140,10 +142,12 @@ var FilterContent = function FilterContent(_ref) {
140
142
  }
141
143
  }, /*#__PURE__*/React.createElement(LeftPanel, {
142
144
  id: id,
143
- className: classes.leftSidePanel
145
+ className: classes.leftSidePanel,
146
+ emptyElement: leftEmptyElement
144
147
  }), /*#__PURE__*/React.createElement(RightPanel, {
145
148
  id: id,
146
149
  className: classes.rightSidePanel,
150
+ emptyElement: rightEmptyElement,
147
151
  labels: labels
148
152
  })), /*#__PURE__*/React.createElement(HvActionBar, {
149
153
  className: classes.actionBar
@@ -190,7 +194,9 @@ process.env.NODE_ENV !== "production" ? FilterContent.propTypes = {
190
194
  horizontalPlacement: PropTypes.oneOf(["left", "right"]),
191
195
  disablePortal: PropTypes.bool,
192
196
  escapeWithReference: PropTypes.bool,
193
- height: PropTypes.any
197
+ height: PropTypes.any,
198
+ leftEmptyElement: PropTypes.node,
199
+ rightEmptyElement: PropTypes.node
194
200
  } : void 0;
195
201
  export default FilterContent;
196
202
  //# sourceMappingURL=FilterContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterContent.js","names":["React","useMemo","useState","useRef","useContext","PropTypes","Filters","FilterGroupContext","LeftPanel","RightPanel","Counter","useStyles","setId","HvBaseDropdown","HvTypography","HvButton","HvActionBar","FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","others","classes","filterGroupOpen","setFilterGroupOpen","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","placeholder","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"sources":["../../../../src/FilterGroup/FilterContent/FilterContent.js"],"sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} />\n <RightPanel id={id} className={classes.rightSidePanel} labels={labels} />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n &nbsp;\n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n};\n\nexport default FilterContent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterContent.js","names":["React","useMemo","useState","useRef","useContext","PropTypes","Filters","FilterGroupContext","LeftPanel","RightPanel","Counter","useStyles","setId","HvBaseDropdown","HvTypography","HvButton","HvActionBar","FilterContent","id","status","disabled","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","labels","horizontalPlacement","disablePortal","escapeWithReference","height","leftEmptyElement","rightEmptyElement","others","classes","filterGroupOpen","setFilterGroupOpen","defaultValue","filterValues","rollbackFilters","clearFilters","applyFilters","applyDisabled","focusTarget","focusOnContainer","current","focus","onApplyHandler","evt","onCancelHandler","onClearHandler","handleToggle","open","Header","placeholder","root","dropdown","panel","selection","baseDropdownSelection","header","modifiers","name","enabled","undefined","join","trim","leftSidePanel","rightSidePanel","actionBar","flat","length","clearLabel","space","applyLabel","cancelLabel","propTypes","string","node","bool","oneOf","func","shape","searchBoxPlaceholder","selectAll","multiSelectionConjunction","any"],"sources":["../../../../src/FilterGroup/FilterContent/FilterContent.js"],"sourcesContent":["import React, { useMemo, useState, useRef, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { Filters } from \"@hitachivantara/uikit-react-icons\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport LeftPanel from \"../LeftPanel\";\nimport RightPanel from \"../RightPanel\";\nimport Counter from \"../Counter\";\n\nimport useStyles from \"./styles\";\n\nimport { setId, HvBaseDropdown, HvTypography, HvButton, HvActionBar } from \"../..\";\n\nconst FilterContent = ({\n id,\n status,\n disabled = false,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n\n labels,\n\n horizontalPlacement = \"right\",\n disablePortal = true,\n escapeWithReference = true,\n\n height,\n leftEmptyElement,\n rightEmptyElement,\n\n ...others\n}) => {\n const classes = useStyles();\n const [filterGroupOpen, setFilterGroupOpen] = useState(false);\n\n const { defaultValue, filterValues, rollbackFilters, clearFilters, applyFilters, applyDisabled } =\n useContext(FilterGroupContext);\n\n const focusTarget = useRef();\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const onApplyHandler = (evt) => {\n applyFilters();\n onChange?.(evt, filterValues);\n setFilterGroupOpen(false);\n };\n\n const onCancelHandler = (evt) => {\n rollbackFilters();\n onCancel?.(evt);\n setFilterGroupOpen(false);\n };\n\n const onClearHandler = (evt) => {\n clearFilters();\n onClear?.(evt);\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setFilterGroupOpen(open);\n if (!open) onCancelHandler?.(evt);\n };\n\n const Header = useMemo(\n () => (\n <>\n <Filters />\n <HvTypography variant=\"highlightText\">{labels.placeholder}</HvTypography>\n </>\n ),\n [labels.placeholder]\n );\n\n return (\n <HvBaseDropdown\n id={setId(id, \"dropdown\")}\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n selection: classes.baseDropdownSelection,\n header: classes.header,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={filterGroupOpen}\n onToggle={handleToggle}\n onClickOutside={onCancelHandler}\n onContainerCreation={focusOnContainer}\n placeholder={Header}\n adornment={<Counter />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-invalid={status === \"invalid\" ? true : undefined}\n aria-errormessage={status === \"invalid\" ? setId(id, \"error\") : undefined}\n aria-describedby={\n [description && setId(id, \"description\"), ariaDescribedBy].join(\" \").trim() || undefined\n }\n {...others}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <div className={classes.root} style={{ height }}>\n <LeftPanel id={id} className={classes.leftSidePanel} emptyElement={leftEmptyElement} />\n <RightPanel\n id={id}\n className={classes.rightSidePanel}\n emptyElement={rightEmptyElement}\n labels={labels}\n />\n </div>\n <HvActionBar className={classes.actionBar}>\n <HvButton\n id={setId(id, \"clearFilters-button\")}\n disabled={\n defaultValue\n ? defaultValue?.flat().length === filterValues?.flat().length\n : filterValues?.flat().length === 0\n }\n category=\"ghost\"\n onClick={onClearHandler}\n >\n {labels.clearLabel}\n </HvButton>\n <div aria-hidden=\"true\" className={classes.space}>\n &nbsp;\n </div>\n <HvButton\n id={setId(id, \"apply-button\")}\n disabled={applyDisabled}\n category=\"ghost\"\n onClick={onApplyHandler}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton id={setId(id, \"cancel-button\")} category=\"ghost\" onClick={onCancelHandler}>\n {labels.cancelLabel}\n </HvButton>\n </HvActionBar>\n </HvBaseDropdown>\n );\n};\n\nFilterContent.propTypes = {\n id: PropTypes.string,\n\n \"aria-label\": PropTypes.string,\n \"aria-labelledby\": PropTypes.string,\n description: PropTypes.node,\n \"aria-describedby\": PropTypes.string,\n disabled: PropTypes.bool,\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n\n onChange: PropTypes.func,\n onCancel: PropTypes.func,\n onClear: PropTypes.func,\n\n labels: PropTypes.shape({\n applyLabel: PropTypes.string,\n cancelLabel: PropTypes.string,\n clearLabel: PropTypes.string,\n placeholder: PropTypes.string,\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n disablePortal: PropTypes.bool,\n escapeWithReference: PropTypes.bool,\n height: PropTypes.any,\n leftEmptyElement: PropTypes.node,\n rightEmptyElement: PropTypes.node,\n};\n\nexport default FilterContent;\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { default } from "./FilterContent";
2
+ export * from "./FilterContent";
@@ -1,5 +1,6 @@
1
1
  import { StandardProps } from "@material-ui/core";
2
- import { HvBaseDropdownProps, HvFormElementProps } from "..";
2
+ import { HvFormElementProps } from "..";
3
+ import { HvFilterContentProps } from "./FilterContent";
3
4
 
4
5
  export type HvFilterGroupClassKey = "root" | "labelContainer" | "label" | "description" | "error";
5
6
 
@@ -105,7 +106,7 @@ export interface HvFilterGroupProps
105
106
  /**
106
107
  * Other props, passed to `FilterContent` and `HvBaseDropdown` components
107
108
  */
108
- filterContentProps?: Record<string, unknown> & Partial<HvBaseDropdownProps>;
109
+ filterContentProps?: Partial<HvFilterContentProps>;
109
110
  }
110
111
 
111
112
  export default function HvFilterGroup(props: HvFilterGroupProps): JSX.Element | null;
@@ -11,7 +11,8 @@ import { wrapperTooltip } from "../../List/utils";
11
11
 
12
12
  var LeftPanel = function LeftPanel(_ref) {
13
13
  var id = _ref.id,
14
- className = _ref.className;
14
+ className = _ref.className,
15
+ emptyElement = _ref.emptyElement;
15
16
  var classes = useStyles();
16
17
 
17
18
  var _useContext = useContext(FilterGroupContext),
@@ -22,7 +23,7 @@ var LeftPanel = function LeftPanel(_ref) {
22
23
  return /*#__PURE__*/React.createElement(HvPanel, {
23
24
  id: setId(id, "leftPanel"),
24
25
  className: clsx(className, classes.root)
25
- }, /*#__PURE__*/React.createElement(HvListContainer, {
26
+ }, filterOptions.length > 0 ? /*#__PURE__*/React.createElement(HvListContainer, {
26
27
  id: setId(id, "leftPanel-list"),
27
28
  condensed: true,
28
29
  interactive: true
@@ -40,12 +41,13 @@ var LeftPanel = function LeftPanel(_ref) {
40
41
  id: group.id
41
42
  })
42
43
  }, /*#__PURE__*/React.createElement(ItemText, null));
43
- })));
44
+ })) : emptyElement);
44
45
  };
45
46
 
46
47
  process.env.NODE_ENV !== "production" ? LeftPanel.propTypes = {
47
48
  id: PropTypes.string,
48
- className: PropTypes.string
49
+ className: PropTypes.string,
50
+ emptyElement: PropTypes.node
49
51
  } : void 0;
50
52
  export default LeftPanel;
51
53
  //# sourceMappingURL=LeftPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LeftPanel.js","names":["React","useContext","clsx","PropTypes","HvPanel","HvListContainer","HvListItem","setId","FilterGroupContext","Counter","useStyles","wrapperTooltip","LeftPanel","id","className","classes","filterOptions","activeGroup","setActiveGroup","root","map","group","index","ItemText","name","filterItem","propTypes","string"],"sources":["../../../../src/FilterGroup/LeftPanel/LeftPanel.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { HvPanel, HvListContainer, HvListItem, setId } from \"../..\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport Counter from \"../Counter\";\nimport useStyles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst LeftPanel = ({ id, className }) => {\n const classes = useStyles();\n const { filterOptions, activeGroup, setActiveGroup } = useContext(FilterGroupContext);\n\n return (\n <HvPanel id={setId(id, \"leftPanel\")} className={clsx(className, classes.root)}>\n <HvListContainer id={setId(id, \"leftPanel-list\")} condensed interactive>\n {filterOptions.map((group, index) => {\n const ItemText = wrapperTooltip(true, group.name, group.name);\n return (\n <HvListItem\n id={group.id}\n className={classes.filterItem}\n key={group.name}\n onClick={() => setActiveGroup(index)}\n selected={filterOptions[activeGroup].id === group.id}\n endAdornment={<Counter id={group.id} />}\n >\n <ItemText />\n </HvListItem>\n );\n })}\n </HvListContainer>\n </HvPanel>\n );\n};\n\nLeftPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n};\n\nexport default LeftPanel;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,OAAT,EAAkBC,eAAlB,EAAmCC,UAAnC,EAA+CC,KAA/C,QAA4D,OAA5D;AACA,SAASC,kBAAT,QAAmC,uBAAnC;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,OAAOC,SAAP,MAAsB,UAAtB;AACA,SAASC,cAAT,QAA+B,kBAA/B;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,OAAuB;EAAA,IAApBC,EAAoB,QAApBA,EAAoB;EAAA,IAAhBC,SAAgB,QAAhBA,SAAgB;EACvC,IAAMC,OAAO,GAAGL,SAAS,EAAzB;;EACA,kBAAuDT,UAAU,CAACO,kBAAD,CAAjE;EAAA,IAAQQ,aAAR,eAAQA,aAAR;EAAA,IAAuBC,WAAvB,eAAuBA,WAAvB;EAAA,IAAoCC,cAApC,eAAoCA,cAApC;;EAEA,oBACE,oBAAC,OAAD;IAAS,EAAE,EAAEX,KAAK,CAACM,EAAD,EAAK,WAAL,CAAlB;IAAqC,SAAS,EAAEX,IAAI,CAACY,SAAD,EAAYC,OAAO,CAACI,IAApB;EAApD,gBACE,oBAAC,eAAD;IAAiB,EAAE,EAAEZ,KAAK,CAACM,EAAD,EAAK,gBAAL,CAA1B;IAAkD,SAAS,MAA3D;IAA4D,WAAW;EAAvE,GACGG,aAAa,CAACI,GAAd,CAAkB,UAACC,KAAD,EAAQC,KAAR,EAAkB;IACnC,IAAMC,QAAQ,GAAGZ,cAAc,CAAC,IAAD,EAAOU,KAAK,CAACG,IAAb,EAAmBH,KAAK,CAACG,IAAzB,CAA/B;IACA,oBACE,oBAAC,UAAD;MACE,EAAE,EAAEH,KAAK,CAACR,EADZ;MAEE,SAAS,EAAEE,OAAO,CAACU,UAFrB;MAGE,GAAG,EAAEJ,KAAK,CAACG,IAHb;MAIE,OAAO,EAAE;QAAA,OAAMN,cAAc,CAACI,KAAD,CAApB;MAAA,CAJX;MAKE,QAAQ,EAAEN,aAAa,CAACC,WAAD,CAAb,CAA2BJ,EAA3B,KAAkCQ,KAAK,CAACR,EALpD;MAME,YAAY,eAAE,oBAAC,OAAD;QAAS,EAAE,EAAEQ,KAAK,CAACR;MAAnB;IANhB,gBAQE,oBAAC,QAAD,OARF,CADF;EAYD,CAdA,CADH,CADF,CADF;AAqBD,CAzBD;;AA2BA,wCAAAD,SAAS,CAACc,SAAV,GAAsB;EACpBb,EAAE,EAAEV,SAAS,CAACwB,MADM;EAEpBb,SAAS,EAAEX,SAAS,CAACwB;AAFD,CAAtB;AAKA,eAAef,SAAf"}
1
+ {"version":3,"file":"LeftPanel.js","names":["React","useContext","clsx","PropTypes","HvPanel","HvListContainer","HvListItem","setId","FilterGroupContext","Counter","useStyles","wrapperTooltip","LeftPanel","id","className","emptyElement","classes","filterOptions","activeGroup","setActiveGroup","root","length","map","group","index","ItemText","name","filterItem","propTypes","string","node"],"sources":["../../../../src/FilterGroup/LeftPanel/LeftPanel.js"],"sourcesContent":["import React, { useContext } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport { HvPanel, HvListContainer, HvListItem, setId } from \"../..\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport Counter from \"../Counter\";\nimport useStyles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst LeftPanel = ({ id, className, emptyElement }) => {\n const classes = useStyles();\n const { filterOptions, activeGroup, setActiveGroup } = useContext(FilterGroupContext);\n\n return (\n <HvPanel id={setId(id, \"leftPanel\")} className={clsx(className, classes.root)}>\n {filterOptions.length > 0 ? (\n <HvListContainer id={setId(id, \"leftPanel-list\")} condensed interactive>\n {filterOptions.map((group, index) => {\n const ItemText = wrapperTooltip(true, group.name, group.name);\n return (\n <HvListItem\n id={group.id}\n className={classes.filterItem}\n key={group.name}\n onClick={() => setActiveGroup(index)}\n selected={filterOptions[activeGroup].id === group.id}\n endAdornment={<Counter id={group.id} />}\n >\n <ItemText />\n </HvListItem>\n );\n })}\n </HvListContainer>\n ) : (\n emptyElement\n )}\n </HvPanel>\n );\n};\n\nLeftPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n emptyElement: PropTypes.node,\n};\n\nexport default LeftPanel;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,UAAhB,QAAkC,OAAlC;AACA,OAAOC,IAAP,MAAiB,MAAjB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,OAAT,EAAkBC,eAAlB,EAAmCC,UAAnC,EAA+CC,KAA/C,QAA4D,OAA5D;AACA,SAASC,kBAAT,QAAmC,uBAAnC;AACA,OAAOC,OAAP,MAAoB,YAApB;AACA,OAAOC,SAAP,MAAsB,UAAtB;AACA,SAASC,cAAT,QAA+B,kBAA/B;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,OAAqC;EAAA,IAAlCC,EAAkC,QAAlCA,EAAkC;EAAA,IAA9BC,SAA8B,QAA9BA,SAA8B;EAAA,IAAnBC,YAAmB,QAAnBA,YAAmB;EACrD,IAAMC,OAAO,GAAGN,SAAS,EAAzB;;EACA,kBAAuDT,UAAU,CAACO,kBAAD,CAAjE;EAAA,IAAQS,aAAR,eAAQA,aAAR;EAAA,IAAuBC,WAAvB,eAAuBA,WAAvB;EAAA,IAAoCC,cAApC,eAAoCA,cAApC;;EAEA,oBACE,oBAAC,OAAD;IAAS,EAAE,EAAEZ,KAAK,CAACM,EAAD,EAAK,WAAL,CAAlB;IAAqC,SAAS,EAAEX,IAAI,CAACY,SAAD,EAAYE,OAAO,CAACI,IAApB;EAApD,GACGH,aAAa,CAACI,MAAd,GAAuB,CAAvB,gBACC,oBAAC,eAAD;IAAiB,EAAE,EAAEd,KAAK,CAACM,EAAD,EAAK,gBAAL,CAA1B;IAAkD,SAAS,MAA3D;IAA4D,WAAW;EAAvE,GACGI,aAAa,CAACK,GAAd,CAAkB,UAACC,KAAD,EAAQC,KAAR,EAAkB;IACnC,IAAMC,QAAQ,GAAGd,cAAc,CAAC,IAAD,EAAOY,KAAK,CAACG,IAAb,EAAmBH,KAAK,CAACG,IAAzB,CAA/B;IACA,oBACE,oBAAC,UAAD;MACE,EAAE,EAAEH,KAAK,CAACV,EADZ;MAEE,SAAS,EAAEG,OAAO,CAACW,UAFrB;MAGE,GAAG,EAAEJ,KAAK,CAACG,IAHb;MAIE,OAAO,EAAE;QAAA,OAAMP,cAAc,CAACK,KAAD,CAApB;MAAA,CAJX;MAKE,QAAQ,EAAEP,aAAa,CAACC,WAAD,CAAb,CAA2BL,EAA3B,KAAkCU,KAAK,CAACV,EALpD;MAME,YAAY,eAAE,oBAAC,OAAD;QAAS,EAAE,EAAEU,KAAK,CAACV;MAAnB;IANhB,gBAQE,oBAAC,QAAD,OARF,CADF;EAYD,CAdA,CADH,CADD,GAmBCE,YApBJ,CADF;AAyBD,CA7BD;;AA+BA,wCAAAH,SAAS,CAACgB,SAAV,GAAsB;EACpBf,EAAE,EAAEV,SAAS,CAAC0B,MADM;EAEpBf,SAAS,EAAEX,SAAS,CAAC0B,MAFD;EAGpBd,YAAY,EAAEZ,SAAS,CAAC2B;AAHJ,CAAtB;AAMA,eAAelB,SAAf"}
@@ -31,7 +31,8 @@ import { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from "../..
31
31
  var RightPanel = function RightPanel(_ref) {
32
32
  var id = _ref.id,
33
33
  className = _ref.className,
34
- labels = _ref.labels;
34
+ labels = _ref.labels,
35
+ emptyElement = _ref.emptyElement;
35
36
  var classes = useStyles();
36
37
 
37
38
  var _useState = useState(""),
@@ -145,7 +146,7 @@ var RightPanel = function RightPanel(_ref) {
145
146
  return /*#__PURE__*/React.createElement(HvPanel, {
146
147
  id: setId(id, "rightPanel"),
147
148
  className: clsx(className, classes.root)
148
- }, /*#__PURE__*/React.createElement(HvInput, {
149
+ }, listValues.length > 0 ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HvInput, {
149
150
  id: setId(id, "search"),
150
151
  classes: {
151
152
  root: classes.search
@@ -168,7 +169,7 @@ var RightPanel = function RightPanel(_ref) {
168
169
  selectable: true,
169
170
  condensed: true,
170
171
  hasTooltips: true
171
- }));
172
+ })) : emptyElement);
172
173
  };
173
174
 
174
175
  process.env.NODE_ENV !== "production" ? RightPanel.propTypes = {
@@ -178,7 +179,8 @@ process.env.NODE_ENV !== "production" ? RightPanel.propTypes = {
178
179
  searchBoxPlaceholder: PropTypes.string,
179
180
  selectAll: PropTypes.string,
180
181
  multiSelectionConjunction: PropTypes.string
181
- })
182
+ }),
183
+ emptyElement: PropTypes.node
182
184
  } : void 0;
183
185
  export default RightPanel;
184
186
  //# sourceMappingURL=RightPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RightPanel.js","names":["React","useMemo","useContext","useState","useEffect","useCallback","PropTypes","cloneDeep","clsx","FilterGroupContext","useStyles","setId","HvTypography","HvList","HvInput","HvPanel","HvCheckBox","RightPanel","id","className","labels","classes","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","nbrSelected","length","hasSelection","allSelect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","container","selection","root","search","searchBoxPlaceholder","event","str","list","propTypes","string","shape"],"sources":["../../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => (filterOptions[activeGroup]?.data || []).map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n (filterOptions[activeGroup]?.data || []).map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n};\n\nexport default RightPanel;\n"],"mappings":"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"}
1
+ {"version":3,"file":"RightPanel.js","names":["React","useMemo","useContext","useState","useEffect","useCallback","PropTypes","cloneDeep","clsx","FilterGroupContext","useStyles","setId","HvTypography","HvList","HvInput","HvPanel","HvCheckBox","RightPanel","id","className","labels","emptyElement","classes","searchStr","setSearchStr","allSelected","setAllSelected","anySelected","setAnySelected","filterOptions","filterValues","setFilterValues","activeGroup","activeGroupOptions","data","map","option","activeFilterValues","filter","value","includes","listValues","label","name","selected","isHidden","toLowerCase","indexOf","updateSelectAll","nbrSelected","length","hasSelection","allSelect","onChangeHandler","values","newFilterValues","i","v","handleSelectAll","SelectAll","selectAll","multiSelectionConjunction","defaultLabel","selectAllContainer","container","selection","root","search","searchBoxPlaceholder","event","str","list","propTypes","string","shape","node"],"sources":["../../../../src/FilterGroup/RightPanel/RightPanel.js"],"sourcesContent":["import React, { useMemo, useContext, useState, useEffect, useCallback } from \"react\";\nimport PropTypes from \"prop-types\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport clsx from \"clsx\";\nimport { FilterGroupContext } from \"../FilterGroupContext\";\nimport useStyles from \"./styles\";\nimport { setId, HvTypography, HvList, HvInput, HvPanel, HvCheckBox } from \"../..\";\n\nconst RightPanel = ({ id, className, labels, emptyElement }) => {\n const classes = useStyles();\n const [searchStr, setSearchStr] = useState(\"\");\n const [allSelected, setAllSelected] = useState(false);\n const [anySelected, setAnySelected] = useState(false);\n\n const {\n filterOptions,\n filterValues = [],\n setFilterValues,\n activeGroup,\n } = useContext(FilterGroupContext);\n\n const activeGroupOptions = useMemo(\n () => (filterOptions[activeGroup]?.data || []).map((option) => option.id),\n [filterOptions, activeGroup]\n );\n\n const activeFilterValues = useMemo(\n () => filterValues[activeGroup]?.filter((value) => activeGroupOptions.includes(value)),\n [filterValues, activeGroupOptions, activeGroup]\n );\n\n const listValues = useMemo(\n () =>\n (filterOptions[activeGroup]?.data || []).map((option) => ({\n ...option,\n label: option.name,\n selected: filterValues[activeGroup]?.includes(option.id),\n isHidden: option.name.toLowerCase().indexOf(searchStr.toLowerCase()) < 0,\n })),\n [filterOptions, filterValues, activeGroup, searchStr]\n );\n\n const updateSelectAll = useCallback(() => {\n const nbrSelected = activeFilterValues?.length;\n const hasSelection = nbrSelected > 0;\n const allSelect = nbrSelected === activeGroupOptions.length;\n\n setAnySelected(hasSelection);\n setAllSelected(hasSelection && allSelect);\n }, [activeFilterValues, activeGroupOptions]);\n\n useEffect(() => {\n updateSelectAll();\n }, [activeFilterValues, updateSelectAll]);\n\n useEffect(() => setSearchStr(\"\"), [activeGroup]);\n\n const onChangeHandler = (values) => {\n const newFilterValues = filterOptions.map((option, i) =>\n activeGroup === i\n ? values.filter((v) => v.selected).map((v) => v.id)\n : [...(filterValues[i] || [])]\n );\n setFilterValues(newFilterValues);\n };\n\n const handleSelectAll = useCallback(() => {\n const newFilterValues = cloneDeep(filterValues);\n newFilterValues[activeGroup] = anySelected ? [] : activeGroupOptions;\n\n setFilterValues(newFilterValues);\n }, [activeGroup, activeGroupOptions, anySelected, filterValues, setFilterValues]);\n\n /**\n * Create selecteAll component.\n *\n * @returns {*}\n */\n const SelectAll = useCallback(() => {\n const { selectAll, multiSelectionConjunction } = labels;\n const nbrSelected = activeFilterValues?.length;\n\n const defaultLabel = (\n <HvTypography component=\"span\">\n {nbrSelected > 0 ? (\n <>\n <b>{nbrSelected}</b>\n {` ${multiSelectionConjunction} ${activeGroupOptions.length}`}\n </>\n ) : (\n <>\n <b>{selectAll}</b>\n {` (${activeGroupOptions.length})`}\n </>\n )}\n </HvTypography>\n );\n\n return (\n <div className={classes.selectAllContainer}>\n <HvCheckBox\n id={setId(id, \"select-all\")}\n label={defaultLabel}\n onChange={() => handleSelectAll()}\n classes={{ container: classes.selection }}\n className={classes.selectAll}\n indeterminate={anySelected && !allSelected}\n checked={allSelected}\n />\n </div>\n );\n }, [\n activeFilterValues?.length,\n activeGroupOptions.length,\n allSelected,\n anySelected,\n classes.selectAll,\n classes.selectAllContainer,\n classes.selection,\n handleSelectAll,\n id,\n labels,\n ]);\n\n return (\n <HvPanel id={setId(id, \"rightPanel\")} className={clsx(className, classes.root)}>\n {listValues.length > 0 ? (\n <>\n <HvInput\n id={setId(id, \"search\")}\n classes={{\n root: classes.search,\n }}\n type=\"search\"\n placeholder={labels.searchBoxPlaceholder}\n value={searchStr}\n onChange={(event, str) => setSearchStr(str)}\n />\n <SelectAll />\n <HvList\n key={activeGroup}\n id={setId(id, \"list\")}\n className={classes.list}\n values={listValues}\n multiSelect\n useSelector\n showSelectAll={false}\n onChange={onChangeHandler}\n selectable\n condensed\n hasTooltips\n />\n </>\n ) : (\n emptyElement\n )}\n </HvPanel>\n );\n};\n\nRightPanel.propTypes = {\n id: PropTypes.string,\n className: PropTypes.string,\n labels: PropTypes.shape({\n searchBoxPlaceholder: PropTypes.string,\n selectAll: PropTypes.string,\n multiSelectionConjunction: PropTypes.string,\n }),\n emptyElement: PropTypes.node,\n};\n\nexport default RightPanel;\n"],"mappings":"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"}
@@ -44,6 +44,19 @@ export interface HvTimePickerProps
44
44
  */
45
45
  defaultValue?: HvTimePickerValue | null | undefined;
46
46
 
47
+ /**
48
+ * Indicates that user input is required on the form element.
49
+ */
50
+ required?: boolean;
51
+ /**
52
+ * Indicates that the form element is disabled.
53
+ */
54
+ disabled?: boolean;
55
+ /**
56
+ * Indicates that the form element is in read only mode.
57
+ */
58
+ readOnly?: boolean;
59
+
47
60
  /**
48
61
  * The placeholder value when no time is selected.
49
62
  */
@@ -7,7 +7,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
7
7
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
8
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
9
9
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
10
- var _excluded = ["classes", "className", "id", "name", "required", "disabled", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "status", "statusMessage", "aria-errormessage", "placeholder", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder", "value", "defaultValue", "timeFormat", "locale", "disableDefaultValue", "onToggle", "hours", "minutes", "seconds", "period", "disablePortal", "escapeWithReference", "dropdownProps"];
10
+ var _excluded = ["classes", "className", "id", "name", "required", "disabled", "readOnly", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "status", "statusMessage", "aria-errormessage", "placeholder", "hoursPlaceholder", "minutesPlaceholder", "secondsPlaceholder", "value", "defaultValue", "timeFormat", "locale", "disableDefaultValue", "onToggle", "hours", "minutes", "seconds", "period", "disablePortal", "escapeWithReference", "dropdownProps"];
11
11
 
12
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
13
 
@@ -63,6 +63,8 @@ var HvTimePicker = function HvTimePicker(_ref) {
63
63
  required = _ref$required === void 0 ? false : _ref$required,
64
64
  _ref$disabled = _ref.disabled,
65
65
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
66
+ _ref$readOnly = _ref.readOnly,
67
+ readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
66
68
  label = _ref.label,
67
69
  ariaLabel = _ref["aria-label"],
68
70
  ariaLabelledBy = _ref["aria-labelledby"],
@@ -374,6 +376,7 @@ var HvTimePicker = function HvTimePicker(_ref) {
374
376
  "aria-describedby": [description && setId(elementId, "description"), ariaDescribedBy].join(" ").trim() || undefined,
375
377
  disablePortal: disablePortal,
376
378
  disabled: disabled,
379
+ readOnly: readOnly,
377
380
  popperProps: {
378
381
  modifiers: [{
379
382
  name: "preventOverflow",
@@ -540,6 +543,11 @@ process.env.NODE_ENV !== "production" ? HvTimePicker.propTypes = {
540
543
  */
541
544
  disabled: PropTypes.bool,
542
545
 
546
+ /**
547
+ * Indicates that the form element is in read only mode.
548
+ */
549
+ readOnly: PropTypes.bool,
550
+
543
551
  /**
544
552
  * The label of the form element.
545
553
  *
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.js","names":["React","useState","useEffect","useRef","useMemo","PropTypes","clsx","withStyles","Time","TimeIcon","HvFormElement","HvBaseDropdown","HvLabel","HvWarningText","HvInfoMessage","setId","useUniqueId","useControlled","useLocale","HvTypography","useSavedState","TimePickerUnits","TimeFormat","PeriodPickerOptions","getFormattedTime","getTimeFormatForLocale","getHoursForTimeFormat","getTimeWithFormat24","UnitTimePicker","PeriodPicker","styles","setFocusToContent","containerRef","getElementsByTagName","focus","timeIsEqual","timeA","timeB","hours","minutes","seconds","period","timeIsValid","time","timeFormat","hourInputState","H24","H12","minutesInputState","secondsInputState","HvTimePicker","classes","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","status","statusMessage","ariaErrorMessage","placeholder","hoursPlaceholder","minutesPlaceholder","secondsPlaceholder","valueProp","value","defaultValueProp","defaultValue","chosenTimeFormat","localeProp","locale","disableDefaultValue","onToggleCallback","onToggle","Date","getHours","getMinutes","chosenTimePeriod","disablePortal","escapeWithReference","dropdownProps","others","elementId","localeFromProvider","toString","v","AM","PM","setValue","rollbackValue","lastValidValue","validationMessage","validationState","setValidationState","isOpen","setOpen","firstRender","currentValue","current","currentTimeFormat","to12","h","p","undefined","dayPeriod","handleTimeChange","updatedTimeObject","valid","handleHoursChange","updatedHours","newSelectedTime","handleMinutesChange","updatedMinutes","handleSecondsChange","updatedSeconds","handleChangePeriod","updatedPeriod","evt","open","hasLabels","hasDescription","canShowError","isStateInvalid","errorMessageId","root","formElementRoot","labelContainer","dropdownPlaceholderDisabled","dropdownPlaceholder","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","iconBaseRoot","join","trim","modifiers","enabled","timePopperContainer","HOUR_24","type","HOUR_12","separator","MINUTE","SECOND","error","propTypes","shape","string","input","periodContainer","isRequired","number","bool","node","oneOf","func","instanceOf","Object"],"sources":["../../../src/TimePicker/TimePicker.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport { Time as TimeIcon } from \"@hitachivantara/uikit-react-icons\";\nimport {\n HvFormElement,\n HvBaseDropdown,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n setId,\n useUniqueId,\n useControlled,\n useLocale,\n HvTypography,\n useSavedState,\n} from \"..\";\n\nimport { TimePickerUnits, TimeFormat, PeriodPickerOptions } from \"./enums\";\nimport { getFormattedTime, getTimeFormatForLocale } from \"./timePickerFormatter\";\nimport { getHoursForTimeFormat, getTimeWithFormat24 } from \"./timePickerConverter\";\nimport UnitTimePicker from \"./UnitTimePicker\";\nimport PeriodPicker from \"./PeriodPicker\";\n\nimport styles from \"./styles\";\n\nconst setFocusToContent = (containerRef) => {\n containerRef?.getElementsByTagName(\"input\")[0]?.focus();\n};\n\nconst timeIsEqual = (timeA, timeB) => {\n return (\n timeA === timeB ||\n (timeA == null && timeB == null) ||\n (timeA != null &&\n timeB != null &&\n timeA.hours === timeB.hours &&\n timeA.minutes === timeB.minutes &&\n timeA.seconds === timeB.seconds &&\n timeA.period === timeB.period)\n );\n};\n\nconst timeIsValid = (time, timeFormat) => {\n const hourInputState =\n time?.hours != null &&\n time.hours !== \"\" &&\n time.hours >= 0 &&\n ((timeFormat === TimeFormat.H24 && time.hours <= 24) ||\n (timeFormat === TimeFormat.H12 && time.hours <= 12));\n const minutesInputState =\n time?.minutes != null && time.minutes !== \"\" && time.minutes >= 0 && time.minutes <= 59;\n const secondsInputState =\n time?.seconds != null && time.seconds !== \"\" && time.seconds >= 0 && time.seconds <= 59;\n\n return hourInputState && minutesInputState && secondsInputState;\n};\n\n/**\n * A TimePicker component used to choose the time.\n */\n\nconst HvTimePicker = ({\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\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n hoursPlaceholder = \"hh\",\n minutesPlaceholder = \"mm\",\n secondsPlaceholder = \"ss\",\n\n value: valueProp,\n defaultValue: defaultValueProp,\n\n timeFormat: chosenTimeFormat,\n locale: localeProp,\n\n disableDefaultValue,\n\n onToggle: onToggleCallback,\n\n // deprecated properties:\n hours = new Date().getHours(),\n minutes = new Date().getMinutes(),\n seconds = 0,\n period: chosenTimePeriod,\n\n // misc properties:\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n ...others\n}) => {\n // #region STATE\n const elementId = useUniqueId(id, \"hvtimepicker\");\n\n const localeFromProvider = useLocale();\n const locale = localeProp || localeFromProvider;\n const timeFormat = useMemo(\n () => (chosenTimeFormat != null ? chosenTimeFormat.toString() : getTimeFormatForLocale(locale)),\n [chosenTimeFormat, locale]\n );\n\n const [value, setValue, rollbackValue, lastValidValue] = useSavedState(() => {\n // fallback to the deprecated properties\n // we shouldn't do that when promoting to core\n // as it makes impossible to start with an empty value\n const defaultValue =\n defaultValueProp ??\n (disableDefaultValue\n ? null\n : {\n hours,\n minutes,\n seconds,\n });\n\n const v = valueProp ?? defaultValue;\n\n return v != null\n ? {\n hours: v?.hours != null ? getHoursForTimeFormat(v.hours, timeFormat) : null,\n minutes: v?.minutes,\n seconds: v?.seconds,\n period:\n timeFormat === TimeFormat.H12\n ? chosenTimePeriod ??\n (v?.hours == null || v.hours < 12 ? PeriodPickerOptions.AM : PeriodPickerOptions.PM)\n : null,\n }\n : null;\n });\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n const [validationState, setValidationState] = useControlled(status, \"standBy\");\n\n const [isOpen, setOpen] = useState(false);\n // #endregion\n\n // #region SIDE EFFECTS\n const firstRender = useRef(true);\n const currentValue = useRef(value);\n useEffect(() => {\n currentValue.current = value;\n });\n const currentTimeFormat = useRef(timeFormat);\n useEffect(() => {\n currentTimeFormat.current = timeFormat;\n });\n\n useEffect(() => {\n // allow external changes to the time format (via timeFormat or locale properties)\n if (!firstRender.current && currentValue.current != null) {\n const to12 = timeFormat === TimeFormat.H12;\n\n let { hours: h, period: p } = currentValue.current;\n if (to12) {\n if (h == null || h < 12) {\n p = PeriodPickerOptions.AM;\n } else {\n p = PeriodPickerOptions.PM;\n if (h > 12) {\n h -= 12;\n }\n }\n } else {\n if (p === PeriodPickerOptions.AM) {\n if (h === 12) {\n h = 0;\n }\n } else if (h < 12) {\n h += 12;\n }\n p = undefined;\n }\n\n setValue(\n {\n hours: h,\n minutes: currentValue.current.minutes,\n seconds: currentValue.current.seconds,\n period: p,\n },\n true\n );\n }\n }, [setValue, timeFormat]);\n\n useEffect(() => {\n // allow control of value property\n if (!firstRender.current) {\n const dayPeriod =\n valueProp?.hours == null || valueProp.hours < 12\n ? PeriodPickerOptions.AM\n : PeriodPickerOptions.PM;\n\n setValue(\n valueProp != null\n ? {\n hours:\n valueProp?.hours != null\n ? getHoursForTimeFormat(valueProp.hours, currentTimeFormat.current)\n : null,\n minutes: valueProp?.minutes,\n seconds: valueProp?.seconds,\n period: currentTimeFormat.current === TimeFormat.H12 ? dayPeriod : null,\n }\n : null,\n true\n );\n }\n }, [setValue, valueProp]);\n\n useEffect(() => {\n // on close, make sure to restore the last valid value\n // (in the case the user closed with some time part invalid)\n if (!firstRender.current && !isOpen) {\n rollbackValue();\n }\n }, [isOpen, rollbackValue]);\n\n useEffect(() => {\n // run validations on each render\n // (except on the first, remaining in the standBy/untouched state)\n if (!firstRender.current) {\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && lastValidValue == null) {\n return \"invalid\";\n }\n return \"valid\";\n });\n }\n });\n\n useEffect(() => {\n firstRender.current = false;\n }, []);\n // #endregion\n\n // #region EVENT HANDLERS\n const handleTimeChange = (updatedTimeObject) => {\n if (!timeIsEqual(value, updatedTimeObject)) {\n const valid = timeIsValid(updatedTimeObject, timeFormat);\n\n // the value only is commited if valid\n setValue(updatedTimeObject, valid);\n\n if (valid) {\n // always output in 24h format\n onChange?.(getTimeWithFormat24(updatedTimeObject, timeFormat));\n }\n }\n };\n\n /**\n * Handles the change of the hours value\n * @param {Number} hours - selected hours\n * @memberof HvTimePicker\n */\n const handleHoursChange = (updatedHours) => {\n const newSelectedTime = {\n ...value,\n hours: updatedHours,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the minutes value\n * @param {Number} minutes - selected minutes\n * @memberof HvTimePicker\n */\n const handleMinutesChange = (updatedMinutes) => {\n const newSelectedTime = {\n ...value,\n minutes: updatedMinutes,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the seconds value\n * @param {Number} seconds - selected seconds\n * @memberof HvTimePicker\n */\n const handleSecondsChange = (updatedSeconds) => {\n const newSelectedTime = {\n ...value,\n seconds: updatedSeconds,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the period (am/pm)\n * @param {String} period - selected period\n * @memberof HvTimePicker\n */\n const handleChangePeriod = (updatedPeriod) => {\n const newSelectedTime = {\n ...value,\n period: updatedPeriod,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n const onToggle = (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 change of the expanded property.\n */\n if (evt === null) return;\n\n onToggleCallback?.(evt, open);\n\n setOpen(open);\n };\n // #endregion\n\n const hasLabels = 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 = validationState === \"invalid\";\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 locale={locale}\n required={required}\n disabled={disabled}\n status={validationState}\n classes={{\n root: classes.formElementRoot,\n }}\n className={clsx(className, classes.root)}\n {...others}\n >\n {(hasLabels || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabels && (\n <HvLabel id={setId(elementId, \"label\")} label={label} className={classes.label} />\n )}\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n id={setId(elementId, \"timepicker-dropdown\")}\n role=\"combobox\"\n placeholder={\n lastValidValue != null ? (\n getFormattedTime(lastValidValue, timeFormat)\n ) : (\n <HvTypography variant=\"placeholderText\">{placeholder}</HvTypography>\n )\n }\n classes={{\n placeholder: disabled ? classes.dropdownPlaceholderDisabled : classes.dropdownPlaceholder,\n header: isStateInvalid ? classes.dropdownHeaderInvalid : undefined,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n variableWidth\n placement=\"right\"\n adornment={\n <TimeIcon color={disabled ? \"atmo5\" : \"acce1\"} className={classes.iconBaseRoot} />\n }\n expanded={isOpen}\n onToggle={onToggle}\n onContainerCreation={setFocusToContent}\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 disablePortal={disablePortal}\n disabled={disabled}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n {...dropdownProps}\n >\n <div className={classes.timePopperContainer}>\n <UnitTimePicker\n id={setId(elementId, \"hours\")}\n placeholder={hoursPlaceholder}\n unit={\n timeFormat === TimeFormat.H24\n ? TimePickerUnits.HOUR_24.type\n : TimePickerUnits.HOUR_12.type\n }\n unitValue={value?.hours}\n onChangeUnitTimeValue={handleHoursChange}\n />\n <span className={classes.separator}>:</span>\n <UnitTimePicker\n id={setId(elementId, \"minutes\")}\n placeholder={minutesPlaceholder}\n unit={TimePickerUnits.MINUTE.type}\n unitValue={value?.minutes}\n onChangeUnitTimeValue={handleMinutesChange}\n />\n <span className={classes.separator}>:</span>\n <UnitTimePicker\n id={setId(elementId, \"seconds\")}\n placeholder={secondsPlaceholder}\n unit={TimePickerUnits.SECOND.type}\n unitValue={value?.seconds}\n onChangeUnitTimeValue={handleSecondsChange}\n />\n {timeFormat === TimeFormat.H12 && (\n <PeriodPicker onChangePeriod={handleChangePeriod} period={value?.period} />\n )}\n </div>\n </HvBaseDropdown>\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n\nHvTimePicker.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied to the input/popper\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the input.\n */\n input: PropTypes.string,\n /**\n * Styles applied to the label.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the timePopperContainer.\n */\n timePopperContainer: PropTypes.string,\n /**\n * Styles applied to the separator.\n */\n separator: PropTypes.string,\n /**\n * Styles applied to the period container.\n */\n periodContainer: PropTypes.string,\n /**\n * Styles applied to the form element.\n */\n formElementRoot: PropTypes.string,\n /**\n * Styles applied to the dropdown placeholder.\n */\n dropdownPlaceholder: PropTypes.string,\n /**\n * Styles applied to the icon base.\n */\n iconBaseRoot: PropTypes.string,\n /**\n * Styles applied to the error area.\n */\n error: PropTypes.string,\n /**\n * Styles applied to the container of the labels elements.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the icon information text.\n */\n description: PropTypes.string,\n /**\n * Styles applied to the dropdown when invalid information text.\n */\n dropdownHeaderInvalid: PropTypes.string,\n /**\n * Styles applied to the dropdown text when invalid.\n */\n\n dropdownPlaceholderDisabled: PropTypes.string,\n /**\n * Styles applied to the dropdown border when invalid.\n */\n dropdownHeaderOpen: PropTypes.string,\n }).isRequired,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\n /**\n * The value of the form element.\n */\n value: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number,\n period: PropTypes.string,\n }),\n /**\n * When uncontrolled, defines the initial input value.\n */\n defaultValue: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number,\n period: PropTypes.string,\n }),\n\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\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.string,\n\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n\n /**\n * The placeholder value when no time is selected.\n */\n placeholder: PropTypes.string,\n\n /**\n * The placeholder of the hours input.\n */\n hoursPlaceholder: PropTypes.string,\n /**\n * The placeholder of the minutes input.\n */\n minutesPlaceholder: PropTypes.string,\n /**\n * The placeholder of the seconds input.\n */\n secondsPlaceholder: PropTypes.string,\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 time picker.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\": PropTypes.string,\n\n /**\n * If the time should be presented in 12 or 24 hour format.\n * If undefined, the component will use a format according to the passed locale.\n * If defined, it will \"override\" the default value given by the locale\n */\n timeFormat: PropTypes.oneOf([TimeFormat.H12, TimeFormat.H24, 12, 24, undefined]),\n\n /**\n * Locale that will provide the time format(12 or 24 hour format)\n * It is \"overwritten\" by the timeFormat prop\n */\n locale: PropTypes.string,\n\n /**\n * Callback function to be triggered when the input value is changed.\n * It is invoked with a object param with the following props:\n * - hours (in a 24h format)\n * - minutes\n * - seconds\n * - period\n *\n * It is always invoked with the hours in a 24h format\n */\n onChange: PropTypes.func,\n\n /**\n * Callback called when dropdown changes the expanded state.\n *\n * @param {object} event The event source of the callback.\n * @param {boolean} open If the dropdown new state is open (`true`) or closed (`false`).\n */\n onToggle: PropTypes.func,\n\n /**\n * Allow starting with an empty value by not defaulting to the current time.\n * This should become the default behavior when the component is promoted to core.\n */\n disableDefaultValue: PropTypes.bool,\n\n /**\n * Default value for the hours picker\n * @deprecated use defaultValue instead\n */\n hours: PropTypes.number,\n /**\n * Default value for the minutes picker\n * @deprecated use defaultValue instead\n */\n minutes: PropTypes.number,\n /**\n * Default value for the seconds picker\n * @deprecated use defaultValue instead\n */\n seconds: PropTypes.number,\n /**\n * Default value for the period picker\n * @deprecated use defaultValue instead\n */\n period: PropTypes.string,\n\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n\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 * Extra properties to be passed to the timepicker dropdown.\n */\n dropdownProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvTimePicker\" })(HvTimePicker);\n"],"mappings":"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"}
1
+ {"version":3,"file":"TimePicker.js","names":["React","useState","useEffect","useRef","useMemo","PropTypes","clsx","withStyles","Time","TimeIcon","HvFormElement","HvBaseDropdown","HvLabel","HvWarningText","HvInfoMessage","setId","useUniqueId","useControlled","useLocale","HvTypography","useSavedState","TimePickerUnits","TimeFormat","PeriodPickerOptions","getFormattedTime","getTimeFormatForLocale","getHoursForTimeFormat","getTimeWithFormat24","UnitTimePicker","PeriodPicker","styles","setFocusToContent","containerRef","getElementsByTagName","focus","timeIsEqual","timeA","timeB","hours","minutes","seconds","period","timeIsValid","time","timeFormat","hourInputState","H24","H12","minutesInputState","secondsInputState","HvTimePicker","classes","className","id","name","required","disabled","readOnly","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","status","statusMessage","ariaErrorMessage","placeholder","hoursPlaceholder","minutesPlaceholder","secondsPlaceholder","valueProp","value","defaultValueProp","defaultValue","chosenTimeFormat","localeProp","locale","disableDefaultValue","onToggleCallback","onToggle","Date","getHours","getMinutes","chosenTimePeriod","disablePortal","escapeWithReference","dropdownProps","others","elementId","localeFromProvider","toString","v","AM","PM","setValue","rollbackValue","lastValidValue","validationMessage","validationState","setValidationState","isOpen","setOpen","firstRender","currentValue","current","currentTimeFormat","to12","h","p","undefined","dayPeriod","handleTimeChange","updatedTimeObject","valid","handleHoursChange","updatedHours","newSelectedTime","handleMinutesChange","updatedMinutes","handleSecondsChange","updatedSeconds","handleChangePeriod","updatedPeriod","evt","open","hasLabels","hasDescription","canShowError","isStateInvalid","errorMessageId","root","formElementRoot","labelContainer","dropdownPlaceholderDisabled","dropdownPlaceholder","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","iconBaseRoot","join","trim","modifiers","enabled","timePopperContainer","HOUR_24","type","HOUR_12","separator","MINUTE","SECOND","error","propTypes","shape","string","input","periodContainer","isRequired","number","bool","node","oneOf","func","instanceOf","Object"],"sources":["../../../src/TimePicker/TimePicker.js"],"sourcesContent":["import React, { useState, useEffect, useRef, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport { Time as TimeIcon } from \"@hitachivantara/uikit-react-icons\";\nimport {\n HvFormElement,\n HvBaseDropdown,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n setId,\n useUniqueId,\n useControlled,\n useLocale,\n HvTypography,\n useSavedState,\n} from \"..\";\n\nimport { TimePickerUnits, TimeFormat, PeriodPickerOptions } from \"./enums\";\nimport { getFormattedTime, getTimeFormatForLocale } from \"./timePickerFormatter\";\nimport { getHoursForTimeFormat, getTimeWithFormat24 } from \"./timePickerConverter\";\nimport UnitTimePicker from \"./UnitTimePicker\";\nimport PeriodPicker from \"./PeriodPicker\";\n\nimport styles from \"./styles\";\n\nconst setFocusToContent = (containerRef) => {\n containerRef?.getElementsByTagName(\"input\")[0]?.focus();\n};\n\nconst timeIsEqual = (timeA, timeB) => {\n return (\n timeA === timeB ||\n (timeA == null && timeB == null) ||\n (timeA != null &&\n timeB != null &&\n timeA.hours === timeB.hours &&\n timeA.minutes === timeB.minutes &&\n timeA.seconds === timeB.seconds &&\n timeA.period === timeB.period)\n );\n};\n\nconst timeIsValid = (time, timeFormat) => {\n const hourInputState =\n time?.hours != null &&\n time.hours !== \"\" &&\n time.hours >= 0 &&\n ((timeFormat === TimeFormat.H24 && time.hours <= 24) ||\n (timeFormat === TimeFormat.H12 && time.hours <= 12));\n const minutesInputState =\n time?.minutes != null && time.minutes !== \"\" && time.minutes >= 0 && time.minutes <= 59;\n const secondsInputState =\n time?.seconds != null && time.seconds !== \"\" && time.seconds >= 0 && time.seconds <= 59;\n\n return hourInputState && minutesInputState && secondsInputState;\n};\n\n/**\n * A TimePicker component used to choose the time.\n */\n\nconst HvTimePicker = ({\n classes,\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n readOnly = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n hoursPlaceholder = \"hh\",\n minutesPlaceholder = \"mm\",\n secondsPlaceholder = \"ss\",\n\n value: valueProp,\n defaultValue: defaultValueProp,\n\n timeFormat: chosenTimeFormat,\n locale: localeProp,\n\n disableDefaultValue,\n\n onToggle: onToggleCallback,\n\n // deprecated properties:\n hours = new Date().getHours(),\n minutes = new Date().getMinutes(),\n seconds = 0,\n period: chosenTimePeriod,\n\n // misc properties:\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n ...others\n}) => {\n // #region STATE\n const elementId = useUniqueId(id, \"hvtimepicker\");\n\n const localeFromProvider = useLocale();\n const locale = localeProp || localeFromProvider;\n const timeFormat = useMemo(\n () => (chosenTimeFormat != null ? chosenTimeFormat.toString() : getTimeFormatForLocale(locale)),\n [chosenTimeFormat, locale]\n );\n\n const [value, setValue, rollbackValue, lastValidValue] = useSavedState(() => {\n // fallback to the deprecated properties\n // we shouldn't do that when promoting to core\n // as it makes impossible to start with an empty value\n const defaultValue =\n defaultValueProp ??\n (disableDefaultValue\n ? null\n : {\n hours,\n minutes,\n seconds,\n });\n\n const v = valueProp ?? defaultValue;\n\n return v != null\n ? {\n hours: v?.hours != null ? getHoursForTimeFormat(v.hours, timeFormat) : null,\n minutes: v?.minutes,\n seconds: v?.seconds,\n period:\n timeFormat === TimeFormat.H12\n ? chosenTimePeriod ??\n (v?.hours == null || v.hours < 12 ? PeriodPickerOptions.AM : PeriodPickerOptions.PM)\n : null,\n }\n : null;\n });\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n const [validationState, setValidationState] = useControlled(status, \"standBy\");\n\n const [isOpen, setOpen] = useState(false);\n // #endregion\n\n // #region SIDE EFFECTS\n const firstRender = useRef(true);\n const currentValue = useRef(value);\n useEffect(() => {\n currentValue.current = value;\n });\n const currentTimeFormat = useRef(timeFormat);\n useEffect(() => {\n currentTimeFormat.current = timeFormat;\n });\n\n useEffect(() => {\n // allow external changes to the time format (via timeFormat or locale properties)\n if (!firstRender.current && currentValue.current != null) {\n const to12 = timeFormat === TimeFormat.H12;\n\n let { hours: h, period: p } = currentValue.current;\n if (to12) {\n if (h == null || h < 12) {\n p = PeriodPickerOptions.AM;\n } else {\n p = PeriodPickerOptions.PM;\n if (h > 12) {\n h -= 12;\n }\n }\n } else {\n if (p === PeriodPickerOptions.AM) {\n if (h === 12) {\n h = 0;\n }\n } else if (h < 12) {\n h += 12;\n }\n p = undefined;\n }\n\n setValue(\n {\n hours: h,\n minutes: currentValue.current.minutes,\n seconds: currentValue.current.seconds,\n period: p,\n },\n true\n );\n }\n }, [setValue, timeFormat]);\n\n useEffect(() => {\n // allow control of value property\n if (!firstRender.current) {\n const dayPeriod =\n valueProp?.hours == null || valueProp.hours < 12\n ? PeriodPickerOptions.AM\n : PeriodPickerOptions.PM;\n\n setValue(\n valueProp != null\n ? {\n hours:\n valueProp?.hours != null\n ? getHoursForTimeFormat(valueProp.hours, currentTimeFormat.current)\n : null,\n minutes: valueProp?.minutes,\n seconds: valueProp?.seconds,\n period: currentTimeFormat.current === TimeFormat.H12 ? dayPeriod : null,\n }\n : null,\n true\n );\n }\n }, [setValue, valueProp]);\n\n useEffect(() => {\n // on close, make sure to restore the last valid value\n // (in the case the user closed with some time part invalid)\n if (!firstRender.current && !isOpen) {\n rollbackValue();\n }\n }, [isOpen, rollbackValue]);\n\n useEffect(() => {\n // run validations on each render\n // (except on the first, remaining in the standBy/untouched state)\n if (!firstRender.current) {\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && lastValidValue == null) {\n return \"invalid\";\n }\n return \"valid\";\n });\n }\n });\n\n useEffect(() => {\n firstRender.current = false;\n }, []);\n // #endregion\n\n // #region EVENT HANDLERS\n const handleTimeChange = (updatedTimeObject) => {\n if (!timeIsEqual(value, updatedTimeObject)) {\n const valid = timeIsValid(updatedTimeObject, timeFormat);\n\n // the value only is commited if valid\n setValue(updatedTimeObject, valid);\n\n if (valid) {\n // always output in 24h format\n onChange?.(getTimeWithFormat24(updatedTimeObject, timeFormat));\n }\n }\n };\n\n /**\n * Handles the change of the hours value\n * @param {Number} hours - selected hours\n * @memberof HvTimePicker\n */\n const handleHoursChange = (updatedHours) => {\n const newSelectedTime = {\n ...value,\n hours: updatedHours,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the minutes value\n * @param {Number} minutes - selected minutes\n * @memberof HvTimePicker\n */\n const handleMinutesChange = (updatedMinutes) => {\n const newSelectedTime = {\n ...value,\n minutes: updatedMinutes,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the seconds value\n * @param {Number} seconds - selected seconds\n * @memberof HvTimePicker\n */\n const handleSecondsChange = (updatedSeconds) => {\n const newSelectedTime = {\n ...value,\n seconds: updatedSeconds,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n /**\n * Handles the change of the period (am/pm)\n * @param {String} period - selected period\n * @memberof HvTimePicker\n */\n const handleChangePeriod = (updatedPeriod) => {\n const newSelectedTime = {\n ...value,\n period: updatedPeriod,\n };\n\n handleTimeChange(newSelectedTime);\n };\n\n const onToggle = (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 change of the expanded property.\n */\n if (evt === null) return;\n\n onToggleCallback?.(evt, open);\n\n setOpen(open);\n };\n // #endregion\n\n const hasLabels = 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 = validationState === \"invalid\";\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 locale={locale}\n required={required}\n disabled={disabled}\n status={validationState}\n classes={{\n root: classes.formElementRoot,\n }}\n className={clsx(className, classes.root)}\n {...others}\n >\n {(hasLabels || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabels && (\n <HvLabel id={setId(elementId, \"label\")} label={label} className={classes.label} />\n )}\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n id={setId(elementId, \"timepicker-dropdown\")}\n role=\"combobox\"\n placeholder={\n lastValidValue != null ? (\n getFormattedTime(lastValidValue, timeFormat)\n ) : (\n <HvTypography variant=\"placeholderText\">{placeholder}</HvTypography>\n )\n }\n classes={{\n placeholder: disabled ? classes.dropdownPlaceholderDisabled : classes.dropdownPlaceholder,\n header: isStateInvalid ? classes.dropdownHeaderInvalid : undefined,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n variableWidth\n placement=\"right\"\n adornment={\n <TimeIcon color={disabled ? \"atmo5\" : \"acce1\"} className={classes.iconBaseRoot} />\n }\n expanded={isOpen}\n onToggle={onToggle}\n onContainerCreation={setFocusToContent}\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 disablePortal={disablePortal}\n disabled={disabled}\n readOnly={readOnly}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n {...dropdownProps}\n >\n <div className={classes.timePopperContainer}>\n <UnitTimePicker\n id={setId(elementId, \"hours\")}\n placeholder={hoursPlaceholder}\n unit={\n timeFormat === TimeFormat.H24\n ? TimePickerUnits.HOUR_24.type\n : TimePickerUnits.HOUR_12.type\n }\n unitValue={value?.hours}\n onChangeUnitTimeValue={handleHoursChange}\n />\n <span className={classes.separator}>:</span>\n <UnitTimePicker\n id={setId(elementId, \"minutes\")}\n placeholder={minutesPlaceholder}\n unit={TimePickerUnits.MINUTE.type}\n unitValue={value?.minutes}\n onChangeUnitTimeValue={handleMinutesChange}\n />\n <span className={classes.separator}>:</span>\n <UnitTimePicker\n id={setId(elementId, \"seconds\")}\n placeholder={secondsPlaceholder}\n unit={TimePickerUnits.SECOND.type}\n unitValue={value?.seconds}\n onChangeUnitTimeValue={handleSecondsChange}\n />\n {timeFormat === TimeFormat.H12 && (\n <PeriodPicker onChangePeriod={handleChangePeriod} period={value?.period} />\n )}\n </div>\n </HvBaseDropdown>\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n\nHvTimePicker.propTypes = {\n /**\n * A Jss Object used to override or extend the styles applied to the input/popper\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the input.\n */\n input: PropTypes.string,\n /**\n * Styles applied to the label.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the timePopperContainer.\n */\n timePopperContainer: PropTypes.string,\n /**\n * Styles applied to the separator.\n */\n separator: PropTypes.string,\n /**\n * Styles applied to the period container.\n */\n periodContainer: PropTypes.string,\n /**\n * Styles applied to the form element.\n */\n formElementRoot: PropTypes.string,\n /**\n * Styles applied to the dropdown placeholder.\n */\n dropdownPlaceholder: PropTypes.string,\n /**\n * Styles applied to the icon base.\n */\n iconBaseRoot: PropTypes.string,\n /**\n * Styles applied to the error area.\n */\n error: PropTypes.string,\n /**\n * Styles applied to the container of the labels elements.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the icon information text.\n */\n description: PropTypes.string,\n /**\n * Styles applied to the dropdown when invalid information text.\n */\n dropdownHeaderInvalid: PropTypes.string,\n /**\n * Styles applied to the dropdown text when invalid.\n */\n\n dropdownPlaceholderDisabled: PropTypes.string,\n /**\n * Styles applied to the dropdown border when invalid.\n */\n dropdownHeaderOpen: PropTypes.string,\n }).isRequired,\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\n /**\n * The value of the form element.\n */\n value: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number,\n period: PropTypes.string,\n }),\n /**\n * When uncontrolled, defines the initial input value.\n */\n defaultValue: PropTypes.shape({\n hours: PropTypes.number,\n minutes: PropTypes.number,\n seconds: PropTypes.number,\n period: PropTypes.string,\n }),\n\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that the form element is in read only mode.\n */\n readOnly: PropTypes.bool,\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.string,\n\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n\n /**\n * The placeholder value when no time is selected.\n */\n placeholder: PropTypes.string,\n\n /**\n * The placeholder of the hours input.\n */\n hoursPlaceholder: PropTypes.string,\n /**\n * The placeholder of the minutes input.\n */\n minutesPlaceholder: PropTypes.string,\n /**\n * The placeholder of the seconds input.\n */\n secondsPlaceholder: PropTypes.string,\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 time picker.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\": PropTypes.string,\n\n /**\n * If the time should be presented in 12 or 24 hour format.\n * If undefined, the component will use a format according to the passed locale.\n * If defined, it will \"override\" the default value given by the locale\n */\n timeFormat: PropTypes.oneOf([TimeFormat.H12, TimeFormat.H24, 12, 24, undefined]),\n\n /**\n * Locale that will provide the time format(12 or 24 hour format)\n * It is \"overwritten\" by the timeFormat prop\n */\n locale: PropTypes.string,\n\n /**\n * Callback function to be triggered when the input value is changed.\n * It is invoked with a object param with the following props:\n * - hours (in a 24h format)\n * - minutes\n * - seconds\n * - period\n *\n * It is always invoked with the hours in a 24h format\n */\n onChange: PropTypes.func,\n\n /**\n * Callback called when dropdown changes the expanded state.\n *\n * @param {object} event The event source of the callback.\n * @param {boolean} open If the dropdown new state is open (`true`) or closed (`false`).\n */\n onToggle: PropTypes.func,\n\n /**\n * Allow starting with an empty value by not defaulting to the current time.\n * This should become the default behavior when the component is promoted to core.\n */\n disableDefaultValue: PropTypes.bool,\n\n /**\n * Default value for the hours picker\n * @deprecated use defaultValue instead\n */\n hours: PropTypes.number,\n /**\n * Default value for the minutes picker\n * @deprecated use defaultValue instead\n */\n minutes: PropTypes.number,\n /**\n * Default value for the seconds picker\n * @deprecated use defaultValue instead\n */\n seconds: PropTypes.number,\n /**\n * Default value for the period picker\n * @deprecated use defaultValue instead\n */\n period: PropTypes.string,\n\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n\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 * Extra properties to be passed to the timepicker dropdown.\n */\n dropdownProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvTimePicker\" })(HvTimePicker);\n"],"mappings":"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"}
@@ -71,6 +71,7 @@ const styles = theme => ({
71
71
  cursor: "not-allowed",
72
72
  pointerEvents: "none",
73
73
  border: "none",
74
+ userSelect: "text",
74
75
  "&:focus-visible": {
75
76
  outline: "none",
76
77
  border: "none"
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["outlineStyles","styles","theme","root","width","position","anchor","display","rootDisabled","cursor","outline","container","zIndex","tooltip","containedPopper","header","userSelect","background","hv","palette","atmosphere","atmo1","border","atmo4","accent","acce1","borderRadius","headerOpen","boxShadow","shadows","headerOpenUp","headerOpenDown","headerDisabled","pointerEvents","atmo3","headerReadOnly","arrow","top","right","selection","alignItems","height","spacing","md","padding","hvSpacing","placeholder","selectionDisabled","typography","placeholderText","panel","inputExtensionOpen","xs","backgroundColor","inputExtensionLeftPosition","marginLeft","inputExtensionOpenShadow","inputExtensionFloatRight","float","inputExtensionFloatLeft"],"sources":["../../../src/BaseDropdown/styles.js"],"sourcesContent":["import { outlineStyles } from \"../Focus/styles\";\n\nconst styles = (theme) => ({\n root: {\n width: \"100%\",\n position: \"relative\",\n },\n anchor: {\n display: \"inline-block\",\n width: \"100%\",\n },\n rootDisabled: {\n cursor: \"not-allowed\",\n \"&:focus\": {\n outline: \"none\",\n },\n },\n container: {\n zIndex: theme.zIndex.tooltip,\n },\n containedPopper: {\n width: \"100%\",\n },\n header: {\n cursor: \"pointer\",\n userSelect: \"none\",\n position: \"relative\",\n background: theme.hv.palette.atmosphere.atmo1,\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n borderRadius: \"2px\",\n \"&:focus\": {\n outline: \"none\",\n },\n \"&.focus-visible\": {\n ...outlineStyles,\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n },\n headerOpen: {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo1}`,\n boxShadow: theme.hv.shadows[1],\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo1}`,\n boxShadow: theme.hv.shadows[1],\n },\n },\n headerOpenUp: {\n borderRadius: \"0px 0px 2px 2px\",\n },\n headerOpenDown: {\n borderRadius: \"2px 2px 0px 0px\",\n },\n headerDisabled: {\n pointerEvents: \"none\",\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n background: theme.hv.palette.atmosphere.atmo3,\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n },\n cursor: \"not-allowed\",\n },\n headerReadOnly: {\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n border: \"none\",\n \"&:focus-visible\": {\n outline: \"none\",\n border: \"none\",\n },\n },\n arrow: {\n position: \"absolute\",\n pointerEvents: \"none\",\n top: -1,\n right: -1,\n },\n selection: {\n display: \"flex\",\n alignItems: \"center\",\n height: theme.hv.spacing.md,\n padding: theme.hvSpacing(0, \"md\", 0, \"xs\"),\n },\n placeholder: {\n display: \"block\",\n },\n selectionDisabled: {\n ...theme.hv.typography.placeholderText,\n },\n panel: {\n position: \"relative\",\n boxShadow: theme.hv.shadows[1],\n },\n inputExtensionOpen: {\n height: theme.hv.spacing.xs,\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n },\n inputExtensionLeftPosition: {\n marginLeft: \"auto\",\n },\n inputExtensionOpenShadow: {\n boxShadow: `0px 8px 0px ${theme.hv.palette.atmosphere.atmo1}, 0px 0px 9px 0px rgba(65,65,65,.12)`,\n },\n inputExtensionFloatRight: {\n float: \"left\",\n },\n inputExtensionFloatLeft: {\n float: \"right\",\n },\n});\n\nexport default styles;\n"],"mappings":"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"}
1
+ {"version":3,"file":"styles.js","names":["outlineStyles","styles","theme","root","width","position","anchor","display","rootDisabled","cursor","outline","container","zIndex","tooltip","containedPopper","header","userSelect","background","hv","palette","atmosphere","atmo1","border","atmo4","accent","acce1","borderRadius","headerOpen","boxShadow","shadows","headerOpenUp","headerOpenDown","headerDisabled","pointerEvents","atmo3","headerReadOnly","arrow","top","right","selection","alignItems","height","spacing","md","padding","hvSpacing","placeholder","selectionDisabled","typography","placeholderText","panel","inputExtensionOpen","xs","backgroundColor","inputExtensionLeftPosition","marginLeft","inputExtensionOpenShadow","inputExtensionFloatRight","float","inputExtensionFloatLeft"],"sources":["../../../src/BaseDropdown/styles.js"],"sourcesContent":["import { outlineStyles } from \"../Focus/styles\";\n\nconst styles = (theme) => ({\n root: {\n width: \"100%\",\n position: \"relative\",\n },\n anchor: {\n display: \"inline-block\",\n width: \"100%\",\n },\n rootDisabled: {\n cursor: \"not-allowed\",\n \"&:focus\": {\n outline: \"none\",\n },\n },\n container: {\n zIndex: theme.zIndex.tooltip,\n },\n containedPopper: {\n width: \"100%\",\n },\n header: {\n cursor: \"pointer\",\n userSelect: \"none\",\n position: \"relative\",\n background: theme.hv.palette.atmosphere.atmo1,\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n borderRadius: \"2px\",\n \"&:focus\": {\n outline: \"none\",\n },\n \"&.focus-visible\": {\n ...outlineStyles,\n border: `1px solid ${theme.hv.palette.accent.acce1}`,\n },\n },\n headerOpen: {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo1}`,\n boxShadow: theme.hv.shadows[1],\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo1}`,\n boxShadow: theme.hv.shadows[1],\n },\n },\n headerOpenUp: {\n borderRadius: \"0px 0px 2px 2px\",\n },\n headerOpenDown: {\n borderRadius: \"2px 2px 0px 0px\",\n },\n headerDisabled: {\n pointerEvents: \"none\",\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n background: theme.hv.palette.atmosphere.atmo3,\n \"&:hover\": {\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n },\n cursor: \"not-allowed\",\n },\n headerReadOnly: {\n cursor: \"not-allowed\",\n pointerEvents: \"none\",\n border: \"none\",\n userSelect: \"text\",\n \"&:focus-visible\": {\n outline: \"none\",\n border: \"none\",\n },\n },\n arrow: {\n position: \"absolute\",\n pointerEvents: \"none\",\n top: -1,\n right: -1,\n },\n selection: {\n display: \"flex\",\n alignItems: \"center\",\n height: theme.hv.spacing.md,\n padding: theme.hvSpacing(0, \"md\", 0, \"xs\"),\n },\n placeholder: {\n display: \"block\",\n },\n selectionDisabled: {\n ...theme.hv.typography.placeholderText,\n },\n panel: {\n position: \"relative\",\n boxShadow: theme.hv.shadows[1],\n },\n inputExtensionOpen: {\n height: theme.hv.spacing.xs,\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n },\n inputExtensionLeftPosition: {\n marginLeft: \"auto\",\n },\n inputExtensionOpenShadow: {\n boxShadow: `0px 8px 0px ${theme.hv.palette.atmosphere.atmo1}, 0px 0px 9px 0px rgba(65,65,65,.12)`,\n },\n inputExtensionFloatRight: {\n float: \"left\",\n },\n inputExtensionFloatLeft: {\n float: \"right\",\n },\n});\n\nexport default styles;\n"],"mappings":"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"}
@@ -101,6 +101,10 @@ export interface HvDatePickerProps
101
101
  * An object containing props to be passed onto the baseDropdown.
102
102
  */
103
103
  dropdownProps?: React.HTMLAttributes<HTMLDivElement>;
104
+ /**
105
+ * If `true` the DatePicker will be in read only mode, unable to be interacted.
106
+ */
107
+ readOnly?: boolean;
104
108
  }
105
109
 
106
110
  export default function HvDatePicker(props: HvDatePickerProps): JSX.Element | null;