@elliemae/ds-date-time-picker 3.16.0 → 3.16.1-rc.10

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.
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -36,8 +40,8 @@ var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
36
40
  var import_moment = __toESM(require("moment"));
37
41
  var import_ds_classnames = require("@elliemae/ds-classnames");
38
42
  var import_ds_date_picker = require("@elliemae/ds-date-picker");
39
- var import_DateTimePickerImpl = require("./components/DateTimePickerImpl");
40
- var import_english = __toESM(require("./lang/english"));
43
+ var import_DateTimePickerImpl = require("./components/DateTimePickerImpl.js");
44
+ var import_english = __toESM(require("./lang/english.js"));
41
45
  const { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = import_english.default;
42
46
  const DSDateTimePicker = ({
43
47
  containerProps = {},
@@ -99,9 +103,21 @@ const dateTimePickerProps = {
99
103
  containerProps: import_ds_props_helpers.PropTypes.object.description("Set of Properties attached to the main container"),
100
104
  className: import_ds_props_helpers.PropTypes.string.description("html class attribute"),
101
105
  id: import_ds_props_helpers.PropTypes.string.description("components id"),
106
+ /**
107
+ * on blur callback
108
+ */
102
109
  onBlur: import_ds_props_helpers.PropTypes.func.description("on blur callback"),
110
+ /**
111
+ * Initial date, by default current date
112
+ */
103
113
  date: import_ds_props_helpers.PropTypes.instanceOf(Date, import_moment.default).description("Initial date, by default current date"),
114
+ /**
115
+ * Flag to trigger onDateChange on error
116
+ */
104
117
  clearable: import_ds_props_helpers.PropTypes.bool.description("Flag to trigger onDateChange on error"),
118
+ /**
119
+ * DatePicker properties
120
+ */
105
121
  datePickerProps: import_ds_props_helpers.PropTypes.shape({
106
122
  disabled: import_ds_props_helpers.PropTypes.bool,
107
123
  numberOfMonths: import_ds_props_helpers.PropTypes.number,
@@ -144,6 +160,9 @@ const dateTimePickerProps = {
144
160
  chooseAvailableEndDate: import_ds_props_helpers.PropTypes.func,
145
161
  dateIsUnavailable: import_ds_props_helpers.PropTypes.func,
146
162
  dateIsSelected: import_ds_props_helpers.PropTypes.func,
163
+ /**
164
+ * ZIndex for the picker popup
165
+ */
147
166
  zIndex: import_ds_props_helpers.PropTypes.number
148
167
  }),
149
168
  displayFormatDay: import_ds_props_helpers.PropTypes.string,
@@ -151,7 +170,13 @@ const dateTimePickerProps = {
151
170
  isOutsideRange: import_ds_props_helpers.PropTypes.func,
152
171
  isDayHighlighted: import_ds_props_helpers.PropTypes.func
153
172
  }).description("DatePicker properties"),
173
+ /**
174
+ * Input placeholder
175
+ */
154
176
  placeholder: import_ds_props_helpers.PropTypes.string.description("Input placeholder"),
177
+ /**
178
+ * TimePicker properties
179
+ */
155
180
  timePickerProps: import_ds_props_helpers.PropTypes.shape({
156
181
  format: import_ds_props_helpers.PropTypes.string,
157
182
  onChange: import_ds_props_helpers.PropTypes.func
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/DSDateTimePicker.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\nimport { PropTypes, describe } from '@elliemae/ds-props-helpers';\nimport moment from 'moment';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSDateTimePickerImpl } from './components/DateTimePickerImpl';\nimport english from './lang/english';\n\nconst { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = english;\n\nconst DSDateTimePicker = ({\n containerProps = {},\n className = classNameDefault,\n id = idDefault,\n placeholder = placeholderDefault,\n date,\n clearable = false,\n onBlur = () => null,\n datePickerProps = {\n disabled: false,\n numberOfMonths: 1,\n readOnly: false,\n enableOutsideDays: false,\n transitionDuration: 0,\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onchange: () => null,\n onDateChange: () => null,\n phrases: SingleDatePickerPhrases,\n displayFormatDay: 'D',\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n zIndex: 11,\n },\n timePickerProps = {\n format: 'hh:mm A',\n onChange: () => null,\n disabledTimes: undefined,\n minutesInterval: 1,\n },\n dateInputProps = {\n onDateInputDateChange: () => null,\n },\n}) => {\n useDeprecateComponent({ componentName: 'ds-date-time-picker', version: '3.x Date: 2023 Q1' });\n\n const { cssClassName } = convertPropToCssClassName('datetimepicker', className, {\n id,\n });\n return (\n <div className={cssClassName} {...containerProps}>\n <DSDateTimePickerImpl\n clearable={clearable}\n date={date}\n datePickerProps={datePickerProps}\n onBlur={onBlur}\n placeholder={placeholder}\n timePickerProps={timePickerProps}\n dateInputProps={dateInputProps}\n />\n </div>\n );\n};\n\nconst dateTimePickerProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n className: PropTypes.string.description('html class attribute'),\n id: PropTypes.string.description('components id'),\n /**\n * on blur callback\n */\n onBlur: PropTypes.func.description('on blur callback'),\n /**\n * Initial date, by default current date\n */\n date: PropTypes.instanceOf(Date, moment).description('Initial date, by default current date'),\n /**\n * Flag to trigger onDateChange on error\n */\n clearable: PropTypes.bool.description('Flag to trigger onDateChange on error'),\n /**\n * DatePicker properties\n */\n datePickerProps: PropTypes.shape({\n disabled: PropTypes.bool,\n numberOfMonths: PropTypes.number,\n readOnly: PropTypes.bool,\n enableOutsideDays: PropTypes.bool,\n transitionDuration: PropTypes.number,\n firstDayOfWeek: PropTypes.number,\n keepOpenOnDateSelect: PropTypes.bool,\n hideKeyboardShortcutsPanel: PropTypes.bool,\n onPrevMonthClick: PropTypes.func,\n onNextMonthClick: PropTypes.func,\n onClose: PropTypes.func,\n onDateChange: PropTypes.func,\n phrases: PropTypes.shape({\n calendarLabel: PropTypes.string,\n closeDatePicker: PropTypes.string,\n clearDates: PropTypes.string,\n focusStartDate: PropTypes.string,\n jumpToPrevMonth: PropTypes.string,\n jumpToNextMonth: PropTypes.string,\n keyboardShortcuts: PropTypes.string,\n showKeyboardShortcutsPanel: PropTypes.string,\n hideKeyboardShortcutsPanel: PropTypes.string,\n openThisPanel: PropTypes.string,\n enterKey: PropTypes.string,\n leftArrowRightArrow: PropTypes.string,\n upArrowDownArrow: PropTypes.string,\n pageUpPageDown: PropTypes.string,\n homeEnd: PropTypes.string,\n escape: PropTypes.string,\n questionMark: PropTypes.string,\n selectFocusedDate: PropTypes.string,\n moveFocusByOneDay: PropTypes.string,\n moveFocusByOneWeek: PropTypes.string,\n moveFocusByOneMonth: PropTypes.string,\n moveFocustoStartAndEndOfWeek: PropTypes.string,\n returnFocusToInput: PropTypes.string,\n keyboardNavigationInstructions: PropTypes.string,\n chooseAvailableStartDate: PropTypes.func,\n chooseAvailableEndDate: PropTypes.func,\n dateIsUnavailable: PropTypes.func,\n dateIsSelected: PropTypes.func,\n /**\n * ZIndex for the picker popup\n */\n zIndex: PropTypes.number,\n }),\n displayFormatDay: PropTypes.string,\n isDayBlocked: PropTypes.func,\n isOutsideRange: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n }).description('DatePicker properties'),\n /**\n * Input placeholder\n */\n placeholder: PropTypes.string.description('Input placeholder'),\n /**\n * TimePicker properties\n */\n timePickerProps: PropTypes.shape({\n format: PropTypes.string,\n onChange: PropTypes.func,\n }).description('TimePicker properties'),\n dateInputProps: PropTypes.shape({\n onDateInputDateChange: PropTypes.func,\n }).description('DateInputProperties'),\n};\n\nDSDateTimePicker.propTypes = dateTimePickerProps;\nDSDateTimePicker.displayName = 'DSDateTimePicker';\nconst DateTimePickerWithSchema = describe(DSDateTimePicker);\nDateTimePickerWithSchema.propTypes = dateTimePickerProps;\n\nexport { DateTimePickerWithSchema, DSDateTimePicker };\nexport default DSDateTimePicker;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD0DjB;AAxDN,0BAAsC;AACtC,8BAAoC;AACpC,oBAAmB;AACnB,2BAA0C;AAC1C,4BAAwC;AACxC,gCAAqC;AACrC,qBAAoB;AAEpB,MAAM,EAAE,aAAa,oBAAoB,WAAW,kBAAkB,IAAI,UAAU,IAAI,eAAAA;AAExF,MAAM,mBAAmB,CAAC;AAAA,EACxB,iBAAiB,CAAC;AAAA,EAClB,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,cAAc;AAAA,EACd;AAAA,EACA,YAAY;AAAA,EACZ,SAAS,MAAM;AAAA,EACf,kBAAkB;AAAA,IAChB,UAAU;AAAA,IACV,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,IACpB,gBAAgB;AAAA,IAChB,sBAAsB;AAAA,IACtB,4BAA4B;AAAA,IAC5B,kBAAkB,MAAM;AAAA,IACxB,kBAAkB,MAAM;AAAA,IACxB,SAAS,MAAM;AAAA,IACf,UAAU,MAAM;AAAA,IAChB,cAAc,MAAM;AAAA,IACpB,SAAS;AAAA,IACT,kBAAkB;AAAA,IAClB,cAAc,MAAM;AAAA,IACpB,gBAAgB,MAAM;AAAA,IACtB,kBAAkB,MAAM;AAAA,IACxB,QAAQ;AAAA,EACV;AAAA,EACA,kBAAkB;AAAA,IAChB,QAAQ;AAAA,IACR,UAAU,MAAM;AAAA,IAChB,eAAe;AAAA,IACf,iBAAiB;AAAA,EACnB;AAAA,EACA,iBAAiB;AAAA,IACf,uBAAuB,MAAM;AAAA,EAC/B;AACF,MAAM;AACJ,iDAAsB,EAAE,eAAe,uBAAuB,SAAS,oBAAoB,CAAC;AAE5F,QAAM,EAAE,aAAa,QAAI,gDAA0B,kBAAkB,WAAW;AAAA,IAC9E;AAAA,EACF,CAAC;AACD,SACE,4CAAC,SAAI,WAAW,cAAe,GAAG,gBAChC;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF,GACF;AAEJ;AAEA,MAAM,sBAAsB;AAAA,EAC1B,gBAAgB,kCAAU,OAAO,YAAY,kDAAkD;AAAA,EAC/F,WAAW,kCAAU,OAAO,YAAY,sBAAsB;AAAA,EAC9D,IAAI,kCAAU,OAAO,YAAY,eAAe;AAAA,EAIhD,QAAQ,kCAAU,KAAK,YAAY,kBAAkB;AAAA,EAIrD,MAAM,kCAAU,WAAW,MAAM,cAAAC,OAAM,EAAE,YAAY,uCAAuC;AAAA,EAI5F,WAAW,kCAAU,KAAK,YAAY,uCAAuC;AAAA,EAI7E,iBAAiB,kCAAU,MAAM;AAAA,IAC/B,UAAU,kCAAU;AAAA,IACpB,gBAAgB,kCAAU;AAAA,IAC1B,UAAU,kCAAU;AAAA,IACpB,mBAAmB,kCAAU;AAAA,IAC7B,oBAAoB,kCAAU;AAAA,IAC9B,gBAAgB,kCAAU;AAAA,IAC1B,sBAAsB,kCAAU;AAAA,IAChC,4BAA4B,kCAAU;AAAA,IACtC,kBAAkB,kCAAU;AAAA,IAC5B,kBAAkB,kCAAU;AAAA,IAC5B,SAAS,kCAAU;AAAA,IACnB,cAAc,kCAAU;AAAA,IACxB,SAAS,kCAAU,MAAM;AAAA,MACvB,eAAe,kCAAU;AAAA,MACzB,iBAAiB,kCAAU;AAAA,MAC3B,YAAY,kCAAU;AAAA,MACtB,gBAAgB,kCAAU;AAAA,MAC1B,iBAAiB,kCAAU;AAAA,MAC3B,iBAAiB,kCAAU;AAAA,MAC3B,mBAAmB,kCAAU;AAAA,MAC7B,4BAA4B,kCAAU;AAAA,MACtC,4BAA4B,kCAAU;AAAA,MACtC,eAAe,kCAAU;AAAA,MACzB,UAAU,kCAAU;AAAA,MACpB,qBAAqB,kCAAU;AAAA,MAC/B,kBAAkB,kCAAU;AAAA,MAC5B,gBAAgB,kCAAU;AAAA,MAC1B,SAAS,kCAAU;AAAA,MACnB,QAAQ,kCAAU;AAAA,MAClB,cAAc,kCAAU;AAAA,MACxB,mBAAmB,kCAAU;AAAA,MAC7B,mBAAmB,kCAAU;AAAA,MAC7B,oBAAoB,kCAAU;AAAA,MAC9B,qBAAqB,kCAAU;AAAA,MAC/B,8BAA8B,kCAAU;AAAA,MACxC,oBAAoB,kCAAU;AAAA,MAC9B,gCAAgC,kCAAU;AAAA,MAC1C,0BAA0B,kCAAU;AAAA,MACpC,wBAAwB,kCAAU;AAAA,MAClC,mBAAmB,kCAAU;AAAA,MAC7B,gBAAgB,kCAAU;AAAA,MAI1B,QAAQ,kCAAU;AAAA,IACpB,CAAC;AAAA,IACD,kBAAkB,kCAAU;AAAA,IAC5B,cAAc,kCAAU;AAAA,IACxB,gBAAgB,kCAAU;AAAA,IAC1B,kBAAkB,kCAAU;AAAA,EAC9B,CAAC,EAAE,YAAY,uBAAuB;AAAA,EAItC,aAAa,kCAAU,OAAO,YAAY,mBAAmB;AAAA,EAI7D,iBAAiB,kCAAU,MAAM;AAAA,IAC/B,QAAQ,kCAAU;AAAA,IAClB,UAAU,kCAAU;AAAA,EACtB,CAAC,EAAE,YAAY,uBAAuB;AAAA,EACtC,gBAAgB,kCAAU,MAAM;AAAA,IAC9B,uBAAuB,kCAAU;AAAA,EACnC,CAAC,EAAE,YAAY,qBAAqB;AACtC;AAEA,iBAAiB,YAAY;AAC7B,iBAAiB,cAAc;AAC/B,MAAM,+BAA2B,kCAAS,gBAAgB;AAC1D,yBAAyB,YAAY;AAGrC,IAAO,2BAAQ;",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport React from 'react';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\nimport { PropTypes, describe } from '@elliemae/ds-props-helpers';\nimport moment from 'moment';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSDateTimePickerImpl } from './components/DateTimePickerImpl.js';\nimport english from './lang/english.js';\n\nconst { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = english;\n\nconst DSDateTimePicker = ({\n containerProps = {},\n className = classNameDefault,\n id = idDefault,\n placeholder = placeholderDefault,\n date,\n clearable = false,\n onBlur = () => null,\n datePickerProps = {\n disabled: false,\n numberOfMonths: 1,\n readOnly: false,\n enableOutsideDays: false,\n transitionDuration: 0,\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onchange: () => null,\n onDateChange: () => null,\n phrases: SingleDatePickerPhrases,\n displayFormatDay: 'D',\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n zIndex: 11,\n },\n timePickerProps = {\n format: 'hh:mm A',\n onChange: () => null,\n disabledTimes: undefined,\n minutesInterval: 1,\n },\n dateInputProps = {\n onDateInputDateChange: () => null,\n },\n}) => {\n useDeprecateComponent({ componentName: 'ds-date-time-picker', version: '3.x Date: 2023 Q1' });\n\n const { cssClassName } = convertPropToCssClassName('datetimepicker', className, {\n id,\n });\n return (\n <div className={cssClassName} {...containerProps}>\n <DSDateTimePickerImpl\n clearable={clearable}\n date={date}\n datePickerProps={datePickerProps}\n onBlur={onBlur}\n placeholder={placeholder}\n timePickerProps={timePickerProps}\n dateInputProps={dateInputProps}\n />\n </div>\n );\n};\n\nconst dateTimePickerProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n className: PropTypes.string.description('html class attribute'),\n id: PropTypes.string.description('components id'),\n /**\n * on blur callback\n */\n onBlur: PropTypes.func.description('on blur callback'),\n /**\n * Initial date, by default current date\n */\n date: PropTypes.instanceOf(Date, moment).description('Initial date, by default current date'),\n /**\n * Flag to trigger onDateChange on error\n */\n clearable: PropTypes.bool.description('Flag to trigger onDateChange on error'),\n /**\n * DatePicker properties\n */\n datePickerProps: PropTypes.shape({\n disabled: PropTypes.bool,\n numberOfMonths: PropTypes.number,\n readOnly: PropTypes.bool,\n enableOutsideDays: PropTypes.bool,\n transitionDuration: PropTypes.number,\n firstDayOfWeek: PropTypes.number,\n keepOpenOnDateSelect: PropTypes.bool,\n hideKeyboardShortcutsPanel: PropTypes.bool,\n onPrevMonthClick: PropTypes.func,\n onNextMonthClick: PropTypes.func,\n onClose: PropTypes.func,\n onDateChange: PropTypes.func,\n phrases: PropTypes.shape({\n calendarLabel: PropTypes.string,\n closeDatePicker: PropTypes.string,\n clearDates: PropTypes.string,\n focusStartDate: PropTypes.string,\n jumpToPrevMonth: PropTypes.string,\n jumpToNextMonth: PropTypes.string,\n keyboardShortcuts: PropTypes.string,\n showKeyboardShortcutsPanel: PropTypes.string,\n hideKeyboardShortcutsPanel: PropTypes.string,\n openThisPanel: PropTypes.string,\n enterKey: PropTypes.string,\n leftArrowRightArrow: PropTypes.string,\n upArrowDownArrow: PropTypes.string,\n pageUpPageDown: PropTypes.string,\n homeEnd: PropTypes.string,\n escape: PropTypes.string,\n questionMark: PropTypes.string,\n selectFocusedDate: PropTypes.string,\n moveFocusByOneDay: PropTypes.string,\n moveFocusByOneWeek: PropTypes.string,\n moveFocusByOneMonth: PropTypes.string,\n moveFocustoStartAndEndOfWeek: PropTypes.string,\n returnFocusToInput: PropTypes.string,\n keyboardNavigationInstructions: PropTypes.string,\n chooseAvailableStartDate: PropTypes.func,\n chooseAvailableEndDate: PropTypes.func,\n dateIsUnavailable: PropTypes.func,\n dateIsSelected: PropTypes.func,\n /**\n * ZIndex for the picker popup\n */\n zIndex: PropTypes.number,\n }),\n displayFormatDay: PropTypes.string,\n isDayBlocked: PropTypes.func,\n isOutsideRange: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n }).description('DatePicker properties'),\n /**\n * Input placeholder\n */\n placeholder: PropTypes.string.description('Input placeholder'),\n /**\n * TimePicker properties\n */\n timePickerProps: PropTypes.shape({\n format: PropTypes.string,\n onChange: PropTypes.func,\n }).description('TimePicker properties'),\n dateInputProps: PropTypes.shape({\n onDateInputDateChange: PropTypes.func,\n }).description('DateInputProperties'),\n};\n\nDSDateTimePicker.propTypes = dateTimePickerProps;\nDSDateTimePicker.displayName = 'DSDateTimePicker';\nconst DateTimePickerWithSchema = describe(DSDateTimePicker);\nDateTimePickerWithSchema.propTypes = dateTimePickerProps;\n\nexport { DateTimePickerWithSchema, DSDateTimePicker };\nexport default DSDateTimePicker;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": ["english", "moment"]
7
7
  }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -37,7 +41,7 @@ var import_ds_date_picker = require("@elliemae/ds-date-picker");
37
41
  var import_ds_form = require("@elliemae/ds-form");
38
42
  var import_ds_utilities = require("@elliemae/ds-utilities");
39
43
  var import_ds_time_picker = require("@elliemae/ds-time-picker");
40
- var import_utils = require("../utils");
44
+ var import_utils = require("../utils.js");
41
45
  const blockName = "date-time-picker";
42
46
  const DateTimePickerWrapper = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "wrapper");
43
47
  const TimePicker = (0, import_ds_classnames.aggregatedClasses)(import_ds_time_picker.DSTimePickerMenu)(blockName, "time-picker");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/DateTimePickerImpl.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable indent */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable no-empty-pattern */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\nimport moment from 'moment';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DSDatePickerController, DatePickerDropdown, SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSInput, DSInputGroup, DateInputsV2Impl, TimeInputImpl } from '@elliemae/ds-form';\nimport { getVisibleTimeByFormat } from '@elliemae/ds-utilities';\nimport { DSTimePickerMenu, convertTimeString } from '@elliemae/ds-time-picker';\nimport { updateDateAndTime } from '../utils';\n\nconst blockName = 'date-time-picker';\n\nconst DateTimePickerWrapper = aggregatedClasses('div')(blockName, 'wrapper');\nconst TimePicker = aggregatedClasses(DSTimePickerMenu)(blockName, 'time-picker');\nconst TimePickerWrapper = aggregatedClasses('div')(blockName, 'time-picker-wrapper');\n// const DateInput = aggregatedClasses(DateInputsV2Impl)(blockName, 'date-input');\nconst formatDate = 'MMDDYYYY';\n\nconst DSDateTimePickerImpl = ({\n onBlur = () => null,\n placeholder,\n date,\n clearable,\n datePickerProps: {\n disabled = false,\n numberOfMonths = 1,\n readOnly = false,\n enableOutsideDays = false,\n transitionDuration = 0,\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = true,\n hideKeyboardShortcutsPanel = true,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onChange: onDatePickerChange = () => null,\n onDateChange = () => null,\n onError: onErrorDate = () => null,\n phrases = SingleDatePickerPhrases,\n displayFormatDay = 'D',\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n zIndex = 11,\n },\n timePickerProps: {\n format = 'hh:mm A',\n onChange: onChangeTimePicker = () => null,\n disabledTimes = undefined,\n onError: onErrorTime = () => null,\n minutesInterval = 1,\n },\n dateInputProps: { onDateInputDateChange = () => null },\n}) => {\n const [selectedDate, setSelectedDate] = useState(undefined);\n const [incompleteInput, setIncompleteInput] = useState(undefined);\n const [isOpen, setIsOpen] = useState(false);\n\n const disabledTimeRange = disabledTimes && {\n from: convertTimeString(disabledTimes.from),\n to: convertTimeString(disabledTimes.to),\n };\n\n const dateTimePickerWrapperRef = useRef();\n const fullFormat = `${formatDate} ${format}`;\n\n useEffect(() => {\n if (date) {\n setSelectedDate(moment(date));\n } else if (date === null) setSelectedDate(undefined);\n }, [date]);\n\n const visiblePanels = useMemo(() => getVisibleTimeByFormat(format), []);\n\n const currentYear = moment().year();\n\n const handleDatePickerChange = (dateSelected) => {\n const splittedDate = updateDateAndTime(dateSelected, selectedDate);\n if (!readOnly) {\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n };\n\n const onTimeChange = (pickerTime) => {\n const splittedDate = updateDateAndTime(selectedDate, pickerTime);\n onChangeTimePicker(splittedDate);\n setSelectedDate(splittedDate);\n };\n\n const handleInputChange = (inputValue, type) => {\n onDatePickerChange(inputValue);\n let timeBlocked = false;\n const inputMoment = moment(inputValue, fullFormat);\n setIncompleteInput(inputValue);\n if (type === 'date') {\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n if (inputValue.length < 8) {\n onErrorDate({ message: 'date incomplete', inputValue });\n if (clearable) onDateChange('error');\n return;\n }\n if (inputValue.length === 8 && inputMoment.isValid()) {\n setSelectedDate(splittedDate);\n onChangeTimePicker(splittedDate);\n }\n onDateChange(splittedDate);\n return;\n }\n\n if (disabledTimeRange) {\n const hour = inputValue.hour();\n const min = inputValue.minutes();\n const { from, to } = disabledTimeRange;\n\n if ((hour > from.hour && hour < to.hour) || (hour === to.hour && min < to.min)) {\n timeBlocked = true;\n }\n }\n if (timeBlocked) onErrorTime({ message: 'time blocked', inputValue });\n const dateBlocked = isDayBlocked(inputMoment);\n if (dateBlocked) onErrorDate({ message: 'date blocked', inputValue });\n if (!timeBlocked && !dateBlocked) {\n onDateChange(inputValue);\n }\n };\n\n const handleOutsideClick = (event) => {\n if (!dateTimePickerWrapperRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n\n const handleClickEscape = () => setIsOpen(false);\n const handleOpen = () => setIsOpen(true);\n\n const handleContainerBlur = (event) => {\n if (!isOpen && !event.currentTarget.contains(event.relatedTarget)) {\n onBlur(\n event,\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n if (clearable && !selectedDate && !!incompleteInput) {\n const inputMoment = moment(incompleteInput, fullFormat);\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n }\n };\n\n useEffect(() => {\n if (!isOpen)\n onBlur(\n {},\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n }, [isOpen]);\n\n const hasSelectedDate = !!selectedDate;\n return (\n <DSInputGroup\n containerProps={{\n onBlur: handleContainerBlur,\n }}\n rightAddon={\n <DatePickerDropdown\n disabled={disabled}\n isOpen={isOpen}\n zIndex={zIndex}\n menu={\n <DateTimePickerWrapper ref={dateTimePickerWrapperRef} data-testid=\"date-time-picker\">\n <div\n className={hasSelectedDate ? 'has-selected-date' : 'without-selected-date'}\n data-testid=\"date-time-picker-portal-wrapper\"\n >\n <DSDatePickerController\n date={selectedDate}\n displayFormatDay={displayFormatDay}\n enableOutsideDays={enableOutsideDays}\n firstDayOfWeek={firstDayOfWeek}\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n numberOfMonths={numberOfMonths}\n onClickEscape={handleClickEscape}\n onClose={onClose}\n onDateChange={handleDatePickerChange}\n onNextMonthClick={onNextMonthClick}\n onOutsideClick={(event) => handleOutsideClick(event)}\n onPrevMonthClick={onPrevMonthClick}\n phrases={phrases}\n transitionDuration={transitionDuration}\n />\n </div>\n <TimePickerWrapper>\n <TimePicker\n disabled={disabled}\n disabledTimes={disabledTimeRange}\n format={format}\n hasHeader\n hasHeaderDisplay\n onTimeChange={onTimeChange}\n showSeconds={false}\n minutesInterval={minutesInterval}\n time={selectedDate}\n {...visiblePanels}\n />\n </TimePickerWrapper>\n </DateTimePickerWrapper>\n }\n onClick={handleOpen}\n readOnly={readOnly}\n />\n }\n >\n <DSInput\n customInputType={({ onChange: handleChange, ...restInputProps }) => (\n <>\n <div style={{ display: 'flex' }}>\n <DateInputsV2Impl\n disabled={disabled}\n onChange={(input) => handleChange(input, 'date')}\n {...restInputProps}\n onDateChange={onDateInputDateChange}\n yearMaxRange={currentYear + 100}\n yearMinRange={currentYear - 100}\n time={\n restInputProps.value && restInputProps.value.hour && restInputProps.value.isValid()\n ? restInputProps.value.format(formatDate)\n : restInputProps.value\n }\n />\n </div>\n <TimeInputImpl\n disabled={disabled}\n format={format}\n onChange={(time) => handleChange(time, 'time')}\n {...restInputProps}\n />\n </>\n )}\n isShowElipsisActive={false}\n disabled={disabled}\n onChange={handleInputChange}\n placeholder={placeholder}\n value={selectedDate}\n />\n </DSInputGroup>\n );\n};\n\nexport { DSDateTimePickerImpl };\nexport default DSDateTimePickerImpl;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable indent */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable no-empty-pattern */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\nimport moment from 'moment';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DSDatePickerController, DatePickerDropdown, SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSInput, DSInputGroup, DateInputsV2Impl, TimeInputImpl } from '@elliemae/ds-form';\nimport { getVisibleTimeByFormat } from '@elliemae/ds-utilities';\nimport { DSTimePickerMenu, convertTimeString } from '@elliemae/ds-time-picker';\nimport { updateDateAndTime } from '../utils.js';\n\nconst blockName = 'date-time-picker';\n\nconst DateTimePickerWrapper = aggregatedClasses('div')(blockName, 'wrapper');\nconst TimePicker = aggregatedClasses(DSTimePickerMenu)(blockName, 'time-picker');\nconst TimePickerWrapper = aggregatedClasses('div')(blockName, 'time-picker-wrapper');\n// const DateInput = aggregatedClasses(DateInputsV2Impl)(blockName, 'date-input');\nconst formatDate = 'MMDDYYYY';\n\nconst DSDateTimePickerImpl = ({\n onBlur = () => null,\n placeholder,\n date,\n clearable,\n datePickerProps: {\n disabled = false,\n numberOfMonths = 1,\n readOnly = false,\n enableOutsideDays = false,\n transitionDuration = 0,\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = true,\n hideKeyboardShortcutsPanel = true,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onChange: onDatePickerChange = () => null,\n onDateChange = () => null,\n onError: onErrorDate = () => null,\n phrases = SingleDatePickerPhrases,\n displayFormatDay = 'D',\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n zIndex = 11,\n },\n timePickerProps: {\n format = 'hh:mm A',\n onChange: onChangeTimePicker = () => null,\n disabledTimes = undefined,\n onError: onErrorTime = () => null,\n minutesInterval = 1,\n },\n dateInputProps: { onDateInputDateChange = () => null },\n}) => {\n const [selectedDate, setSelectedDate] = useState(undefined);\n const [incompleteInput, setIncompleteInput] = useState(undefined);\n const [isOpen, setIsOpen] = useState(false);\n\n const disabledTimeRange = disabledTimes && {\n from: convertTimeString(disabledTimes.from),\n to: convertTimeString(disabledTimes.to),\n };\n\n const dateTimePickerWrapperRef = useRef();\n const fullFormat = `${formatDate} ${format}`;\n\n useEffect(() => {\n if (date) {\n setSelectedDate(moment(date));\n } else if (date === null) setSelectedDate(undefined);\n }, [date]);\n\n const visiblePanels = useMemo(() => getVisibleTimeByFormat(format), []);\n\n const currentYear = moment().year();\n\n const handleDatePickerChange = (dateSelected) => {\n const splittedDate = updateDateAndTime(dateSelected, selectedDate);\n if (!readOnly) {\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n };\n\n const onTimeChange = (pickerTime) => {\n const splittedDate = updateDateAndTime(selectedDate, pickerTime);\n onChangeTimePicker(splittedDate);\n setSelectedDate(splittedDate);\n };\n\n const handleInputChange = (inputValue, type) => {\n onDatePickerChange(inputValue);\n let timeBlocked = false;\n const inputMoment = moment(inputValue, fullFormat);\n setIncompleteInput(inputValue);\n if (type === 'date') {\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n if (inputValue.length < 8) {\n onErrorDate({ message: 'date incomplete', inputValue });\n if (clearable) onDateChange('error');\n return;\n }\n if (inputValue.length === 8 && inputMoment.isValid()) {\n setSelectedDate(splittedDate);\n onChangeTimePicker(splittedDate);\n }\n onDateChange(splittedDate);\n return;\n }\n\n if (disabledTimeRange) {\n const hour = inputValue.hour();\n const min = inputValue.minutes();\n const { from, to } = disabledTimeRange;\n\n if ((hour > from.hour && hour < to.hour) || (hour === to.hour && min < to.min)) {\n timeBlocked = true;\n }\n }\n if (timeBlocked) onErrorTime({ message: 'time blocked', inputValue });\n const dateBlocked = isDayBlocked(inputMoment);\n if (dateBlocked) onErrorDate({ message: 'date blocked', inputValue });\n if (!timeBlocked && !dateBlocked) {\n onDateChange(inputValue);\n }\n };\n\n const handleOutsideClick = (event) => {\n if (!dateTimePickerWrapperRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n\n const handleClickEscape = () => setIsOpen(false);\n const handleOpen = () => setIsOpen(true);\n\n const handleContainerBlur = (event) => {\n if (!isOpen && !event.currentTarget.contains(event.relatedTarget)) {\n onBlur(\n event,\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n if (clearable && !selectedDate && !!incompleteInput) {\n const inputMoment = moment(incompleteInput, fullFormat);\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n }\n };\n\n useEffect(() => {\n if (!isOpen)\n onBlur(\n {},\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n }, [isOpen]);\n\n const hasSelectedDate = !!selectedDate;\n return (\n <DSInputGroup\n containerProps={{\n onBlur: handleContainerBlur,\n }}\n rightAddon={\n <DatePickerDropdown\n disabled={disabled}\n isOpen={isOpen}\n zIndex={zIndex}\n menu={\n <DateTimePickerWrapper ref={dateTimePickerWrapperRef} data-testid=\"date-time-picker\">\n <div\n className={hasSelectedDate ? 'has-selected-date' : 'without-selected-date'}\n data-testid=\"date-time-picker-portal-wrapper\"\n >\n <DSDatePickerController\n date={selectedDate}\n displayFormatDay={displayFormatDay}\n enableOutsideDays={enableOutsideDays}\n firstDayOfWeek={firstDayOfWeek}\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n numberOfMonths={numberOfMonths}\n onClickEscape={handleClickEscape}\n onClose={onClose}\n onDateChange={handleDatePickerChange}\n onNextMonthClick={onNextMonthClick}\n onOutsideClick={(event) => handleOutsideClick(event)}\n onPrevMonthClick={onPrevMonthClick}\n phrases={phrases}\n transitionDuration={transitionDuration}\n />\n </div>\n <TimePickerWrapper>\n <TimePicker\n disabled={disabled}\n disabledTimes={disabledTimeRange}\n format={format}\n hasHeader\n hasHeaderDisplay\n onTimeChange={onTimeChange}\n showSeconds={false}\n minutesInterval={minutesInterval}\n time={selectedDate}\n {...visiblePanels}\n />\n </TimePickerWrapper>\n </DateTimePickerWrapper>\n }\n onClick={handleOpen}\n readOnly={readOnly}\n />\n }\n >\n <DSInput\n customInputType={({ onChange: handleChange, ...restInputProps }) => (\n <>\n <div style={{ display: 'flex' }}>\n <DateInputsV2Impl\n disabled={disabled}\n onChange={(input) => handleChange(input, 'date')}\n {...restInputProps}\n onDateChange={onDateInputDateChange}\n yearMaxRange={currentYear + 100}\n yearMinRange={currentYear - 100}\n time={\n restInputProps.value && restInputProps.value.hour && restInputProps.value.isValid()\n ? restInputProps.value.format(formatDate)\n : restInputProps.value\n }\n />\n </div>\n <TimeInputImpl\n disabled={disabled}\n format={format}\n onChange={(time) => handleChange(time, 'time')}\n {...restInputProps}\n />\n </>\n )}\n isShowElipsisActive={false}\n disabled={disabled}\n onChange={handleInputChange}\n placeholder={placeholder}\n value={selectedDate}\n />\n </DSInputGroup>\n );\n};\n\nexport { DSDateTimePickerImpl };\nexport default DSDateTimePickerImpl;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": ["moment"]
7
7
  }
package/dist/cjs/index.js CHANGED
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -30,5 +34,5 @@ __export(src_exports, {
30
34
  });
31
35
  module.exports = __toCommonJS(src_exports);
32
36
  var React = __toESM(require("react"));
33
- var import_DSDateTimePicker = __toESM(require("./DSDateTimePicker"));
37
+ var import_DSDateTimePicker = __toESM(require("./DSDateTimePicker.js"));
34
38
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export { default, DSDateTimePicker, DateTimePickerWithSchema } from './DSDateTimePicker';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,8BAAoE;",
4
+ "sourcesContent": ["export { default, DSDateTimePicker, DateTimePickerWithSchema } from './DSDateTimePicker.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,8BAAoE;",
6
6
  "names": []
7
7
  }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/lang/english.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["export default {\n placeholder: 'Select date and time',\n className: '',\n id: '',\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,IAAO,kBAAQ;AAAA,EACb,aAAa;AAAA,EACb,WAAW;AAAA,EACX,IAAI;AACN;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,IAAO,kBAAQ;AAAA,EACb,aAAa;AAAA,EACb,WAAW;AAAA,EACX,IAAI;AACN;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "commonjs",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../src/tests/utils.js", "../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React from 'react';\nimport { ThemeProvider } from 'styled-components';\nimport { DSTheme } from '@elliemae/ds-system';\n\nexport const themeProviderHOC = (Component) =>\n function (props) {\n return (\n <ThemeProvider theme={DSTheme}>\n <Component {...props} />\n </ThemeProvider>\n );\n };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADQf;AARR,mBAAkB;AAClB,+BAA8B;AAC9B,uBAAwB;AAEjB,MAAM,mBAAmB,CAAC,cAC/B,SAAU,OAAO;AACf,SACE,4CAAC,0CAAc,OAAO,0BACpB,sDAAC,aAAW,GAAG,OAAO,GACxB;AAEJ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADQf;AARR,mBAAkB;AAClB,+BAA8B;AAC9B,uBAAwB;AAEjB,MAAM,mBAAmB,CAAC,cAC/B,SAAU,OAAO;AACf,SACE,4CAAC,0CAAc,OAAO,0BACpB,sDAAC,aAAW,GAAG,OAAO,GACxB;AAEJ;",
6
6
  "names": []
7
7
  }
package/dist/cjs/utils.js CHANGED
@@ -18,6 +18,10 @@ var __copyProps = (to, from, except, desc) => {
18
18
  return to;
19
19
  };
20
20
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
26
  mod
23
27
  ));
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils.tsx", "../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import moment from 'moment';\n\nexport const updateDateAndTime = (date, time) => {\n const splittedDate = moment();\n splittedDate.month(date?.get('month'));\n splittedDate.year(date?.get('year'));\n splittedDate.date(date?.get('date'));\n splittedDate.hour(time?.get('hour'));\n splittedDate.minute(time?.get('minute'));\n splittedDate.second(time?.get('second'));\n\n return splittedDate;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,oBAAmB;AAEZ,MAAM,oBAAoB,CAAC,MAAM,SAAS;AAC/C,QAAM,mBAAe,cAAAA,SAAO;AAC5B,eAAa,MAAM,MAAM,IAAI,OAAO,CAAC;AACrC,eAAa,KAAK,MAAM,IAAI,MAAM,CAAC;AACnC,eAAa,KAAK,MAAM,IAAI,MAAM,CAAC;AACnC,eAAa,KAAK,MAAM,IAAI,MAAM,CAAC;AACnC,eAAa,OAAO,MAAM,IAAI,QAAQ,CAAC;AACvC,eAAa,OAAO,MAAM,IAAI,QAAQ,CAAC;AAEvC,SAAO;AACT;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,oBAAmB;AAEZ,MAAM,oBAAoB,CAAC,MAAM,SAAS;AAC/C,QAAM,mBAAe,cAAAA,SAAO;AAC5B,eAAa,MAAM,MAAM,IAAI,OAAO,CAAC;AACrC,eAAa,KAAK,MAAM,IAAI,MAAM,CAAC;AACnC,eAAa,KAAK,MAAM,IAAI,MAAM,CAAC;AACnC,eAAa,KAAK,MAAM,IAAI,MAAM,CAAC;AACnC,eAAa,OAAO,MAAM,IAAI,QAAQ,CAAC;AACvC,eAAa,OAAO,MAAM,IAAI,QAAQ,CAAC;AAEvC,SAAO;AACT;",
6
6
  "names": ["moment"]
7
7
  }
