@hitachivantara/uikit-react-core 3.69.0 → 3.70.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.
- package/dist/DatePicker/DatePicker.d.ts +4 -0
- package/dist/DatePicker/DatePicker.js +11 -3
- package/dist/DatePicker/DatePicker.js.map +1 -1
- package/dist/TimePicker/TimePicker.d.ts +13 -0
- package/dist/TimePicker/TimePicker.js +9 -1
- package/dist/TimePicker/TimePicker.js.map +1 -1
- package/dist/legacy/DatePicker/DatePicker.d.ts +4 -0
- package/dist/legacy/DatePicker/DatePicker.js +11 -3
- package/dist/legacy/DatePicker/DatePicker.js.map +1 -1
- package/dist/legacy/TimePicker/TimePicker.d.ts +13 -0
- package/dist/legacy/TimePicker/TimePicker.js +9 -1
- package/dist/legacy/TimePicker/TimePicker.js.map +1 -1
- package/dist/modern/DatePicker/DatePicker.d.ts +4 -0
- package/dist/modern/DatePicker/DatePicker.js +12 -4
- package/dist/modern/DatePicker/DatePicker.js.map +1 -1
- package/dist/modern/TimePicker/TimePicker.d.ts +13 -0
- package/dist/modern/TimePicker/TimePicker.js +8 -1
- package/dist/modern/TimePicker/TimePicker.js.map +1 -1
- package/package.json +2 -2
|
@@ -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;
|
|
@@ -65,7 +65,7 @@ var _useLocale = _interopRequireDefault(require("../Provider/useLocale"));
|
|
|
65
65
|
|
|
66
66
|
var _enums = require("../Calendar/enums");
|
|
67
67
|
|
|
68
|
-
var _excluded = ["classes", "className", "id", "name", "required", "disabled", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "status", "statusMessage", "aria-errormessage", "placeholder", "labels", "value", "startValue", "endValue", "rangeMode", "startAdornment", "horizontalPlacement", "locale", "showActions", "showClear", "disablePortal", "escapeWithReference", "dropdownProps"];
|
|
68
|
+
var _excluded = ["classes", "className", "id", "name", "required", "disabled", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "status", "statusMessage", "aria-errormessage", "placeholder", "labels", "value", "startValue", "endValue", "rangeMode", "startAdornment", "horizontalPlacement", "locale", "showActions", "showClear", "disablePortal", "escapeWithReference", "dropdownProps", "readOnly"];
|
|
69
69
|
|
|
70
70
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
71
71
|
|
|
@@ -121,6 +121,7 @@ var HvDatePicker = function HvDatePicker(props) {
|
|
|
121
121
|
_props$escapeWithRefe = props.escapeWithReference,
|
|
122
122
|
escapeWithReference = _props$escapeWithRefe === void 0 ? true : _props$escapeWithRefe,
|
|
123
123
|
dropdownProps = props.dropdownProps,
|
|
124
|
+
readOnly = props.readOnly,
|
|
124
125
|
others = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
125
126
|
var labels = (0, _utils.useLabels)(DEFAULT_LABELS, labelsProp);
|
|
126
127
|
var elementId = (0, _.useUniqueId)(id, "hvdatepicker");
|
|
@@ -363,7 +364,8 @@ var HvDatePicker = function HvDatePicker(props) {
|
|
|
363
364
|
disabled: disabled,
|
|
364
365
|
required: required,
|
|
365
366
|
className: (0, _clsx.default)(className, classes.root),
|
|
366
|
-
locale: locale
|
|
367
|
+
locale: locale,
|
|
368
|
+
readOnly: readOnly
|
|
367
369
|
}, others), (hasLabel || hasDescription) && /*#__PURE__*/_react.default.createElement("div", {
|
|
368
370
|
className: classes.labelContainer
|
|
369
371
|
}, hasLabel && /*#__PURE__*/_react.default.createElement(_.HvLabel, {
|
|
@@ -381,6 +383,7 @@ var HvDatePicker = function HvDatePicker(props) {
|
|
|
381
383
|
header: isStateInvalid ? classes.dropdownHeaderInvalid : undefined,
|
|
382
384
|
headerOpen: classes.dropdownHeaderOpen
|
|
383
385
|
},
|
|
386
|
+
readOnly: readOnly,
|
|
384
387
|
disabled: disabled,
|
|
385
388
|
disablePortal: disablePortal,
|
|
386
389
|
variableWidth: true,
|
|
@@ -670,7 +673,12 @@ process.env.NODE_ENV !== "production" ? HvDatePicker.propTypes = {
|
|
|
670
673
|
/**
|
|
671
674
|
* An object containing props to be passed onto the baseDropdown.
|
|
672
675
|
*/
|
|
673
|
-
dropdownProps: _propTypes.default.instanceOf(Object)
|
|
676
|
+
dropdownProps: _propTypes.default.instanceOf(Object),
|
|
677
|
+
|
|
678
|
+
/**
|
|
679
|
+
* If `true` the DatePicker will be in read only mode, unable to be interacted.
|
|
680
|
+
*/
|
|
681
|
+
readOnly: _propTypes.default.bool
|
|
674
682
|
} : void 0;
|
|
675
683
|
|
|
676
684
|
var _default = (0, _core.withStyles)(_styles.default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","names":["DEFAULT_LABELS","applyLabel","cancelLabel","clearLabel","HvDatePicker","props","classes","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","status","statusMessage","ariaErrorMessage","placeholder","labelsProp","labels","value","startValue","endValue","rangeMode","startAdornment","horizontalPlacement","localeProp","locale","showActions","showClear","disablePortal","escapeWithReference","dropdownProps","others","useLabels","elementId","useUniqueId","useControlled","validationState","setValidationState","validationMessage","localeFromProvider","useLocale","useState","calendarOpen","setCalendarOpen","useSavedState","startDate","setStartDate","rollbackStartDate","endDate","setEndDate","rollbackEndDate","useVisibleDate","visibleDate","dispatchAction","focusTarget","useRef","useEffect","endDateIsSet","current","type","NAV_OPTIONS","MONTH_YEAR","target","year","getFullYear","month","getMonth","handleApply","isDate","handleCancel","handleClear","undefined","handleCalendarClose","shouldSave","handleToggle","evt","open","focusOnContainer","focus","handleDateChange","event","newDate","autoSave","handleInputDateChange","position","renderActions","clsx","actionContainer","leftContainer","setId","action","rightContainer","renderInput","dateString","dateValue","hasLabel","hasDescription","canShowError","isStateInvalid","isInvalid","errorMessageId","root","labelContainer","dropdown","panel","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","getDateLabel","icon","modifiers","enabled","join","trim","_event","error","propTypes","PropTypes","string","shape","isRequired","node","bool","oneOf","func","instanceOf","Date","Object","withStyles","styles","index"],"sources":["../../src/DatePicker/DatePicker.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { Calendar } from \"@hitachivantara/uikit-react-icons\";\nimport clsx from \"clsx\";\nimport { setId, useSavedState, useLabels } from \"../utils\";\nimport {\n HvActionBar,\n HvBaseDropdown,\n HvButton,\n HvCalendar,\n HvLabel,\n HvInfoMessage,\n HvFormElement,\n HvWarningText,\n HvTypography,\n useUniqueId,\n useControlled,\n} from \"..\";\nimport { isInvalid } from \"../Forms/FormElement/validationStates\";\nimport styles from \"./styles\";\nimport { isDate } from \"../Calendar/utils\";\nimport { getDateLabel } from \"./utils\";\nimport useVisibleDate from \"./useVisibleDate\";\nimport useLocale from \"../Provider/useLocale\";\nimport { NAV_OPTIONS } from \"../Calendar/enums\";\n\nconst DEFAULT_LABELS = {\n applyLabel: \"Apply\",\n cancelLabel: \"Cancel\",\n clearLabel: \"Clear\",\n};\n\n/**\n * A date picker, popup calendar or date range picker is a graphical user\n * interface widget which allows the user to select a date from a calendar.\n */\nconst HvDatePicker = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n\n labels: labelsProp,\n\n value,\n startValue,\n endValue,\n\n rangeMode = false,\n startAdornment,\n horizontalPlacement = \"right\",\n locale: localeProp,\n showActions = false,\n showClear = false,\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n ...others\n } = props;\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const elementId = useUniqueId(id, \"hvdatepicker\");\n\n const [validationState, setValidationState] = useControlled(status, \"standBy\");\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const localeFromProvider = useLocale();\n\n const locale = localeProp || localeFromProvider;\n\n const [calendarOpen, setCalendarOpen] = useState(false);\n\n const [startDate, setStartDate, rollbackStartDate] = useSavedState(\n rangeMode ? startValue : value\n );\n const [endDate, setEndDate, rollbackEndDate] = useSavedState(endValue);\n\n const [visibleDate, dispatchAction] = useVisibleDate(startDate, endDate);\n\n const focusTarget = useRef();\n\n useEffect(() => {\n setStartDate(rangeMode ? startValue : value, true);\n setEndDate(endValue, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, startValue, endValue, rangeMode]);\n\n const endDateIsSet = useRef(false);\n endDateIsSet.current = endDate != null;\n\n useEffect(() => {\n if (startDate != null) {\n dispatchAction({\n type: NAV_OPTIONS.MONTH_YEAR,\n target: endDateIsSet.current ? \"left\" : \"best\",\n year: startDate.getFullYear(),\n month: startDate.getMonth() + 1,\n });\n }\n }, [dispatchAction, startDate]);\n\n useEffect(() => {\n if (endDate != null) {\n dispatchAction({\n type: NAV_OPTIONS.MONTH_YEAR,\n target: \"right\",\n year: endDate.getFullYear(),\n month: endDate.getMonth() + 1,\n });\n }\n }, [dispatchAction, endDate]);\n\n /**\n * Handles the `Apply` action. Both single and ranged modes are handled here.\n */\n const handleApply = () => {\n setStartDate(startDate, true);\n setEndDate(endDate ?? startDate, true);\n\n onChange?.(startDate, endDate);\n\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && (!isDate(startDate) || (rangeMode && !isDate(endDate)))) {\n return \"invalid\";\n }\n\n return \"valid\";\n });\n\n setCalendarOpen(false);\n };\n\n /**\n * Handles the `Cancel` action. Both single and ranged modes are handled here.\n */\n const handleCancel = () => {\n rollbackStartDate();\n rollbackEndDate();\n\n onCancel?.();\n\n setCalendarOpen(false);\n };\n\n /**\n * Handles the `Cancel` action. Both single and ranged modes are handled here.\n */\n const handleClear = () => {\n setStartDate(undefined, false);\n setEndDate(undefined, false);\n onClear?.();\n };\n\n const handleCalendarClose = () => {\n const shouldSave = !(rangeMode || showActions);\n if (shouldSave) {\n handleApply();\n } else {\n handleCancel();\n }\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setCalendarOpen(open);\n if (!open) handleCalendarClose();\n };\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const handleDateChange = (event, newDate) => {\n if (!isDate(newDate)) return;\n\n const autoSave = !showActions && !rangeMode;\n\n if (rangeMode) {\n if (!startDate || (startDate && endDate) || newDate < startDate) {\n setStartDate(newDate);\n setEndDate(null);\n } else {\n setEndDate(newDate);\n }\n } else {\n setStartDate(newDate, autoSave);\n }\n\n if (autoSave) {\n onChange?.(newDate);\n\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && !isDate(newDate)) {\n return \"invalid\";\n }\n\n return \"valid\";\n });\n\n setCalendarOpen(false);\n }\n };\n\n const handleInputDateChange = (event, newDate, position) => {\n if (!isDate(newDate)) return;\n\n if (!rangeMode) {\n handleDateChange(event, newDate);\n return;\n }\n\n if (position === \"left\") {\n setStartDate(newDate > endDate ? endDate : newDate);\n } else if (position === \"right\") {\n if (!startDate) {\n setStartDate(newDate > endDate ? endDate : newDate);\n return;\n }\n setEndDate(newDate < startDate ? startDate : newDate);\n }\n };\n\n /**\n * Renders the container for the action elements.\n */\n const renderActions = () => (\n <HvActionBar\n className={clsx({\n [classes.actionContainer]: showClear,\n })}\n >\n {showClear && (\n <div className={classes.leftContainer}>\n <HvButton\n id={setId(id, \"action\", \"clear\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleClear}\n >\n {labels.clearLabel}\n </HvButton>\n </div>\n )}\n <div className={classes.rightContainer}>\n <HvButton\n id={setId(id, \"action\", \"apply\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleApply}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton\n id={setId(id, \"action\", \"cancel\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleCancel}\n >\n {labels.cancelLabel}\n </HvButton>\n </div>\n </HvActionBar>\n );\n\n const renderInput = (dateString) => (\n <HvTypography variant={dateString ? \"normalText\" : \"placeholderText\"}>\n {(dateString || placeholder) === undefined ? \"\" : dateString || placeholder}\n </HvTypography>\n );\n\n const dateValue = rangeMode ? { startDate, endDate } : startDate;\n\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) || (status === undefined && required));\n\n const isStateInvalid = isInvalid(validationState);\n\n let errorMessageId;\n if (isStateInvalid) {\n errorMessageId = canShowError ? setId(elementId, \"error\") : ariaErrorMessage;\n }\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={dateValue}\n status={validationState}\n disabled={disabled}\n required={required}\n className={clsx(className, classes.root)}\n locale={locale}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel id={setId(elementId, \"label\")} label={label} className={classes.label} />\n )}\n\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n header: isStateInvalid ? classes.dropdownHeaderInvalid : undefined,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={calendarOpen}\n onToggle={handleToggle}\n onClickOutside={handleCalendarClose}\n onContainerCreation={focusOnContainer}\n placeholder={renderInput(getDateLabel(dateValue, rangeMode, locale))}\n adornment={<Calendar className={classes.icon} color={disabled ? \"atmo5\" : undefined} />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy].join(\" \").trim() || undefined\n }\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy].join(\" \").trim() ||\n undefined\n }\n {...dropdownProps}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <HvCalendar\n id={setId(id, \"calendar\")}\n startAdornment={startAdornment}\n onChange={handleDateChange}\n onInputChange={handleInputDateChange}\n onVisibleDateChange={(_event, type, month, target) => {\n dispatchAction({ type, target, month });\n }}\n locale={locale}\n {...visibleDate}\n />\n {(rangeMode || showActions) && renderActions()}\n </HvBaseDropdown>\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n\nHvDatePicker.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n\n /**\n * Styles applied to the container of the labels elements.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the icon information text.\n */\n description: PropTypes.string,\n\n /**\n * Styles applied to the error area.\n */\n error: PropTypes.string,\n\n /**\n * Styles applied to the dropdown.\n */\n dropdown: PropTypes.string,\n\n panel: PropTypes.string,\n action: PropTypes.string,\n icon: PropTypes.string,\n /**\n * Styles applied to the date picker when invalid.\n */\n dropdownHeaderInvalid: PropTypes.string,\n /**\n * Styles applied to the date picker when opened.\n */\n dropdownHeaderOpen: PropTypes.string,\n /**\n * Styles applied to the container that holds the actions buttons.\n */\n actionContainer: PropTypes.string,\n /**\n * Styles applied to the container that holds the clear button.\n */\n leftContainer: PropTypes.string,\n /**\n * Styles applied to the container that holds the apply and cancel button.\n */\n rightContainer: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n\n /**\n * The placeholder value when nothing is selected.\n */\n placeholder: PropTypes.string,\n\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * The error message to show when the validation status is \"invalid\".\n *\n * Defaults to \"Required\" when the status is uncontrolled and no `aria-errormessage` is provided.\n */\n statusMessage: PropTypes.node,\n /**\n * Identifies the element that provides an error message for the date picker.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\": PropTypes.string,\n\n /**\n * The callback fired when the value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * The callback fired when user clicks on cancel.\n */\n onCancel: PropTypes.func,\n\n /**\n * The callback fired when user clicks on clear.\n */\n onClear: PropTypes.func,\n\n /**\n * An object containing all the labels for the datepicker.\n */\n labels: PropTypes.shape({\n /**\n * Apply button label.\n */\n applyLabel: PropTypes.string,\n /**\n * Cancel button label.\n */\n cancelLabel: PropTypes.string,\n /**\n * Clear button label.\n */\n clearLabel: PropTypes.string,\n }),\n\n /**\n * The initial value of the input when in single calendar mode.\n */\n value: PropTypes.instanceOf(Date),\n /**\n * The initial value for the start date when in range mode.\n */\n startValue: PropTypes.instanceOf(Date),\n /**\n * The initial value for the end date when in range mode.\n */\n endValue: PropTypes.instanceOf(Date),\n /**\n * Flag informing if the the component should be in range mode or in single mode.\n */\n rangeMode: PropTypes.bool,\n /**\n * The placement where the calendar should be placed according to the input. Options are `left` or `right`.\n * Note this prop only affects the calendar when in `rangeMode`.\n */\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n /**\n * The calendar locale. If undefined, it uses calendar default\n */\n locale: PropTypes.string,\n\n /**\n * Controls if actions buttons are visible at the calendar.\n */\n showActions: PropTypes.bool,\n /**\n * Controls if clear button is visible at the calendar,\n * only works if showing actions or in range mode.\n */\n showClear: PropTypes.bool,\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * Sets if the calendar container should follow the date picker input out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n /**\n * An element placed before the Calendar\n */\n startAdornment: PropTypes.node,\n /**\n * An object containing props to be passed onto the baseDropdown.\n */\n dropdownProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvDatePicker\", index: 1 })(HvDatePicker);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatePicker.js","names":["DEFAULT_LABELS","applyLabel","cancelLabel","clearLabel","HvDatePicker","props","classes","className","id","name","required","disabled","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","onChange","onCancel","onClear","status","statusMessage","ariaErrorMessage","placeholder","labelsProp","labels","value","startValue","endValue","rangeMode","startAdornment","horizontalPlacement","localeProp","locale","showActions","showClear","disablePortal","escapeWithReference","dropdownProps","readOnly","others","useLabels","elementId","useUniqueId","useControlled","validationState","setValidationState","validationMessage","localeFromProvider","useLocale","useState","calendarOpen","setCalendarOpen","useSavedState","startDate","setStartDate","rollbackStartDate","endDate","setEndDate","rollbackEndDate","useVisibleDate","visibleDate","dispatchAction","focusTarget","useRef","useEffect","endDateIsSet","current","type","NAV_OPTIONS","MONTH_YEAR","target","year","getFullYear","month","getMonth","handleApply","isDate","handleCancel","handleClear","undefined","handleCalendarClose","shouldSave","handleToggle","evt","open","focusOnContainer","focus","handleDateChange","event","newDate","autoSave","handleInputDateChange","position","renderActions","clsx","actionContainer","leftContainer","setId","action","rightContainer","renderInput","dateString","dateValue","hasLabel","hasDescription","canShowError","isStateInvalid","isInvalid","errorMessageId","root","labelContainer","dropdown","panel","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","getDateLabel","icon","modifiers","enabled","join","trim","_event","error","propTypes","PropTypes","string","shape","isRequired","node","bool","oneOf","func","instanceOf","Date","Object","withStyles","styles","index"],"sources":["../../src/DatePicker/DatePicker.js"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { withStyles } from \"@material-ui/core\";\nimport { Calendar } from \"@hitachivantara/uikit-react-icons\";\nimport clsx from \"clsx\";\nimport { setId, useSavedState, useLabels } from \"../utils\";\nimport {\n HvActionBar,\n HvBaseDropdown,\n HvButton,\n HvCalendar,\n HvLabel,\n HvInfoMessage,\n HvFormElement,\n HvWarningText,\n HvTypography,\n useUniqueId,\n useControlled,\n} from \"..\";\nimport { isInvalid } from \"../Forms/FormElement/validationStates\";\nimport styles from \"./styles\";\nimport { isDate } from \"../Calendar/utils\";\nimport { getDateLabel } from \"./utils\";\nimport useVisibleDate from \"./useVisibleDate\";\nimport useLocale from \"../Provider/useLocale\";\nimport { NAV_OPTIONS } from \"../Calendar/enums\";\n\nconst DEFAULT_LABELS = {\n applyLabel: \"Apply\",\n cancelLabel: \"Cancel\",\n clearLabel: \"Clear\",\n};\n\n/**\n * A date picker, popup calendar or date range picker is a graphical user\n * interface widget which allows the user to select a date from a calendar.\n */\nconst HvDatePicker = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n\n required = false,\n disabled = false,\n\n label,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n\n onChange,\n onCancel,\n onClear,\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n\n labels: labelsProp,\n\n value,\n startValue,\n endValue,\n\n rangeMode = false,\n startAdornment,\n horizontalPlacement = \"right\",\n locale: localeProp,\n showActions = false,\n showClear = false,\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n readOnly,\n ...others\n } = props;\n\n const labels = useLabels(DEFAULT_LABELS, labelsProp);\n\n const elementId = useUniqueId(id, \"hvdatepicker\");\n\n const [validationState, setValidationState] = useControlled(status, \"standBy\");\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n\n const localeFromProvider = useLocale();\n\n const locale = localeProp || localeFromProvider;\n\n const [calendarOpen, setCalendarOpen] = useState(false);\n\n const [startDate, setStartDate, rollbackStartDate] = useSavedState(\n rangeMode ? startValue : value\n );\n const [endDate, setEndDate, rollbackEndDate] = useSavedState(endValue);\n\n const [visibleDate, dispatchAction] = useVisibleDate(startDate, endDate);\n\n const focusTarget = useRef();\n\n useEffect(() => {\n setStartDate(rangeMode ? startValue : value, true);\n setEndDate(endValue, true);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value, startValue, endValue, rangeMode]);\n\n const endDateIsSet = useRef(false);\n endDateIsSet.current = endDate != null;\n\n useEffect(() => {\n if (startDate != null) {\n dispatchAction({\n type: NAV_OPTIONS.MONTH_YEAR,\n target: endDateIsSet.current ? \"left\" : \"best\",\n year: startDate.getFullYear(),\n month: startDate.getMonth() + 1,\n });\n }\n }, [dispatchAction, startDate]);\n\n useEffect(() => {\n if (endDate != null) {\n dispatchAction({\n type: NAV_OPTIONS.MONTH_YEAR,\n target: \"right\",\n year: endDate.getFullYear(),\n month: endDate.getMonth() + 1,\n });\n }\n }, [dispatchAction, endDate]);\n\n /**\n * Handles the `Apply` action. Both single and ranged modes are handled here.\n */\n const handleApply = () => {\n setStartDate(startDate, true);\n setEndDate(endDate ?? startDate, true);\n\n onChange?.(startDate, endDate);\n\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && (!isDate(startDate) || (rangeMode && !isDate(endDate)))) {\n return \"invalid\";\n }\n\n return \"valid\";\n });\n\n setCalendarOpen(false);\n };\n\n /**\n * Handles the `Cancel` action. Both single and ranged modes are handled here.\n */\n const handleCancel = () => {\n rollbackStartDate();\n rollbackEndDate();\n\n onCancel?.();\n\n setCalendarOpen(false);\n };\n\n /**\n * Handles the `Cancel` action. Both single and ranged modes are handled here.\n */\n const handleClear = () => {\n setStartDate(undefined, false);\n setEndDate(undefined, false);\n onClear?.();\n };\n\n const handleCalendarClose = () => {\n const shouldSave = !(rangeMode || showActions);\n if (shouldSave) {\n handleApply();\n } else {\n handleCancel();\n }\n };\n\n const handleToggle = (evt, open) => {\n /* \n If evt is null this toggle wasn't triggered by the user.\n instead it was triggered by the baseDropdown useEffect after\n the datepicker changed the expanded value this baseDropdown behavior needs a review\n */\n if (evt === null) return;\n setCalendarOpen(open);\n if (!open) handleCalendarClose();\n };\n\n const focusOnContainer = () => {\n focusTarget.current?.focus();\n };\n\n const handleDateChange = (event, newDate) => {\n if (!isDate(newDate)) return;\n\n const autoSave = !showActions && !rangeMode;\n\n if (rangeMode) {\n if (!startDate || (startDate && endDate) || newDate < startDate) {\n setStartDate(newDate);\n setEndDate(null);\n } else {\n setEndDate(newDate);\n }\n } else {\n setStartDate(newDate, autoSave);\n }\n\n if (autoSave) {\n onChange?.(newDate);\n\n setValidationState(() => {\n // this will only run if status is uncontrolled\n if (required && !isDate(newDate)) {\n return \"invalid\";\n }\n\n return \"valid\";\n });\n\n setCalendarOpen(false);\n }\n };\n\n const handleInputDateChange = (event, newDate, position) => {\n if (!isDate(newDate)) return;\n\n if (!rangeMode) {\n handleDateChange(event, newDate);\n return;\n }\n\n if (position === \"left\") {\n setStartDate(newDate > endDate ? endDate : newDate);\n } else if (position === \"right\") {\n if (!startDate) {\n setStartDate(newDate > endDate ? endDate : newDate);\n return;\n }\n setEndDate(newDate < startDate ? startDate : newDate);\n }\n };\n\n /**\n * Renders the container for the action elements.\n */\n const renderActions = () => (\n <HvActionBar\n className={clsx({\n [classes.actionContainer]: showClear,\n })}\n >\n {showClear && (\n <div className={classes.leftContainer}>\n <HvButton\n id={setId(id, \"action\", \"clear\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleClear}\n >\n {labels.clearLabel}\n </HvButton>\n </div>\n )}\n <div className={classes.rightContainer}>\n <HvButton\n id={setId(id, \"action\", \"apply\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleApply}\n >\n {labels.applyLabel}\n </HvButton>\n <HvButton\n id={setId(id, \"action\", \"cancel\")}\n className={classes.action}\n category=\"ghost\"\n onClick={handleCancel}\n >\n {labels.cancelLabel}\n </HvButton>\n </div>\n </HvActionBar>\n );\n\n const renderInput = (dateString) => (\n <HvTypography variant={dateString ? \"normalText\" : \"placeholderText\"}>\n {(dateString || placeholder) === undefined ? \"\" : dateString || placeholder}\n </HvTypography>\n );\n\n const dateValue = rangeMode ? { startDate, endDate } : startDate;\n\n const hasLabel = label != null;\n const hasDescription = description != null;\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) || (status === undefined && required));\n\n const isStateInvalid = isInvalid(validationState);\n\n let errorMessageId;\n if (isStateInvalid) {\n errorMessageId = canShowError ? setId(elementId, \"error\") : ariaErrorMessage;\n }\n\n return (\n <HvFormElement\n id={id}\n name={name}\n value={dateValue}\n status={validationState}\n disabled={disabled}\n required={required}\n className={clsx(className, classes.root)}\n locale={locale}\n readOnly={readOnly}\n {...others}\n >\n {(hasLabel || hasDescription) && (\n <div className={classes.labelContainer}>\n {hasLabel && (\n <HvLabel id={setId(elementId, \"label\")} label={label} className={classes.label} />\n )}\n\n {hasDescription && (\n <HvInfoMessage id={setId(elementId, \"description\")} className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n <HvBaseDropdown\n role=\"combobox\"\n classes={{\n root: classes.dropdown,\n panel: classes.panel,\n header: isStateInvalid ? classes.dropdownHeaderInvalid : undefined,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n readOnly={readOnly}\n disabled={disabled}\n disablePortal={disablePortal}\n variableWidth\n placement={horizontalPlacement}\n expanded={calendarOpen}\n onToggle={handleToggle}\n onClickOutside={handleCalendarClose}\n onContainerCreation={focusOnContainer}\n placeholder={renderInput(getDateLabel(dateValue, rangeMode, locale))}\n adornment={<Calendar className={classes.icon} color={disabled ? \"atmo5\" : undefined} />}\n popperProps={{ modifiers: [{ name: \"preventOverflow\", enabled: escapeWithReference }] }}\n aria-haspopup=\"dialog\"\n aria-label={ariaLabel}\n aria-labelledby={\n [label && setId(elementId, \"label\"), ariaLabelledBy].join(\" \").trim() || undefined\n }\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n aria-describedby={\n [description && setId(elementId, \"description\"), ariaDescribedBy].join(\" \").trim() ||\n undefined\n }\n {...dropdownProps}\n >\n <div ref={focusTarget} tabIndex={-1} />\n <HvCalendar\n id={setId(id, \"calendar\")}\n startAdornment={startAdornment}\n onChange={handleDateChange}\n onInputChange={handleInputDateChange}\n onVisibleDateChange={(_event, type, month, target) => {\n dispatchAction({ type, target, month });\n }}\n locale={locale}\n {...visibleDate}\n />\n {(rangeMode || showActions) && renderActions()}\n </HvBaseDropdown>\n {canShowError && (\n <HvWarningText id={setId(elementId, \"error\")} disableBorder className={classes.error}>\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n\nHvDatePicker.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the component styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n\n /**\n * Styles applied to the container of the labels elements.\n */\n labelContainer: PropTypes.string,\n /**\n * Styles applied to the label element.\n */\n label: PropTypes.string,\n /**\n * Styles applied to the icon information text.\n */\n description: PropTypes.string,\n\n /**\n * Styles applied to the error area.\n */\n error: PropTypes.string,\n\n /**\n * Styles applied to the dropdown.\n */\n dropdown: PropTypes.string,\n\n panel: PropTypes.string,\n action: PropTypes.string,\n icon: PropTypes.string,\n /**\n * Styles applied to the date picker when invalid.\n */\n dropdownHeaderInvalid: PropTypes.string,\n /**\n * Styles applied to the date picker when opened.\n */\n dropdownHeaderOpen: PropTypes.string,\n /**\n * Styles applied to the container that holds the actions buttons.\n */\n actionContainer: PropTypes.string,\n /**\n * Styles applied to the container that holds the clear button.\n */\n leftContainer: PropTypes.string,\n /**\n * Styles applied to the container that holds the apply and cancel button.\n */\n rightContainer: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the form element root node.\n */\n id: PropTypes.string,\n\n /**\n * The form element name.\n */\n name: PropTypes.string,\n\n /**\n * The label of the form element.\n *\n * The form element must be labeled for accessibility reasons.\n * If not provided, an aria-label or aria-labelledby must be provided instead.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-label\": PropTypes.string,\n /**\n * @ignore\n */\n \"aria-labelledby\": PropTypes.string,\n /**\n * Provide additional descriptive text for the form element.\n */\n description: PropTypes.node,\n /**\n * @ignore\n */\n \"aria-describedby\": PropTypes.string,\n\n /**\n * The placeholder value when nothing is selected.\n */\n placeholder: PropTypes.string,\n\n /**\n * Indicates that the form element is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Indicates that user input is required on the form element.\n */\n required: PropTypes.bool,\n\n /**\n * The status of the form element.\n *\n * Valid is correct, invalid is incorrect and standBy means no validations have run.\n *\n * When uncontrolled and unspecified it will default to \"standBy\" and change to either \"valid\"\n * or \"invalid\" after any change to the state.\n */\n status: PropTypes.oneOf([\"standBy\", \"valid\", \"invalid\"]),\n /**\n * The error message to show when the validation status is \"invalid\".\n *\n * Defaults to \"Required\" when the status is uncontrolled and no `aria-errormessage` is provided.\n */\n statusMessage: PropTypes.node,\n /**\n * Identifies the element that provides an error message for the date picker.\n *\n * Will only be used when the validation status is invalid.\n */\n \"aria-errormessage\": PropTypes.string,\n\n /**\n * The callback fired when the value changes.\n */\n onChange: PropTypes.func,\n\n /**\n * The callback fired when user clicks on cancel.\n */\n onCancel: PropTypes.func,\n\n /**\n * The callback fired when user clicks on clear.\n */\n onClear: PropTypes.func,\n\n /**\n * An object containing all the labels for the datepicker.\n */\n labels: PropTypes.shape({\n /**\n * Apply button label.\n */\n applyLabel: PropTypes.string,\n /**\n * Cancel button label.\n */\n cancelLabel: PropTypes.string,\n /**\n * Clear button label.\n */\n clearLabel: PropTypes.string,\n }),\n\n /**\n * The initial value of the input when in single calendar mode.\n */\n value: PropTypes.instanceOf(Date),\n /**\n * The initial value for the start date when in range mode.\n */\n startValue: PropTypes.instanceOf(Date),\n /**\n * The initial value for the end date when in range mode.\n */\n endValue: PropTypes.instanceOf(Date),\n /**\n * Flag informing if the the component should be in range mode or in single mode.\n */\n rangeMode: PropTypes.bool,\n /**\n * The placement where the calendar should be placed according to the input. Options are `left` or `right`.\n * Note this prop only affects the calendar when in `rangeMode`.\n */\n horizontalPlacement: PropTypes.oneOf([\"left\", \"right\"]),\n /**\n * The calendar locale. If undefined, it uses calendar default\n */\n locale: PropTypes.string,\n\n /**\n * Controls if actions buttons are visible at the calendar.\n */\n showActions: PropTypes.bool,\n /**\n * Controls if clear button is visible at the calendar,\n * only works if showing actions or in range mode.\n */\n showClear: PropTypes.bool,\n /**\n * Disable the portal behavior. The children stay within it's parent DOM hierarchy.\n */\n disablePortal: PropTypes.bool,\n /**\n * Sets if the calendar container should follow the date picker input out of the screen or stay visible.\n */\n escapeWithReference: PropTypes.bool,\n /**\n * An element placed before the Calendar\n */\n startAdornment: PropTypes.node,\n /**\n * An object containing props to be passed onto the baseDropdown.\n */\n dropdownProps: PropTypes.instanceOf(Object),\n /**\n * If `true` the DatePicker will be in read only mode, unable to be interacted.\n */\n readOnly: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvDatePicker\", index: 1 })(HvDatePicker);\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
|
*/
|
|
@@ -73,7 +73,7 @@ var _PeriodPicker = _interopRequireDefault(require("./PeriodPicker"));
|
|
|
73
73
|
|
|
74
74
|
var _styles = _interopRequireDefault(require("./styles"));
|
|
75
75
|
|
|
76
|
-
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"];
|
|
76
|
+
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"];
|
|
77
77
|
|
|
78
78
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
79
79
|
|
|
@@ -113,6 +113,8 @@ var HvTimePicker = function HvTimePicker(_ref) {
|
|
|
113
113
|
required = _ref$required === void 0 ? false : _ref$required,
|
|
114
114
|
_ref$disabled = _ref.disabled,
|
|
115
115
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
116
|
+
_ref$readOnly = _ref.readOnly,
|
|
117
|
+
readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
|
|
116
118
|
label = _ref.label,
|
|
117
119
|
ariaLabel = _ref["aria-label"],
|
|
118
120
|
ariaLabelledBy = _ref["aria-labelledby"],
|
|
@@ -423,6 +425,7 @@ var HvTimePicker = function HvTimePicker(_ref) {
|
|
|
423
425
|
"aria-describedby": [description && (0, _.setId)(elementId, "description"), ariaDescribedBy].join(" ").trim() || undefined,
|
|
424
426
|
disablePortal: disablePortal,
|
|
425
427
|
disabled: disabled,
|
|
428
|
+
readOnly: readOnly,
|
|
426
429
|
popperProps: {
|
|
427
430
|
modifiers: [{
|
|
428
431
|
name: "preventOverflow",
|
|
@@ -589,6 +592,11 @@ process.env.NODE_ENV !== "production" ? HvTimePicker.propTypes = {
|
|
|
589
592
|
*/
|
|
590
593
|
disabled: _propTypes.default.bool,
|
|
591
594
|
|
|
595
|
+
/**
|
|
596
|
+
* Indicates that the form element is in read only mode.
|
|
597
|
+
*/
|
|
598
|
+
readOnly: _propTypes.default.bool,
|
|
599
|
+
|
|
592
600
|
/**
|
|
593
601
|
* The label of the form element.
|
|
594
602
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.js","names":["setFocusToContent","containerRef","getElementsByTagName","focus","timeIsEqual","timeA","timeB","hours","minutes","seconds","period","timeIsValid","time","timeFormat","hourInputState","TimeFormat","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","useUniqueId","localeFromProvider","useLocale","useMemo","toString","getTimeFormatForLocale","useSavedState","v","getHoursForTimeFormat","PeriodPickerOptions","AM","PM","setValue","rollbackValue","lastValidValue","useControlled","validationMessage","validationState","setValidationState","useState","isOpen","setOpen","firstRender","useRef","currentValue","useEffect","current","currentTimeFormat","to12","h","p","undefined","dayPeriod","handleTimeChange","updatedTimeObject","valid","getTimeWithFormat24","handleHoursChange","updatedHours","newSelectedTime","handleMinutesChange","updatedMinutes","handleSecondsChange","updatedSeconds","handleChangePeriod","updatedPeriod","evt","open","hasLabels","hasDescription","canShowError","isStateInvalid","errorMessageId","setId","root","formElementRoot","clsx","labelContainer","getFormattedTime","dropdownPlaceholderDisabled","dropdownPlaceholder","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","iconBaseRoot","join","trim","modifiers","enabled","timePopperContainer","TimePickerUnits","HOUR_24","type","HOUR_12","separator","MINUTE","SECOND","error","propTypes","PropTypes","shape","string","input","periodContainer","isRequired","number","bool","node","oneOf","func","instanceOf","Object","withStyles","styles"],"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":["setFocusToContent","containerRef","getElementsByTagName","focus","timeIsEqual","timeA","timeB","hours","minutes","seconds","period","timeIsValid","time","timeFormat","hourInputState","TimeFormat","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","useUniqueId","localeFromProvider","useLocale","useMemo","toString","getTimeFormatForLocale","useSavedState","v","getHoursForTimeFormat","PeriodPickerOptions","AM","PM","setValue","rollbackValue","lastValidValue","useControlled","validationMessage","validationState","setValidationState","useState","isOpen","setOpen","firstRender","useRef","currentValue","useEffect","current","currentTimeFormat","to12","h","p","undefined","dayPeriod","handleTimeChange","updatedTimeObject","valid","getTimeWithFormat24","handleHoursChange","updatedHours","newSelectedTime","handleMinutesChange","updatedMinutes","handleSecondsChange","updatedSeconds","handleChangePeriod","updatedPeriod","evt","open","hasLabels","hasDescription","canShowError","isStateInvalid","errorMessageId","setId","root","formElementRoot","clsx","labelContainer","getFormattedTime","dropdownPlaceholderDisabled","dropdownPlaceholder","header","dropdownHeaderInvalid","headerOpen","dropdownHeaderOpen","iconBaseRoot","join","trim","modifiers","enabled","timePopperContainer","TimePickerUnits","HOUR_24","type","HOUR_12","separator","MINUTE","SECOND","error","propTypes","PropTypes","shape","string","input","periodContainer","isRequired","number","bool","node","oneOf","func","instanceOf","Object","withStyles","styles"],"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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"}
|
|
@@ -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;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
var _excluded = ["classes", "className", "id", "name", "required", "disabled", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "status", "statusMessage", "aria-errormessage", "placeholder", "labels", "value", "startValue", "endValue", "rangeMode", "startAdornment", "horizontalPlacement", "locale", "showActions", "showClear", "disablePortal", "escapeWithReference", "dropdownProps"];
|
|
4
|
+
var _excluded = ["classes", "className", "id", "name", "required", "disabled", "label", "aria-label", "aria-labelledby", "description", "aria-describedby", "onChange", "onCancel", "onClear", "status", "statusMessage", "aria-errormessage", "placeholder", "labels", "value", "startValue", "endValue", "rangeMode", "startAdornment", "horizontalPlacement", "locale", "showActions", "showClear", "disablePortal", "escapeWithReference", "dropdownProps", "readOnly"];
|
|
5
5
|
import "core-js/modules/es.function.name.js";
|
|
6
6
|
import "core-js/modules/es.symbol.js";
|
|
7
7
|
import "core-js/modules/es.symbol.description.js";
|
|
@@ -71,6 +71,7 @@ var HvDatePicker = function HvDatePicker(props) {
|
|
|
71
71
|
_props$escapeWithRefe = props.escapeWithReference,
|
|
72
72
|
escapeWithReference = _props$escapeWithRefe === void 0 ? true : _props$escapeWithRefe,
|
|
73
73
|
dropdownProps = props.dropdownProps,
|
|
74
|
+
readOnly = props.readOnly,
|
|
74
75
|
others = _objectWithoutProperties(props, _excluded);
|
|
75
76
|
|
|
76
77
|
var labels = useLabels(DEFAULT_LABELS, labelsProp);
|
|
@@ -314,7 +315,8 @@ var HvDatePicker = function HvDatePicker(props) {
|
|
|
314
315
|
disabled: disabled,
|
|
315
316
|
required: required,
|
|
316
317
|
className: clsx(className, classes.root),
|
|
317
|
-
locale: locale
|
|
318
|
+
locale: locale,
|
|
319
|
+
readOnly: readOnly
|
|
318
320
|
}, others), (hasLabel || hasDescription) && /*#__PURE__*/React.createElement("div", {
|
|
319
321
|
className: classes.labelContainer
|
|
320
322
|
}, hasLabel && /*#__PURE__*/React.createElement(HvLabel, {
|
|
@@ -332,6 +334,7 @@ var HvDatePicker = function HvDatePicker(props) {
|
|
|
332
334
|
header: isStateInvalid ? classes.dropdownHeaderInvalid : undefined,
|
|
333
335
|
headerOpen: classes.dropdownHeaderOpen
|
|
334
336
|
},
|
|
337
|
+
readOnly: readOnly,
|
|
335
338
|
disabled: disabled,
|
|
336
339
|
disablePortal: disablePortal,
|
|
337
340
|
variableWidth: true,
|
|
@@ -621,7 +624,12 @@ process.env.NODE_ENV !== "production" ? HvDatePicker.propTypes = {
|
|
|
621
624
|
/**
|
|
622
625
|
* An object containing props to be passed onto the baseDropdown.
|
|
623
626
|
*/
|
|
624
|
-
dropdownProps: PropTypes.instanceOf(Object)
|
|
627
|
+
dropdownProps: PropTypes.instanceOf(Object),
|
|
628
|
+
|
|
629
|
+
/**
|
|
630
|
+
* If `true` the DatePicker will be in read only mode, unable to be interacted.
|
|
631
|
+
*/
|
|
632
|
+
readOnly: PropTypes.bool
|
|
625
633
|
} : void 0;
|
|
626
634
|
export default withStyles(styles, {
|
|
627
635
|
name: "HvDatePicker",
|