@comet/admin 9.0.0-beta.0 → 9.0.0-beta.1

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 (47) hide show
  1. package/lib/dataGrid/GridColDef.d.ts +1 -2
  2. package/lib/dataGrid/GridColDef.d.ts.map +1 -1
  3. package/lib/dataGrid/GridFilterButton.d.ts.map +1 -1
  4. package/lib/dataGrid/GridFilterButton.js +13 -2
  5. package/lib/dataGrid/columnsManagement/DataGridColumnsManagement.d.ts.map +1 -1
  6. package/lib/dataGrid/columnsManagement/DataGridColumnsManagement.js +1 -1
  7. package/lib/dataGrid/columnsManagement/DataGridColumnsManagementListItem.d.ts +1 -1
  8. package/lib/dataGrid/columnsManagement/DataGridColumnsManagementListItem.d.ts.map +1 -1
  9. package/lib/dataGrid/columnsManagement/DataGridColumnsManagementListItem.js +1 -1
  10. package/lib/dataGrid/excelExport/useDataGridExcelExport.js +2 -2
  11. package/lib/dataGrid/muiGridFilterToGql.d.ts +4 -1
  12. package/lib/dataGrid/muiGridFilterToGql.d.ts.map +1 -1
  13. package/lib/dataGrid/pagination/DataGridPagination.js +1 -1
  14. package/lib/dataGrid/pagination/paginationActions/DataGridPaginationActions.js +1 -1
  15. package/lib/dataGrid/usePersistentColumnState.d.ts.map +1 -1
  16. package/lib/dateTime/datePicker/DatePicker.d.ts +2 -0
  17. package/lib/dateTime/datePicker/DatePicker.d.ts.map +1 -1
  18. package/lib/dateTime/datePicker/DatePicker.js +17 -3
  19. package/lib/dateTime/datePickerField/__stories__/DatePickerField.stories.js +60 -0
  20. package/lib/dateTime/dateRangePicker/DateRangePicker.d.ts +2 -0
  21. package/lib/dateTime/dateRangePicker/DateRangePicker.d.ts.map +1 -1
  22. package/lib/dateTime/dateRangePicker/DateRangePicker.js +17 -3
  23. package/lib/dateTime/dateRangePickerField/__stories__/DateRangePickerField.stories.js +61 -0
  24. package/lib/dateTime/dateTimePicker/DateTimePicker.d.ts +2 -0
  25. package/lib/dateTime/dateTimePicker/DateTimePicker.d.ts.map +1 -1
  26. package/lib/dateTime/dateTimePicker/DateTimePicker.js +17 -3
  27. package/lib/dateTime/dateTimePickerField/__stories__/DateTimePickerField.stories.js +60 -0
  28. package/lib/dateTime/dateTimeRangePicker/DateTimeRangePicker.d.ts +2 -0
  29. package/lib/dateTime/dateTimeRangePicker/DateTimeRangePicker.d.ts.map +1 -1
  30. package/lib/dateTime/dateTimeRangePicker/DateTimeRangePicker.js +17 -3
  31. package/lib/dateTime/dateTimeRangePickerField/__stories__/DateTimeRangePickerField.stories.js +60 -0
  32. package/lib/dateTime/timePicker/TimePicker.d.ts +2 -0
  33. package/lib/dateTime/timePicker/TimePicker.d.ts.map +1 -1
  34. package/lib/dateTime/timePicker/TimePicker.js +17 -3
  35. package/lib/dateTime/timePickerField/__stories__/TimePickerField.stories.js +69 -0
  36. package/lib/form/FieldContainer.d.ts.map +1 -1
  37. package/lib/form/FieldContainer.js +1 -1
  38. package/lib/helpers/downloadFile.d.ts +7 -0
  39. package/lib/helpers/downloadFile.d.ts.map +1 -0
  40. package/lib/helpers/downloadFile.js +22 -0
  41. package/lib/index.d.ts +2 -1
  42. package/lib/index.d.ts.map +1 -1
  43. package/lib/index.js +1 -0
  44. package/lib/table/excelexport/createExcelExportDownload.js +2 -2
  45. package/lib/utils/test-utils.d.ts.map +1 -1
  46. package/lib/utils/test-utils.js +11 -4
  47. package/package.json +17 -19
@@ -1,6 +1,5 @@
1
- import { type GridActionsColDef as MuiGridActionsColDef, type GridFilterItem, type GridSingleSelectColDef as MuiGridSingleSelectColDef, type GridValidRowModel, type GridValueOptionsParams } from "@mui/x-data-grid";
1
+ import { type GridActionsColDef as MuiGridActionsColDef, type GridFilterItem, type GridPinnedColumns, type GridSingleSelectColDef as MuiGridSingleSelectColDef, type GridValidRowModel, type GridValueOptionsParams } from "@mui/x-data-grid";
2
2
  import { type GridBaseColDef as MuiGridBaseColDef } from "@mui/x-data-grid/models/colDef/gridColDef";
3
- import { type GridPinnedColumns } from "@mui/x-data-grid-pro";
4
3
  import { type ReactNode } from "react";
5
4
  import { type GqlFilter } from "./muiGridFilterToGql";