@@ -5,8 +5,8 @@ import { PropTypes, describe } from "@elliemae/ds-props-helpers";
5
5
  import moment from "moment";
6
6
  import { convertPropToCssClassName } from "@elliemae/ds-classnames";
7
7
  import { SingleDatePickerPhrases } from "@elliemae/ds-date-picker";
8
- import { DSDateTimePickerImpl } from "./components/DateTimePickerImpl";
9
- import english from "./lang/english";
8
+ import { DSDateTimePickerImpl } from "./components/DateTimePickerImpl.js";
9
+ import english from "./lang/english.js";
10
10
  const { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = english;
11
11
  const DSDateTimePicker = ({
12
12
  containerProps = {},
@@ -68,9 +68,21 @@ const dateTimePickerProps = {
68
68
  containerProps: PropTypes.object.description("Set of Properties attached to the main container"),
69
69
  className: PropTypes.string.description("html class attribute"),
70
70
  id: PropTypes.string.description("components id"),
71
+ /**
72
+ * on blur callback
73
+ */
71
74
  onBlur: PropTypes.func.description("on blur callback"),
75
+ /**
76
+ * Initial date, by default current date
77
+ */
72
78
  date: PropTypes.instanceOf(Date, moment).description("Initial date, by default current date"),
79
+ /**
80
+ * Flag to trigger onDateChange on error
81
+ */
73
82
  clearable: PropTypes.bool.description("Flag to trigger onDateChange on error"),
83
+ /**
84
+ * DatePicker properties
85
+ */
74
86
  datePickerProps: PropTypes.shape({
75
87
  disabled: PropTypes.bool,
76
88
  numberOfMonths: PropTypes.number,
@@ -113,6 +125,9 @@ const dateTimePickerProps = {
113
125
  chooseAvailableEndDate: PropTypes.func,
114
126
  dateIsUnavailable: PropTypes.func,
115
127
  dateIsSelected: PropTypes.func,
128
+ /**
129
+ * ZIndex for the picker popup
130
+ */
116
131
  zIndex: PropTypes.number
117
132
  }),
118
133
  displayFormatDay: PropTypes.string,
@@ -120,7 +135,13 @@ const dateTimePickerProps = {
120
135
  isOutsideRange: PropTypes.func,
121
136
  isDayHighlighted: PropTypes.func
122
137
  }).description("DatePicker properties"),
138
+ /**
139
+ * Input placeholder
140
+ */
123
141
  placeholder: PropTypes.string.description("Input placeholder"),
142
+ /**
143
+ * TimePicker properties
144
+ */
124
145
  timePickerProps: PropTypes.shape({
125
146
  format: PropTypes.string,
126
147
  onChange: PropTypes.func
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSDateTimePicker.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\nimport { PropTypes, describe } from '@elliemae/ds-props-helpers';\nimport moment from 'moment';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSDateTimePickerImpl } from './components/DateTimePickerImpl';\nimport english from './lang/english';\n\nconst { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = english;\n\nconst DSDateTimePicker = ({\n containerProps = {},\n className = classNameDefault,\n id = idDefault,\n placeholder = placeholderDefault,\n date,\n clearable = false,\n onBlur = () => null,\n datePickerProps = {\n disabled: false,\n numberOfMonths: 1,\n readOnly: false,\n enableOutsideDays: false,\n transitionDuration: 0,\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onchange: () => null,\n onDateChange: () => null,\n phrases: SingleDatePickerPhrases,\n displayFormatDay: 'D',\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n zIndex: 11,\n },\n timePickerProps = {\n format: 'hh:mm A',\n onChange: () => null,\n disabledTimes: undefined,\n minutesInterval: 1,\n },\n dateInputProps = {\n onDateInputDateChange: () => null,\n },\n}) => {\n useDeprecateComponent({ componentName: 'ds-date-time-picker', version: '3.x Date: 2023 Q1' });\n\n const { cssClassName } = convertPropToCssClassName('datetimepicker', className, {\n id,\n });\n return (\n <div className={cssClassName} {...containerProps}>\n <DSDateTimePickerImpl\n clearable={clearable}\n date={date}\n datePickerProps={datePickerProps}\n onBlur={onBlur}\n placeholder={placeholder}\n timePickerProps={timePickerProps}\n dateInputProps={dateInputProps}\n />\n </div>\n );\n};\n\nconst dateTimePickerProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n className: PropTypes.string.description('html class attribute'),\n id: PropTypes.string.description('components id'),\n /**\n * on blur callback\n */\n onBlur: PropTypes.func.description('on blur callback'),\n /**\n * Initial date, by default current date\n */\n date: PropTypes.instanceOf(Date, moment).description('Initial date, by default current date'),\n /**\n * Flag to trigger onDateChange on error\n */\n clearable: PropTypes.bool.description('Flag to trigger onDateChange on error'),\n /**\n * DatePicker properties\n */\n datePickerProps: PropTypes.shape({\n disabled: PropTypes.bool,\n numberOfMonths: PropTypes.number,\n readOnly: PropTypes.bool,\n enableOutsideDays: PropTypes.bool,\n transitionDuration: PropTypes.number,\n firstDayOfWeek: PropTypes.number,\n keepOpenOnDateSelect: PropTypes.bool,\n hideKeyboardShortcutsPanel: PropTypes.bool,\n onPrevMonthClick: PropTypes.func,\n onNextMonthClick: PropTypes.func,\n onClose: PropTypes.func,\n onDateChange: PropTypes.func,\n phrases: PropTypes.shape({\n calendarLabel: PropTypes.string,\n closeDatePicker: PropTypes.string,\n clearDates: PropTypes.string,\n focusStartDate: PropTypes.string,\n jumpToPrevMonth: PropTypes.string,\n jumpToNextMonth: PropTypes.string,\n keyboardShortcuts: PropTypes.string,\n showKeyboardShortcutsPanel: PropTypes.string,\n hideKeyboardShortcutsPanel: PropTypes.string,\n openThisPanel: PropTypes.string,\n enterKey: PropTypes.string,\n leftArrowRightArrow: PropTypes.string,\n upArrowDownArrow: PropTypes.string,\n pageUpPageDown: PropTypes.string,\n homeEnd: PropTypes.string,\n escape: PropTypes.string,\n questionMark: PropTypes.string,\n selectFocusedDate: PropTypes.string,\n moveFocusByOneDay: PropTypes.string,\n moveFocusByOneWeek: PropTypes.string,\n moveFocusByOneMonth: PropTypes.string,\n moveFocustoStartAndEndOfWeek: PropTypes.string,\n returnFocusToInput: PropTypes.string,\n keyboardNavigationInstructions: PropTypes.string,\n chooseAvailableStartDate: PropTypes.func,\n chooseAvailableEndDate: PropTypes.func,\n dateIsUnavailable: PropTypes.func,\n dateIsSelected: PropTypes.func,\n /**\n * ZIndex for the picker popup\n */\n zIndex: PropTypes.number,\n }),\n displayFormatDay: PropTypes.string,\n isDayBlocked: PropTypes.func,\n isOutsideRange: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n }).description('DatePicker properties'),\n /**\n * Input placeholder\n */\n placeholder: PropTypes.string.description('Input placeholder'),\n /**\n * TimePicker properties\n */\n timePickerProps: PropTypes.shape({\n format: PropTypes.string,\n onChange: PropTypes.func,\n }).description('TimePicker properties'),\n dateInputProps: PropTypes.shape({\n onDateInputDateChange: PropTypes.func,\n }).description('DateInputProperties'),\n};\n\nDSDateTimePicker.propTypes = dateTimePickerProps;\nDSDateTimePicker.displayName = 'DSDateTimePicker';\nconst DateTimePickerWithSchema = describe(DSDateTimePicker);\nDateTimePickerWithSchema.propTypes = dateTimePickerProps;\n\nexport { DateTimePickerWithSchema, DSDateTimePicker };\nexport default DSDateTimePicker;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React from 'react';\nimport { useDeprecateComponent } from '@elliemae/ds-utilities';\nimport { PropTypes, describe } from '@elliemae/ds-props-helpers';\nimport moment from 'moment';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSDateTimePickerImpl } from './components/DateTimePickerImpl.js';\nimport english from './lang/english.js';\n\nconst { placeholder: placeholderDefault, className: classNameDefault, id: idDefault } = english;\n\nconst DSDateTimePicker = ({\n containerProps = {},\n className = classNameDefault,\n id = idDefault,\n placeholder = placeholderDefault,\n date,\n clearable = false,\n onBlur = () => null,\n datePickerProps = {\n disabled: false,\n numberOfMonths: 1,\n readOnly: false,\n enableOutsideDays: false,\n transitionDuration: 0,\n firstDayOfWeek: 0,\n keepOpenOnDateSelect: true,\n hideKeyboardShortcutsPanel: true,\n onPrevMonthClick: () => null,\n onNextMonthClick: () => null,\n onClose: () => null,\n onchange: () => null,\n onDateChange: () => null,\n phrases: SingleDatePickerPhrases,\n displayFormatDay: 'D',\n isDayBlocked: () => false,\n isOutsideRange: () => false,\n isDayHighlighted: () => false,\n zIndex: 11,\n },\n timePickerProps = {\n format: 'hh:mm A',\n onChange: () => null,\n disabledTimes: undefined,\n minutesInterval: 1,\n },\n dateInputProps = {\n onDateInputDateChange: () => null,\n },\n}) => {\n useDeprecateComponent({ componentName: 'ds-date-time-picker', version: '3.x Date: 2023 Q1' });\n\n const { cssClassName } = convertPropToCssClassName('datetimepicker', className, {\n id,\n });\n return (\n <div className={cssClassName} {...containerProps}>\n <DSDateTimePickerImpl\n clearable={clearable}\n date={date}\n datePickerProps={datePickerProps}\n onBlur={onBlur}\n placeholder={placeholder}\n timePickerProps={timePickerProps}\n dateInputProps={dateInputProps}\n />\n </div>\n );\n};\n\nconst dateTimePickerProps = {\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n className: PropTypes.string.description('html class attribute'),\n id: PropTypes.string.description('components id'),\n /**\n * on blur callback\n */\n onBlur: PropTypes.func.description('on blur callback'),\n /**\n * Initial date, by default current date\n */\n date: PropTypes.instanceOf(Date, moment).description('Initial date, by default current date'),\n /**\n * Flag to trigger onDateChange on error\n */\n clearable: PropTypes.bool.description('Flag to trigger onDateChange on error'),\n /**\n * DatePicker properties\n */\n datePickerProps: PropTypes.shape({\n disabled: PropTypes.bool,\n numberOfMonths: PropTypes.number,\n readOnly: PropTypes.bool,\n enableOutsideDays: PropTypes.bool,\n transitionDuration: PropTypes.number,\n firstDayOfWeek: PropTypes.number,\n keepOpenOnDateSelect: PropTypes.bool,\n hideKeyboardShortcutsPanel: PropTypes.bool,\n onPrevMonthClick: PropTypes.func,\n onNextMonthClick: PropTypes.func,\n onClose: PropTypes.func,\n onDateChange: PropTypes.func,\n phrases: PropTypes.shape({\n calendarLabel: PropTypes.string,\n closeDatePicker: PropTypes.string,\n clearDates: PropTypes.string,\n focusStartDate: PropTypes.string,\n jumpToPrevMonth: PropTypes.string,\n jumpToNextMonth: PropTypes.string,\n keyboardShortcuts: PropTypes.string,\n showKeyboardShortcutsPanel: PropTypes.string,\n hideKeyboardShortcutsPanel: PropTypes.string,\n openThisPanel: PropTypes.string,\n enterKey: PropTypes.string,\n leftArrowRightArrow: PropTypes.string,\n upArrowDownArrow: PropTypes.string,\n pageUpPageDown: PropTypes.string,\n homeEnd: PropTypes.string,\n escape: PropTypes.string,\n questionMark: PropTypes.string,\n selectFocusedDate: PropTypes.string,\n moveFocusByOneDay: PropTypes.string,\n moveFocusByOneWeek: PropTypes.string,\n moveFocusByOneMonth: PropTypes.string,\n moveFocustoStartAndEndOfWeek: PropTypes.string,\n returnFocusToInput: PropTypes.string,\n keyboardNavigationInstructions: PropTypes.string,\n chooseAvailableStartDate: PropTypes.func,\n chooseAvailableEndDate: PropTypes.func,\n dateIsUnavailable: PropTypes.func,\n dateIsSelected: PropTypes.func,\n /**\n * ZIndex for the picker popup\n */\n zIndex: PropTypes.number,\n }),\n displayFormatDay: PropTypes.string,\n isDayBlocked: PropTypes.func,\n isOutsideRange: PropTypes.func,\n isDayHighlighted: PropTypes.func,\n }).description('DatePicker properties'),\n /**\n * Input placeholder\n */\n placeholder: PropTypes.string.description('Input placeholder'),\n /**\n * TimePicker properties\n */\n timePickerProps: PropTypes.shape({\n format: PropTypes.string,\n onChange: PropTypes.func,\n }).description('TimePicker properties'),\n dateInputProps: PropTypes.shape({\n onDateInputDateChange: PropTypes.func,\n }).description('DateInputProperties'),\n};\n\nDSDateTimePicker.propTypes = dateTimePickerProps;\nDSDateTimePicker.displayName = 'DSDateTimePicker';\nconst DateTimePickerWithSchema = describe(DSDateTimePicker);\nDateTimePickerWithSchema.propTypes = dateTimePickerProps;\n\nexport { DateTimePickerWithSchema, DSDateTimePicker };\nexport default DSDateTimePicker;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -7,7 +7,7 @@ import { DSDatePickerController, DatePickerDropdown, SingleDatePickerPhrases } f
7
7
  import { DSInput, DSInputGroup, DateInputsV2Impl, TimeInputImpl } from "@elliemae/ds-form";
8
8
  import { getVisibleTimeByFormat } from "@elliemae/ds-utilities";
9
9
  import { DSTimePickerMenu, convertTimeString } from "@elliemae/ds-time-picker";
10
- import { updateDateAndTime } from "../utils";
10
+ import { updateDateAndTime } from "../utils.js";
11
11
  const blockName = "date-time-picker";
12
12
  const DateTimePickerWrapper = aggregatedClasses("div")(blockName, "wrapper");
13
13
  const TimePicker = aggregatedClasses(DSTimePickerMenu)(blockName, "time-picker");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/DateTimePickerImpl.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable no-empty-pattern */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\nimport moment from 'moment';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DSDatePickerController, DatePickerDropdown, SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSInput, DSInputGroup, DateInputsV2Impl, TimeInputImpl } from '@elliemae/ds-form';\nimport { getVisibleTimeByFormat } from '@elliemae/ds-utilities';\nimport { DSTimePickerMenu, convertTimeString } from '@elliemae/ds-time-picker';\nimport { updateDateAndTime } from '../utils';\n\nconst blockName = 'date-time-picker';\n\nconst DateTimePickerWrapper = aggregatedClasses('div')(blockName, 'wrapper');\nconst TimePicker = aggregatedClasses(DSTimePickerMenu)(blockName, 'time-picker');\nconst TimePickerWrapper = aggregatedClasses('div')(blockName, 'time-picker-wrapper');\n// const DateInput = aggregatedClasses(DateInputsV2Impl)(blockName, 'date-input');\nconst formatDate = 'MMDDYYYY';\n\nconst DSDateTimePickerImpl = ({\n onBlur = () => null,\n placeholder,\n date,\n clearable,\n datePickerProps: {\n disabled = false,\n numberOfMonths = 1,\n readOnly = false,\n enableOutsideDays = false,\n transitionDuration = 0,\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = true,\n hideKeyboardShortcutsPanel = true,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onChange: onDatePickerChange = () => null,\n onDateChange = () => null,\n onError: onErrorDate = () => null,\n phrases = SingleDatePickerPhrases,\n displayFormatDay = 'D',\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n zIndex = 11,\n },\n timePickerProps: {\n format = 'hh:mm A',\n onChange: onChangeTimePicker = () => null,\n disabledTimes = undefined,\n onError: onErrorTime = () => null,\n minutesInterval = 1,\n },\n dateInputProps: { onDateInputDateChange = () => null },\n}) => {\n const [selectedDate, setSelectedDate] = useState(undefined);\n const [incompleteInput, setIncompleteInput] = useState(undefined);\n const [isOpen, setIsOpen] = useState(false);\n\n const disabledTimeRange = disabledTimes && {\n from: convertTimeString(disabledTimes.from),\n to: convertTimeString(disabledTimes.to),\n };\n\n const dateTimePickerWrapperRef = useRef();\n const fullFormat = `${formatDate} ${format}`;\n\n useEffect(() => {\n if (date) {\n setSelectedDate(moment(date));\n } else if (date === null) setSelectedDate(undefined);\n }, [date]);\n\n const visiblePanels = useMemo(() => getVisibleTimeByFormat(format), []);\n\n const currentYear = moment().year();\n\n const handleDatePickerChange = (dateSelected) => {\n const splittedDate = updateDateAndTime(dateSelected, selectedDate);\n if (!readOnly) {\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n };\n\n const onTimeChange = (pickerTime) => {\n const splittedDate = updateDateAndTime(selectedDate, pickerTime);\n onChangeTimePicker(splittedDate);\n setSelectedDate(splittedDate);\n };\n\n const handleInputChange = (inputValue, type) => {\n onDatePickerChange(inputValue);\n let timeBlocked = false;\n const inputMoment = moment(inputValue, fullFormat);\n setIncompleteInput(inputValue);\n if (type === 'date') {\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n if (inputValue.length < 8) {\n onErrorDate({ message: 'date incomplete', inputValue });\n if (clearable) onDateChange('error');\n return;\n }\n if (inputValue.length === 8 && inputMoment.isValid()) {\n setSelectedDate(splittedDate);\n onChangeTimePicker(splittedDate);\n }\n onDateChange(splittedDate);\n return;\n }\n\n if (disabledTimeRange) {\n const hour = inputValue.hour();\n const min = inputValue.minutes();\n const { from, to } = disabledTimeRange;\n\n if ((hour > from.hour && hour < to.hour) || (hour === to.hour && min < to.min)) {\n timeBlocked = true;\n }\n }\n if (timeBlocked) onErrorTime({ message: 'time blocked', inputValue });\n const dateBlocked = isDayBlocked(inputMoment);\n if (dateBlocked) onErrorDate({ message: 'date blocked', inputValue });\n if (!timeBlocked && !dateBlocked) {\n onDateChange(inputValue);\n }\n };\n\n const handleOutsideClick = (event) => {\n if (!dateTimePickerWrapperRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n\n const handleClickEscape = () => setIsOpen(false);\n const handleOpen = () => setIsOpen(true);\n\n const handleContainerBlur = (event) => {\n if (!isOpen && !event.currentTarget.contains(event.relatedTarget)) {\n onBlur(\n event,\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n if (clearable && !selectedDate && !!incompleteInput) {\n const inputMoment = moment(incompleteInput, fullFormat);\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n }\n };\n\n useEffect(() => {\n if (!isOpen)\n onBlur(\n {},\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n }, [isOpen]);\n\n const hasSelectedDate = !!selectedDate;\n return (\n <DSInputGroup\n containerProps={{\n onBlur: handleContainerBlur,\n }}\n rightAddon={\n <DatePickerDropdown\n disabled={disabled}\n isOpen={isOpen}\n zIndex={zIndex}\n menu={\n <DateTimePickerWrapper ref={dateTimePickerWrapperRef} data-testid=\"date-time-picker\">\n <div\n className={hasSelectedDate ? 'has-selected-date' : 'without-selected-date'}\n data-testid=\"date-time-picker-portal-wrapper\"\n >\n <DSDatePickerController\n date={selectedDate}\n displayFormatDay={displayFormatDay}\n enableOutsideDays={enableOutsideDays}\n firstDayOfWeek={firstDayOfWeek}\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n numberOfMonths={numberOfMonths}\n onClickEscape={handleClickEscape}\n onClose={onClose}\n onDateChange={handleDatePickerChange}\n onNextMonthClick={onNextMonthClick}\n onOutsideClick={(event) => handleOutsideClick(event)}\n onPrevMonthClick={onPrevMonthClick}\n phrases={phrases}\n transitionDuration={transitionDuration}\n />\n </div>\n <TimePickerWrapper>\n <TimePicker\n disabled={disabled}\n disabledTimes={disabledTimeRange}\n format={format}\n hasHeader\n hasHeaderDisplay\n onTimeChange={onTimeChange}\n showSeconds={false}\n minutesInterval={minutesInterval}\n time={selectedDate}\n {...visiblePanels}\n />\n </TimePickerWrapper>\n </DateTimePickerWrapper>\n }\n onClick={handleOpen}\n readOnly={readOnly}\n />\n }\n >\n <DSInput\n customInputType={({ onChange: handleChange, ...restInputProps }) => (\n <>\n <div style={{ display: 'flex' }}>\n <DateInputsV2Impl\n disabled={disabled}\n onChange={(input) => handleChange(input, 'date')}\n {...restInputProps}\n onDateChange={onDateInputDateChange}\n yearMaxRange={currentYear + 100}\n yearMinRange={currentYear - 100}\n time={\n restInputProps.value && restInputProps.value.hour && restInputProps.value.isValid()\n ? restInputProps.value.format(formatDate)\n : restInputProps.value\n }\n />\n </div>\n <TimeInputImpl\n disabled={disabled}\n format={format}\n onChange={(time) => handleChange(time, 'time')}\n {...restInputProps}\n />\n </>\n )}\n isShowElipsisActive={false}\n disabled={disabled}\n onChange={handleInputChange}\n placeholder={placeholder}\n value={selectedDate}\n />\n </DSInputGroup>\n );\n};\n\nexport { DSDateTimePickerImpl };\nexport default DSDateTimePickerImpl;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC8LX,SAiDF,UA5CM,KALJ;AAvLZ,SAAgB,UAAU,WAAW,SAAS,cAAc;AAC5D,OAAO,YAAY;AACnB,SAAS,yBAAyB;AAClC,SAAS,wBAAwB,oBAAoB,+BAA+B;AACpF,SAAS,SAAS,cAAc,kBAAkB,qBAAqB;AACvE,SAAS,8BAA8B;AACvC,SAAS,kBAAkB,yBAAyB;AACpD,SAAS,yBAAyB;AAElC,MAAM,YAAY;AAElB,MAAM,wBAAwB,kBAAkB,KAAK,EAAE,WAAW,SAAS;AAC3E,MAAM,aAAa,kBAAkB,gBAAgB,EAAE,WAAW,aAAa;AAC/E,MAAM,oBAAoB,kBAAkB,KAAK,EAAE,WAAW,qBAAqB;AAEnF,MAAM,aAAa;AAEnB,MAAM,uBAAuB,CAAC;AAAA,EAC5B,SAAS,MAAM;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,IACf,WAAW;AAAA,IACX,iBAAiB;AAAA,IACjB,WAAW;AAAA,IACX,oBAAoB;AAAA,IACpB,qBAAqB;AAAA,IACrB,iBAAiB;AAAA,IACjB,uBAAuB;AAAA,IACvB,6BAA6B;AAAA,IAC7B,mBAAmB,MAAM;AAAA,IACzB,mBAAmB,MAAM;AAAA,IACzB,UAAU,MAAM;AAAA,IAChB,UAAU,qBAAqB,MAAM;AAAA,IACrC,eAAe,MAAM;AAAA,IACrB,SAAS,cAAc,MAAM;AAAA,IAC7B,UAAU;AAAA,IACV,mBAAmB;AAAA,IACnB,eAAe,MAAM;AAAA,IACrB,iBAAiB,MAAM;AAAA,IACvB,mBAAmB,MAAM;AAAA,IACzB,SAAS;AAAA,EACX;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,UAAU,qBAAqB,MAAM;AAAA,IACrC,gBAAgB;AAAA,IAChB,SAAS,cAAc,MAAM;AAAA,IAC7B,kBAAkB;AAAA,EACpB;AAAA,EACA,gBAAgB,EAAE,wBAAwB,MAAM,KAAK;AACvD,MAAM;AACJ,QAAM,CAAC,cAAc,eAAe,IAAI,SAAS,MAAS;AAC1D,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,MAAS;AAChE,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAE1C,QAAM,oBAAoB,iBAAiB;AAAA,IACzC,MAAM,kBAAkB,cAAc,IAAI;AAAA,IAC1C,IAAI,kBAAkB,cAAc,EAAE;AAAA,EACxC;AAEA,QAAM,2BAA2B,OAAO;AACxC,QAAM,aAAa,GAAG,cAAc;AAEpC,YAAU,MAAM;AACd,QAAI,MAAM;AACR,sBAAgB,OAAO,IAAI,CAAC;AAAA,IAC9B,WAAW,SAAS;AAAM,sBAAgB,MAAS;AAAA,EACrD,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,gBAAgB,QAAQ,MAAM,uBAAuB,MAAM,GAAG,CAAC,CAAC;AAEtE,QAAM,cAAc,OAAO,EAAE,KAAK;AAElC,QAAM,yBAAyB,CAAC,iBAAiB;AAC/C,UAAM,eAAe,kBAAkB,cAAc,YAAY;AACjE,QAAI,CAAC,UAAU;AACb,sBAAgB,YAAY;AAC5B,mBAAa,YAAY;AAAA,IAC3B;AAAA,EACF;AAEA,QAAM,eAAe,CAAC,eAAe;AACnC,UAAM,eAAe,kBAAkB,cAAc,UAAU;AAC/D,uBAAmB,YAAY;AAC/B,oBAAgB,YAAY;AAAA,EAC9B;AAEA,QAAM,oBAAoB,CAAC,YAAY,SAAS;AAC9C,uBAAmB,UAAU;AAC7B,QAAI,cAAc;AAClB,UAAM,cAAc,OAAO,YAAY,UAAU;AACjD,uBAAmB,UAAU;AAC7B,QAAI,SAAS,QAAQ;AACnB,YAAM,eAAe,kBAAkB,aAAa,YAAY;AAChE,UAAI,WAAW,SAAS,GAAG;AACzB,oBAAY,EAAE,SAAS,mBAAmB,WAAW,CAAC;AACtD,YAAI;AAAW,uBAAa,OAAO;AACnC;AAAA,MACF;AACA,UAAI,WAAW,WAAW,KAAK,YAAY,QAAQ,GAAG;AACpD,wBAAgB,YAAY;AAC5B,2BAAmB,YAAY;AAAA,MACjC;AACA,mBAAa,YAAY;AACzB;AAAA,IACF;AAEA,QAAI,mBAAmB;AACrB,YAAM,OAAO,WAAW,KAAK;AAC7B,YAAM,MAAM,WAAW,QAAQ;AAC/B,YAAM,EAAE,MAAM,GAAG,IAAI;AAErB,UAAK,OAAO,KAAK,QAAQ,OAAO,GAAG,QAAU,SAAS,GAAG,QAAQ,MAAM,GAAG,KAAM;AAC9E,sBAAc;AAAA,MAChB;AAAA,IACF;AACA,QAAI;AAAa,kBAAY,EAAE,SAAS,gBAAgB,WAAW,CAAC;AACpE,UAAM,cAAc,aAAa,WAAW;AAC5C,QAAI;AAAa,kBAAY,EAAE,SAAS,gBAAgB,WAAW,CAAC;AACpE,QAAI,CAAC,eAAe,CAAC,aAAa;AAChC,mBAAa,UAAU;AAAA,IACzB;AAAA,EACF;AAEA,QAAM,qBAAqB,CAAC,UAAU;AACpC,QAAI,CAAC,yBAAyB,QAAQ,SAAS,MAAM,MAAM,GAAG;AAC5D,gBAAU,KAAK;AAAA,IACjB;AAAA,EACF;AAEA,QAAM,oBAAoB,MAAM,UAAU,KAAK;AAC/C,QAAM,aAAa,MAAM,UAAU,IAAI;AAEvC,QAAM,sBAAsB,CAAC,UAAU;AACrC,QAAI,CAAC,UAAU,CAAC,MAAM,cAAc,SAAS,MAAM,aAAa,GAAG;AACjE;AAAA,QACE;AAAA,QACA,cAAc,QAAQ,IAClB,eACA;AAAA,UACE,OAAO;AAAA,UACP,SAAS;AAAA,UACT,OAAO;AAAA,QACT;AAAA,MACN;AACA,UAAI,aAAa,CAAC,gBAAgB,CAAC,CAAC,iBAAiB;AACnD,cAAM,cAAc,OAAO,iBAAiB,UAAU;AACtD,cAAM,eAAe,kBAAkB,aAAa,YAAY;AAEhE,wBAAgB,YAAY;AAC5B,qBAAa,YAAY;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAEA,YAAU,MAAM;AACd,QAAI,CAAC;AACH;AAAA,QACE,CAAC;AAAA,QACD,cAAc,QAAQ,IAClB,eACA;AAAA,UACE,OAAO;AAAA,UACP,SAAS;AAAA,UACT,OAAO;AAAA,QACT;AAAA,MACN;AAAA,EACJ,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,kBAAkB,CAAC,CAAC;AAC1B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB;AAAA,QACd,QAAQ;AAAA,MACV;AAAA,MACA,YACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,MACE,qBAAC,yBAAsB,KAAK,0BAA0B,eAAY,oBAChE;AAAA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW,kBAAkB,sBAAsB;AAAA,gBACnD,eAAY;AAAA,gBAEZ;AAAA,kBAAC;AAAA;AAAA,oBACC,MAAM;AAAA,oBACN;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA,eAAe;AAAA,oBACf;AAAA,oBACA,cAAc;AAAA,oBACd;AAAA,oBACA,gBAAgB,CAAC,UAAU,mBAAmB,KAAK;AAAA,oBACnD;AAAA,oBACA;AAAA,oBACA;AAAA;AAAA,gBACF;AAAA;AAAA,YACF;AAAA,YACA,oBAAC,qBACC;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA,eAAe;AAAA,gBACf;AAAA,gBACA,WAAS;AAAA,gBACT,kBAAgB;AAAA,gBAChB;AAAA,gBACA,aAAa;AAAA,gBACb;AAAA,gBACA,MAAM;AAAA,gBACL,GAAG;AAAA;AAAA,YACN,GACF;AAAA,aACF;AAAA,UAEF,SAAS;AAAA,UACT;AAAA;AAAA,MACF;AAAA,MAGF;AAAA,QAAC;AAAA;AAAA,UACC,iBAAiB,CAAC,EAAE,UAAU,iBAAiB,eAAe,MAC5D,iCACE;AAAA,gCAAC,SAAI,OAAO,EAAE,SAAS,OAAO,GAC5B;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA,UAAU,CAAC,UAAU,aAAa,OAAO,MAAM;AAAA,gBAC9C,GAAG;AAAA,gBACJ,cAAc;AAAA,gBACd,cAAc,cAAc;AAAA,gBAC5B,cAAc,cAAc;AAAA,gBAC5B,MACE,eAAe,SAAS,eAAe,MAAM,QAAQ,eAAe,MAAM,QAAQ,IAC9E,eAAe,MAAM,OAAO,UAAU,IACtC,eAAe;AAAA;AAAA,YAEvB,GACF;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA;AAAA,gBACA,UAAU,CAAC,SAAS,aAAa,MAAM,MAAM;AAAA,gBAC5C,GAAG;AAAA;AAAA,YACN;AAAA,aACF;AAAA,UAEF,qBAAqB;AAAA,UACrB;AAAA,UACA,UAAU;AAAA,UACV;AAAA,UACA,OAAO;AAAA;AAAA,MACT;AAAA;AAAA,EACF;AAEJ;AAGA,IAAO,6BAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable indent */\n/* eslint-disable max-statements */\n/* eslint-disable complexity */\n/* eslint-disable no-empty-pattern */\n/* eslint-disable import/no-unresolved */\n/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useState, useEffect, useMemo, useRef } from 'react';\nimport moment from 'moment';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DSDatePickerController, DatePickerDropdown, SingleDatePickerPhrases } from '@elliemae/ds-date-picker';\nimport { DSInput, DSInputGroup, DateInputsV2Impl, TimeInputImpl } from '@elliemae/ds-form';\nimport { getVisibleTimeByFormat } from '@elliemae/ds-utilities';\nimport { DSTimePickerMenu, convertTimeString } from '@elliemae/ds-time-picker';\nimport { updateDateAndTime } from '../utils.js';\n\nconst blockName = 'date-time-picker';\n\nconst DateTimePickerWrapper = aggregatedClasses('div')(blockName, 'wrapper');\nconst TimePicker = aggregatedClasses(DSTimePickerMenu)(blockName, 'time-picker');\nconst TimePickerWrapper = aggregatedClasses('div')(blockName, 'time-picker-wrapper');\n// const DateInput = aggregatedClasses(DateInputsV2Impl)(blockName, 'date-input');\nconst formatDate = 'MMDDYYYY';\n\nconst DSDateTimePickerImpl = ({\n onBlur = () => null,\n placeholder,\n date,\n clearable,\n datePickerProps: {\n disabled = false,\n numberOfMonths = 1,\n readOnly = false,\n enableOutsideDays = false,\n transitionDuration = 0,\n firstDayOfWeek = 0,\n keepOpenOnDateSelect = true,\n hideKeyboardShortcutsPanel = true,\n onPrevMonthClick = () => null,\n onNextMonthClick = () => null,\n onClose = () => null,\n onChange: onDatePickerChange = () => null,\n onDateChange = () => null,\n onError: onErrorDate = () => null,\n phrases = SingleDatePickerPhrases,\n displayFormatDay = 'D',\n isDayBlocked = () => false,\n isOutsideRange = () => false,\n isDayHighlighted = () => false,\n zIndex = 11,\n },\n timePickerProps: {\n format = 'hh:mm A',\n onChange: onChangeTimePicker = () => null,\n disabledTimes = undefined,\n onError: onErrorTime = () => null,\n minutesInterval = 1,\n },\n dateInputProps: { onDateInputDateChange = () => null },\n}) => {\n const [selectedDate, setSelectedDate] = useState(undefined);\n const [incompleteInput, setIncompleteInput] = useState(undefined);\n const [isOpen, setIsOpen] = useState(false);\n\n const disabledTimeRange = disabledTimes && {\n from: convertTimeString(disabledTimes.from),\n to: convertTimeString(disabledTimes.to),\n };\n\n const dateTimePickerWrapperRef = useRef();\n const fullFormat = `${formatDate} ${format}`;\n\n useEffect(() => {\n if (date) {\n setSelectedDate(moment(date));\n } else if (date === null) setSelectedDate(undefined);\n }, [date]);\n\n const visiblePanels = useMemo(() => getVisibleTimeByFormat(format), []);\n\n const currentYear = moment().year();\n\n const handleDatePickerChange = (dateSelected) => {\n const splittedDate = updateDateAndTime(dateSelected, selectedDate);\n if (!readOnly) {\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n };\n\n const onTimeChange = (pickerTime) => {\n const splittedDate = updateDateAndTime(selectedDate, pickerTime);\n onChangeTimePicker(splittedDate);\n setSelectedDate(splittedDate);\n };\n\n const handleInputChange = (inputValue, type) => {\n onDatePickerChange(inputValue);\n let timeBlocked = false;\n const inputMoment = moment(inputValue, fullFormat);\n setIncompleteInput(inputValue);\n if (type === 'date') {\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n if (inputValue.length < 8) {\n onErrorDate({ message: 'date incomplete', inputValue });\n if (clearable) onDateChange('error');\n return;\n }\n if (inputValue.length === 8 && inputMoment.isValid()) {\n setSelectedDate(splittedDate);\n onChangeTimePicker(splittedDate);\n }\n onDateChange(splittedDate);\n return;\n }\n\n if (disabledTimeRange) {\n const hour = inputValue.hour();\n const min = inputValue.minutes();\n const { from, to } = disabledTimeRange;\n\n if ((hour > from.hour && hour < to.hour) || (hour === to.hour && min < to.min)) {\n timeBlocked = true;\n }\n }\n if (timeBlocked) onErrorTime({ message: 'time blocked', inputValue });\n const dateBlocked = isDayBlocked(inputMoment);\n if (dateBlocked) onErrorDate({ message: 'date blocked', inputValue });\n if (!timeBlocked && !dateBlocked) {\n onDateChange(inputValue);\n }\n };\n\n const handleOutsideClick = (event) => {\n if (!dateTimePickerWrapperRef.current.contains(event.target)) {\n setIsOpen(false);\n }\n };\n\n const handleClickEscape = () => setIsOpen(false);\n const handleOpen = () => setIsOpen(true);\n\n const handleContainerBlur = (event) => {\n if (!isOpen && !event.currentTarget.contains(event.relatedTarget)) {\n onBlur(\n event,\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n if (clearable && !selectedDate && !!incompleteInput) {\n const inputMoment = moment(incompleteInput, fullFormat);\n const splittedDate = updateDateAndTime(inputMoment, selectedDate);\n\n setSelectedDate(splittedDate);\n onDateChange(splittedDate);\n }\n }\n };\n\n useEffect(() => {\n if (!isOpen)\n onBlur(\n {},\n selectedDate?.isValid()\n ? selectedDate\n : {\n error: true,\n message: 'incomplete input',\n input: incompleteInput,\n },\n );\n }, [isOpen]);\n\n const hasSelectedDate = !!selectedDate;\n return (\n <DSInputGroup\n containerProps={{\n onBlur: handleContainerBlur,\n }}\n rightAddon={\n <DatePickerDropdown\n disabled={disabled}\n isOpen={isOpen}\n zIndex={zIndex}\n menu={\n <DateTimePickerWrapper ref={dateTimePickerWrapperRef} data-testid=\"date-time-picker\">\n <div\n className={hasSelectedDate ? 'has-selected-date' : 'without-selected-date'}\n data-testid=\"date-time-picker-portal-wrapper\"\n >\n <DSDatePickerController\n date={selectedDate}\n displayFormatDay={displayFormatDay}\n enableOutsideDays={enableOutsideDays}\n firstDayOfWeek={firstDayOfWeek}\n hideKeyboardShortcutsPanel={hideKeyboardShortcutsPanel}\n isDayBlocked={isDayBlocked}\n isDayHighlighted={isDayHighlighted}\n isOutsideRange={isOutsideRange}\n keepOpenOnDateSelect={keepOpenOnDateSelect}\n numberOfMonths={numberOfMonths}\n onClickEscape={handleClickEscape}\n onClose={onClose}\n onDateChange={handleDatePickerChange}\n onNextMonthClick={onNextMonthClick}\n onOutsideClick={(event) => handleOutsideClick(event)}\n onPrevMonthClick={onPrevMonthClick}\n phrases={phrases}\n transitionDuration={transitionDuration}\n />\n </div>\n <TimePickerWrapper>\n <TimePicker\n disabled={disabled}\n disabledTimes={disabledTimeRange}\n format={format}\n hasHeader\n hasHeaderDisplay\n onTimeChange={onTimeChange}\n showSeconds={false}\n minutesInterval={minutesInterval}\n time={selectedDate}\n {...visiblePanels}\n />\n </TimePickerWrapper>\n </DateTimePickerWrapper>\n }\n onClick={handleOpen}\n readOnly={readOnly}\n />\n }\n >\n <DSInput\n customInputType={({ onChange: handleChange, ...restInputProps }) => (\n <>\n <div style={{ display: 'flex' }}>\n <DateInputsV2Impl\n disabled={disabled}\n onChange={(input) => handleChange(input, 'date')}\n {...restInputProps}\n onDateChange={onDateInputDateChange}\n yearMaxRange={currentYear + 100}\n yearMinRange={currentYear - 100}\n time={\n restInputProps.value && restInputProps.value.hour && restInputProps.value.isValid()\n ? restInputProps.value.format(formatDate)\n : restInputProps.value\n }\n />\n </div>\n <TimeInputImpl\n disabled={disabled}\n format={format}\n onChange={(time) => handleChange(time, 'time')}\n {...restInputProps}\n />\n </>\n )}\n isShowElipsisActive={false}\n disabled={disabled}\n onChange={handleInputChange}\n placeholder={placeholder}\n value={selectedDate}\n />\n </DSInputGroup>\n );\n};\n\nexport { DSDateTimePickerImpl };\nexport default DSDateTimePickerImpl;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/esm/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { default as default2, DSDateTimePicker, DateTimePickerWithSchema } from "./DSDateTimePicker";
2
+ import { default as default2, DSDateTimePicker, DateTimePickerWithSchema } from "./DSDateTimePicker.js";
3
3
  export {
4
4
  DSDateTimePicker,
5
5
  DateTimePickerWithSchema,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default, DSDateTimePicker, DateTimePickerWithSchema } from './DSDateTimePicker';\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { default, DSDateTimePicker, DateTimePickerWithSchema } from './DSDateTimePicker.js';\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,WAAAA,UAAS,kBAAkB,gCAAgC;",
6
6
  "names": ["default"]
7
7
  }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-date-time-picker",
3
- "version": "3.16.0",
3
+ "version": "3.16.1-rc.10",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Date Time Picker",
6
6
  "files": [
@@ -56,20 +56,20 @@
56
56
  },
57
57
  "dependencies": {
58
58
  "lodash": "~4.17.21",
59
- "moment": "~2.29.3",
60
- "@elliemae/ds-classnames": "3.16.0",
61
- "@elliemae/ds-date-picker": "3.16.0",
62
- "@elliemae/ds-form": "3.16.0",
63
- "@elliemae/ds-props-helpers": "3.16.0",
64
- "@elliemae/ds-system": "3.16.0",
65
- "@elliemae/ds-time-picker": "3.16.0",
66
- "@elliemae/ds-utilities": "3.16.0"
59
+ "moment": "~2.29.4",
60
+ "@elliemae/ds-classnames": "3.16.1-rc.10",
61
+ "@elliemae/ds-date-picker": "3.16.1-rc.10",
62
+ "@elliemae/ds-form": "3.16.1-rc.10",
63
+ "@elliemae/ds-props-helpers": "3.16.1-rc.10",
64
+ "@elliemae/ds-system": "3.16.1-rc.10",
65
+ "@elliemae/ds-time-picker": "3.16.1-rc.10",
66
+ "@elliemae/ds-utilities": "3.16.1-rc.10"
67
67
  },
68
68
  "devDependencies": {
69
- "@testing-library/jest-dom": "~5.16.4",
69
+ "@testing-library/jest-dom": "~5.16.5",
70
70
  "@testing-library/react": "~12.1.3",
71
71
  "@testing-library/user-event": "~13.5.0",
72
- "styled-components": "~5.3.6"
72
+ "styled-components": "~5.3.9"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "lodash": "^4.17.21",
@@ -85,8 +85,8 @@
85
85
  "dev": "cross-env NODE_ENV=development node ../../scripts/build/build.mjs --watch",
86
86
  "test": "node ../../scripts/testing/test.mjs",
87
87
  "lint": "node ../../scripts/lint.mjs",
88
- "eslint:fix": "eslint --ext='.js,.jsx,.test.js,.ts,.tsx' --fix --config='../../.eslintrc.js' src/",
89
- "dts": "node ../../scripts/dts.mjs",
88
+ "eslint:fix": "exit 0",
89
+ "dts": "exit 0",
90
90
  "build": "cross-env NODE_ENV=production node ../../scripts/build/build.mjs",
91
91
  "dev:build": "pnpm --filter {.}... build",
92
92
  "dev:install": "pnpm --filter {.}... i --no-lockfile && pnpm run dev:build",
@@ -1,183 +0,0 @@
1
- declare const DSDateTimePicker: {
2
- ({ containerProps, className, id, placeholder, date, clearable, onBlur, datePickerProps, timePickerProps, dateInputProps, }: {
3
- containerProps?: {} | undefined;
4
- className?: string | undefined;
5
- id?: string | undefined;
6
- placeholder?: string | undefined;
7
- date: any;
8
- clearable?: boolean | undefined;
9
- onBlur?: (() => null) | undefined;
10
- datePickerProps?: {
11
- disabled: boolean;
12
- numberOfMonths: number;
13
- readOnly: boolean;
14
- enableOutsideDays: boolean;
15
- transitionDuration: number;
16
- firstDayOfWeek: number;
17
- keepOpenOnDateSelect: boolean;
18
- hideKeyboardShortcutsPanel: boolean;
19
- onPrevMonthClick: () => null;
20
- onNextMonthClick: () => null;
21
- onClose: () => null;
22
- onchange: () => null;
23
- onDateChange: () => null;
24
- phrases: {
25
- calendarLabel: string;
26
- roleDescription: string;
27
- closeDatePicker: string;
28
- clearDate: string;
29
- jumpToPrevMonth: string;
30
- jumpToNextMonth: string;
31
- keyboardShortcuts: string;
32
- showKeyboardShortcutsPanel: string;
33
- hideKeyboardShortcutsPanel: string;
34
- openThisPanel: string;
35
- enterKey: string;
36
- leftArrowRightArrow: string;
37
- upArrowDownArrow: string;
38
- pageUpPageDown: string;
39
- homeEnd: string;
40
- escape: string;
41
- questionMark: string;
42
- selectFocusedDate: string;
43
- moveFocusByOneDay: string;
44
- moveFocusByOneWeek: string;
45
- moveFocusByOneMonth: string;
46
- moveFocustoStartAndEndOfWeek: string;
47
- returnFocusToInput: string;
48
- keyboardForwardNavigationInstructions: string;
49
- keyboardBackwardNavigationInstructions: string;
50
- chooseAvailableDate: ({ date }: {
51
- date: any;
52
- }) => any;
53
- dateIsUnavailable: ({ date }: {
54
- date: any;
55
- }) => string;
56
- dateIsSelected: ({ date }: {
57
- date: any;
58
- }) => string;
59
- };
60
- displayFormatDay: string;
61
- isDayBlocked: () => boolean;
62
- isOutsideRange: () => boolean;
63
- isDayHighlighted: () => boolean;
64
- zIndex: number;
65
- } | undefined;
66
- timePickerProps?: {
67
- format: string;
68
- onChange: () => null;
69
- disabledTimes: undefined;
70
- minutesInterval: number;
71
- } | undefined;
72
- dateInputProps?: {
73
- onDateInputDateChange: () => null;
74
- } | undefined;
75
- }): JSX.Element;
76
- propTypes: {
77
- containerProps: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
78
- className: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
79
- id: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
80
- /**
81
- * on blur callback
82
- */
83
- onBlur: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
84
- /**
85
- * Initial date, by default current date
86
- */
87
- date: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
88
- /**
89
- * Flag to trigger onDateChange on error
90
- */
91
- clearable: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
92
- /**
93
- * DatePicker properties
94
- */
95
- datePickerProps: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
96
- /**
97
- * Input placeholder
98
- */
99
- placeholder: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
100
- /**
101
- * TimePicker properties
102
- */
103
- timePickerProps: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
104
- dateInputProps: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").ReactDescT;
105
- };
106
- displayName: string;
107
- };
108
- declare const DateTimePickerWithSchema: import("@elliemae/ds-props-helpers/dist/types/propTypes/types").DocumentedReactComponent<{
109
- containerProps?: {} | undefined;
110
- className?: string | undefined;
111
- id?: string | undefined;
112
- placeholder?: string | undefined;
113
- date: any;
114
- clearable?: boolean | undefined;
115
- onBlur?: (() => null) | undefined;
116
- datePickerProps?: {
117
- disabled: boolean;
118
- numberOfMonths: number;
119
- readOnly: boolean;
120
- enableOutsideDays: boolean;
121
- transitionDuration: number;
122
- firstDayOfWeek: number;
123
- keepOpenOnDateSelect: boolean;
124
- hideKeyboardShortcutsPanel: boolean;
125
- onPrevMonthClick: () => null;
126
- onNextMonthClick: () => null;
127
- onClose: () => null;
128
- onchange: () => null;
129
- onDateChange: () => null;
130
- phrases: {
131
- calendarLabel: string;
132
- roleDescription: string;
133
- closeDatePicker: string;
134
- clearDate: string;
135
- jumpToPrevMonth: string;
136
- jumpToNextMonth: string;
137
- keyboardShortcuts: string;
138
- showKeyboardShortcutsPanel: string;
139
- hideKeyboardShortcutsPanel: string;
140
- openThisPanel: string;
141
- enterKey: string;
142
- leftArrowRightArrow: string;
143
- upArrowDownArrow: string;
144
- pageUpPageDown: string;
145
- homeEnd: string;
146
- escape: string;
147
- questionMark: string;
148
- selectFocusedDate: string;
149
- moveFocusByOneDay: string;
150
- moveFocusByOneWeek: string;
151
- moveFocusByOneMonth: string;
152
- moveFocustoStartAndEndOfWeek: string;
153
- returnFocusToInput: string;
154
- keyboardForwardNavigationInstructions: string;
155
- keyboardBackwardNavigationInstructions: string;
156
- chooseAvailableDate: ({ date }: {
157
- date: any;
158
- }) => any;
159
- dateIsUnavailable: ({ date }: {
160
- date: any;
161
- }) => string;
162
- dateIsSelected: ({ date }: {
163
- date: any;
164
- }) => string;
165
- };
166
- displayFormatDay: string;
167
- isDayBlocked: () => boolean;
168
- isOutsideRange: () => boolean;
169
- isDayHighlighted: () => boolean;
170
- zIndex: number;
171
- } | undefined;
172
- timePickerProps?: {
173
- format: string;
174
- onChange: () => null;
175
- disabledTimes: undefined;
176
- minutesInterval: number;
177
- } | undefined;
178
- dateInputProps?: {
179
- onDateInputDateChange: () => null;
180
- } | undefined;
181
- }>;
182
- export { DateTimePickerWithSchema, DSDateTimePicker };
183
- export default DSDateTimePicker;
@@ -1,75 +0,0 @@
1
- declare const DSDateTimePickerImpl: ({ onBlur, placeholder, date, clearable, datePickerProps: { disabled, numberOfMonths, readOnly, enableOutsideDays, transitionDuration, firstDayOfWeek, keepOpenOnDateSelect, hideKeyboardShortcutsPanel, onPrevMonthClick, onNextMonthClick, onClose, onChange: onDatePickerChange, onDateChange, onError: onErrorDate, phrases, displayFormatDay, isDayBlocked, isOutsideRange, isDayHighlighted, zIndex, }, timePickerProps: { format, onChange: onChangeTimePicker, disabledTimes, onError: onErrorTime, minutesInterval, }, dateInputProps: { onDateInputDateChange }, }: {
2
- onBlur?: (() => null) | undefined;
3
- placeholder: any;
4
- date: any;
5
- clearable: any;
6
- datePickerProps: {
7
- disabled?: boolean | undefined;
8
- numberOfMonths?: number | undefined;
9
- readOnly?: boolean | undefined;
10
- enableOutsideDays?: boolean | undefined;
11
- transitionDuration?: number | undefined;
12
- firstDayOfWeek?: number | undefined;
13
- keepOpenOnDateSelect?: boolean | undefined;
14
- hideKeyboardShortcutsPanel?: boolean | undefined;
15
- onPrevMonthClick?: (() => null) | undefined;
16
- onNextMonthClick?: (() => null) | undefined;
17
- onClose?: (() => null) | undefined;
18
- onChange?: (() => null) | undefined;
19
- onDateChange?: (() => null) | undefined;
20
- onError?: (() => null) | undefined;
21
- phrases?: {
22
- calendarLabel: string;
23
- roleDescription: string;
24
- closeDatePicker: string;
25
- clearDate: string;
26
- jumpToPrevMonth: string;
27
- jumpToNextMonth: string;
28
- keyboardShortcuts: string;
29
- showKeyboardShortcutsPanel: string;
30
- hideKeyboardShortcutsPanel: string;
31
- openThisPanel: string;
32
- enterKey: string;
33
- leftArrowRightArrow: string;
34
- upArrowDownArrow: string;
35
- pageUpPageDown: string;
36
- homeEnd: string;
37
- escape: string;
38
- questionMark: string;
39
- selectFocusedDate: string;
40
- moveFocusByOneDay: string;
41
- moveFocusByOneWeek: string;
42
- moveFocusByOneMonth: string;
43
- moveFocustoStartAndEndOfWeek: string;
44
- returnFocusToInput: string;
45
- keyboardForwardNavigationInstructions: string;
46
- keyboardBackwardNavigationInstructions: string;
47
- chooseAvailableDate: ({ date }: {
48
- date: any;
49
- }) => any;
50
- dateIsUnavailable: ({ date }: {
51
- date: any;
52
- }) => string;
53
- dateIsSelected: ({ date }: {
54
- date: any;
55
- }) => string;
56
- } | undefined;
57
- displayFormatDay?: string | undefined;
58
- isDayBlocked?: (() => boolean) | undefined;
59
- isOutsideRange?: (() => boolean) | undefined;
60
- isDayHighlighted?: (() => boolean) | undefined;
61
- zIndex?: number | undefined;
62
- };
63
- timePickerProps: {
64
- format?: string | undefined;
65
- onChange?: (() => null) | undefined;
66
- disabledTimes?: undefined;
67
- onError?: (() => null) | undefined;
68
- minutesInterval?: number | undefined;
69
- };
70
- dateInputProps: {
71
- onDateInputDateChange?: (() => null) | undefined;
72
- };
73
- }) => JSX.Element;
74
- export { DSDateTimePickerImpl };
75
- export default DSDateTimePickerImpl;
@@ -1 +0,0 @@
1
- export { default, DSDateTimePicker, DateTimePickerWithSchema } from './DSDateTimePicker';
@@ -1,6 +0,0 @@
1
- declare const _default: {
2
- placeholder: string;
3
- className: string;
4
- id: string;
5
- };
6
- export default _default;
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export function themeProviderHOC(Component: any): (props: any) => JSX.Element;
@@ -1,2 +0,0 @@
1
- import moment from 'moment';
2
- export declare const updateDateAndTime: (date: any, time: any) => moment.Moment;