@comet/admin 9.0.0-beta.5 → 9.0.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/lib/common/ClearInputAdornment.d.ts.map +1 -1
  2. package/lib/common/ClearInputAdornment.js +6 -2
  3. package/lib/dataGrid/excelExport/generateExcelFile.d.ts.map +1 -1
  4. package/lib/dataGrid/excelExport/generateExcelFile.js +23 -1
  5. package/lib/dateTime/timePicker/TimePicker.d.ts.map +1 -1
  6. package/lib/dateTime/timePicker/TimePicker.js +2 -17
  7. package/lib/dateTime/timeRangePicker/TimeRangePicker.d.ts +71 -0
  8. package/lib/dateTime/timeRangePicker/TimeRangePicker.d.ts.map +1 -0
  9. package/lib/dateTime/timeRangePicker/TimeRangePicker.js +191 -0
  10. package/lib/dateTime/timeRangePickerField/TimeRangePickerField.d.ts +13 -0
  11. package/lib/dateTime/timeRangePickerField/TimeRangePickerField.d.ts.map +1 -0
  12. package/lib/dateTime/timeRangePickerField/TimeRangePickerField.js +31 -0
  13. package/lib/dateTime/utils.d.ts +6 -0
  14. package/lib/dateTime/utils.d.ts.map +1 -1
  15. package/lib/dateTime/utils.js +19 -1
  16. package/lib/{EditDialog.d.ts → editDialog/EditDialog.d.ts} +1 -1
  17. package/lib/editDialog/EditDialog.d.ts.map +1 -0
  18. package/lib/{EditDialog.js → editDialog/EditDialog.js} +5 -5
  19. package/lib/editDialog/EditDialogApiContext.d.ts.map +1 -0
  20. package/lib/form/FinalFormNumberInput.d.ts.map +1 -1
  21. package/lib/form/FinalFormNumberInput.js +2 -3
  22. package/lib/index.d.ts +4 -2
  23. package/lib/index.d.ts.map +1 -1
  24. package/lib/index.js +4 -2
  25. package/package.json +19 -12
  26. package/lib/EditDialog.d.ts.map +0 -1
  27. package/lib/EditDialogApiContext.d.ts.map +0 -1
  28. package/lib/alert/__stories__/Alert.stories.js +0 -152
  29. package/lib/common/__stories__/Tooltip.stories.js +0 -404
  30. package/lib/common/buttons/__stories__/Button.stories.js +0 -445
  31. package/lib/common/buttons/delete/__stories__/DeleteButton.stories.js +0 -8
  32. package/lib/common/toolbar/__stories__/DataGridToolbar.stories.js +0 -76
  33. package/lib/common/toolbar/__stories__/Toolbar.stories.js +0 -82
  34. package/lib/dataGrid/__stories__/ClickableRows.stories.js +0 -109
  35. package/lib/dataGrid/__stories__/CrudMoreActionsMenu.stories.js +0 -50
  36. package/lib/dataGrid/__stories__/DataGrid.stories.js +0 -94
  37. package/lib/dataGrid/__stories__/DataGridSingleSelectFilter.stories.js +0 -492
  38. package/lib/dateTime/datePicker/__stories__/DatePicker.stories.js +0 -214
  39. package/lib/dateTime/datePickerField/__stories__/DatePickerField.stories.js +0 -220
  40. package/lib/dateTime/dateRangePicker/__stories__/DateRangePicker.stories.js +0 -238
  41. package/lib/dateTime/dateRangePickerField/__stories__/DateRangePickerField.stories.js +0 -224
  42. package/lib/dateTime/dateTimePicker/__stories__/DateTimePicker.stories.js +0 -214
  43. package/lib/dateTime/dateTimePickerField/__stories__/DateTimePickerField.stories.js +0 -220
  44. package/lib/dateTime/dateTimeRangePicker/__stories__/DateTimeRangePicker.stories.js +0 -238
  45. package/lib/dateTime/dateTimeRangePickerField/__stories__/DateTimeRangePickerField.stories.js +0 -223
  46. package/lib/dateTime/timePicker/__stories__/TimePicker.stories.js +0 -219
  47. package/lib/dateTime/timePickerField/__stories__/TimePickerField.stories.js +0 -229
  48. package/lib/form/__stories__/AsyncAutocompleteField.stories.js +0 -660
  49. package/lib/form/__stories__/AsyncSelectField.stories.js +0 -513
  50. package/lib/form/__stories__/Autocomplete.stories.js +0 -188
  51. package/lib/form/__stories__/AutocompleteField.stories.js +0 -48
  52. package/lib/form/__stories__/Checkbox.stories.js +0 -70
  53. package/lib/form/__stories__/CheckboxField.stories.js +0 -87
  54. package/lib/form/__stories__/CheckboxListField.stories.js +0 -172
  55. package/lib/form/__stories__/CustomButtons.stories.js +0 -78
  56. package/lib/form/__stories__/DependentAsyncSelects.stories.js +0 -91
  57. package/lib/form/__stories__/DisableAutoNavigation.stories.js +0 -132
  58. package/lib/form/__stories__/DisabledSubmitIfNotDirty.stories.js +0 -54
  59. package/lib/form/__stories__/FieldContainer.stories.js +0 -87
  60. package/lib/form/__stories__/FinalFormFileSelect.stories.js +0 -155
  61. package/lib/form/__stories__/FormInStack.stories.js +0 -133
  62. package/lib/form/__stories__/FormLayouts.stories.js +0 -174
  63. package/lib/form/__stories__/FormValidation.stories.js +0 -82
  64. package/lib/form/__stories__/Input.stories.js +0 -37
  65. package/lib/form/__stories__/NumberField.stories.js +0 -38
  66. package/lib/form/__stories__/Radio.stories.js +0 -101
  67. package/lib/form/__stories__/RadioGroupField.stories.js +0 -172
  68. package/lib/form/__stories__/RangeInput.stories.js +0 -239
  69. package/lib/form/__stories__/RouterTabs.stories.js +0 -96
  70. package/lib/form/__stories__/RouterTabsInForm.stories.js +0 -73
  71. package/lib/form/__stories__/RouterTabsInFormWithSubroutes.stories.js +0 -96
  72. package/lib/form/__stories__/ScrollToErrorField.stories.js +0 -82
  73. package/lib/form/__stories__/SearchField.stories.js +0 -38
  74. package/lib/form/__stories__/Select.stories.js +0 -187
  75. package/lib/form/__stories__/SelectField.stories.js +0 -100
  76. package/lib/form/__stories__/ShowErrorStrategies.stories.js +0 -107
  77. package/lib/form/__stories__/SingleTextField.stories.js +0 -108
  78. package/lib/form/__stories__/StackInForm.stories.js +0 -53
  79. package/lib/form/__stories__/SubmitErrors.stories.js +0 -90
  80. package/lib/form/__stories__/Switch.stories.js +0 -49
  81. package/lib/form/__stories__/SwitchField.stories.js +0 -87
  82. package/lib/form/__stories__/Tabs.stories.js +0 -78
  83. package/lib/form/__stories__/TextAreaField.stories.js +0 -38
  84. package/lib/form/__stories__/TextField.stories.js +0 -67
  85. package/lib/form/__stories__/ToggleButtonGroupField.stories.js +0 -312
  86. package/lib/form/__stories__/TwoLevelValidation.stories.js +0 -168
  87. package/lib/form/__stories__/Typography.stories.js +0 -71
  88. package/lib/form/file/__stories__/FileDropzone.stories.js +0 -81
  89. package/lib/form/file/__stories__/FileSelect.stories.js +0 -139
  90. package/lib/form/file/__stories__/FileSelectListItem.stories.js +0 -108
  91. package/lib/form/file/__stories__/FileSelectMultipleExamples.stories.js +0 -187
  92. package/lib/section/__stories__/SectionHeadline.stories.js +0 -71
  93. package/lib/stack/__stories__/RouterTabsNestedStack.stories.js +0 -51
  94. package/lib/stack/__stories__/Stack.stories.js +0 -14
  95. package/lib/stack/__stories__/StackBackButton.stories.js +0 -50
  96. package/lib/stack/__stories__/StackBreadcrumbs.stories.js +0 -139
  97. package/lib/stack/__stories__/StackBreadcrumbsTabs.stories.js +0 -47
  98. package/lib/stack/__stories__/StackCustomSeparator.stories.js +0 -47
  99. package/lib/stack/__stories__/StackLink.stories.js +0 -41
  100. package/lib/stack/__stories__/StackNested.stories.js +0 -58
  101. package/lib/stack/__stories__/StackNestedOnInitialPage.stories.js +0 -78
  102. package/lib/stack/__stories__/StackNestedOneStack.stories.js +0 -90
  103. package/lib/stack/__stories__/StackPageTitle.stories.js +0 -121
  104. package/lib/stack/__stories__/StackReactNodeTitle.stories.js +0 -54
  105. package/lib/stack/__stories__/StackRefApi.stories.js +0 -56
  106. package/lib/stack/__stories__/StackTableFormQueryAtStack.stories.js +0 -155
  107. package/lib/stack/__stories__/StackTableFormQueryInTable.stories.js +0 -160
  108. package/lib/stack/__stories__/StackUrl.stories.js +0 -66
  109. package/lib/tabs/__stories__/DynamicTabs.stories.js +0 -84
  110. package/lib/tabs/__stories__/NestedStackSwitchWithRouterTabs.stories.js +0 -84
  111. package/lib/tabs/__stories__/OverflowIssues.stories.js +0 -224
  112. package/lib/tabs/__stories__/RouterTabs.stories.js +0 -31
  113. package/lib/tabs/__stories__/RouterTabsInStack.stories.js +0 -74
  114. package/lib/tabs/__stories__/RouterTabsInSubroute.stories.js +0 -68
  115. package/lib/tabs/__stories__/Tabs.stories.js +0 -219
  116. package/lib/translator/__stories__/ContentTranslation.stories.js +0 -104
  117. /package/lib/{EditDialogApiContext.d.ts → editDialog/EditDialogApiContext.d.ts} +0 -0
  118. /package/lib/{EditDialogApiContext.js → editDialog/EditDialogApiContext.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ClearInputAdornment.d.ts","sourceRoot":"","sources":["../../src/common/ClearInputAdornment.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,UAAU,EACV,KAAK,mBAAmB,EAExB,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EAExB,KAAK,KAAK,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,WAAW,wBACb,SAAQ,mBAAmB,EACvB,wBAAwB,CAAC;IACrB,IAAI,EAAE,OAAO,cAAc,CAAC;IAC5B,UAAU,EAAE,OAAO,UAAU,CAAC;CACjC,CAAC;IACN,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,MAAM,MAAM,2BAA2B,GAAG,sBAAsB,GAAG,YAAY,CAAC;AAEhF,eAAO,MAAM,mBAAmB,GAAI,SAAS,wBAAwB,4CAoBpE,CAAC;AAyCF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,uBAAuB;QAC7B,6BAA6B,EAAE,2BAA2B,CAAC;KAC9D;IAED,UAAU,mBAAmB;QACzB,6BAA6B,EAAE,wBAAwB,CAAC;KAC3D;IAED,UAAU,UAAU;QAChB,6BAA6B,CAAC,EAAE;YAC5B,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC7E,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,+BAA+B,CAAC,CAAC;SAChF,CAAC;KACL;CACJ"}
1
+ {"version":3,"file":"ClearInputAdornment.d.ts","sourceRoot":"","sources":["../../src/common/ClearInputAdornment.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,UAAU,EACV,KAAK,mBAAmB,EAExB,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EAExB,KAAK,KAAK,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,WAAW,wBACb,SAAQ,mBAAmB,EACvB,wBAAwB,CAAC;IACrB,IAAI,EAAE,OAAO,cAAc,CAAC;IAC5B,UAAU,EAAE,OAAO,UAAU,CAAC;CACjC,CAAC;IACN,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAID,MAAM,MAAM,2BAA2B,GAAG,sBAAsB,GAAG,YAAY,CAAC;AAEhF,eAAO,MAAM,mBAAmB,GAAI,SAAS,wBAAwB,4CA4BpE,CAAC;AAyCF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,uBAAuB;QAC7B,6BAA6B,EAAE,2BAA2B,CAAC;KAC9D;IAED,UAAU,mBAAmB;QACzB,6BAA6B,EAAE,wBAAwB,CAAC;KAC3D;IAED,UAAU,UAAU;QAChB,6BAA6B,CAAC,EAAE;YAC5B,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC7E,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,+BAA+B,CAAC,CAAC;SAChF,CAAC;KACL;CACJ"}
@@ -18,7 +18,7 @@ export var ClearInputAdornment = function ClearInputAdornment(inProps) {
18
18
  props: inProps,
19
19
  name: "CometAdminClearInputAdornment"
20
20
  }),
21
- onClick = _useThemeProps.onClick,
21
+ _onClick = _useThemeProps.onClick,
22
22
  position = _useThemeProps.position,
23
23
  _useThemeProps$icon = _useThemeProps.icon,
24
24
  icon = _useThemeProps$icon === void 0 ? /*#__PURE__*/_jsx(Clear, {
@@ -34,7 +34,11 @@ export var ClearInputAdornment = function ClearInputAdornment(inProps) {
34
34
  ownerState: ownerState
35
35
  }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
36
36
  children: /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
37
- onClick: onClick,
37
+ onClick: function onClick(event) {
38
+ // Prevent the click from bubbling to the surrounding input, which could trigger its own click handler.
39
+ event.stopPropagation();
40
+ _onClick();
41
+ },
38
42
  focusRipple: true
39
43
  }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.buttonBase), {}, {
40
44
  children: icon
@@ -1 +1 @@
1
- {"version":3,"file":"generateExcelFile.d.ts","sourceRoot":"","sources":["../../../src/dataGrid/excelExport/generateExcelFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,MAAM,WAAW,sBAAsB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;CAClD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,iBAAiB,EAC3D,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAC/B,IAAI,EAAE,GAAG,EAAE,EACX,eAAe,EAAE,sBAAsB,kBAoE1C"}
1
+ {"version":3,"file":"generateExcelFile.d.ts","sourceRoot":"","sources":["../../../src/dataGrid/excelExport/generateExcelFile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,MAAM,WAAW,sBAAsB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;CAClD;AAwBD,wBAAgB,iBAAiB,CAAC,GAAG,SAAS,iBAAiB,EAC3D,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAC/B,IAAI,EAAE,GAAG,EAAE,EACX,eAAe,EAAE,sBAAsB,kBAsE1C"}
@@ -1,9 +1,29 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
1
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
3
2
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
3
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
4
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
5
  import * as Excel from "exceljs";
6
6
  import { applyDefaultStyling } from "./applyDefaultStyling";
7
+ function resolveSingleSelectValueOptionLabel(column, row, value) {
8
+ if (column.type !== "singleSelect" || column.valueOptions == null) {
9
+ return value;
10
+ }
11
+ var valueOptions = typeof column.valueOptions === "function" ? column.valueOptions({
12
+ field: column.field,
13
+ id: row.id,
14
+ row: row
15
+ }) : column.valueOptions;
16
+ var matchingValueOption = valueOptions.find(function (valueOption) {
17
+ if (_typeof(valueOption) === "object") {
18
+ return valueOption.value === value;
19
+ }
20
+ return valueOption === value;
21
+ });
22
+ if (matchingValueOption == null || _typeof(matchingValueOption) !== "object") {
23
+ return matchingValueOption !== null && matchingValueOption !== void 0 ? matchingValueOption : value;
24
+ }
25
+ return matchingValueOption.label;
26
+ }
7
27
  export function generateExcelFile(columns, data, generateOptions) {
8
28
  var worksheetName = generateOptions.worksheetName,
9
29
  styling = generateOptions.styling;
@@ -44,6 +64,8 @@ export function generateExcelFile(columns, data, generateOptions) {
44
64
  var _column$valueFormatte;
45
65
  // @ts-expect-error `valueFormatter` requires more data but we don't have all that data available so we only pass in what we have and hope nothing breaks
46
66
  value = (_column$valueFormatte = column.valueFormatter(value, row)) !== null && _column$valueFormatte !== void 0 ? _column$valueFormatte : "";
67
+ } else {
68
+ value = resolveSingleSelectValueOptionLabel(column, row, value);
47
69
  }
48
70
  if (typeof value !== "string" && typeof value !== "boolean" && typeof value !== "number" && value !== null && !(value instanceof Date)) {
49
71
  throw new Error("The type of the provided value \"".concat(_typeof(value), "\" is not supported for excel export."));
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/timePicker/TimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EAA2B,UAAU,IAAI,aAAa,EAAE,KAAK,eAAe,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEvI,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAEvF,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAE9G,MAAM,MAAM,eAAe,GAAG,wBAAwB,CAAC;IACnD,IAAI,EAAE,OAAO,aAAa,CAAC;IAC3B,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;IACrD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACnD,CAAC,GAAG;IACD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,SAAS,CAAC;KAC1B,CAAC;CACL,GAAG,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;AAqBjE;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,eAAe,4CA8FlD,CAAC;AAoBF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,oBAAoB,EAAE,eAAe,CAAC;KACzC;IAED,UAAU,uBAAuB;QAC7B,oBAAoB,EAAE,kBAAkB,CAAC;KAC5C;IAED,UAAU,UAAU;QAChB,oBAAoB,CAAC,EAAE;YACnB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACpE,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC;SACvE,CAAC;KACL;CACJ"}
1
+ {"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/timePicker/TimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EAA2B,UAAU,IAAI,aAAa,EAAE,KAAK,eAAe,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACvI,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAGjD,OAAO,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGvF,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAE9G,MAAM,MAAM,eAAe,GAAG,wBAAwB,CAAC;IACnD,IAAI,EAAE,OAAO,aAAa,CAAC;IAC3B,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;IACrD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACnD,CAAC,GAAG;IACD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,SAAS,CAAC;KAC1B,CAAC;CACL,GAAG,IAAI,CAAC,kBAAkB,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;AAEjE;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,eAAe,4CA8FlD,CAAC;AAoBF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,oBAAoB,EAAE,eAAe,CAAC;KACzC;IAED,UAAU,uBAAuB;QAC7B,oBAAoB,EAAE,kBAAkB,CAAC;KAC5C;IAED,UAAU,UAAU;QAChB,oBAAoB,CAAC,EAAE;YACnB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACpE,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC;SACvE,CAAC;KACL;CACJ"}
@@ -18,29 +18,14 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
18
18
  import { Time } from "@comet/admin-icons";
19
19
  import { css, inputLabelClasses, useThemeProps } from "@mui/material";
20
20
  import { pickersInputBaseClasses, TimePicker as MuiTimePicker } from "@mui/x-date-pickers";
21
- import { format, parse } from "date-fns";
22
21
  import { useState } from "react";
23
22
  import { useIntl } from "react-intl";
24
23
  import { ClearInputAdornment as CometClearInputAdornment } from "../../common/ClearInputAdornment";
25
24
  import { OpenPickerAdornment } from "../../common/OpenPickerAdornment";
26
25
  import { ReadOnlyAdornment } from "../../common/ReadOnlyAdornment";
27
26
  import { createComponentSlot } from "../../helpers/createComponentSlot";
27
+ import { getDateFromTimeString, getTimeStringFromDate } from "../utils";
28
28
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
29
- var getTimeString = function getTimeString(date) {
30
- return format(date, "HH:mm");
31
- };
32
- var getDateFromTimeString = function getDateFromTimeString(value) {
33
- if (!value) {
34
- return null;
35
- }
36
- var parsedDate = parse(value, "HH:mm", new Date());
37
- var isValid = !isNaN(parsedDate.getTime());
38
- if (!isValid) {
39
- throw new Error("Invalid time value: \"".concat(value, "\", must be a 24h time in format HH:mm"));
40
- }
41
- return parsedDate;
42
- };
43
-
44
29
  /**
45
30
  * The TimePicker component allows users to select a time from a time picker interface. It provides a text field
46
31
  * with a time icon that opens a time picker dialog. The component handles time strings in 24-hour format (HH:mm)
@@ -93,7 +78,7 @@ export var TimePicker = function TimePicker(inProps) {
93
78
  _onChange === null || _onChange === void 0 || _onChange(undefined);
94
79
  return;
95
80
  }
96
- _onChange === null || _onChange === void 0 || _onChange(getTimeString(date));
81
+ _onChange === null || _onChange === void 0 || _onChange(getTimeStringFromDate(date));
97
82
  }
98
83
  }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
99
84
  slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root = slotProps.root) === null || _slotProps$root === void 0 ? void 0 : _slotProps$root.slotProps), {}, {
@@ -0,0 +1,71 @@
1
+ import { type ComponentsOverrides, type Theme } from "@mui/material";
2
+ import type { TimeRangePickerProps as MuiTimeRangePickerProps } from "@mui/x-date-pickers-pro";
3
+ import { type ComponentType, type ReactNode } from "react";
4
+ import { ClearInputAdornment as CometClearInputAdornment } from "../../common/ClearInputAdornment";
5
+ import { OpenPickerAdornment } from "../../common/OpenPickerAdornment";
6
+ import { ReadOnlyAdornment } from "../../common/ReadOnlyAdornment";
7
+ import type { ThemedComponentBaseProps } from "../../helpers/ThemedComponentBaseProps";
8
+ /**
9
+ * Represents a time range with start and end times in 24-hour format (HH:mm).
10
+ */
11
+ export type TimeRange = {
12
+ start: string | null;
13
+ end: string | null;
14
+ };
15
+ export type TimeRangePickerClassKey = "root" | "clearInputAdornment" | "readOnlyAdornment" | "openPickerAdornment";
16
+ export type TimeRangePickerProps = ThemedComponentBaseProps<{
17
+ root: ComponentType<MuiTimeRangePickerProps>;
18
+ clearInputAdornment: typeof CometClearInputAdornment;
19
+ readOnlyAdornment: typeof ReadOnlyAdornment;
20
+ openPickerAdornment: typeof OpenPickerAdornment;
21
+ }> & {
22
+ fullWidth?: boolean;
23
+ /**
24
+ * If `true`, the picker will be marked as required and the clear button will be hidden.
25
+ */
26
+ required?: boolean;
27
+ /**
28
+ * The selected time range value with start and end times in 24-hour format (HH:mm).
29
+ */
30
+ value?: TimeRange;
31
+ /**
32
+ * Callback fired when the time range changes.
33
+ *
34
+ * @param time - The new time range value, or `undefined` if cleared.
35
+ */
36
+ onChange?: (time: TimeRange | undefined) => void;
37
+ onBlur?: () => void;
38
+ onFocus?: () => void;
39
+ /**
40
+ * Custom icons for the picker.
41
+ *
42
+ * - `openPicker`: Icon to display in the adornment that opens the time range picker (default: Time icon)
43
+ */
44
+ iconMapping?: {
45
+ openPicker?: ReactNode;
46
+ };
47
+ } & Omit<MuiTimeRangePickerProps, "value" | "onChange">;
48
+ /**
49
+ * The TimeRangePicker component allows users to select a time range from a time picker interface. It provides two
50
+ * text fields with a time icon that opens a time range picker dialog. The component handles time strings in 24-hour
51
+ * format (HH:mm) and includes features like clearing, read-only state, and customizable icons.
52
+ *
53
+ * - [Storybook](https://storybook.comet-dxp.com/?path=/docs/@comet/admin_components-datetime-timerangepicker--docs)
54
+ * - [MUI X TimeRangePicker Documentation](https://mui.com/x/react-date-pickers/time-range-picker/)
55
+ */
56
+ export declare const TimeRangePicker: (inProps: TimeRangePickerProps) => import("react/jsx-runtime").JSX.Element;
57
+ declare module "@mui/material/styles" {
58
+ interface ComponentsPropsList {
59
+ CometAdminTimeRangePicker: TimeRangePickerProps;
60
+ }
61
+ interface ComponentNameToClassKey {
62
+ CometAdminTimeRangePicker: TimeRangePickerClassKey;
63
+ }
64
+ interface Components {
65
+ CometAdminTimeRangePicker?: {
66
+ defaultProps?: Partial<ComponentsPropsList["CometAdminTimeRangePicker"]>;
67
+ styleOverrides?: ComponentsOverrides<Theme>["CometAdminTimeRangePicker"];
68
+ };
69
+ }
70
+ }
71
+ //# sourceMappingURL=TimeRangePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeRangePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/timeRangePicker/TimeRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,KAAK,EAAE,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,KAAK,aAAa,EAAQ,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AAGrF,OAAO,EAAE,mBAAmB,IAAI,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGvF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAEnH,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,CAAC;IACxD,IAAI,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC7C,mBAAmB,EAAE,OAAO,wBAAwB,CAAC;IACrD,iBAAiB,EAAE,OAAO,iBAAiB,CAAC;IAC5C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACnD,CAAC,GAAG;IACD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IACjD,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,SAAS,CAAC;KAC1B,CAAC;CACL,GAAG,IAAI,CAAC,uBAAuB,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAMxD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,oBAAoB,4CAiH5D,CAAC;AA6BF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,yBAAyB,EAAE,oBAAoB,CAAC;KACnD;IAED,UAAU,uBAAuB;QAC7B,yBAAyB,EAAE,uBAAuB,CAAC;KACtD;IAED,UAAU,UAAU;QAChB,yBAAyB,CAAC,EAAE;YACxB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACzE,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC,CAAC;SAC5E,CAAC;KACL;CACJ"}
@@ -0,0 +1,191 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _templateObject;
3
+ var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "onBlur", "onFocus", "readOnly"];
4
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
5
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
6
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
7
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
8
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
13
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
15
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
17
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
18
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
19
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
20
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
21
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
22
+ import { Time } from "@comet/admin-icons";
23
+ import { css, inputLabelClasses, useThemeProps } from "@mui/material";
24
+ import { lazy, Suspense, useState } from "react";
25
+ import { useIntl } from "react-intl";
26
+ import { ClearInputAdornment as CometClearInputAdornment } from "../../common/ClearInputAdornment";
27
+ import { OpenPickerAdornment } from "../../common/OpenPickerAdornment";
28
+ import { ReadOnlyAdornment } from "../../common/ReadOnlyAdornment";
29
+ import { createComponentSlot } from "../../helpers/createComponentSlot";
30
+ import { getDateFromTimeString, getTimeStringFromDate, isValidDate } from "../utils";
31
+
32
+ /**
33
+ * Represents a time range with start and end times in 24-hour format (HH:mm).
34
+ */
35
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
36
+ var getTimeRangeValue = function getTimeRangeValue(value) {
37
+ return [getDateFromTimeString(value === null || value === void 0 ? void 0 : value.start), getDateFromTimeString(value === null || value === void 0 ? void 0 : value.end)];
38
+ };
39
+
40
+ /**
41
+ * The TimeRangePicker component allows users to select a time range from a time picker interface. It provides two
42
+ * text fields with a time icon that opens a time range picker dialog. The component handles time strings in 24-hour
43
+ * format (HH:mm) and includes features like clearing, read-only state, and customizable icons.
44
+ *
45
+ * - [Storybook](https://storybook.comet-dxp.com/?path=/docs/@comet/admin_components-datetime-timerangepicker--docs)
46
+ * - [MUI X TimeRangePicker Documentation](https://mui.com/x/react-date-pickers/time-range-picker/)
47
+ */
48
+ export var TimeRangePicker = function TimeRangePicker(inProps) {
49
+ var _slotProps$root, _slotProps$root2;
50
+ var _useThemeProps = useThemeProps({
51
+ props: inProps,
52
+ name: "CometAdminTimeRangePicker"
53
+ }),
54
+ _useThemeProps$iconMa = _useThemeProps.iconMapping,
55
+ iconMapping = _useThemeProps$iconMa === void 0 ? {} : _useThemeProps$iconMa,
56
+ fullWidth = _useThemeProps.fullWidth,
57
+ required = _useThemeProps.required,
58
+ slotProps = _useThemeProps.slotProps,
59
+ disabled = _useThemeProps.disabled,
60
+ stringTimeRangeValue = _useThemeProps.value,
61
+ _onChange = _useThemeProps.onChange,
62
+ onBlur = _useThemeProps.onBlur,
63
+ onFocus = _useThemeProps.onFocus,
64
+ readOnly = _useThemeProps.readOnly,
65
+ restProps = _objectWithoutProperties(_useThemeProps, _excluded);
66
+ var intl = useIntl();
67
+ var _useState = useState(false),
68
+ _useState2 = _slicedToArray(_useState, 2),
69
+ open = _useState2[0],
70
+ setOpen = _useState2[1];
71
+ var timeRangeValue = getTimeRangeValue(stringTimeRangeValue);
72
+ var hasTimeRangeValue = timeRangeValue.some(function (time) {
73
+ return time !== null;
74
+ });
75
+ var _iconMapping$openPick = iconMapping.openPicker,
76
+ openPickerIcon = _iconMapping$openPick === void 0 ? /*#__PURE__*/_jsx(Time, {
77
+ color: "inherit"
78
+ }) : _iconMapping$openPick;
79
+ return /*#__PURE__*/_jsx(Suspense, {
80
+ children: /*#__PURE__*/_jsx(LazyRoot, _objectSpread(_objectSpread(_objectSpread({
81
+ disabled: disabled,
82
+ readOnly: readOnly,
83
+ open: open,
84
+ onOpen: function onOpen() {
85
+ return setOpen(true);
86
+ },
87
+ onClose: function onClose() {
88
+ return setOpen(false);
89
+ },
90
+ value: timeRangeValue,
91
+ onChange: function onChange(_ref) {
92
+ var _ref2 = _slicedToArray(_ref, 2),
93
+ startTime = _ref2[0],
94
+ endTime = _ref2[1];
95
+ var startTimeIsInvalid = startTime !== null && !isValidDate(startTime);
96
+ var endTimeIsInvalid = endTime !== null && !isValidDate(endTime);
97
+ if (startTimeIsInvalid || endTimeIsInvalid) {
98
+ return;
99
+ }
100
+ if (!startTime && !endTime) {
101
+ _onChange === null || _onChange === void 0 || _onChange(undefined);
102
+ return;
103
+ }
104
+ _onChange === null || _onChange === void 0 || _onChange({
105
+ start: startTime ? getTimeStringFromDate(startTime) : null,
106
+ end: endTime ? getTimeStringFromDate(endTime) : null
107
+ });
108
+ }
109
+ }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
110
+ slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root = slotProps.root) === null || _slotProps$root === void 0 ? void 0 : _slotProps$root.slotProps), {}, {
111
+ field: _objectSpread({
112
+ dateSeparator: intl.formatMessage({
113
+ id: "comet.timeRangePicker.separator",
114
+ defaultMessage: "to"
115
+ })
116
+ }, slotProps === null || slotProps === void 0 || (_slotProps$root2 = slotProps.root) === null || _slotProps$root2 === void 0 || (_slotProps$root2 = _slotProps$root2.slotProps) === null || _slotProps$root2 === void 0 ? void 0 : _slotProps$root2.field),
117
+ textField: function textField(ownerState) {
118
+ var _slotProps$root3, _slotProps$openPicker, _slotProps$openPicker2;
119
+ var textFieldProps = _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root3 = slotProps.root) === null || _slotProps$root3 === void 0 || (_slotProps$root3 = _slotProps$root3.slotProps) === null || _slotProps$root3 === void 0 ? void 0 : _slotProps$root3.textField), {}, {
120
+ ownerState: ownerState
121
+ });
122
+ return _objectSpread(_objectSpread({
123
+ fullWidth: fullWidth,
124
+ required: required,
125
+ onBlur: onBlur,
126
+ onFocus: onFocus
127
+ }, textFieldProps), {}, {
128
+ InputProps: {
129
+ startAdornment: /*#__PURE__*/_jsx(OpenPickerAdornment, _objectSpread(_objectSpread({
130
+ inputIsDisabled: disabled,
131
+ inputIsReadOnly: readOnly,
132
+ onClick: function onClick() {
133
+ return setOpen(true);
134
+ }
135
+ }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.openPickerAdornment), {}, {
136
+ slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$openPicker = slotProps.openPickerAdornment) === null || _slotProps$openPicker === void 0 ? void 0 : _slotProps$openPicker.slotProps), {}, {
137
+ openPickerButton: _objectSpread({
138
+ "aria-label": intl.formatMessage({
139
+ id: "comet.timeRangePicker.openPicker",
140
+ defaultMessage: "Open time range picker"
141
+ })
142
+ }, slotProps === null || slotProps === void 0 || (_slotProps$openPicker2 = slotProps.openPickerAdornment) === null || _slotProps$openPicker2 === void 0 || (_slotProps$openPicker2 = _slotProps$openPicker2.slotProps) === null || _slotProps$openPicker2 === void 0 ? void 0 : _slotProps$openPicker2.openPickerButton)
143
+ }),
144
+ children: openPickerIcon
145
+ })),
146
+ endAdornment: /*#__PURE__*/_jsxs(_Fragment, {
147
+ children: [/*#__PURE__*/_jsx(ReadOnlyAdornment, _objectSpread({
148
+ inputIsReadOnly: Boolean(readOnly)
149
+ }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.readOnlyAdornment)), hasTimeRangeValue && !required && !disabled && !readOnly && /*#__PURE__*/_jsx(ClearInputAdornment, _objectSpread({
150
+ position: "end",
151
+ onClick: function onClick() {
152
+ return _onChange === null || _onChange === void 0 ? void 0 : _onChange(undefined);
153
+ }
154
+ }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.clearInputAdornment))]
155
+ })
156
+ }
157
+ });
158
+ }
159
+ })
160
+ }))
161
+ });
162
+ };
163
+ var LazyRoot = /*#__PURE__*/lazy(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
164
+ var module, Root;
165
+ return _regenerator().w(function (_context) {
166
+ while (1) switch (_context.n) {
167
+ case 0:
168
+ _context.n = 1;
169
+ return import("@mui/x-date-pickers-pro");
170
+ case 1:
171
+ module = _context.v;
172
+ Root = createComponentSlot(module.TimeRangePicker)({
173
+ componentName: "TimeRangePicker",
174
+ slotName: "root"
175
+ })(css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n // Hide the per-field \"Start\"/\"End\" labels, which aren't part of the design.\n .", " {\n display: none;\n\n & + .", " {\n margin-top: 0;\n }\n }\n "])), inputLabelClasses.root, module.pickersInputBaseClasses.root));
176
+ return _context.a(2, {
177
+ "default": function _default(props) {
178
+ return /*#__PURE__*/_jsx(Root, _objectSpread(_objectSpread({}, props), {}, {
179
+ slots: _objectSpread({
180
+ field: module.MultiInputTimeRangeField
181
+ }, props.slots)
182
+ }));
183
+ }
184
+ });
185
+ }
186
+ }, _callee);
187
+ })));
188
+ var ClearInputAdornment = createComponentSlot(CometClearInputAdornment)({
189
+ componentName: "TimeRangePicker",
190
+ slotName: "clearInputAdornment"
191
+ })();
@@ -0,0 +1,13 @@
1
+ import { type FieldProps } from "../../form/Field";
2
+ import { type TimeRange } from "../timeRangePicker/TimeRangePicker";
3
+ export type TimeRangePickerFieldProps = FieldProps<TimeRange, HTMLInputElement>;
4
+ /**
5
+ * A Final Form field wrapper for the TimeRangePicker component. This integrates the TimeRangePicker with react-final-form,
6
+ * providing automatic form state management, validation, and error handling.
7
+ *
8
+ * Use this component when working with Final Form. For standalone usage, use `TimeRangePicker` instead.
9
+ *
10
+ * - [Storybook](https://storybook.comet-dxp.com/?path=/docs/@comet/admin_components-datetime-timerangepickerfield--docs)
11
+ */
12
+ export declare const TimeRangePickerField: (props: TimeRangePickerFieldProps) => import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=TimeRangePickerField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimeRangePickerField.d.ts","sourceRoot":"","sources":["../../../src/dateTime/timeRangePickerField/TimeRangePickerField.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,KAAK,SAAS,EAA8C,MAAM,oCAAoC,CAAC;AAMhH,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;AAEhF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAAI,OAAO,yBAAyB,4CAEpE,CAAC"}
@@ -0,0 +1,31 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ var _excluded = ["meta", "input"];
3
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
7
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
9
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
10
+ import { Field } from "../../form/Field";
11
+ import { TimeRangePicker } from "../timeRangePicker/TimeRangePicker";
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ var FinalFormTimeRangePicker = function FinalFormTimeRangePicker(_ref) {
14
+ var meta = _ref.meta,
15
+ input = _ref.input,
16
+ restProps = _objectWithoutProperties(_ref, _excluded);
17
+ return /*#__PURE__*/_jsx(TimeRangePicker, _objectSpread(_objectSpread({}, input), restProps));
18
+ };
19
+ /**
20
+ * A Final Form field wrapper for the TimeRangePicker component. This integrates the TimeRangePicker with react-final-form,
21
+ * providing automatic form state management, validation, and error handling.
22
+ *
23
+ * Use this component when working with Final Form. For standalone usage, use `TimeRangePicker` instead.
24
+ *
25
+ * - [Storybook](https://storybook.comet-dxp.com/?path=/docs/@comet/admin_components-datetime-timerangepickerfield--docs)
26
+ */
27
+ export var TimeRangePickerField = function TimeRangePickerField(props) {
28
+ return /*#__PURE__*/_jsx(Field, _objectSpread({
29
+ component: FinalFormTimeRangePicker
30
+ }, props));
31
+ };
@@ -1,4 +1,10 @@
1
1
  export declare const getDateValue: (value: string | null | undefined) => Date | null;