6
5
  type ValueOption = string | number | {
@@ -1 +1 @@
1
- {"version":3,"file":"GridColDef.d.ts","sourceRoot":"","sources":["../../src/dataGrid/GridColDef.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,iBAAiB,IAAI,oBAAoB,EAC9C,KAAK,cAAc,EACnB,KAAK,sBAAsB,IAAI,yBAAyB,EACxD,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,cAAc,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,KAAK,WAAW,GACV,MAAM,GACN,MAAM,GACN;IACI,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAER,KAAK,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,IAAI;IAC1D,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAChG;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,iBAAiB,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,SAAS,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACpI,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC1I,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACpJ,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAClE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACvB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC1B,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"GridColDef.d.ts","sourceRoot":"","sources":["../../src/dataGrid/GridColDef.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,iBAAiB,IAAI,oBAAoB,EAC9C,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,IAAI,yBAAyB,EACxD,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC9B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,cAAc,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,KAAK,WAAW,GACV,MAAM,GACN,MAAM,GACN;IACI,KAAK,EAAE,GAAG,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,SAAS,CAAC;CAC3B,CAAC;AAER,KAAK,mBAAmB,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,IAAI;IAC1D,YAAY,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IAChG;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,iBAAiB,CAAC;IACjC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,SAAS,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACpI,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC1I,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,yBAAyB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACpJ,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAClE,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACvB,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC1B,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"GridFilterButton.d.ts","sourceRoot":"","sources":["../../src/dataGrid/GridFilterButton.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,2CAuBlD"}
1
+ {"version":3,"file":"GridFilterButton.d.ts","sourceRoot":"","sources":["../../src/dataGrid/GridFilterButton.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGpE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,2CAsClD"}
@@ -6,7 +6,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
6
6
  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); }
7
7
  import { Filter } from "@comet/admin-icons";
8
8
  import { Chip } from "@mui/material";
9
- import { gridFilterModelSelector, useGridApiContext, useGridSelector } from "@mui/x-data-grid";
9
+ import { gridFilterModelSelector, GridPreferencePanelsValue, useGridApiContext, useGridSelector } from "@mui/x-data-grid";
10
10
  import { useCallback } from "react";
11
11
  import { FormattedMessage } from "react-intl";
12
12
  import { Button } from "../common/buttons/Button";
@@ -17,12 +17,23 @@ export function GridFilterButton(props) {
17
17
  var filterModel = useGridSelector(apiRef, gridFilterModelSelector);
18
18
  var filterCount = filterModel.items.length;
19
19
  var handleFilterClick = useCallback(function () {
20
- apiRef.current.showFilterPanel();
20
+ if (apiRef.current.state.preferencePanel.open && apiRef.current.state.preferencePanel.openedPanelValue === GridPreferencePanelsValue.filters) {
21
+ apiRef.current.hideFilterPanel();
22
+ } else {
23
+ apiRef.current.showFilterPanel();
24
+ }
21
25
  }, [apiRef]);
22
26
  return /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
23
27
  responsive: true,
24
28
  startIcon: /*#__PURE__*/_jsx(Filter, {}),
25
29
  variant: "outlined",
30
+ onPointerUp: function onPointerUp(event) {
31
+ // Necessary workaround to make toggling the filter panel work
32
+ // see https://github.com/mui/mui-x/issues/17130#issuecomment-2765832411
33
+ if (apiRef.current.state.preferencePanel.open) {
34
+ event.stopPropagation();
35
+ }
36
+ },
26
37
  onClick: handleFilterClick,
27
38
  endIcon: filterCount > 0 ? /*#__PURE__*/_jsx(Chip, {
28
39
  label: "".concat(filterCount),
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridColumnsManagement.d.ts","sourceRoot":"","sources":["../../../src/dataGrid/columnsManagement/DataGridColumnsManagement.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,OAAO,IAAI,UAAU,EAC1B,KAAK,IAAI,IAAI,OAAO,EACpB,KAAK,aAAa,EAClB,KAAK,KAAK,EAEb,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAIvF,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;IAClE,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,OAAO,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,aAAa,CAAC;IACjC,OAAO,EAAE,OAAO,UAAU,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;AAEpG,eAAO,MAAM,yBAAyB,GAAI,SAAS,8BAA8B,4CAyIhF,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,mCAAmC,EAAE,8BAA8B,CAAC;KACvE;IAED,UAAU,uBAAuB;QAC7B,mCAAmC,EAAE,iCAAiC,CAAC;KAC1E;IAED,UAAU,UAAU;QAChB,mCAAmC,CAAC,EAAE;YAClC,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,qCAAqC,CAAC,CAAC,CAAC;YACnF,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,qCAAqC,CAAC,CAAC;SACtF,CAAC;KACL;CACJ"}
1
+ {"version":3,"file":"DataGridColumnsManagement.d.ts","sourceRoot":"","sources":["../../../src/dataGrid/columnsManagement/DataGridColumnsManagement.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,OAAO,IAAI,UAAU,EAC1B,KAAK,IAAI,IAAI,OAAO,EACpB,KAAK,aAAa,EAClB,KAAK,KAAK,EAEb,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAIvF,MAAM,MAAM,8BAA8B,GAAG,wBAAwB,CAAC;IAClE,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,OAAO,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,aAAa,CAAC;IACjC,OAAO,EAAE,OAAO,UAAU,CAAC;CAC9B,CAAC,CAAC;AAEH,MAAM,MAAM,iCAAiC,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;AAEpG,eAAO,MAAM,yBAAyB,GAAI,SAAS,8BAA8B,4CAyIhF,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,mCAAmC,EAAE,8BAA8B,CAAC;KACvE;IAED,UAAU,uBAAuB;QAC7B,mCAAmC,EAAE,iCAAiC,CAAC;KAC1E;IAED,UAAU,UAAU;QAChB,mCAAmC,CAAC,EAAE;YAClC,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,qCAAqC,CAAC,CAAC,CAAC;YACnF,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,qCAAqC,CAAC,CAAC;SACtF,CAAC;KACL;CACJ"}
@@ -6,7 +6,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
6
6
  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); }
7
7
  // MUI's implementation: https://github.com/mui/mui-x/blob/v7.x/packages/x-data-grid/src/components/columnsManagement/GridColumnsManagement.tsx
8
8
  import { useThemeProps } from "@mui/material";
9
- import { gridColumnVisibilityModelSelector, useGridApiContext, useGridSelector } from "@mui/x-data-grid-pro";
9
+ import { gridColumnVisibilityModelSelector, useGridApiContext, useGridSelector } from "@mui/x-data-grid";
10
10
  import { useMemo } from "react";
11
11
  import { FormattedMessage } from "react-intl";
12
12
  import { Body, Divider, List, ListHeader, Root } from "./DataGridColumnsManagement.sc";
@@ -1,6 +1,6 @@
1
1
  import { type ComponentsOverrides, type IconButton, type ListItem, type ListItemText, type Switch as MuiSwitch, type Theme } from "@mui/material";
2
+ import { GridPinnedColumnPosition } from "@mui/x-data-grid";
2
3
  import { type GridStateColDef } from "@mui/x-data-grid/models/colDef/gridColDef";
3
- import { GridPinnedColumnPosition } from "@mui/x-data-grid-pro";
4
4
  import { type ChangeEvent, type FunctionComponent } from "react";
5
5
  import { type ThemedComponentBaseProps } from "../../helpers/ThemedComponentBaseProps";
6
6
  export type DataGridColumnsManagementListItemClassKey = "root" | "switchTitleContainer" | "switch" | "listItemTitle" | "pinnedContainer" | "pinnedButton";
@@ -1 +1 @@
1
- {"version":3,"file":"DataGridColumnsManagementListItem.d.ts","sourceRoot":"","sources":["../../../src/dataGrid/columnsManagement/DataGridColumnsManagementListItem.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,MAAM,IAAI,SAAS,EACxB,KAAK,KAAK,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAqB,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGvF,MAAM,MAAM,yCAAyC,GAC/C,MAAM,GACN,sBAAsB,GACtB,QAAQ,GACR,eAAe,GACf,iBAAiB,GACjB,cAAc,CAAC;AAErB,MAAM,MAAM,sCAAsC,GAAG,wBAAwB,CAAC;IAC1E,IAAI,EAAE,OAAO,QAAQ,CAAC;IACtB,oBAAoB,EAAE,KAAK,CAAC;IAC5B,MAAM,EAAE,OAAO,SAAS,CAAC;IACzB,aAAa,EAAE,OAAO,YAAY,CAAC;IACnC,eAAe,EAAE,KAAK,CAAC;IACvB,YAAY,EAAE,OAAO,UAAU,CAAC;CACnC,CAAC,GAAG;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC9E,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,iBAAiB,CAAC,sCAAsC,CA4DvG,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,2CAA2C,EAAE,sCAAsC,CAAC;KACvF;IAED,UAAU,uBAAuB;QAC7B,2CAA2C,EAAE,yCAAyC,CAAC;KAC1F;IAED,UAAU,UAAU;QAChB,2CAA2C,CAAC,EAAE;YAC1C,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,6CAA6C,CAAC,CAAC,CAAC;YAC3F,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,6CAA6C,CAAC,CAAC;SAC9F,CAAC;KACL;CACJ"}
1
+ {"version":3,"file":"DataGridColumnsManagementListItem.d.ts","sourceRoot":"","sources":["../../../src/dataGrid/columnsManagement/DataGridColumnsManagementListItem.tsx"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,MAAM,IAAI,SAAS,EACxB,KAAK,KAAK,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,wBAAwB,EAAqB,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAEjE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGvF,MAAM,MAAM,yCAAyC,GAC/C,MAAM,GACN,sBAAsB,GACtB,QAAQ,GACR,eAAe,GACf,iBAAiB,GACjB,cAAc,CAAC;AAErB,MAAM,MAAM,sCAAsC,GAAG,wBAAwB,CAAC;IAC1E,IAAI,EAAE,OAAO,QAAQ,CAAC;IACtB,oBAAoB,EAAE,KAAK,CAAC;IAC5B,MAAM,EAAE,OAAO,SAAS,CAAC;IACzB,aAAa,EAAE,OAAO,YAAY,CAAC;IACnC,eAAe,EAAE,KAAK,CAAC;IACvB,YAAY,EAAE,OAAO,UAAU,CAAC;CACnC,CAAC,GAAG;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,wBAAwB,KAAK,IAAI,CAAC;IAC9E,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAChE,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,iCAAiC,EAAE,iBAAiB,CAAC,sCAAsC,CA4DvG,CAAC;AAEF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,2CAA2C,EAAE,sCAAsC,CAAC;KACvF;IAED,UAAU,uBAAuB;QAC7B,2CAA2C,EAAE,yCAAyC,CAAC;KAC1F;IAED,UAAU,UAAU;QAChB,2CAA2C,CAAC,EAAE;YAC1C,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,6CAA6C,CAAC,CAAC,CAAC;YAC3F,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,6CAA6C,CAAC,CAAC;SAC9F,CAAC;KACL;CACJ"}
@@ -9,7 +9,7 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
9
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
10
  import { PinLeft, PinRight } from "@comet/admin-icons";
11
11
  import { useThemeProps } from "@mui/material";
12
- import { GridPinnedColumnPosition, useGridApiContext } from "@mui/x-data-grid-pro";
12
+ import { GridPinnedColumnPosition, useGridApiContext } from "@mui/x-data-grid";
13
13
  import { ListItemTitle, PinnedContainer, PinnedIconButton, Root, Switch, SwitchTitleContainer } from "./DataGridColumnsManagementListItem.styles";
14
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
15
  export var DataGridColumnsManagementListItem = function DataGridColumnsManagementListItem(inProps) {
@@ -19,9 +19,9 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
19
19
  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; } }
20
20
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
21
21
  import { useApolloClient } from "@apollo/client";
22
- import { saveAs } from "file-saver";
23
22
  import { useCallback, useState } from "react";
24
23
  import { useIntl } from "react-intl";
24
+ import { downloadFile } from "../../helpers/downloadFile";
25
25
  import { generateExcelFile } from "./generateExcelFile";
26
26
  export function useDataGridExcelExport(params) {
27
27
  var columns = params.columns,
@@ -68,7 +68,7 @@ export function useDataGridExcelExport(params) {
68
68
  styling: styling
69
69
  });
70
70
  workbook.xlsx.writeBuffer().then(function (buffer) {
71
- saveAs(new Blob([buffer]), safeFileNameWithExtension(fileName));
71
+ downloadFile(new Blob([buffer]), safeFileNameWithExtension(fileName));
72
72
  });
73
73
  case 1:
74
74
  return _context.a(2);
@@ -15,8 +15,11 @@ interface GqlNumberFilter {
15
15
  greaterThanEqual?: number | null;
16
16
  notEqual?: number | null;
17
17
  }
18
+ interface GqlBooleanFilter {
19
+ equal?: boolean | null;
20
+ }
18
21
  export type GqlFilter = {
19
- [key: string]: GqlStringFilter | GqlNumberFilter | undefined;
22
+ [key: string]: GqlStringFilter | GqlNumberFilter | GqlBooleanFilter | undefined;
20
23
  } & {
21
24
  and?: GqlFilter[] | null;
22
25
  or?: GqlFilter[] | null;
@@ -1 +1 @@
1
- {"version":3,"file":"muiGridFilterToGql.d.ts","sourceRoot":"","sources":["../../src/dataGrid/muiGridFilterToGql.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AA0B/C,UAAU,eAAe;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AACD,UAAU,eAAe;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AACD,MAAM,MAAM,SAAS,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,SAAS,CAAC;CAChE,GAAG;IACA,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACzB,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,eAAe,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA2B/H"}
1
+ {"version":3,"file":"muiGridFilterToGql.d.ts","sourceRoot":"","sources":["../../src/dataGrid/muiGridFilterToGql.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AA0B/C,UAAU,eAAe;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AACD,UAAU,eAAe;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AACD,UAAU,gBAAgB;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC1B;AACD,MAAM,MAAM,SAAS,GAAG;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,GAAG,SAAS,CAAC;CACnF,GAAG;IACA,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACzB,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,eAAe,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA2B/H"}
@@ -5,7 +5,7 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
5
5
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
6
  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); }
7
7
  import { TablePagination, useThemeProps } from "@mui/material";
8
- import { gridPageCountSelector, gridPaginationSelector, useGridApiContext, useGridRootProps, useGridSelector } from "@mui/x-data-grid-pro";
8
+ import { gridPageCountSelector, gridPaginationSelector, useGridApiContext, useGridRootProps, useGridSelector } from "@mui/x-data-grid";
9
9
  import { useCallback } from "react";
10
10
  import { FormattedMessage } from "react-intl";
11
11
  import { PageInformation, Root } from "./DataGridPagination.styles";
@@ -6,7 +6,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
6
6
  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); }
7
7
  import { ChevronLeft, ChevronRight } from "@comet/admin-icons";
8
8
  import { IconButton, useMediaQuery, useTheme, useThemeProps } from "@mui/material";
9
- import { gridPageCountSelector, gridPaginationSelector, useGridApiContext, useGridSelector } from "@mui/x-data-grid-pro";
9
+ import { gridPageCountSelector, gridPaginationSelector, useGridApiContext, useGridSelector } from "@mui/x-data-grid";
10
10
  import { FormattedMessage } from "react-intl";
11
11
  import { PageOf, PreviousNext, Root } from "./DataGridPaginationActions.styles";
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"usePersistentColumnState.d.ts","sourceRoot":"","sources":["../../src/dataGrid/usePersistentColumnState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAiD,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,KAAK,gBAAgB,EAA+B,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,KAAK,SAAS,EAA6C,MAAM,OAAO,CAAC;AAwDlF,KAAK,SAAS,GAAG;IACb,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC9D,6BAA6B,EAAE,aAAa,CAAC,+BAA+B,CAAC,CAAC;IAE9E,aAAa,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,qBAAqB,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAEjE,mBAAmB,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAE7D,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAE1D,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC1B,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAiGpE"}
1
+ {"version":3,"file":"usePersistentColumnState.d.ts","sourceRoot":"","sources":["../../src/dataGrid/usePersistentColumnState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA8E,MAAM,kBAAkB,CAAC;AAClI,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAA6C,MAAM,OAAO,CAAC;AAwDlF,KAAK,SAAS,GAAG;IACb,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CAAC;IAC9D,6BAA6B,EAAE,aAAa,CAAC,+BAA+B,CAAC,CAAC;IAE9E,aAAa,EAAE,gBAAgB,CAAC,eAAe,CAAC,CAAC;IACjD,qBAAqB,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;IAEjE,mBAAmB,EAAE,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAE7D,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAE1D,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAE5C,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC1B,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAiGpE"}
@@ -27,6 +27,8 @@ export type DatePickerProps = ThemedComponentBaseProps<{
27
27
  * @param date - The new date value in ISO 8601 format (YYYY-MM-DD), or `undefined` if cleared.
28
28
  */
29
29
  onChange?: (date: string | undefined) => void;
30
+ onBlur?: () => void;
31
+ onFocus?: () => void;
30
32
  /**
31
33
  * Custom icons for the picker.
32
34
  *
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/datePicker/DatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,KAAK,eAAe,IAAI,kBAAkB,EAA2B,MAAM,qBAAqB,CAAC;AACvI,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAEjD,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,EAAE,KAAK,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,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,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;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,SAAS,CAAC;KAC1B,CAAC;CACL,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,eAAe,4CAsFlD,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":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/datePicker/DatePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,KAAK,eAAe,IAAI,kBAAkB,EAA2B,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,EAAE,KAAK,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,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,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,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC,CAAC;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,GAAI,SAAS,eAAe,4CAqGlD,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,6 +1,6 @@
1
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
2
  var _templateObject;
3
- var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "readOnly"];
3
+ var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "onBlur", "onFocus", "readOnly"];
4
4
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
5
5
  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; }
6
6
  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; }
@@ -19,6 +19,7 @@ import { Calendar } from "@comet/admin-icons";
19
19
  import { css, inputLabelClasses, useThemeProps } from "@mui/material";
20
20
  import { DatePicker as MuiDatePicker, pickersInputBaseClasses } from "@mui/x-date-pickers";
21
21
  import { useState } from "react";
22
+ import { useIntl } from "react-intl";
22
23
  import { ClearInputAdornment as CometClearInputAdornment } from "../../common/ClearInputAdornment";
23
24
  import { OpenPickerAdornment } from "../../common/OpenPickerAdornment";
24
25
  import { ReadOnlyAdornment } from "../../common/ReadOnlyAdornment";
@@ -47,12 +48,15 @@ export var DatePicker = function DatePicker(inProps) {
47
48
  disabled = _useThemeProps.disabled,
48
49
  stringValue = _useThemeProps.value,
49
50
  _onChange = _useThemeProps.onChange,
51
+ onBlur = _useThemeProps.onBlur,
52
+ onFocus = _useThemeProps.onFocus,
50
53
  readOnly = _useThemeProps.readOnly,
51
54
  restProps = _objectWithoutProperties(_useThemeProps, _excluded);
52
55
  var _useState = useState(false),
53
56
  _useState2 = _slicedToArray(_useState, 2),
54
57
  open = _useState2[0],
55
58
  setOpen = _useState2[1];
59
+ var intl = useIntl();
56
60
  var dateValue = getDateValue(stringValue);
57
61
  var _iconMapping$openPick = iconMapping.openPicker,
58
62
  openPickerIcon = _iconMapping$openPick === void 0 ? /*#__PURE__*/_jsx(Calendar, {
@@ -81,13 +85,15 @@ export var DatePicker = function DatePicker(inProps) {
81
85
  }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
82
86
  slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root = slotProps.root) === null || _slotProps$root === void 0 ? void 0 : _slotProps$root.slotProps), {}, {
83
87
  textField: function textField(ownerState) {
84
- var _slotProps$root2, _textFieldProps$Input, _textFieldProps$Input2;
88
+ var _slotProps$root2, _slotProps$openPicker, _slotProps$openPicker2, _textFieldProps$Input, _textFieldProps$Input2;
85
89
  var textFieldProps = _objectSpread(_objectSpread({}, 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.textField), {}, {
86
90
  ownerState: ownerState
87
91
  });
88
92
  return _objectSpread(_objectSpread({
89
93
  fullWidth: fullWidth,
90
- required: required
94
+ required: required,
95
+ onBlur: onBlur,
96
+ onFocus: onFocus
91
97
  }, textFieldProps), {}, {
92
98
  InputProps: _objectSpread(_objectSpread({}, textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.InputProps), {}, {
93
99
  startAdornment: /*#__PURE__*/_jsxs(_Fragment, {
@@ -98,6 +104,14 @@ export var DatePicker = function DatePicker(inProps) {
98
104
  return setOpen(true);
99
105
  }
100
106
  }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.openPickerAdornment), {}, {
107
+ slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$openPicker = slotProps.openPickerAdornment) === null || _slotProps$openPicker === void 0 ? void 0 : _slotProps$openPicker.slotProps), {}, {
108
+ openPickerButton: _objectSpread({
109
+ "aria-label": intl.formatMessage({
110
+ id: "comet.datePicker.openPicker",
111
+ defaultMessage: "Open date picker"
112
+ })
113
+ }, 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)
114
+ }),
101
115
  children: openPickerIcon
102
116
  })), textFieldProps === null || textFieldProps === void 0 || (_textFieldProps$Input = textFieldProps.InputProps) === null || _textFieldProps$Input === void 0 ? void 0 : _textFieldProps$Input.startAdornment]
103
117
  }),
@@ -1,3 +1,7 @@
1
+ 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 }; })(); }
2
+ 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); }
3
+ 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); }
4
+ 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); }); }; }
1
5
  import { FinalForm } from "../../../FinalForm";
