@digital-ai/dot-components 2.7.2 → 2.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGE_LOG.md +26 -2
- package/index.esm.js +181 -115
- package/index.umd.js +243 -154
- package/lib/components/auto-complete/AutoComplete.d.ts +3 -1
- package/lib/components/auto-complete/AutoComplete.stories.d.ts +2 -1
- package/lib/components/date-picker/DatePicker.d.ts +6 -3
- package/lib/components/date-picker/DatePicker.stories.d.ts +1 -5
- package/lib/components/date-picker/index.d.ts +2 -0
- package/lib/components/date-picker/utils/helpers.d.ts +5 -0
- package/lib/components/date-picker/utils/models.d.ts +5 -0
- package/lib/components/index.d.ts +1 -1
- package/lib/components/inline-edit/InlineEdit.d.ts +3 -1
- package/lib/components/inline-edit/InlineEdit.stories.d.ts +2 -1
- package/lib/components/time-picker/TimePicker.d.ts +12 -5
- package/lib/components/time-picker/TimePicker.stories.d.ts +3 -2
- package/lib/components/time-picker/TimePicker.stories.styles.d.ts +2 -0
- package/lib/components/time-picker/utils/helpers.d.ts +2 -0
- package/package.json +1 -1
package/index.umd.js
CHANGED
|
@@ -4723,6 +4723,9 @@
|
|
|
4723
4723
|
});
|
|
4724
4724
|
};
|
|
4725
4725
|
|
|
4726
|
+
function ariaLabelOrAlternates(ariaLabel, label, placeholder) {
|
|
4727
|
+
return ariaLabel || label || placeholder;
|
|
4728
|
+
}
|
|
4726
4729
|
var DEFAULT_ACTION_ITEM_TEXT = 'Add new item';
|
|
4727
4730
|
var DotAutoComplete = function DotAutoComplete(_a) {
|
|
4728
4731
|
var ListboxComponent = _a.ListboxComponent,
|
|
@@ -4745,6 +4748,7 @@
|
|
|
4745
4748
|
filterSelectedOptions = _f === void 0 ? true : _f,
|
|
4746
4749
|
_g = _a.freesolo,
|
|
4747
4750
|
freesolo = _g === void 0 ? true : _g,
|
|
4751
|
+
checkIfOptionDisabled = _a.checkIfOptionDisabled,
|
|
4748
4752
|
_h = _a.group,
|
|
4749
4753
|
group = _h === void 0 ? false : _h,
|
|
4750
4754
|
helperText = _a.helperText,
|
|
@@ -4982,6 +4986,7 @@
|
|
|
4982
4986
|
getOptionLabel: function (option) {
|
|
4983
4987
|
return parseAutoCompleteValue(option);
|
|
4984
4988
|
},
|
|
4989
|
+
getOptionDisabled: checkIfOptionDisabled,
|
|
4985
4990
|
groupBy: group ? function (option) {
|
|
4986
4991
|
return option.group;
|
|
4987
4992
|
} : undefined,
|
|
@@ -5041,11 +5046,17 @@
|
|
|
5041
5046
|
error: error,
|
|
5042
5047
|
focused: readOnly ? false : undefined,
|
|
5043
5048
|
helperText: helperText,
|
|
5049
|
+
id: inputId,
|
|
5044
5050
|
inputProps: __assign(__assign({}, inputProps), {
|
|
5051
|
+
'aria-label': ariaLabelOrAlternates(ariaLabel, label, placeholder),
|
|
5052
|
+
'data-testid': dataTestId && dataTestId + "-input",
|
|
5045
5053
|
id: inputId,
|
|
5046
5054
|
className: useStylesWithRootClass(inputProps.className, 'dot-input'),
|
|
5047
5055
|
readOnly: readOnly
|
|
5048
5056
|
}),
|
|
5057
|
+
InputLabelProps: {
|
|
5058
|
+
htmlFor: inputId
|
|
5059
|
+
},
|
|
5049
5060
|
InputProps: __assign(__assign({}, params.InputProps), {
|
|
5050
5061
|
endAdornment: !readOnly ? renderEndAdornment(params.InputProps.endAdornment) : undefined
|
|
5051
5062
|
}),
|
|
@@ -7601,27 +7612,34 @@
|
|
|
7601
7612
|
onEditStateChange = _a.onEditStateChange,
|
|
7602
7613
|
readOnly = _a.readOnly,
|
|
7603
7614
|
selectTextOnEdit = _a.selectTextOnEdit,
|
|
7604
|
-
_c = _a.
|
|
7605
|
-
|
|
7615
|
+
_c = _a.startEditable,
|
|
7616
|
+
startEditable = _c === void 0 ? false : _c,
|
|
7617
|
+
_d = _a.tabIndex,
|
|
7618
|
+
tabIndex = _d === void 0 ? 0 : _d,
|
|
7606
7619
|
tooltip = _a.tooltip,
|
|
7607
|
-
|
|
7608
|
-
typography =
|
|
7609
|
-
|
|
7610
|
-
value =
|
|
7611
|
-
var _f = React.useState(false),
|
|
7612
|
-
editing = _f[0],
|
|
7613
|
-
setEditing = _f[1];
|
|
7620
|
+
_e = _a.typography,
|
|
7621
|
+
typography = _e === void 0 ? 'body1' : _e,
|
|
7622
|
+
_f = _a.value,
|
|
7623
|
+
value = _f === void 0 ? '' : _f;
|
|
7614
7624
|
var _g = React.useState(false),
|
|
7615
|
-
|
|
7616
|
-
|
|
7617
|
-
var _h = React.useState(
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
var _j = React.useState(
|
|
7621
|
-
|
|
7622
|
-
|
|
7625
|
+
editing = _g[0],
|
|
7626
|
+
setEditing = _g[1];
|
|
7627
|
+
var _h = React.useState(false),
|
|
7628
|
+
showTooltip = _h[0],
|
|
7629
|
+
setShowTooltip = _h[1];
|
|
7630
|
+
var _j = React.useState(''),
|
|
7631
|
+
originalValue = _j[0],
|
|
7632
|
+
setOriginalValue = _j[1];
|
|
7633
|
+
var _k = React.useState(value),
|
|
7634
|
+
inputValue = _k[0],
|
|
7635
|
+
setInputValue = _k[1];
|
|
7623
7636
|
var inputRef = React.useRef();
|
|
7624
7637
|
var inlineEditRef = React.useRef();
|
|
7638
|
+
React.useEffect(function () {
|
|
7639
|
+
if (startEditable && !readOnly) {
|
|
7640
|
+
enterEditMode();
|
|
7641
|
+
}
|
|
7642
|
+
}, []);
|
|
7625
7643
|
React.useEffect(function () {
|
|
7626
7644
|
if (value !== inputValue) {
|
|
7627
7645
|
setInputValue(value);
|
|
@@ -7634,10 +7652,13 @@
|
|
|
7634
7652
|
setShowTooltip(visible);
|
|
7635
7653
|
}
|
|
7636
7654
|
};
|
|
7637
|
-
var
|
|
7638
|
-
if (editing) return;
|
|
7655
|
+
var enterEditMode = function enterEditMode() {
|
|
7639
7656
|
setOriginalValue(inputValue);
|
|
7640
7657
|
setEditing(true);
|
|
7658
|
+
};
|
|
7659
|
+
var handleInlineEditClick = function handleInlineEditClick() {
|
|
7660
|
+
if (editing) return;
|
|
7661
|
+
enterEditMode();
|
|
7641
7662
|
if (onEditStateChange) {
|
|
7642
7663
|
onEditStateChange(true);
|
|
7643
7664
|
}
|
|
@@ -7787,7 +7808,7 @@
|
|
|
7787
7808
|
error: false,
|
|
7788
7809
|
fullWidth: fullWidth,
|
|
7789
7810
|
inputProps: {
|
|
7790
|
-
'data-testid': dataTestId,
|
|
7811
|
+
'data-testid': dataTestId + "-input",
|
|
7791
7812
|
className: 'dot-input',
|
|
7792
7813
|
maxLength: charactersLimit === null || charactersLimit === void 0 ? void 0 : charactersLimit.maxLength
|
|
7793
7814
|
},
|
|
@@ -10279,6 +10300,28 @@
|
|
|
10279
10300
|
}, void 0);
|
|
10280
10301
|
};
|
|
10281
10302
|
|
|
10303
|
+
exports.DatePickerKeydownContext = void 0;
|
|
10304
|
+
(function (DatePickerKeydownContext) {
|
|
10305
|
+
DatePickerKeydownContext[DatePickerKeydownContext["Input"] = 0] = "Input";
|
|
10306
|
+
DatePickerKeydownContext[DatePickerKeydownContext["PickerButton"] = 1] = "PickerButton";
|
|
10307
|
+
DatePickerKeydownContext[DatePickerKeydownContext["Popper"] = 2] = "Popper";
|
|
10308
|
+
})(exports.DatePickerKeydownContext || (exports.DatePickerKeydownContext = {}));
|
|
10309
|
+
|
|
10310
|
+
/** This returns a `boolean` indicating whether the Day.js object contains a valid date or not. */
|
|
10311
|
+
var checkIfValidDate = function checkIfValidDate(date, format) {
|
|
10312
|
+
return dayjs__default["default"](date, format, true).isValid();
|
|
10313
|
+
};
|
|
10314
|
+
var getContextEnumBasedOnTarget = function getContextEnumBasedOnTarget(event, inputElement, contextEnum) {
|
|
10315
|
+
var targetElement = event.target;
|
|
10316
|
+
var isWithinInput = inputElement === null || inputElement === void 0 ? void 0 : inputElement.contains(targetElement);
|
|
10317
|
+
var currentContextEnum = contextEnum;
|
|
10318
|
+
// Key was captured within text field but not on the input itself
|
|
10319
|
+
if (contextEnum === exports.DatePickerKeydownContext.Input && !isWithinInput) {
|
|
10320
|
+
currentContextEnum = exports.DatePickerKeydownContext.PickerButton;
|
|
10321
|
+
}
|
|
10322
|
+
return currentContextEnum;
|
|
10323
|
+
};
|
|
10324
|
+
|
|
10282
10325
|
var rootClassName$1 = 'dot-date-picker';
|
|
10283
10326
|
var containerClassName$1 = 'dot-date-picker-container';
|
|
10284
10327
|
var rectanglePickersDayClassName = 'dot-rectangle-pickers-day';
|
|
@@ -10308,6 +10351,7 @@
|
|
|
10308
10351
|
disableRipple: true
|
|
10309
10352
|
}), void 0);
|
|
10310
10353
|
};
|
|
10354
|
+
var DEFAULT_DATE_FORMAT = 'YYYY-MM-DD';
|
|
10311
10355
|
var DotDatePicker = function DotDatePicker(_a) {
|
|
10312
10356
|
var ariaLabel = _a.ariaLabel,
|
|
10313
10357
|
_b = _a.autoFocus,
|
|
@@ -10343,6 +10387,7 @@
|
|
|
10343
10387
|
onChange = _a.onChange,
|
|
10344
10388
|
onClose = _a.onClose,
|
|
10345
10389
|
onError = _a.onError,
|
|
10390
|
+
onKeyDown = _a.onKeyDown,
|
|
10346
10391
|
onOpen = _a.onOpen,
|
|
10347
10392
|
open = _a.open,
|
|
10348
10393
|
persistentLabel = _a.persistentLabel,
|
|
@@ -10352,7 +10397,7 @@
|
|
|
10352
10397
|
required = _h === void 0 ? false : _h,
|
|
10353
10398
|
showDaysOutsideCurrentMonth = _a.showDaysOutsideCurrentMonth,
|
|
10354
10399
|
value = _a.value;
|
|
10355
|
-
var
|
|
10400
|
+
var displayFormat = format || DEFAULT_DATE_FORMAT;
|
|
10356
10401
|
var hasValueWithoutChangeHandler = value !== undefined && onChange === undefined;
|
|
10357
10402
|
var hasBothValueAndDefaultValue = value !== undefined && defaultValue !== undefined;
|
|
10358
10403
|
var isInputReadOnly = readOnly || hasValueWithoutChangeHandler || hasBothValueAndDefaultValue;
|
|
@@ -10386,14 +10431,14 @@
|
|
|
10386
10431
|
}, [locale]);
|
|
10387
10432
|
var handleChange = function handleChange(changedValue, context) {
|
|
10388
10433
|
if (!onChange || changedValue && !changedValue.isValid()) return;
|
|
10389
|
-
onChange(changedValue ? changedValue.format(
|
|
10434
|
+
onChange(changedValue ? changedValue.format(DEFAULT_DATE_FORMAT) : null, context);
|
|
10390
10435
|
};
|
|
10391
10436
|
var handleAccept = function handleAccept(changedValue) {
|
|
10392
10437
|
if (!onAccept) return;
|
|
10393
|
-
onAccept(changedValue ? changedValue.format(
|
|
10438
|
+
onAccept(changedValue ? changedValue.format(DEFAULT_DATE_FORMAT) : null);
|
|
10394
10439
|
};
|
|
10395
10440
|
var handleError = function handleError(validationError, currentValue) {
|
|
10396
|
-
return onError === null || onError === void 0 ? void 0 : onError(validationError, dayjs__default["default"](currentValue).format(
|
|
10441
|
+
return onError === null || onError === void 0 ? void 0 : onError(validationError, dayjs__default["default"](currentValue).format(DEFAULT_DATE_FORMAT));
|
|
10397
10442
|
};
|
|
10398
10443
|
var handleOpen = function handleOpen() {
|
|
10399
10444
|
if (focusInputOnPopperOpened && inputRef.current) {
|
|
@@ -10410,6 +10455,12 @@
|
|
|
10410
10455
|
}
|
|
10411
10456
|
return actionBar;
|
|
10412
10457
|
};
|
|
10458
|
+
var handleKeyDown = function handleKeyDown(contextEnum) {
|
|
10459
|
+
return function (event) {
|
|
10460
|
+
var currentContextEnum = getContextEnumBasedOnTarget(event, inputRef === null || inputRef === void 0 ? void 0 : inputRef.current, contextEnum);
|
|
10461
|
+
onKeyDown(event, currentContextEnum);
|
|
10462
|
+
};
|
|
10463
|
+
};
|
|
10413
10464
|
return jsxRuntime.jsx(StyledDatePickerContainer, __assign({
|
|
10414
10465
|
className: containerClasses,
|
|
10415
10466
|
"data-testid": dataTestId
|
|
@@ -10429,16 +10480,16 @@
|
|
|
10429
10480
|
autoFocus: autoFocus,
|
|
10430
10481
|
closeOnSelect: closeOnSelect,
|
|
10431
10482
|
className: rootClasses,
|
|
10432
|
-
defaultValue: defaultValue && dayjs__default["default"](defaultValue,
|
|
10483
|
+
defaultValue: defaultValue && dayjs__default["default"](defaultValue, DEFAULT_DATE_FORMAT),
|
|
10433
10484
|
disableOpenPicker: disableOpenPicker || isInputReadOnly || disabled,
|
|
10434
10485
|
disablePast: disablePast,
|
|
10435
10486
|
disabled: disabled,
|
|
10436
10487
|
displayWeekNumber: displayWeekNumber,
|
|
10437
10488
|
fixedWeekNumber: fixedWeekNumber,
|
|
10438
|
-
format:
|
|
10489
|
+
format: displayFormat,
|
|
10439
10490
|
label: persistentLabel ? null : label,
|
|
10440
|
-
maxDate: maxDate && dayjs__default["default"](maxDate,
|
|
10441
|
-
minDate: minDate && dayjs__default["default"](minDate,
|
|
10491
|
+
maxDate: maxDate && dayjs__default["default"](maxDate, DEFAULT_DATE_FORMAT),
|
|
10492
|
+
minDate: minDate && dayjs__default["default"](minDate, DEFAULT_DATE_FORMAT),
|
|
10442
10493
|
onAccept: handleAccept,
|
|
10443
10494
|
onChange: handleChange,
|
|
10444
10495
|
onClose: onClose,
|
|
@@ -10477,6 +10528,7 @@
|
|
|
10477
10528
|
'data-testid': 'dot-date-picker-input',
|
|
10478
10529
|
onBlur: onBlur
|
|
10479
10530
|
},
|
|
10531
|
+
onKeyDown: onKeyDown && handleKeyDown(exports.DatePickerKeydownContext.Input),
|
|
10480
10532
|
inputRef: inputRef,
|
|
10481
10533
|
fullWidth: fullWidth,
|
|
10482
10534
|
name: inputName
|
|
@@ -10488,10 +10540,11 @@
|
|
|
10488
10540
|
disableEnforceFocus: true
|
|
10489
10541
|
},
|
|
10490
10542
|
popper: {
|
|
10491
|
-
disablePortal: disablePortal
|
|
10543
|
+
disablePortal: disablePortal,
|
|
10544
|
+
onKeyDown: onKeyDown && handleKeyDown(exports.DatePickerKeydownContext.Popper)
|
|
10492
10545
|
}
|
|
10493
10546
|
},
|
|
10494
|
-
value: value && dayjs__default["default"](value,
|
|
10547
|
+
value: value && dayjs__default["default"](value, DEFAULT_DATE_FORMAT)
|
|
10495
10548
|
}, void 0)]
|
|
10496
10549
|
}), void 0)
|
|
10497
10550
|
}), void 0);
|
|
@@ -10578,6 +10631,12 @@
|
|
|
10578
10631
|
var getTimePickerButtonType = function getTimePickerButtonType(selectedDaytime) {
|
|
10579
10632
|
return selectedDaytime && selectedDaytime === exports.Daytime.PM ? 'primary' : 'text';
|
|
10580
10633
|
};
|
|
10634
|
+
var checkIfOpenPropDefined = function checkIfOpenPropDefined(open) {
|
|
10635
|
+
return open !== null && open !== undefined;
|
|
10636
|
+
};
|
|
10637
|
+
var getDaytimeButtonType = function getDaytimeButtonType(daytimeSelected) {
|
|
10638
|
+
return daytimeSelected && daytimeSelected === exports.Daytime.AM ? 'primary' : 'text';
|
|
10639
|
+
};
|
|
10581
10640
|
|
|
10582
10641
|
var rootClassName = 'dot-time-picker';
|
|
10583
10642
|
var containerClassName = 'dot-time-picker-container';
|
|
@@ -10602,12 +10661,12 @@
|
|
|
10602
10661
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
10603
10662
|
|
|
10604
10663
|
dayjs__default["default"].extend(utc__default["default"]);
|
|
10605
|
-
var DEFAULT_PICKER_TIME_FORMAT = '
|
|
10606
|
-
var DEFAULT_TIME_FORMAT = '
|
|
10664
|
+
var DEFAULT_PICKER_TIME_FORMAT = 'HH:mm';
|
|
10665
|
+
var DEFAULT_TIME_FORMAT = 'HH:mm';
|
|
10607
10666
|
var DEFAULT_TIME = '01:00';
|
|
10608
10667
|
var DotTimePicker = function DotTimePicker(_a) {
|
|
10609
10668
|
var _b = _a.ampm,
|
|
10610
|
-
ampm = _b === void 0 ?
|
|
10669
|
+
ampm = _b === void 0 ? false : _b,
|
|
10611
10670
|
ariaLabel = _a.ariaLabel,
|
|
10612
10671
|
_c = _a.autoFocus,
|
|
10613
10672
|
autoFocus = _c === void 0 ? false : _c,
|
|
@@ -10616,11 +10675,13 @@
|
|
|
10616
10675
|
defaultValue = _a.defaultValue,
|
|
10617
10676
|
_d = _a.disableOpenPicker,
|
|
10618
10677
|
disableOpenPicker = _d === void 0 ? false : _d,
|
|
10678
|
+
_e = _a.disableClickAwayListener,
|
|
10679
|
+
disableClickAwayListener = _e === void 0 ? false : _e,
|
|
10619
10680
|
disabled = _a.disabled,
|
|
10620
10681
|
error = _a.error,
|
|
10621
10682
|
format = _a.format,
|
|
10622
|
-
|
|
10623
|
-
fullWidth =
|
|
10683
|
+
_f = _a.fullWidth,
|
|
10684
|
+
fullWidth = _f === void 0 ? false : _f,
|
|
10624
10685
|
helperText = _a.helperText,
|
|
10625
10686
|
hideActionButtons = _a.hideActionButtons,
|
|
10626
10687
|
inputId = _a.inputId,
|
|
@@ -10628,32 +10689,34 @@
|
|
|
10628
10689
|
label = _a.label,
|
|
10629
10690
|
onAccept = _a.onAccept,
|
|
10630
10691
|
onBlur = _a.onBlur,
|
|
10692
|
+
onCancel = _a.onCancel,
|
|
10631
10693
|
onChange = _a.onChange,
|
|
10632
10694
|
onClose = _a.onClose,
|
|
10695
|
+
onKeyDown = _a.onKeyDown,
|
|
10633
10696
|
onOpen = _a.onOpen,
|
|
10634
10697
|
open = _a.open,
|
|
10635
10698
|
persistentLabel = _a.persistentLabel,
|
|
10636
|
-
|
|
10637
|
-
readOnly =
|
|
10638
|
-
|
|
10639
|
-
required =
|
|
10699
|
+
_g = _a.readOnly,
|
|
10700
|
+
readOnly = _g === void 0 ? false : _g,
|
|
10701
|
+
_h = _a.required,
|
|
10702
|
+
required = _h === void 0 ? false : _h,
|
|
10640
10703
|
value = _a.value;
|
|
10641
|
-
var
|
|
10704
|
+
var displayFormat = format || DEFAULT_TIME_FORMAT;
|
|
10642
10705
|
var hasValueWithoutChangeHandler = value !== undefined && onChange === undefined;
|
|
10643
10706
|
var hasBothValueAndDefaultValue = value !== undefined && defaultValue !== undefined;
|
|
10644
10707
|
var isComponentReadOnly = readOnly || hasValueWithoutChangeHandler || hasBothValueAndDefaultValue;
|
|
10645
10708
|
var rootClasses = useStylesWithRootClass(rootClassName, className, isComponentReadOnly ? 'read-only' : '');
|
|
10646
10709
|
var containerClasses = useStylesWithRootClass(containerClassName, fullWidth ? 'full-width' : '', className);
|
|
10647
10710
|
var inputRef = React.useRef(null);
|
|
10648
|
-
var
|
|
10649
|
-
isPickerOpened =
|
|
10650
|
-
setIsPickerOpened =
|
|
10651
|
-
var
|
|
10652
|
-
time =
|
|
10653
|
-
setTime =
|
|
10654
|
-
var
|
|
10655
|
-
pickerTime =
|
|
10656
|
-
setPickerTime =
|
|
10711
|
+
var _j = React.useState(false),
|
|
10712
|
+
isPickerOpened = _j[0],
|
|
10713
|
+
setIsPickerOpened = _j[1];
|
|
10714
|
+
var _k = React.useState(null),
|
|
10715
|
+
time = _k[0],
|
|
10716
|
+
setTime = _k[1];
|
|
10717
|
+
var _l = React.useState(),
|
|
10718
|
+
pickerTime = _l[0],
|
|
10719
|
+
setPickerTime = _l[1];
|
|
10657
10720
|
var hoursRef = React.useRef(null);
|
|
10658
10721
|
var minutesRef = React.useRef(null);
|
|
10659
10722
|
var daytimeRef = React.useRef(null);
|
|
@@ -10661,7 +10724,7 @@
|
|
|
10661
10724
|
var minutes = getMinutesForTimePicker();
|
|
10662
10725
|
var daytimeSelected = getSelectedDaytime(pickerTime);
|
|
10663
10726
|
var selectedPickerHour = pickerTime && calculateHourBasedOnTimeFormat(pickerTime, ampm);
|
|
10664
|
-
var isOpenPropDefined = open
|
|
10727
|
+
var isOpenPropDefined = checkIfOpenPropDefined(open);
|
|
10665
10728
|
var isControlledComponent = onChange && value !== undefined;
|
|
10666
10729
|
React.useEffect(function () {
|
|
10667
10730
|
if (hasValueWithoutChangeHandler) {
|
|
@@ -10674,9 +10737,9 @@
|
|
|
10674
10737
|
React.useEffect(function () {
|
|
10675
10738
|
var timeValue = null;
|
|
10676
10739
|
if (defaultValue) {
|
|
10677
|
-
timeValue = getDayjsUtcDate(defaultValue,
|
|
10740
|
+
timeValue = getDayjsUtcDate(defaultValue, DEFAULT_TIME_FORMAT);
|
|
10678
10741
|
} else if (value) {
|
|
10679
|
-
timeValue = getDayjsUtcDate(value,
|
|
10742
|
+
timeValue = getDayjsUtcDate(value, DEFAULT_TIME_FORMAT);
|
|
10680
10743
|
}
|
|
10681
10744
|
setTime(timeValue);
|
|
10682
10745
|
setPickerTime(timeValue);
|
|
@@ -10702,7 +10765,7 @@
|
|
|
10702
10765
|
var currentTimeValue = currentValue ? currentValue : null;
|
|
10703
10766
|
setPickerTime(currentValue ? currentValue : null);
|
|
10704
10767
|
!isControlledComponent && setTime(currentTimeValue);
|
|
10705
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(currentValue ? currentValue.format(
|
|
10768
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(currentValue ? currentValue.format(DEFAULT_TIME_FORMAT) : null, context);
|
|
10706
10769
|
};
|
|
10707
10770
|
var handleClose = function handleClose() {
|
|
10708
10771
|
!isOpenPropDefined && setIsPickerOpened(false);
|
|
@@ -10727,6 +10790,7 @@
|
|
|
10727
10790
|
};
|
|
10728
10791
|
var handleCancel = function handleCancel() {
|
|
10729
10792
|
setPickerTime(time);
|
|
10793
|
+
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
|
|
10730
10794
|
handleClose();
|
|
10731
10795
|
};
|
|
10732
10796
|
var handleSet = function handleSet() {
|
|
@@ -10735,12 +10799,18 @@
|
|
|
10735
10799
|
return;
|
|
10736
10800
|
}
|
|
10737
10801
|
setTime(pickerTime);
|
|
10738
|
-
onChange === null || onChange === void 0 ? void 0 : onChange(pickerTime.format(
|
|
10802
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(pickerTime.format(DEFAULT_TIME_FORMAT), {
|
|
10739
10803
|
validationError: null
|
|
10740
10804
|
});
|
|
10741
|
-
onAccept === null || onAccept === void 0 ? void 0 : onAccept(pickerTime.format(
|
|
10805
|
+
onAccept === null || onAccept === void 0 ? void 0 : onAccept(pickerTime.format(DEFAULT_TIME_FORMAT));
|
|
10742
10806
|
handleClose();
|
|
10743
10807
|
};
|
|
10808
|
+
var handleKeyDown = function handleKeyDown(contextEnum) {
|
|
10809
|
+
return function (event) {
|
|
10810
|
+
var currentContextEnum = getContextEnumBasedOnTarget(event, inputRef === null || inputRef === void 0 ? void 0 : inputRef.current, contextEnum);
|
|
10811
|
+
onKeyDown(event, currentContextEnum);
|
|
10812
|
+
};
|
|
10813
|
+
};
|
|
10744
10814
|
var scrollToSelectedTime = function scrollToSelectedTime() {
|
|
10745
10815
|
if (!(hoursRef === null || hoursRef === void 0 ? void 0 : hoursRef.current) || !(minutesRef === null || minutesRef === void 0 ? void 0 : minutesRef.current)) return;
|
|
10746
10816
|
var selectedHour = calculateHourBasedOnTimeFormat(time, ampm);
|
|
@@ -10775,6 +10845,118 @@
|
|
|
10775
10845
|
if (event.key !== 'Escape' || !isPickerOpened) return;
|
|
10776
10846
|
handleCancel();
|
|
10777
10847
|
};
|
|
10848
|
+
var wrapWithClickAwayListener = function wrapWithClickAwayListener(children) {
|
|
10849
|
+
return jsxRuntime.jsx(material.ClickAwayListener, __assign({
|
|
10850
|
+
onClickAway: handleSet
|
|
10851
|
+
}, {
|
|
10852
|
+
children: children
|
|
10853
|
+
}), void 0);
|
|
10854
|
+
};
|
|
10855
|
+
var renderTimePickerHours = function renderTimePickerHours() {
|
|
10856
|
+
return hours.map(function (hour, index) {
|
|
10857
|
+
var isSelected = pickerTime ? selectedPickerHour === hour : false;
|
|
10858
|
+
return jsxRuntime.jsx(DotButton, __assign({
|
|
10859
|
+
className: "dot-picker-button",
|
|
10860
|
+
"data-testid": dataTestId && dataTestId + "-hour-button-" + hour,
|
|
10861
|
+
onClick: function () {
|
|
10862
|
+
return handleHourClick(hour);
|
|
10863
|
+
},
|
|
10864
|
+
onKeyDown: handleTimeKeydown(hoursRef, index),
|
|
10865
|
+
tabIndex: getPopperButtonTabIndex(index, isSelected, selectedPickerHour),
|
|
10866
|
+
type: isSelected ? 'primary' : 'text'
|
|
10867
|
+
}, {
|
|
10868
|
+
children: hour.toString().padStart(2, '0')
|
|
10869
|
+
}), hour);
|
|
10870
|
+
});
|
|
10871
|
+
};
|
|
10872
|
+
var renderTimePickerMinutes = function renderTimePickerMinutes() {
|
|
10873
|
+
return minutes.map(function (minute, index) {
|
|
10874
|
+
var isSelected = pickerTime ? pickerTime.minute() === minute : false;
|
|
10875
|
+
return jsxRuntime.jsx(DotButton, __assign({
|
|
10876
|
+
className: "dot-picker-button",
|
|
10877
|
+
"data-testid": dataTestId && dataTestId + "-minute-button-" + minute,
|
|
10878
|
+
type: isSelected ? 'primary' : 'text',
|
|
10879
|
+
onClick: function () {
|
|
10880
|
+
return handleMinuteClick(minute);
|
|
10881
|
+
},
|
|
10882
|
+
onKeyDown: handleTimeKeydown(minutesRef, index),
|
|
10883
|
+
tabIndex: getPopperButtonTabIndex(index, isSelected, pickerTime === null || pickerTime === void 0 ? void 0 : pickerTime.minute())
|
|
10884
|
+
}, {
|
|
10885
|
+
children: minute.toString().padStart(2, '0')
|
|
10886
|
+
}), minute);
|
|
10887
|
+
});
|
|
10888
|
+
};
|
|
10889
|
+
var renderTimePickerActionButtons = function renderTimePickerActionButtons() {
|
|
10890
|
+
return jsxRuntime.jsxs("div", __assign({
|
|
10891
|
+
className: "dot-time-picker-action-buttons"
|
|
10892
|
+
}, {
|
|
10893
|
+
children: [jsxRuntime.jsx(DotButton, __assign({
|
|
10894
|
+
"data-testid": dataTestId && dataTestId + "-cancel",
|
|
10895
|
+
onClick: handleCancel,
|
|
10896
|
+
size: "small",
|
|
10897
|
+
type: "text"
|
|
10898
|
+
}, {
|
|
10899
|
+
children: "Cancel"
|
|
10900
|
+
}), void 0), jsxRuntime.jsx(DotButton, __assign({
|
|
10901
|
+
"data-testid": dataTestId && dataTestId + "-set",
|
|
10902
|
+
onClick: handleSet,
|
|
10903
|
+
size: "small",
|
|
10904
|
+
type: "text"
|
|
10905
|
+
}, {
|
|
10906
|
+
children: "Set"
|
|
10907
|
+
}), void 0)]
|
|
10908
|
+
}), void 0);
|
|
10909
|
+
};
|
|
10910
|
+
var renderDaytime = function renderDaytime() {
|
|
10911
|
+
return jsxRuntime.jsxs("div", __assign({
|
|
10912
|
+
className: "dot-time-picker-daytime",
|
|
10913
|
+
ref: daytimeRef
|
|
10914
|
+
}, {
|
|
10915
|
+
children: [jsxRuntime.jsx(DotButton, __assign({
|
|
10916
|
+
className: "dot-picker-button",
|
|
10917
|
+
"data-testid": dataTestId && dataTestId + "-am-button",
|
|
10918
|
+
onClick: function () {
|
|
10919
|
+
return handleDaytimeSelection(exports.Daytime.AM);
|
|
10920
|
+
},
|
|
10921
|
+
onKeyDown: handleTimeKeydown(daytimeRef, 0),
|
|
10922
|
+
tabIndex: getDaytimeButtonTabIndex(exports.Daytime.AM, daytimeSelected),
|
|
10923
|
+
type: getDaytimeButtonType(daytimeSelected)
|
|
10924
|
+
}, {
|
|
10925
|
+
children: exports.Daytime.AM
|
|
10926
|
+
}), exports.Daytime.AM), jsxRuntime.jsx(DotButton, __assign({
|
|
10927
|
+
className: "dot-picker-button",
|
|
10928
|
+
"data-testid": dataTestId && dataTestId + "-pm-button",
|
|
10929
|
+
onClick: function () {
|
|
10930
|
+
return handleDaytimeSelection(exports.Daytime.PM);
|
|
10931
|
+
},
|
|
10932
|
+
onKeyDown: handleTimeKeydown(daytimeRef, 1),
|
|
10933
|
+
tabIndex: getDaytimeButtonTabIndex(exports.Daytime.PM, daytimeSelected),
|
|
10934
|
+
type: getTimePickerButtonType(daytimeSelected)
|
|
10935
|
+
}, {
|
|
10936
|
+
children: exports.Daytime.PM
|
|
10937
|
+
}), exports.Daytime.PM)]
|
|
10938
|
+
}), void 0);
|
|
10939
|
+
};
|
|
10940
|
+
var paperComponent = jsxRuntime.jsxs(material.Paper, __assign({
|
|
10941
|
+
className: "dot-time-picker-paper",
|
|
10942
|
+
elevation: 8
|
|
10943
|
+
}, {
|
|
10944
|
+
children: [jsxRuntime.jsxs("div", __assign({
|
|
10945
|
+
className: "dot-time-picker-selection"
|
|
10946
|
+
}, {
|
|
10947
|
+
children: [jsxRuntime.jsx("div", __assign({
|
|
10948
|
+
className: "dot-time-picker-hours",
|
|
10949
|
+
ref: hoursRef
|
|
10950
|
+
}, {
|
|
10951
|
+
children: renderTimePickerHours()
|
|
10952
|
+
}), void 0), jsxRuntime.jsx("div", __assign({
|
|
10953
|
+
className: "dot-time-picker-minutes",
|
|
10954
|
+
ref: minutesRef
|
|
10955
|
+
}, {
|
|
10956
|
+
children: renderTimePickerMinutes()
|
|
10957
|
+
}), void 0), ampm && renderDaytime()]
|
|
10958
|
+
}), void 0), !hideActionButtons && renderTimePickerActionButtons()]
|
|
10959
|
+
}), void 0);
|
|
10778
10960
|
return jsxRuntime.jsxs(StyledTimePickerContainer, __assign({
|
|
10779
10961
|
className: containerClasses,
|
|
10780
10962
|
"data-testid": dataTestId,
|
|
@@ -10796,7 +10978,7 @@
|
|
|
10796
10978
|
autoFocus: autoFocus,
|
|
10797
10979
|
className: rootClasses,
|
|
10798
10980
|
disabled: disabled,
|
|
10799
|
-
format:
|
|
10981
|
+
format: displayFormat,
|
|
10800
10982
|
inputRef: inputRef,
|
|
10801
10983
|
label: persistentLabel ? null : label,
|
|
10802
10984
|
onChange: handleInputChange,
|
|
@@ -10828,7 +11010,8 @@
|
|
|
10828
11010
|
onBlur: onBlur
|
|
10829
11011
|
},
|
|
10830
11012
|
fullWidth: fullWidth,
|
|
10831
|
-
name: inputName
|
|
11013
|
+
name: inputName,
|
|
11014
|
+
onKeyDown: onKeyDown && handleKeyDown(exports.DatePickerKeydownContext.Input)
|
|
10832
11015
|
},
|
|
10833
11016
|
field: {
|
|
10834
11017
|
readOnly: isComponentReadOnly
|
|
@@ -10842,105 +11025,10 @@
|
|
|
10842
11025
|
"data-testid": dataTestId && dataTestId + "-popper",
|
|
10843
11026
|
disablePortal: true,
|
|
10844
11027
|
open: isPickerOpened,
|
|
11028
|
+
onKeyDown: onKeyDown && handleKeyDown(exports.DatePickerKeydownContext.Popper),
|
|
10845
11029
|
placement: "bottom-start"
|
|
10846
11030
|
}, {
|
|
10847
|
-
children:
|
|
10848
|
-
onClickAway: handleSet
|
|
10849
|
-
}, {
|
|
10850
|
-
children: jsxRuntime.jsxs(material.Paper, __assign({
|
|
10851
|
-
className: "dot-time-picker-paper",
|
|
10852
|
-
elevation: 8
|
|
10853
|
-
}, {
|
|
10854
|
-
children: [jsxRuntime.jsxs("div", __assign({
|
|
10855
|
-
className: "dot-time-picker-selection"
|
|
10856
|
-
}, {
|
|
10857
|
-
children: [jsxRuntime.jsx("div", __assign({
|
|
10858
|
-
className: "dot-time-picker-hours",
|
|
10859
|
-
ref: hoursRef
|
|
10860
|
-
}, {
|
|
10861
|
-
children: hours.map(function (hour, index) {
|
|
10862
|
-
var isSelected = pickerTime ? selectedPickerHour === hour : false;
|
|
10863
|
-
return jsxRuntime.jsx(DotButton, __assign({
|
|
10864
|
-
className: "dot-picker-button",
|
|
10865
|
-
"data-testid": dataTestId && dataTestId + "-hour-button-" + hour,
|
|
10866
|
-
onClick: function () {
|
|
10867
|
-
return handleHourClick(hour);
|
|
10868
|
-
},
|
|
10869
|
-
onKeyDown: handleTimeKeydown(hoursRef, index),
|
|
10870
|
-
tabIndex: getPopperButtonTabIndex(index, isSelected, selectedPickerHour),
|
|
10871
|
-
type: isSelected ? 'primary' : 'text'
|
|
10872
|
-
}, {
|
|
10873
|
-
children: hour.toString().padStart(2, '0')
|
|
10874
|
-
}), hour);
|
|
10875
|
-
})
|
|
10876
|
-
}), void 0), jsxRuntime.jsx("div", __assign({
|
|
10877
|
-
className: "dot-time-picker-minutes",
|
|
10878
|
-
ref: minutesRef
|
|
10879
|
-
}, {
|
|
10880
|
-
children: minutes.map(function (minute, index) {
|
|
10881
|
-
var isSelected = pickerTime ? pickerTime.minute() === minute : false;
|
|
10882
|
-
return jsxRuntime.jsx(DotButton, __assign({
|
|
10883
|
-
className: "dot-picker-button",
|
|
10884
|
-
"data-testid": dataTestId && dataTestId + "-minute-button-" + minute,
|
|
10885
|
-
type: isSelected ? 'primary' : 'text',
|
|
10886
|
-
onClick: function () {
|
|
10887
|
-
return handleMinuteClick(minute);
|
|
10888
|
-
},
|
|
10889
|
-
onKeyDown: handleTimeKeydown(minutesRef, index),
|
|
10890
|
-
tabIndex: getPopperButtonTabIndex(index, isSelected, pickerTime === null || pickerTime === void 0 ? void 0 : pickerTime.minute())
|
|
10891
|
-
}, {
|
|
10892
|
-
children: minute.toString().padStart(2, '0')
|
|
10893
|
-
}), minute);
|
|
10894
|
-
})
|
|
10895
|
-
}), void 0), ampm && jsxRuntime.jsxs("div", __assign({
|
|
10896
|
-
className: "dot-time-picker-daytime",
|
|
10897
|
-
ref: daytimeRef
|
|
10898
|
-
}, {
|
|
10899
|
-
children: [jsxRuntime.jsx(DotButton, __assign({
|
|
10900
|
-
className: "dot-picker-button",
|
|
10901
|
-
"data-testid": dataTestId && dataTestId + "-am-button",
|
|
10902
|
-
onClick: function () {
|
|
10903
|
-
return handleDaytimeSelection(exports.Daytime.AM);
|
|
10904
|
-
},
|
|
10905
|
-
onKeyDown: handleTimeKeydown(daytimeRef, 0),
|
|
10906
|
-
tabIndex: getDaytimeButtonTabIndex(exports.Daytime.AM, daytimeSelected),
|
|
10907
|
-
type: daytimeSelected && daytimeSelected === exports.Daytime.AM ? 'primary' : 'text'
|
|
10908
|
-
}, {
|
|
10909
|
-
children: exports.Daytime.AM
|
|
10910
|
-
}), exports.Daytime.AM), jsxRuntime.jsx(DotButton, __assign({
|
|
10911
|
-
className: "dot-picker-button",
|
|
10912
|
-
"data-testid": dataTestId && dataTestId + "-pm-button",
|
|
10913
|
-
onClick: function () {
|
|
10914
|
-
return handleDaytimeSelection(exports.Daytime.PM);
|
|
10915
|
-
},
|
|
10916
|
-
onKeyDown: handleTimeKeydown(daytimeRef, 1),
|
|
10917
|
-
tabIndex: getDaytimeButtonTabIndex(exports.Daytime.PM, daytimeSelected),
|
|
10918
|
-
type: getTimePickerButtonType(daytimeSelected)
|
|
10919
|
-
}, {
|
|
10920
|
-
children: exports.Daytime.PM
|
|
10921
|
-
}), exports.Daytime.PM)]
|
|
10922
|
-
}), void 0)]
|
|
10923
|
-
}), void 0), !hideActionButtons && jsxRuntime.jsxs("div", __assign({
|
|
10924
|
-
className: "dot-time-picker-action-buttons"
|
|
10925
|
-
}, {
|
|
10926
|
-
children: [jsxRuntime.jsx(DotButton, __assign({
|
|
10927
|
-
"data-testid": dataTestId && dataTestId + "-cancel",
|
|
10928
|
-
onClick: handleCancel,
|
|
10929
|
-
size: "small",
|
|
10930
|
-
type: "text"
|
|
10931
|
-
}, {
|
|
10932
|
-
children: "Cancel"
|
|
10933
|
-
}), void 0), jsxRuntime.jsx(DotButton, __assign({
|
|
10934
|
-
"data-testid": dataTestId && dataTestId + "-set",
|
|
10935
|
-
onClick: handleSet,
|
|
10936
|
-
size: "small",
|
|
10937
|
-
type: "text"
|
|
10938
|
-
}, {
|
|
10939
|
-
children: "Set"
|
|
10940
|
-
}), void 0)]
|
|
10941
|
-
}), void 0)]
|
|
10942
|
-
}), void 0)
|
|
10943
|
-
}), void 0)
|
|
11031
|
+
children: disableClickAwayListener ? paperComponent : wrapWithClickAwayListener(paperComponent)
|
|
10944
11032
|
}), void 0)]
|
|
10945
11033
|
}), void 0);
|
|
10946
11034
|
};
|
|
@@ -11033,6 +11121,7 @@
|
|
|
11033
11121
|
exports.DotTruncateWithTooltip = DotTruncateWithTooltip;
|
|
11034
11122
|
exports.DotTypography = DotTypography;
|
|
11035
11123
|
exports.avatarColors = avatarColors;
|
|
11124
|
+
exports.checkIfValidDate = checkIfValidDate;
|
|
11036
11125
|
exports.lightColors = lightThemeColors;
|
|
11037
11126
|
exports.mockScrollIntoView = mockScrollIntoView;
|
|
11038
11127
|
exports.parseAutoCompleteValue = parseAutoCompleteValue;
|
|
@@ -30,6 +30,8 @@ export interface AutoCompleteProps<T extends AutoCompleteOption = AutoCompleteOp
|
|
|
30
30
|
actionItem?: ActionItem;
|
|
31
31
|
/** This prop helps users to fill forms faster */
|
|
32
32
|
autoFocus?: boolean;
|
|
33
|
+
/** Used to determine the disabled state for a given option. */
|
|
34
|
+
checkIfOptionDisabled?: (option: T) => boolean;
|
|
33
35
|
/** default option that is selected */
|
|
34
36
|
defaultValue?: AutoCompleteValue;
|
|
35
37
|
/** Controls size of chip spacing within the autocomplete **/
|
|
@@ -94,4 +96,4 @@ export interface AutoCompleteProps<T extends AutoCompleteOption = AutoCompleteOp
|
|
|
94
96
|
/** If true, the label will be displayed in a warning state. */
|
|
95
97
|
warning?: boolean;
|
|
96
98
|
}
|
|
97
|
-
export declare const DotAutoComplete: <T extends AutoCompleteOption>({ ListboxComponent, actionItem, ariaLabel, autoFocus, className, "data-testid": dataTestId, defaultValue, dense, disabled, disablePortal, endAdornmentTooltip, error, filterSelectedOptions, freesolo, group, helperText, inputId, inputRef, label, loading, maxHeight, multiple, onBlur, onChange, onClose, onInputChange, onOpen, open, options, persistentLabel, placeholder, readOnly, renderOption, renderTags, required, size, value, warning, }: AutoCompleteProps<T>) => JSX.Element;
|
|
99
|
+
export declare const DotAutoComplete: <T extends AutoCompleteOption>({ ListboxComponent, actionItem, ariaLabel, autoFocus, className, "data-testid": dataTestId, defaultValue, dense, disabled, disablePortal, endAdornmentTooltip, error, filterSelectedOptions, freesolo, checkIfOptionDisabled, group, helperText, inputId, inputRef, label, loading, maxHeight, multiple, onBlur, onChange, onClose, onInputChange, onOpen, open, options, persistentLabel, placeholder, readOnly, renderOption, renderTags, required, size, value, warning, }: AutoCompleteProps<T>) => JSX.Element;
|