2
2
  export declare const getIsoDateString: (date: Date) => string;
3
3
  export declare const isValidDate: (date: Date) => boolean;
4
+ export declare const getTimeStringFromDate: (date: Date) => string;
5
+ /**
6
+ * Parses a 24-hour time string (`HH:mm`) into a `Date`. Returns `null` for empty or malformed
7
+ * input so that a bad value renders as empty instead of throwing during render.
8
+ */
9
+ export declare const getDateFromTimeString: (value: string | null | undefined) => Date | null;
4
10
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/dateTime/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,IAAI,GAAG,IAYtE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,WAE1C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,YAErC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/dateTime/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,IAAI,GAAG,IAYtE,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,WAE1C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,IAAI,YAErC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,MAAM,IAAI,WAE/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,IAAI,GAAG,IAY/E,CAAC"}
@@ -1,4 +1,4 @@
1
- import { format } from "date-fns";
1
+ import { format, parse } from "date-fns";
2
2
  export var getDateValue = function getDateValue(value) {
3
3
  if (!value) {
4
4
  return null;
@@ -14,4 +14,22 @@ export var getIsoDateString = function getIsoDateString(date) {
14
14
  };
15
15
  export var isValidDate = function isValidDate(date) {
16
16
  return !isNaN(date.getTime());
17
+ };
18
+ export var getTimeStringFromDate = function getTimeStringFromDate(date) {
19
+ return format(date, "HH:mm");
20
+ };
21
+
22
+ /**
23
+ * Parses a 24-hour time string (`HH:mm`) into a `Date`. Returns `null` for empty or malformed
24
+ * input so that a bad value renders as empty instead of throwing during render.
25
+ */
26
+ export var getDateFromTimeString = function getDateFromTimeString(value) {
27
+ if (!value) {
28
+ return null;
29
+ }
30
+ var parsedDate = parse(value, "HH:mm", new Date());
31
+ if (!isValidDate(parsedDate)) {
32
+ return null;
33
+ }
34
+ return parsedDate;
17
35
  };
@@ -1,7 +1,7 @@
1
1
  import { type DialogActionsProps, type DialogProps, type DialogTitleProps } from "@mui/material";
2
2
  import { type ComponentType, type PropsWithChildren, type ReactNode } from "react";
3
+ import type { ISelectionApi } from "../SelectionApi";
3
4
  import type { IEditDialogApi } from "./EditDialogApiContext";
4
- import type { ISelectionApi } from "./SelectionApi";
5
5
  interface ITitle {
6
6
  edit: ReactNode;
7
7
  add: ReactNode;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditDialog.d.ts","sourceRoot":"","sources":["../../src/editDialog/EditDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIH,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAEhB,KAAK,gBAAgB,EACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,KAAK,aAAa,EAGlB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAIjB,MAAM,OAAO,CAAC;AAOf,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAEjF,UAAU,MAAM;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,SAAS,CAAC;CAClB;AAED,UAAU,yBAAyB;IAC/B,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC3C;AAED,KAAK,eAAe,GAAG,iBAAiB,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC/C,CAAC,CAAC;AAEH,wBAAgB,aAAa,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,EAAE,cAAc,EAAE,aAAa,CAAC,CAoDvI;AAiED,UAAU,wBAAyB,SAAQ,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC;IACxE,QAAQ,EAAE,CAAC,aAAa,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,KAAK,SAAS,CAAC;CACnG;AAcD,eAAO,MAAM,UAAU,qHAAsC,CAAC"}
@@ -15,11 +15,11 @@ import {
15
15
  Dialog, DialogActions, DialogTitle } from "@mui/material";
16
16
  import { forwardRef, useCallback, useImperativeHandle, useMemo } from "react";
17
17
  import { useIntl } from "react-intl";
18
- import { CancelButton } from "./common/buttons/cancel/CancelButton";
19
- import { messages } from "./messages";
20
- import { SaveBoundary } from "./saveBoundary/SaveBoundary";
21
- import { SaveBoundarySaveButton } from "./saveBoundary/SaveBoundarySaveButton";
22
- import { useSelectionRoute } from "./SelectionRoute";
18
+ import { CancelButton } from "../common/buttons/cancel/CancelButton";
19
+ import { messages } from "../messages";
20
+ import { SaveBoundary } from "../saveBoundary/SaveBoundary";
21
+ import { SaveBoundarySaveButton } from "../saveBoundary/SaveBoundarySaveButton";
22
+ import { useSelectionRoute } from "../SelectionRoute";
23
23
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
24
  export function useEditDialog() {
25
25
  var _useSelectionRoute = useSelectionRoute(),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditDialogApiContext.d.ts","sourceRoot":"","sources":["../../src/editDialog/EditDialogApiContext.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IAC/B;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,cAAc;IAC3B,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACvD;AAED,eAAO,MAAM,oBAAoB,gDAA6C,CAAC;AAC/E,wBAAgB,gBAAgB,0BAE/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"FinalFormNumberInput.d.ts","sourceRoot":"","sources":["../../src/form/FinalFormNumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,MAAM,MAAM,yBAAyB,GAAG,cAAc,GAAG;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,iCAAiC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAY,EACZ,GAAG,KAAK,EACX,EAAE,yBAAyB,GAAG,iCAAiC,2CAuF/D"}
1
+ {"version":3,"file":"FinalFormNumberInput.d.ts","sourceRoot":"","sources":["../../src/form/FinalFormNumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAKzD,MAAM,MAAM,yBAAyB,GAAG,cAAc,GAAG;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,iCAAiC,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAElE;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAY,EACZ,GAAG,KAAK,EACX,EAAE,yBAAyB,GAAG,iCAAiC,2CAsF/D"}
@@ -52,12 +52,11 @@ export function FinalFormNumberInput(_ref) {
52
52
  };
53
53
  var updateFormattedNumberValue = useCallback(function (inputValue) {
54
54
  if (!inputValue && inputValue !== 0) {
55
- input.onChange(undefined);
56
55
  setFormattedNumberValue("");
57
56
  } else {
58
57
  setFormattedNumberValue(getFormattedValue(inputValue));
59
58
  }
60
- }, [getFormattedValue, input]);
59
+ }, [getFormattedValue]);
61
60
  var handleBlur = function handleBlur(event) {
62
61
  var _numberParts$find, _numberParts$find2;
63
62
  input.onBlur(event);
@@ -84,7 +83,7 @@ export function FinalFormNumberInput(_ref) {
84
83
  };
85
84
  useEffect(function () {
86
85
  updateFormattedNumberValue(input.value);
87
- }, [updateFormattedNumberValue, input]);
86
+ }, [updateFormattedNumberValue, input.value]);
88
87
  var clearable = !required && !disabled && !readOnly;
89
88
  return /*#__PURE__*/_jsx(InputBase, _objectSpread(_objectSpread(_objectSpread({}, input), props), {}, {
90
89
  required: required,
package/lib/index.d.ts CHANGED
@@ -82,9 +82,11 @@ export { type DateTimeRange, DateTimeRangePicker, type DateTimeRangePickerClassK
82
82
  export { DateTimeRangePickerField, type DateTimeRangePickerFieldProps } from "./dateTime/dateTimeRangePickerField/DateTimeRangePickerField";
83
83
  export { TimePicker, type TimePickerClassKey, type TimePickerProps } from "./dateTime/timePicker/TimePicker";
84
84
  export { TimePickerField, type TimePickerFieldProps } from "./dateTime/timePickerField/TimePickerField";
85
+ export { type TimeRange, TimeRangePicker, type TimeRangePickerClassKey, type TimeRangePickerProps } from "./dateTime/timeRangePicker/TimeRangePicker";
86
+ export { TimeRangePickerField, type TimeRangePickerFieldProps } from "./dateTime/timeRangePickerField/TimeRangePickerField";
85
87
  export { DeleteMutation } from "./DeleteMutation";
86
- export { EditDialog, useEditDialog } from "./EditDialog";
87
- export { EditDialogApiContext, type IEditDialogApi, useEditDialogApi } from "./EditDialogApiContext";
88
+ export { EditDialog, useEditDialog } from "./editDialog/EditDialog";
89
+ export { EditDialogApiContext, type IEditDialogApi, useEditDialogApi } from "./editDialog/EditDialogApiContext";
88
90
  export { ErrorBoundary, type ErrorBoundaryClassKey, type ErrorBoundaryProps } from "./error/errorboundary/ErrorBoundary";
89
91
  export { RouteWithErrorBoundary } from "./error/errorboundary/RouteWithErrorBoundary";
90
92
  export { createErrorDialogApolloLink } from "./error/errordialog/createErrorDialogApolloLink";