2
6
  import { FinalFormDebug } from "../../../form/FinalFormDebug";
3
7
  import { DatePickerField } from "../DatePickerField";
@@ -157,4 +161,60 @@ export var Disabled = {
157
161
  }
158
162
  });
159
163
  }
164
+ };
165
+
166
+ /**
167
+ * Before implementing custom validation, try to disable certain values using the props provided by MUI's DatePicker, such as `shouldDisableDate`, `disableFuture`, `disablePast`.
168
+ *
169
+ * Use this when:
170
+ * - You need to validate the date against a custom rule, which cannot be achieved using the props provided by MUI's DatePicker
171
+ * - You want to provide a custom error message
172
+ * - You want to validate the date asynchronously
173
+ */
174
+ export var CustomValidation = {
175
+ render: function render() {
176
+ var validateIsWeekday = /*#__PURE__*/function () {
177
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(value) {
178
+ var day, isWeekday;
179
+ return _regenerator().w(function (_context) {
180
+ while (1) switch (_context.n) {
181
+ case 0:
182
+ if (value) {
183
+ _context.n = 1;
184
+ break;
185
+ }
186
+ return _context.a(2, undefined);
187
+ case 1:
188
+ day = new Date(value).getDay();
189
+ isWeekday = day !== 0 && day !== 6;
190
+ return _context.a(2, isWeekday ? undefined : "Please select a weekday");
191
+ }
192
+ }, _callee);
193
+ }));
194
+ return function validateIsWeekday(_x) {
195
+ return _ref5.apply(this, arguments);
196
+ };
197
+ }();
198
+ return /*#__PURE__*/_jsx(FinalForm, {
199
+ mode: "edit",
200
+ onSubmit: function onSubmit() {
201
+ // not handled
202
+ },
203
+ subscription: {
204
+ values: true
205
+ },
206
+ children: function children() {
207
+ return /*#__PURE__*/_jsxs(_Fragment, {
208
+ children: [/*#__PURE__*/_jsx(DatePickerField, {
209
+ name: "value",
210
+ label: "Date Picker",
211
+ helperText: "Only weekdays are valid",
212
+ fullWidth: true,
213
+ variant: "horizontal",
214
+ validate: validateIsWeekday
215
+ }), /*#__PURE__*/_jsx(FinalFormDebug, {})]
216
+ });
217
+ }
218
+ });
219
+ }
160
220
  };
@@ -34,6 +34,8 @@ export type DateRangePickerProps = ThemedComponentBaseProps<{
34
34
  * @param date - The new date range value, or `undefined` if cleared.
35
35
  */
36
36
  onChange?: (date: DateRange | undefined) => void;
37
+ onBlur?: () => void;
38
+ onFocus?: () => void;
37
39
  /**
38
40
  * Custom icons for the picker.
39
41
  *
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/dateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,KAAK,oBAAoB,IAAI,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,KAAK,aAAa,EAAQ,KAAK,SAAS,EAAsB,MAAM,OAAO,CAAC;AAErF,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,EAAE,KAAK,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,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,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;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,SAAS,CAAC;KAC1B,CAAC;CACL,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAMpE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,oBAAoB,4CA4F5D,CAAC;AA8BF,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"}
1
+ {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/dateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EAAE,KAAK,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,EAAE,KAAK,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,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACzD,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,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAMpE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,oBAAoB,4CA4G5D,CAAC;AA8BF,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"}
@@ -1,6 +1,6 @@
1
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
2
  var _templateObject;
3
- var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "readOnly"];
3
+ var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "onBlur", "onFocus", "readOnly"];
4
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
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
6
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
@@ -22,6 +22,7 @@ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t =
22
22
  import { Calendar } from "@comet/admin-icons";
23
23
  import { css, inputLabelClasses, useThemeProps } from "@mui/material";
24
24
  import { lazy, Suspense, useState } from "react";
25
+ import { useIntl } from "react-intl";
25
26
  import { ClearInputAdornment as CometClearInputAdornment } from "../../common/ClearInputAdornment";
26
27
  import { OpenPickerAdornment } from "../../common/OpenPickerAdornment";
27
28
  import { ReadOnlyAdornment } from "../../common/ReadOnlyAdornment";
@@ -58,8 +59,11 @@ export var DateRangePicker = function DateRangePicker(inProps) {
58
59
  disabled = _useThemeProps.disabled,
59
60
  stringDateRangeValue = _useThemeProps.value,
60
61
  _onChange = _useThemeProps.onChange,
62
+ onBlur = _useThemeProps.onBlur,
63
+ onFocus = _useThemeProps.onFocus,
61
64
  readOnly = _useThemeProps.readOnly,
62
65
  restProps = _objectWithoutProperties(_useThemeProps, _excluded);
66
+ var intl = useIntl();
63
67
  var _useState = useState(false),
64
68
  _useState2 = _slicedToArray(_useState, 2),
65
69
  open = _useState2[0],
@@ -102,13 +106,15 @@ export var DateRangePicker = function DateRangePicker(inProps) {
102
106
  }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
103
107
  slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root = slotProps.root) === null || _slotProps$root === void 0 ? void 0 : _slotProps$root.slotProps), {}, {
104
108
  textField: function textField(ownerState) {
105
- var _slotProps$root2, _textFieldProps$Input, _textFieldProps$Input2;
109
+ var _slotProps$root2, _slotProps$openPicker, _slotProps$openPicker2, _textFieldProps$Input, _textFieldProps$Input2;
106
110
  var textFieldProps = _objectSpread(_objectSpread({}, 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.textField), {}, {
107
111
  ownerState: ownerState
108
112
  });
109
113
  return _objectSpread(_objectSpread({
110
114
  fullWidth: fullWidth,
111
- required: required
115
+ required: required,
116
+ onBlur: onBlur,
117
+ onFocus: onFocus
112
118
  }, textFieldProps), {}, {
113
119
  InputProps: _objectSpread(_objectSpread({}, textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.InputProps), {}, {
114
120
  startAdornment: /*#__PURE__*/_jsxs(_Fragment, {
@@ -119,6 +125,14 @@ export var DateRangePicker = function DateRangePicker(inProps) {
119
125
  return setOpen(true);
120
126
  }
121
127
  }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.openPickerAdornment), {}, {
128
+ slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$openPicker = slotProps.openPickerAdornment) === null || _slotProps$openPicker === void 0 ? void 0 : _slotProps$openPicker.slotProps), {}, {
129
+ openPickerButton: _objectSpread({
130
+ "aria-label": intl.formatMessage({
131
+ id: "comet.dateRangePicker.openPicker",
132
+ defaultMessage: "Open date range picker"
133
+ })
134
+ }, 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)
135
+ }),
122
136
  children: openPickerIcon
123
137
  })), textFieldProps === null || textFieldProps === void 0 || (_textFieldProps$Input = textFieldProps.InputProps) === null || _textFieldProps$Input === void 0 ? void 0 : _textFieldProps$Input.startAdornment]
124
138
  }),
@@ -1,3 +1,7 @@
1
+ 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 }; })(); }
2
+ 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); }
3
+ 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); }
4
+ 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); }); }; }
1
5
  import { FinalForm } from "../../../FinalForm";
2
6
  import { FinalFormDebug } from "../../../form/FinalFormDebug";
3
7
  import { DateRangePickerField } from "../DateRangePickerField";
@@ -160,4 +164,61 @@ export var Disabled = {
160
164
  }
161
165
  });
162
166
  }
167
+ };
168
+
169
+ /**
170
+ * Before implementing custom validation, try to disable certain values using the props provided by MUI's DateRangePicker, such as `shouldDisableDate`, `disableFuture`, `disablePast`.
171
+ *
172
+ * Use this when:
173
+ * - You need to validate the date range against a custom rule, which cannot be achieved using the props provided by MUI's DateRangePicker
174
+ * - You want to provide a custom error message
175
+ * - You want to validate the date range asynchronously
176
+ */
177
+ export var CustomValidation = {
178
+ render: function render() {
179
+ var validateMaxThirtyDayRange = /*#__PURE__*/function () {
180
+ var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(value) {
181
+ var startDate, endDate, differenceInDays;
182
+ return _regenerator().w(function (_context) {
183
+ while (1) switch (_context.n) {
184
+ case 0:
185
+ if (!(!(value !== null && value !== void 0 && value.start) || !(value !== null && value !== void 0 && value.end))) {
186
+ _context.n = 1;
187
+ break;
188
+ }
189
+ return _context.a(2, undefined);
190
+ case 1:
191
+ startDate = new Date(value.start);
192
+ endDate = new Date(value.end);
193
+ differenceInDays = (endDate.getTime() - startDate.getTime()) / (1000 * 60 * 60 * 24);
194
+ return _context.a(2, differenceInDays <= 30 ? undefined : "Please select a range no longer than 30 days");
195
+ }
196
+ }, _callee);
197
+ }));
198
+ return function validateMaxThirtyDayRange(_x) {
199
+ return _ref5.apply(this, arguments);
200
+ };
201
+ }();
202
+ return /*#__PURE__*/_jsx(FinalForm, {
203
+ mode: "edit",
204
+ onSubmit: function onSubmit() {
205
+ // not handled
206
+ },
207
+ subscription: {
208
+ values: true
209
+ },
210
+ children: function children() {
211
+ return /*#__PURE__*/_jsxs(_Fragment, {
212
+ children: [/*#__PURE__*/_jsx(DateRangePickerField, {
213
+ name: "value",
214
+ label: "Date Range Picker",
215
+ helperText: "The selected range must not exceed 30 days",
216
+ fullWidth: true,
217
+ variant: "horizontal",
218
+ validate: validateMaxThirtyDayRange
219
+ }), /*#__PURE__*/_jsx(FinalFormDebug, {})]
220
+ });
221
+ }
222
+ });
223
+ }
163
224
  };
@@ -32,6 +32,8 @@ export type DateTimePickerProps = ThemedComponentBaseProps<{
32
32
  *
33
33
  * - `openPicker`: Icon to display in the adornment that opens the picker (default: Calendar icon)
34
34
  */
35
+ onBlur?: () => void;
36
+ onFocus?: () => void;
35
37
  iconMapping?: {
36
38
  openPicker?: ReactNode;
37
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/dateTimePicker/DateTimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EACH,cAAc,IAAI,iBAAiB,EACnC,KAAK,mBAAmB,IAAI,sBAAsB,EAErD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAEjD,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,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGvF,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAElH,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;IACvD,IAAI,EAAE,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,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,IAAI,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,SAAS,CAAC;KAC1B,CAAC;CACL,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,mBAAmB,4CAoF1D,CAAC;AAoBF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,wBAAwB,EAAE,mBAAmB,CAAC;KACjD;IAED,UAAU,uBAAuB;QAC7B,wBAAwB,EAAE,sBAAsB,CAAC;KACpD;IAED,UAAU,UAAU;QAChB,wBAAwB,CAAC,EAAE;YACvB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACxE,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,CAAC;SAC3E,CAAC;KACL;CACJ"}
1
+ {"version":3,"file":"DateTimePicker.d.ts","sourceRoot":"","sources":["../../../src/dateTime/dateTimePicker/DateTimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAA0B,KAAK,KAAK,EAAiB,MAAM,eAAe,CAAC;AAC5G,OAAO,EACH,cAAc,IAAI,iBAAiB,EACnC,KAAK,mBAAmB,IAAI,sBAAsB,EAErD,MAAM,qBAAqB,CAAC;AAC7B,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,EAAE,KAAK,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGvF,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAElH,MAAM,MAAM,mBAAmB,GAAG,wBAAwB,CAAC;IACvD,IAAI,EAAE,OAAO,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,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,IAAI,CAAC;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAChD;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,SAAS,CAAC;KAC1B,CAAC;CACL,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC;AAEnE;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,mBAAmB,4CAmG1D,CAAC;AAoBF,OAAO,QAAQ,sBAAsB,CAAC;IAClC,UAAU,mBAAmB;QACzB,wBAAwB,EAAE,mBAAmB,CAAC;KACjD;IAED,UAAU,uBAAuB;QAC7B,wBAAwB,EAAE,sBAAsB,CAAC;KACpD;IAED,UAAU,UAAU;QAChB,wBAAwB,CAAC,EAAE;YACvB,YAAY,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACxE,cAAc,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,CAAC;SAC3E,CAAC;KACL;CACJ"}
@@ -1,6 +1,6 @@
1
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
2
  var _templateObject;
3
- var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "readOnly"];
3
+ var _excluded = ["iconMapping", "fullWidth", "required", "slotProps", "disabled", "value", "onChange", "onBlur", "onFocus", "readOnly"];
4
4
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
5
5
  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; }
6
6
  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; }
@@ -19,6 +19,7 @@ import { Calendar } from "@comet/admin-icons";
19
19
  import { css, inputLabelClasses, useThemeProps } from "@mui/material";
20
20
  import { DateTimePicker as MuiDateTimePicker, pickersInputBaseClasses } from "@mui/x-date-pickers";
21
21
  import { useState } from "react";
22
+ import { useIntl } from "react-intl";
22
23
  import { ClearInputAdornment as CometClearInputAdornment } from "../../common/ClearInputAdornment";
23
24
  import { OpenPickerAdornment } from "../../common/OpenPickerAdornment";
24
25
  import { ReadOnlyAdornment } from "../../common/ReadOnlyAdornment";
@@ -48,12 +49,15 @@ export var DateTimePicker = function DateTimePicker(inProps) {
48
49
  _useThemeProps$value = _useThemeProps.value,
49
50
  value = _useThemeProps$value === void 0 ? null : _useThemeProps$value,
50
51
  _onChange = _useThemeProps.onChange,
52
+ onBlur = _useThemeProps.onBlur,
53
+ onFocus = _useThemeProps.onFocus,
51
54
  readOnly = _useThemeProps.readOnly,
52
55
  restProps = _objectWithoutProperties(_useThemeProps, _excluded);
53
56
  var _useState = useState(false),
54
57
  _useState2 = _slicedToArray(_useState, 2),
55
58
  open = _useState2[0],
56
59
  setOpen = _useState2[1];
60
+ var intl = useIntl();
57
61
  var _iconMapping$openPick = iconMapping.openPicker,
58
62
  openPickerIcon = _iconMapping$openPick === void 0 ? /*#__PURE__*/_jsx(Calendar, {
59
63
  color: "inherit"
@@ -81,13 +85,15 @@ export var DateTimePicker = function DateTimePicker(inProps) {
81
85
  }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.root), restProps), {}, {
82
86
  slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$root = slotProps.root) === null || _slotProps$root === void 0 ? void 0 : _slotProps$root.slotProps), {}, {
83
87
  textField: function textField(ownerState) {
84
- var _slotProps$root2, _textFieldProps$Input, _textFieldProps$Input2;
88
+ var _slotProps$root2, _slotProps$openPicker, _slotProps$openPicker2, _textFieldProps$Input, _textFieldProps$Input2;
85
89
  var textFieldProps = _objectSpread(_objectSpread({}, 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.textField), {}, {
86
90
  ownerState: ownerState
87
91
  });
88
92
  return _objectSpread(_objectSpread({
89
93
  fullWidth: fullWidth,
90
- required: required
94
+ required: required,
95
+ onBlur: onBlur,
96
+ onFocus: onFocus
91
97
  }, textFieldProps), {}, {
92
98
  InputProps: _objectSpread(_objectSpread({}, textFieldProps === null || textFieldProps === void 0 ? void 0 : textFieldProps.InputProps), {}, {
93
99
  startAdornment: /*#__PURE__*/_jsxs(_Fragment, {
@@ -98,6 +104,14 @@ export var DateTimePicker = function DateTimePicker(inProps) {
98
104
  return setOpen(true);
99
105
  }
100
106
  }, slotProps === null || slotProps === void 0 ? void 0 : slotProps.openPickerAdornment), {}, {
107
+ slotProps: _objectSpread(_objectSpread({}, slotProps === null || slotProps === void 0 || (_slotProps$openPicker = slotProps.openPickerAdornment) === null || _slotProps$openPicker === void 0 ? void 0 : _slotProps$openPicker.slotProps), {}, {
108
+ openPickerButton: _objectSpread({
109
+ "aria-label": intl.formatMessage({
110
+ id: "comet.dateTimePicker.openPicker",
111
+ defaultMessage: "Open date time picker"
112
+ })
113
+ }, 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)
114
+ }),
101
115
  children: openPickerIcon
102
116
  })), textFieldProps === null || textFieldProps === void 0 || (_textFieldProps$Input = textFieldProps.InputProps) === null || _textFieldProps$Input === void 0 ? void 0 : _textFieldProps$Input.startAdornment]
103
117
  }),