@elliemae/ds-legacy-time-picker 1.0.0-rc.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.
- package/dist/cjs/DSTimePicker.js +129 -0
- package/dist/cjs/DSTimePicker.js.map +7 -0
- package/dist/cjs/DSTimePickerMenu.js +45 -0
- package/dist/cjs/DSTimePickerMenu.js.map +7 -0
- package/dist/cjs/PickerPanel.js +337 -0
- package/dist/cjs/PickerPanel.js.map +7 -0
- package/dist/cjs/TimePickerDropdown.js +71 -0
- package/dist/cjs/TimePickerDropdown.js.map +7 -0
- package/dist/cjs/TimePickerImpl.js +190 -0
- package/dist/cjs/TimePickerImpl.js.map +7 -0
- package/dist/cjs/TimePickerMenu.js +280 -0
- package/dist/cjs/TimePickerMenu.js.map +7 -0
- package/dist/cjs/index.js +42 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/moveElementOnScroll.js +94 -0
- package/dist/cjs/moveElementOnScroll.js.map +7 -0
- package/dist/cjs/package.json +7 -0
- package/dist/cjs/utils.js +72 -0
- package/dist/cjs/utils.js.map +7 -0
- package/dist/esm/DSTimePicker.js +99 -0
- package/dist/esm/DSTimePicker.js.map +7 -0
- package/dist/esm/DSTimePickerMenu.js +15 -0
- package/dist/esm/DSTimePickerMenu.js.map +7 -0
- package/dist/esm/PickerPanel.js +307 -0
- package/dist/esm/PickerPanel.js.map +7 -0
- package/dist/esm/TimePickerDropdown.js +41 -0
- package/dist/esm/TimePickerDropdown.js.map +7 -0
- package/dist/esm/TimePickerImpl.js +160 -0
- package/dist/esm/TimePickerImpl.js.map +7 -0
- package/dist/esm/TimePickerMenu.js +250 -0
- package/dist/esm/TimePickerMenu.js.map +7 -0
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/moveElementOnScroll.js +64 -0
- package/dist/esm/moveElementOnScroll.js.map +7 -0
- package/dist/esm/package.json +7 -0
- package/dist/esm/utils.js +42 -0
- package/dist/esm/utils.js.map +7 -0
- package/dist/types/DSTimePicker.d.ts +86 -0
- package/dist/types/DSTimePickerMenu.d.ts +3 -0
- package/dist/types/PickerPanel.d.ts +25 -0
- package/dist/types/TimePickerDropdown.d.ts +24 -0
- package/dist/types/TimePickerImpl.d.ts +34 -0
- package/dist/types/TimePickerMenu.d.ts +19 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/moveElementOnScroll.d.ts +13 -0
- package/dist/types/utils.d.ts +8 -0
- package/package.json +108 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/TimePickerDropdown.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { RecentDocuments } from '@elliemae/ds-legacy-icons';\nimport DSButton from '@elliemae/ds-legacy-button';\nimport DSPopper from '@elliemae/ds-legacy-popper';\n\nconst TimePickerDropdown = ({ disabled = false, onClick, onOpen, isOpen, menu, zIndex, blockName, placement }) => (\n <DSPopper\n blockName={blockName}\n placement={placement}\n contentComponent={menu}\n isOpen={isOpen}\n onOpen={onOpen}\n modifiers={{\n preventOverflow: {\n enabled: true,\n padding: 0,\n boundariesElement: 'window',\n },\n }}\n showArrow={false}\n triggerComponent={\n <DSButton buttonType=\"secondary\" disabled={disabled} icon={<RecentDocuments />} iconSize=\"s\" onClick={onClick} />\n }\n zIndex={zIndex}\n />\n);\n\nTimePickerDropdown.propTypes = {\n onClick: PropTypes.func,\n onOpen: PropTypes.func,\n disabled: PropTypes.bool,\n isOpen: PropTypes.bool,\n menu: PropTypes.element,\n blockName: PropTypes.string,\n placement: PropTypes.string,\n zIndex: PropTypes.number,\n};\n\nexport default TimePickerDropdown;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsB0C;AArBjE,wBAAsB;AACtB,6BAAgC;AAChC,8BAAqB;AACrB,8BAAqB;AAErB,MAAM,qBAAqB,CAAC,EAAE,WAAW,OAAO,SAAS,QAAQ,QAAQ,MAAM,QAAQ,WAAW,UAAU,MAC1G;AAAA,EAAC,wBAAAA;AAAA,EAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT,iBAAiB;AAAA,QACf,SAAS;AAAA,QACT,SAAS;AAAA,QACT,mBAAmB;AAAA,MACrB;AAAA,IACF;AAAA,IACA,WAAW;AAAA,IACX,kBACE,4CAAC,wBAAAC,SAAA,EAAS,YAAW,aAAY,UAAoB,MAAM,4CAAC,0CAAgB,GAAI,UAAS,KAAI,SAAkB;AAAA,IAEjH;AAAA;AACF;AAGF,mBAAmB,YAAY;AAAA,EAC7B,SAAS,kBAAAC,QAAU;AAAA,EACnB,QAAQ,kBAAAA,QAAU;AAAA,EAClB,UAAU,kBAAAA,QAAU;AAAA,EACpB,QAAQ,kBAAAA,QAAU;AAAA,EAClB,MAAM,kBAAAA,QAAU;AAAA,EAChB,WAAW,kBAAAA,QAAU;AAAA,EACrB,WAAW,kBAAAA,QAAU;AAAA,EACrB,QAAQ,kBAAAA,QAAU;AACpB;AAEA,IAAO,6BAAQ;",
|
|
6
|
+
"names": ["DSPopper", "DSButton", "PropTypes"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
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.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var TimePickerImpl_exports = {};
|
|
30
|
+
__export(TimePickerImpl_exports, {
|
|
31
|
+
default: () => TimePickerImpl_default
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(TimePickerImpl_exports);
|
|
34
|
+
var React = __toESM(require("react"));
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_react = require("react");
|
|
37
|
+
var import_prop_types = __toESM(require("prop-types"));
|
|
38
|
+
var import_moment = __toESM(require("moment"));
|
|
39
|
+
var import_memoize_one = __toESM(require("memoize-one"));
|
|
40
|
+
var import_ds_legacy_utilities = require("@elliemae/ds-legacy-utilities");
|
|
41
|
+
var import_ds_legacy_classnames = require("@elliemae/ds-legacy-classnames");
|
|
42
|
+
var import_ds_legacy_form = require("@elliemae/ds-legacy-form");
|
|
43
|
+
var import_TimePickerMenu = __toESM(require("./TimePickerMenu.js"));
|
|
44
|
+
var import_TimePickerDropdown = __toESM(require("./TimePickerDropdown.js"));
|
|
45
|
+
var import_utils = require("./utils.js");
|
|
46
|
+
const blockName = "time-picker";
|
|
47
|
+
const TimePickerContainer = (0, import_ds_legacy_classnames.aggregatedClasses)(import_ds_legacy_form.DSInputGroup)(blockName, null, ({ isMenuOpened }) => ({
|
|
48
|
+
isMenuOpened
|
|
49
|
+
}));
|
|
50
|
+
const TimePickerImpl = ({
|
|
51
|
+
value,
|
|
52
|
+
onChange,
|
|
53
|
+
onOpen,
|
|
54
|
+
format,
|
|
55
|
+
disabled,
|
|
56
|
+
hasHeader,
|
|
57
|
+
hasHeaderDisplay,
|
|
58
|
+
className,
|
|
59
|
+
containerProps,
|
|
60
|
+
placement,
|
|
61
|
+
zIndex,
|
|
62
|
+
disabledTimes,
|
|
63
|
+
minutesInterval
|
|
64
|
+
}) => {
|
|
65
|
+
(0, import_ds_legacy_utilities.useDeprecateComponent)({ componentName: "ds-time-picker", version: "TBD Date: 2023 Q3" });
|
|
66
|
+
const [time, setTime] = (0, import_react.useState)();
|
|
67
|
+
const [isMenuOpened, setIsMenuOpened] = (0, import_react.useState)(false);
|
|
68
|
+
const [focusedColumn, setFocusedColumn] = (0, import_react.useState)(null);
|
|
69
|
+
const timePickerRef = (0, import_react.useRef)();
|
|
70
|
+
(0, import_react.useEffect)(() => {
|
|
71
|
+
if ((0, import_moment.default)(value).isValid())
|
|
72
|
+
setTime((0, import_moment.default)(value));
|
|
73
|
+
else if (value === null)
|
|
74
|
+
setTime(void 0);
|
|
75
|
+
}, [value]);
|
|
76
|
+
(0, import_react.useEffect)(() => {
|
|
77
|
+
window.addEventListener("click", handleClickOutside, false);
|
|
78
|
+
return () => window.removeEventListener("click", handleClickOutside, false);
|
|
79
|
+
}, []);
|
|
80
|
+
(0, import_react.useEffect)(() => {
|
|
81
|
+
window.addEventListener("keydown", handleKeyDown, false);
|
|
82
|
+
return () => window.removeEventListener("keydown", handleKeyDown, false);
|
|
83
|
+
}, []);
|
|
84
|
+
(0, import_react.useEffect)(() => {
|
|
85
|
+
if (isMenuOpened)
|
|
86
|
+
handleChangeFocus();
|
|
87
|
+
}, [isMenuOpened]);
|
|
88
|
+
const handleClickOutside = () => {
|
|
89
|
+
if (isMenuOpened)
|
|
90
|
+
setIsMenuOpened(false);
|
|
91
|
+
};
|
|
92
|
+
const handleKeyDown = (event) => {
|
|
93
|
+
const { key } = event;
|
|
94
|
+
const menuOpenKeys = ["Escape", " ", "Enter"];
|
|
95
|
+
if (menuOpenKeys.includes(key))
|
|
96
|
+
setIsMenuOpened(false);
|
|
97
|
+
};
|
|
98
|
+
const handleChangeFocus = () => {
|
|
99
|
+
const [firstColumn] = document.getElementsByClassName("em-ds-time-picker-panel");
|
|
100
|
+
if (firstColumn && !focusedColumn) {
|
|
101
|
+
setFocusedColumn(firstColumn);
|
|
102
|
+
firstColumn.focus();
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
const handlePickerChange = (newTime) => {
|
|
106
|
+
setTime((0, import_moment.default)(newTime));
|
|
107
|
+
onChange((0, import_moment.default)(newTime));
|
|
108
|
+
};
|
|
109
|
+
const handleInputChange = (newTime) => {
|
|
110
|
+
setTime(newTime);
|
|
111
|
+
onChange(newTime);
|
|
112
|
+
};
|
|
113
|
+
const handleMenuOpen = (isOpen) => {
|
|
114
|
+
onOpen(isOpen);
|
|
115
|
+
setIsMenuOpened(isOpen);
|
|
116
|
+
if (!isOpen)
|
|
117
|
+
setFocusedColumn(null);
|
|
118
|
+
};
|
|
119
|
+
const getVisibleTimePanels = (0, import_memoize_one.default)((format2) => (0, import_ds_legacy_utilities.getVisibleTimeByFormat)(format2));
|
|
120
|
+
const timePickerBlockName = (0, import_ds_legacy_classnames.convertPropToCssClassName)(blockName);
|
|
121
|
+
const visiblePanels = getVisibleTimePanels(format);
|
|
122
|
+
const disabledTimeRange = disabledTimes && {
|
|
123
|
+
from: (0, import_utils.convertTimeString)(disabledTimes.from),
|
|
124
|
+
to: (0, import_utils.convertTimeString)(disabledTimes.to)
|
|
125
|
+
};
|
|
126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
127
|
+
TimePickerContainer,
|
|
128
|
+
{
|
|
129
|
+
className: `${className} variant-${!disabled ? "default" : "disabled"}`,
|
|
130
|
+
containerProps,
|
|
131
|
+
disabled,
|
|
132
|
+
rightAddon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
133
|
+
import_TimePickerDropdown.default,
|
|
134
|
+
{
|
|
135
|
+
blockName: timePickerBlockName,
|
|
136
|
+
disabled,
|
|
137
|
+
isOpen: isMenuOpened,
|
|
138
|
+
zIndex,
|
|
139
|
+
placement,
|
|
140
|
+
onOpen: handleMenuOpen,
|
|
141
|
+
onClick: (e) => {
|
|
142
|
+
e.preventDefault();
|
|
143
|
+
handleMenuOpen(!isMenuOpened);
|
|
144
|
+
},
|
|
145
|
+
menu: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref: timePickerRef, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
146
|
+
import_TimePickerMenu.default,
|
|
147
|
+
{
|
|
148
|
+
disabled,
|
|
149
|
+
disabledTimes: disabledTimeRange,
|
|
150
|
+
format,
|
|
151
|
+
hasHeader,
|
|
152
|
+
hasHeaderDisplay,
|
|
153
|
+
onTimeChange: handlePickerChange,
|
|
154
|
+
minutesInterval,
|
|
155
|
+
time,
|
|
156
|
+
...visiblePanels
|
|
157
|
+
}
|
|
158
|
+
) })
|
|
159
|
+
}
|
|
160
|
+
),
|
|
161
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
162
|
+
import_ds_legacy_form.DSInput,
|
|
163
|
+
{
|
|
164
|
+
customInputType: ({ onChange: handleChange, ...restInputProps }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_legacy_form.TimeInputImpl, { clearable: true, disabled, format, onChange: handleChange, ...restInputProps }),
|
|
165
|
+
isShowElipsisActive: false,
|
|
166
|
+
disabled,
|
|
167
|
+
onChange: handleInputChange,
|
|
168
|
+
value: time
|
|
169
|
+
}
|
|
170
|
+
)
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
};
|
|
174
|
+
TimePickerImpl.propTypes = {
|
|
175
|
+
value: import_prop_types.default.instanceOf(Date, import_moment.default),
|
|
176
|
+
onChange: import_prop_types.default.func,
|
|
177
|
+
onOpen: import_prop_types.default.func,
|
|
178
|
+
format: import_prop_types.default.string,
|
|
179
|
+
disabled: import_prop_types.default.bool,
|
|
180
|
+
hasHeader: import_prop_types.default.bool,
|
|
181
|
+
hasHeaderDisplay: import_prop_types.default.bool,
|
|
182
|
+
className: import_prop_types.default.string,
|
|
183
|
+
containerProps: import_prop_types.default.object,
|
|
184
|
+
placement: import_prop_types.default.string,
|
|
185
|
+
zIndex: import_prop_types.default.number,
|
|
186
|
+
disabledTimes: import_prop_types.default.object,
|
|
187
|
+
minutesInterval: import_prop_types.default.number
|
|
188
|
+
};
|
|
189
|
+
var TimePickerImpl_default = TimePickerImpl;
|
|
190
|
+
//# sourceMappingURL=TimePickerImpl.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/TimePickerImpl.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable no-shadow */\nimport React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport memoizeOne from 'memoize-one';\nimport { getVisibleTimeByFormat, useDeprecateComponent } from '@elliemae/ds-legacy-utilities';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-legacy-classnames';\nimport { DSInput, DSInputGroup, TimeInputImpl } from '@elliemae/ds-legacy-form';\nimport TimePickerMenu from './TimePickerMenu.js';\nimport TimePickerDropdown from './TimePickerDropdown.js';\nimport { convertTimeString } from './utils.js';\n\nconst blockName = 'time-picker';\n\nconst TimePickerContainer = aggregatedClasses(DSInputGroup)(blockName, null, ({ isMenuOpened }) => ({\n isMenuOpened,\n}));\n\nconst TimePickerImpl = ({\n value,\n onChange,\n onOpen,\n format,\n disabled,\n hasHeader,\n hasHeaderDisplay,\n className,\n containerProps,\n placement,\n zIndex,\n disabledTimes,\n minutesInterval,\n}) => {\n useDeprecateComponent({ componentName: 'ds-time-picker', version: 'TBD Date: 2023 Q3' });\n\n const [time, setTime] = useState();\n const [isMenuOpened, setIsMenuOpened] = useState(false);\n const [focusedColumn, setFocusedColumn] = useState(null);\n const timePickerRef = useRef();\n useEffect(() => {\n if (moment(value).isValid()) setTime(moment(value));\n else if (value === null) setTime(undefined);\n }, [value]);\n\n useEffect(() => {\n window.addEventListener('click', handleClickOutside, false);\n return () => window.removeEventListener('click', handleClickOutside, false);\n }, []);\n\n useEffect(() => {\n window.addEventListener('keydown', handleKeyDown, false);\n return () => window.removeEventListener('keydown', handleKeyDown, false);\n }, []);\n\n useEffect(() => {\n if (isMenuOpened) handleChangeFocus();\n }, [isMenuOpened]);\n\n const handleClickOutside = () => {\n if (isMenuOpened) setIsMenuOpened(false);\n };\n\n const handleKeyDown = (event) => {\n const { key } = event;\n const menuOpenKeys = ['Escape', ' ', 'Enter'];\n if (menuOpenKeys.includes(key)) setIsMenuOpened(false);\n };\n\n const handleChangeFocus = () => {\n const [firstColumn] = document.getElementsByClassName('em-ds-time-picker-panel');\n if (firstColumn && !focusedColumn) {\n setFocusedColumn(firstColumn);\n firstColumn.focus();\n }\n };\n\n const handlePickerChange = (newTime) => {\n setTime(moment(newTime));\n onChange(moment(newTime));\n };\n\n const handleInputChange = (newTime) => {\n setTime(newTime);\n onChange(newTime);\n };\n\n const handleMenuOpen = (isOpen) => {\n onOpen(isOpen);\n setIsMenuOpened(isOpen);\n if (!isOpen) setFocusedColumn(null);\n };\n\n const getVisibleTimePanels = memoizeOne((format) => getVisibleTimeByFormat(format));\n const timePickerBlockName = convertPropToCssClassName(blockName);\n const visiblePanels = getVisibleTimePanels(format);\n\n const disabledTimeRange = disabledTimes && {\n from: convertTimeString(disabledTimes.from),\n to: convertTimeString(disabledTimes.to),\n };\n\n return (\n <TimePickerContainer\n className={`${className} variant-${!disabled ? 'default' : 'disabled'}`}\n containerProps={containerProps}\n disabled={disabled}\n rightAddon={\n <TimePickerDropdown\n blockName={timePickerBlockName}\n disabled={disabled}\n isOpen={isMenuOpened}\n zIndex={zIndex}\n placement={placement}\n onOpen={handleMenuOpen}\n onClick={(e) => {\n e.preventDefault();\n handleMenuOpen(!isMenuOpened);\n }}\n menu={\n <div ref={timePickerRef}>\n <TimePickerMenu\n disabled={disabled}\n disabledTimes={disabledTimeRange}\n format={format}\n hasHeader={hasHeader}\n hasHeaderDisplay={hasHeaderDisplay}\n onTimeChange={handlePickerChange}\n minutesInterval={minutesInterval}\n time={time}\n {...visiblePanels}\n />\n </div>\n }\n />\n }\n >\n <DSInput\n customInputType={({ onChange: handleChange, ...restInputProps }) => (\n <TimeInputImpl clearable disabled={disabled} format={format} onChange={handleChange} {...restInputProps} />\n )}\n isShowElipsisActive={false}\n disabled={disabled}\n onChange={handleInputChange}\n value={time}\n />\n </TimePickerContainer>\n );\n};\n\nTimePickerImpl.propTypes = {\n value: PropTypes.instanceOf(Date, moment),\n onChange: PropTypes.func,\n onOpen: PropTypes.func,\n format: PropTypes.string,\n disabled: PropTypes.bool,\n hasHeader: PropTypes.bool,\n hasHeaderDisplay: PropTypes.bool,\n className: PropTypes.string,\n containerProps: PropTypes.object,\n placement: PropTypes.string,\n zIndex: PropTypes.number,\n disabledTimes: PropTypes.object,\n minutesInterval: PropTypes.number,\n};\n\nexport default TimePickerImpl;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["moment", "memoizeOne", "format", "TimePickerDropdown", "TimePickerMenu", "PropTypes"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
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.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var TimePickerMenu_exports = {};
|
|
30
|
+
__export(TimePickerMenu_exports, {
|
|
31
|
+
TimePickerMenu: () => TimePickerMenu,
|
|
32
|
+
default: () => TimePickerMenu_default
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(TimePickerMenu_exports);
|
|
35
|
+
var React = __toESM(require("react"));
|
|
36
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
37
|
+
var import_react = require("react");
|
|
38
|
+
var import_prop_types = __toESM(require("prop-types"));
|
|
39
|
+
var import_ds_legacy_classnames = require("@elliemae/ds-legacy-classnames");
|
|
40
|
+
var import_moment = __toESM(require("moment"));
|
|
41
|
+
var import_ds_legacy_utilities = require("@elliemae/ds-legacy-utilities");
|
|
42
|
+
var import_utils = require("./utils.js");
|
|
43
|
+
var import_PickerPanel = __toESM(require("./PickerPanel.js"));
|
|
44
|
+
const blockName = "time-picker-menu";
|
|
45
|
+
const TimePickerContainer = (0, import_ds_legacy_classnames.aggregatedClasses)("div")(blockName);
|
|
46
|
+
const TimePickerHeader = (0, import_ds_legacy_classnames.aggregatedClasses)("div")(blockName, "header");
|
|
47
|
+
const TimePickerPanelContainer = (0, import_ds_legacy_classnames.aggregatedClasses)("div")(blockName, "panel-container");
|
|
48
|
+
const generateOption = (format) => (option) => ({
|
|
49
|
+
value: option,
|
|
50
|
+
label: typeof format === "function" ? format(option) : option
|
|
51
|
+
});
|
|
52
|
+
class TimePickerMenu extends import_react.Component {
|
|
53
|
+
constructor(props) {
|
|
54
|
+
super(props);
|
|
55
|
+
this.renderHeader = () => {
|
|
56
|
+
const { time } = this.state;
|
|
57
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TimePickerHeader, { children: time.format("hh:mma") });
|
|
58
|
+
};
|
|
59
|
+
this.state = {
|
|
60
|
+
time: (0, import_moment.default)(props.time || "", props.format) || (0, import_moment.default)()
|
|
61
|
+
};
|
|
62
|
+
this.handleMinuteChange = this.handleMinuteChange.bind(this);
|
|
63
|
+
this.handleHoursChange = this.handleHoursChange.bind(this);
|
|
64
|
+
this.handleSecondsChange = this.handleSecondsChange.bind(this);
|
|
65
|
+
this.handleAMPMChange = this.handleAMPMChange.bind(this);
|
|
66
|
+
this.updateTime = this.updateTime.bind(this);
|
|
67
|
+
this.renderHoursPanel = this.renderHoursPanel.bind(this);
|
|
68
|
+
this.renderMinutesPanel = this.renderMinutesPanel.bind(this);
|
|
69
|
+
this.renderSecondsPanel = this.renderSecondsPanel.bind(this);
|
|
70
|
+
this.renderAMPMPanel = this.renderAMPMPanel.bind(this);
|
|
71
|
+
this.renderHeader = this.renderHeader.bind(this);
|
|
72
|
+
}
|
|
73
|
+
static getDerivedStateFromProps(props, state) {
|
|
74
|
+
if (props.time) {
|
|
75
|
+
return { ...state, time: (0, import_moment.default)(props.time) };
|
|
76
|
+
}
|
|
77
|
+
return { ...state, time: void 0 };
|
|
78
|
+
}
|
|
79
|
+
componentDidMount() {
|
|
80
|
+
const { time } = this.state;
|
|
81
|
+
this.setState({ time });
|
|
82
|
+
}
|
|
83
|
+
handleMinuteChange(value) {
|
|
84
|
+
const { time } = this.state;
|
|
85
|
+
this.updateTime(time.minute(value));
|
|
86
|
+
}
|
|
87
|
+
handleHoursChange(value) {
|
|
88
|
+
const { time } = this.state;
|
|
89
|
+
const { use12Hours } = this.props;
|
|
90
|
+
let nextHour = value;
|
|
91
|
+
if (use12Hours) {
|
|
92
|
+
if (!(0, import_utils.isAM)(time)) {
|
|
93
|
+
nextHour = value % 12 + 12;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
this.updateTime(time.hour(nextHour));
|
|
97
|
+
}
|
|
98
|
+
handleSecondsChange(value) {
|
|
99
|
+
const { time } = this.state;
|
|
100
|
+
this.updateTime(time.second(value));
|
|
101
|
+
}
|
|
102
|
+
handleAMPMChange(value) {
|
|
103
|
+
const { time } = this.state;
|
|
104
|
+
const hour = time.hour();
|
|
105
|
+
const nextHour = value.toLowerCase() === "am" ? hour % 12 : hour % 12 + 12;
|
|
106
|
+
this.updateTime(time.hour(nextHour));
|
|
107
|
+
}
|
|
108
|
+
updateTime(time) {
|
|
109
|
+
const { onTimeChange } = this.props;
|
|
110
|
+
onTimeChange(time);
|
|
111
|
+
this.setState({ time });
|
|
112
|
+
}
|
|
113
|
+
renderHoursPanel() {
|
|
114
|
+
const { time } = this.state;
|
|
115
|
+
const { showHours, use12Hours, format, hasHeader, disabledTimes } = this.props;
|
|
116
|
+
if (!showHours)
|
|
117
|
+
return null;
|
|
118
|
+
const hour = time.hour();
|
|
119
|
+
let selectedHour = use12Hours ? hour % 12 || 12 : hour;
|
|
120
|
+
if (disabledTimes) {
|
|
121
|
+
const { from, to } = disabledTimes;
|
|
122
|
+
if (hour > from.hour && hour < to.hour) {
|
|
123
|
+
if (to.hour < 24) {
|
|
124
|
+
const toFormatted = to.hour % 12 || 12;
|
|
125
|
+
if (selectedHour !== toFormatted)
|
|
126
|
+
this.handleHoursChange(toFormatted);
|
|
127
|
+
selectedHour = toFormatted;
|
|
128
|
+
} else if (from) {
|
|
129
|
+
selectedHour = (from.hour - 1) % 12 || 12;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
const meridiem = hour >= 12 ? "PM" : "AM";
|
|
134
|
+
const withLeadingZeros = format.indexOf("hh") > -1;
|
|
135
|
+
const rangeHours = use12Hours ? (0, import_ds_legacy_utilities.range)(1, 13) : (0, import_ds_legacy_utilities.range)(24);
|
|
136
|
+
const hoursOptions = rangeHours.map(generateOption(withLeadingZeros && (0, import_ds_legacy_utilities.addLeadingZeros)(2)));
|
|
137
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
138
|
+
import_PickerPanel.default,
|
|
139
|
+
{
|
|
140
|
+
type: "hour",
|
|
141
|
+
time,
|
|
142
|
+
meridiem,
|
|
143
|
+
hasHeader,
|
|
144
|
+
header: "H",
|
|
145
|
+
onChange: this.handleHoursChange,
|
|
146
|
+
options: hoursOptions,
|
|
147
|
+
selected: selectedHour,
|
|
148
|
+
disabledTimes
|
|
149
|
+
}
|
|
150
|
+
);
|
|
151
|
+
}
|
|
152
|
+
renderMinutesPanel() {
|
|
153
|
+
const { time } = this.state;
|
|
154
|
+
const { showMinutes, format, hasHeader, disabledTimes, minutesInterval } = this.props;
|
|
155
|
+
if (!showMinutes)
|
|
156
|
+
return null;
|
|
157
|
+
const withLeadingZeros = format.indexOf("mm") > -1;
|
|
158
|
+
const rangeMinutes = (0, import_ds_legacy_utilities.range)(0, 60, minutesInterval).map(generateOption(withLeadingZeros && (0, import_ds_legacy_utilities.addLeadingZeros)(2)));
|
|
159
|
+
let selectedMinute = time.minute();
|
|
160
|
+
const selectedHour = time.hour();
|
|
161
|
+
if (disabledTimes) {
|
|
162
|
+
const { from, to } = disabledTimes;
|
|
163
|
+
if (selectedHour <= to.hour && selectedHour > from.hour) {
|
|
164
|
+
if (to) {
|
|
165
|
+
if (selectedMinute < to.min)
|
|
166
|
+
this.handleMinuteChange(to.min);
|
|
167
|
+
} else if (from) {
|
|
168
|
+
if (selectedMinute > from.min)
|
|
169
|
+
this.handleMinuteChange(from.min - 1);
|
|
170
|
+
}
|
|
171
|
+
} else {
|
|
172
|
+
selectedMinute = time.minute();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
176
|
+
import_PickerPanel.default,
|
|
177
|
+
{
|
|
178
|
+
type: "minutes",
|
|
179
|
+
time,
|
|
180
|
+
hasHeader,
|
|
181
|
+
header: "M",
|
|
182
|
+
onChange: this.handleMinuteChange,
|
|
183
|
+
options: rangeMinutes,
|
|
184
|
+
selected: selectedMinute,
|
|
185
|
+
disabledTimes
|
|
186
|
+
}
|
|
187
|
+
);
|
|
188
|
+
}
|
|
189
|
+
renderSecondsPanel() {
|
|
190
|
+
const { time } = this.state;
|
|
191
|
+
const { showSeconds, format, hasHeader } = this.props;
|
|
192
|
+
if (!showSeconds)
|
|
193
|
+
return null;
|
|
194
|
+
const withLeadingZeros = format.indexOf("ss") > -1;
|
|
195
|
+
const rangeSeconds = (0, import_ds_legacy_utilities.range)(60).map(generateOption(withLeadingZeros && (0, import_ds_legacy_utilities.addLeadingZeros)(2)));
|
|
196
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
197
|
+
import_PickerPanel.default,
|
|
198
|
+
{
|
|
199
|
+
type: "seconds",
|
|
200
|
+
hasHeader,
|
|
201
|
+
header: "S",
|
|
202
|
+
onChange: this.handleSecondsChange,
|
|
203
|
+
options: rangeSeconds,
|
|
204
|
+
selected: time.second()
|
|
205
|
+
}
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
renderAMPMPanel() {
|
|
209
|
+
const { time } = this.state;
|
|
210
|
+
const { use12Hours, hasHeader, disabledTimes } = this.props;
|
|
211
|
+
if (!use12Hours)
|
|
212
|
+
return null;
|
|
213
|
+
let meridiemSelected = !(0, import_utils.isAM)(time) ? "pm" : "am";
|
|
214
|
+
if (disabledTimes && disabledTimes.to && meridiemSelected === "am") {
|
|
215
|
+
meridiemSelected = disabledTimes.to.hour >= 12 ? "pm" : "am";
|
|
216
|
+
if (meridiemSelected === "am" && time.hour() > 12) {
|
|
217
|
+
this.handleAMPMChange("am");
|
|
218
|
+
}
|
|
219
|
+
if (meridiemSelected === "pm" && time.hour() <= 12) {
|
|
220
|
+
this.handleAMPMChange("pm");
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
224
|
+
import_PickerPanel.default,
|
|
225
|
+
{
|
|
226
|
+
type: "meridiem",
|
|
227
|
+
hasHeader,
|
|
228
|
+
header: "",
|
|
229
|
+
onChange: this.handleAMPMChange,
|
|
230
|
+
options: [
|
|
231
|
+
{ value: "am", label: "am" },
|
|
232
|
+
{ value: "pm", label: "pm" }
|
|
233
|
+
],
|
|
234
|
+
selected: meridiemSelected,
|
|
235
|
+
disabledTimes
|
|
236
|
+
}
|
|
237
|
+
);
|
|
238
|
+
}
|
|
239
|
+
render() {
|
|
240
|
+
const { hasHeaderDisplay } = this.props;
|
|
241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(TimePickerContainer, { children: [
|
|
242
|
+
hasHeaderDisplay && this.renderHeader(),
|
|
243
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(TimePickerPanelContainer, { children: [
|
|
244
|
+
this.renderHoursPanel(),
|
|
245
|
+
this.renderMinutesPanel(),
|
|
246
|
+
this.renderSecondsPanel(),
|
|
247
|
+
this.renderAMPMPanel()
|
|
248
|
+
] })
|
|
249
|
+
] });
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
TimePickerMenu.defaultProps = {
|
|
253
|
+
time: (0, import_moment.default)(),
|
|
254
|
+
hasHeader: false,
|
|
255
|
+
use12Hours: true,
|
|
256
|
+
showSeconds: true,
|
|
257
|
+
showMinutes: true,
|
|
258
|
+
showHours: true,
|
|
259
|
+
disabledTimes: void 0,
|
|
260
|
+
onTimeChange: () => null
|
|
261
|
+
};
|
|
262
|
+
TimePickerMenu.propTypes = {
|
|
263
|
+
/** Time value */
|
|
264
|
+
time: import_prop_types.default.instanceOf(import_moment.default),
|
|
265
|
+
/** If the menu has header or not */
|
|
266
|
+
hasHeader: import_prop_types.default.bool,
|
|
267
|
+
/** Whether to use the 12 hours format */
|
|
268
|
+
use12Hours: import_prop_types.default.bool,
|
|
269
|
+
/** Whether show 'seconds' or not */
|
|
270
|
+
showSeconds: import_prop_types.default.bool,
|
|
271
|
+
/** Whether show 'minutes' or not */
|
|
272
|
+
showMinutes: import_prop_types.default.bool,
|
|
273
|
+
/** Whether show 'hours' or not */
|
|
274
|
+
showHours: import_prop_types.default.bool,
|
|
275
|
+
/** Handler when time changes */
|
|
276
|
+
onTimeChange: import_prop_types.default.func,
|
|
277
|
+
disabledTimes: import_prop_types.default.object
|
|
278
|
+
};
|
|
279
|
+
var TimePickerMenu_default = TimePickerMenu;
|
|
280
|
+
//# sourceMappingURL=TimePickerMenu.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/TimePickerMenu.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["/* eslint-disable complexity */\n/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { aggregatedClasses } from '@elliemae/ds-legacy-classnames';\nimport moment from 'moment';\nimport { range, addLeadingZeros } from '@elliemae/ds-legacy-utilities';\nimport { isAM } from './utils.js';\nimport PickerPanel from './PickerPanel.js';\n\nconst blockName = 'time-picker-menu';\n\nconst TimePickerContainer = aggregatedClasses('div')(blockName);\nconst TimePickerHeader = aggregatedClasses('div')(blockName, 'header');\nconst TimePickerPanelContainer = aggregatedClasses('div')(blockName, 'panel-container');\n\nconst generateOption = (format) => (option) => ({\n value: option,\n label: typeof format === 'function' ? format(option) : option,\n});\n\nclass TimePickerMenu extends Component {\n constructor(props) {\n super(props);\n this.state = {\n time: moment(props.time || '', props.format) || moment(),\n };\n\n this.handleMinuteChange = this.handleMinuteChange.bind(this);\n this.handleHoursChange = this.handleHoursChange.bind(this);\n this.handleSecondsChange = this.handleSecondsChange.bind(this);\n this.handleAMPMChange = this.handleAMPMChange.bind(this);\n this.updateTime = this.updateTime.bind(this);\n this.renderHoursPanel = this.renderHoursPanel.bind(this);\n this.renderMinutesPanel = this.renderMinutesPanel.bind(this);\n this.renderSecondsPanel = this.renderSecondsPanel.bind(this);\n this.renderAMPMPanel = this.renderAMPMPanel.bind(this);\n this.renderHeader = this.renderHeader.bind(this);\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.time) {\n return { ...state, time: moment(props.time) };\n }\n return { ...state, time: undefined };\n }\n\n componentDidMount() {\n const { time } = this.state;\n this.setState({ time });\n }\n\n handleMinuteChange(value) {\n const { time } = this.state;\n this.updateTime(time.minute(value));\n }\n\n handleHoursChange(value) {\n const { time } = this.state;\n const { use12Hours } = this.props;\n let nextHour = value;\n if (use12Hours) {\n if (!isAM(time)) {\n nextHour = (value % 12) + 12;\n }\n }\n this.updateTime(time.hour(nextHour));\n }\n\n handleSecondsChange(value) {\n const { time } = this.state;\n this.updateTime(time.second(value));\n }\n\n handleAMPMChange(value) {\n const { time } = this.state;\n const hour = time.hour();\n const nextHour = value.toLowerCase() === 'am' ? hour % 12 : (hour % 12) + 12;\n this.updateTime(time.hour(nextHour));\n }\n\n updateTime(time) {\n const { onTimeChange } = this.props;\n onTimeChange(time);\n this.setState({ time });\n }\n\n renderHoursPanel() {\n const { time } = this.state;\n const { showHours, use12Hours, format, hasHeader, disabledTimes } = this.props;\n if (!showHours) return null;\n\n const hour = time.hour(); // in 24 format\n let selectedHour = use12Hours ? hour % 12 || 12 : hour;\n if (disabledTimes) {\n const { from, to } = disabledTimes;\n if (hour > from.hour && hour < to.hour) {\n if (to.hour < 24) {\n const toFormatted = to.hour % 12 || 12;\n if (selectedHour !== toFormatted) this.handleHoursChange(toFormatted);\n selectedHour = toFormatted;\n } else if (from) {\n selectedHour = (from.hour - 1) % 12 || 12;\n }\n }\n }\n\n const meridiem = hour >= 12 ? 'PM' : 'AM';\n const withLeadingZeros = format.indexOf('hh') > -1;\n const rangeHours = use12Hours ? range(1, 13) : range(24);\n const hoursOptions = rangeHours.map(generateOption(withLeadingZeros && addLeadingZeros(2)));\n return (\n <PickerPanel\n type=\"hour\"\n time={time}\n meridiem={meridiem}\n hasHeader={hasHeader}\n header=\"H\"\n onChange={this.handleHoursChange}\n options={hoursOptions}\n selected={selectedHour}\n disabledTimes={disabledTimes}\n />\n );\n }\n\n renderMinutesPanel() {\n const { time } = this.state;\n const { showMinutes, format, hasHeader, disabledTimes, minutesInterval } = this.props;\n if (!showMinutes) return null;\n const withLeadingZeros = format.indexOf('mm') > -1;\n const rangeMinutes = range(0, 60, minutesInterval).map(generateOption(withLeadingZeros && addLeadingZeros(2)));\n\n let selectedMinute = time.minute();\n const selectedHour = time.hour();\n\n if (disabledTimes) {\n const { from, to } = disabledTimes;\n if (selectedHour <= to.hour && selectedHour > from.hour) {\n if (to) {\n if (selectedMinute < to.min) this.handleMinuteChange(to.min);\n } else if (from) {\n if (selectedMinute > from.min) this.handleMinuteChange(from.min - 1);\n }\n } else {\n selectedMinute = time.minute();\n }\n }\n\n return (\n <PickerPanel\n type=\"minutes\"\n time={time}\n hasHeader={hasHeader}\n header=\"M\"\n onChange={this.handleMinuteChange}\n options={rangeMinutes}\n selected={selectedMinute}\n disabledTimes={disabledTimes}\n />\n );\n }\n\n renderSecondsPanel() {\n const { time } = this.state;\n const { showSeconds, format, hasHeader } = this.props;\n if (!showSeconds) return null;\n const withLeadingZeros = format.indexOf('ss') > -1;\n const rangeSeconds = range(60).map(generateOption(withLeadingZeros && addLeadingZeros(2)));\n return (\n <PickerPanel\n type=\"seconds\"\n hasHeader={hasHeader}\n header=\"S\"\n onChange={this.handleSecondsChange}\n options={rangeSeconds}\n selected={time.second()}\n />\n );\n }\n\n renderAMPMPanel() {\n const { time } = this.state;\n const { use12Hours, hasHeader, disabledTimes } = this.props;\n if (!use12Hours) return null;\n\n let meridiemSelected = !isAM(time) ? 'pm' : 'am';\n if (disabledTimes && disabledTimes.to && meridiemSelected === 'am') {\n meridiemSelected = disabledTimes.to.hour >= 12 ? 'pm' : 'am';\n if (meridiemSelected === 'am' && time.hour() > 12) {\n this.handleAMPMChange('am');\n }\n\n if (meridiemSelected === 'pm' && time.hour() <= 12) {\n this.handleAMPMChange('pm');\n }\n }\n\n return (\n <PickerPanel\n type=\"meridiem\"\n hasHeader={hasHeader}\n header=\"\"\n onChange={this.handleAMPMChange}\n options={[\n { value: 'am', label: 'am' },\n { value: 'pm', label: 'pm' },\n ]}\n selected={meridiemSelected}\n disabledTimes={disabledTimes}\n />\n );\n }\n\n renderHeader = () => {\n const { time } = this.state;\n return <TimePickerHeader>{time.format('hh:mma')}</TimePickerHeader>;\n };\n\n render() {\n const { hasHeaderDisplay } = this.props;\n\n return (\n <TimePickerContainer>\n {hasHeaderDisplay && this.renderHeader()}\n <TimePickerPanelContainer>\n {this.renderHoursPanel()}\n {this.renderMinutesPanel()}\n {this.renderSecondsPanel()}\n {this.renderAMPMPanel()}\n </TimePickerPanelContainer>\n </TimePickerContainer>\n );\n }\n}\n\nTimePickerMenu.defaultProps = {\n time: moment(),\n hasHeader: false,\n use12Hours: true,\n showSeconds: true,\n showMinutes: true,\n showHours: true,\n disabledTimes: undefined,\n onTimeChange: () => null,\n};\n\nTimePickerMenu.propTypes = {\n /** Time value */\n time: PropTypes.instanceOf(moment),\n /** If the menu has header or not */\n hasHeader: PropTypes.bool,\n /** Whether to use the 12 hours format */\n use12Hours: PropTypes.bool,\n /** Whether show 'seconds' or not */\n showSeconds: PropTypes.bool,\n /** Whether show 'minutes' or not */\n showMinutes: PropTypes.bool,\n /** Whether show 'hours' or not */\n showHours: PropTypes.bool,\n /** Handler when time changes */\n onTimeChange: PropTypes.func,\n disabledTimes: PropTypes.object,\n};\n\nexport { TimePickerMenu };\nexport default TimePickerMenu;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["moment", "PickerPanel", "PropTypes"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var src_exports = {};
|
|
31
|
+
__export(src_exports, {
|
|
32
|
+
convertTimeString: () => import_utils.convertTimeString,
|
|
33
|
+
default: () => import_DSTimePicker.default
|
|
34
|
+
});
|
|
35
|
+
module.exports = __toCommonJS(src_exports);
|
|
36
|
+
var React = __toESM(require("react"));
|
|
37
|
+
__reExport(src_exports, require("./DSTimePicker.js"), module.exports);
|
|
38
|
+
__reExport(src_exports, require("./TimePickerMenu.js"), module.exports);
|
|
39
|
+
__reExport(src_exports, require("./DSTimePickerMenu.js"), module.exports);
|
|
40
|
+
var import_utils = require("./utils.js");
|
|
41
|
+
var import_DSTimePicker = __toESM(require("./DSTimePicker.js"));
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/index.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["export * from './DSTimePicker.js';\nexport * from './TimePickerMenu.js';\nexport * from './DSTimePickerMenu.js';\n\nexport { convertTimeString } from './utils.js'; // this is an exception, we should move utils to shared tho?\n\nexport { default } from './DSTimePicker.js';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAc,8BAAd;AACA,wBAAc,gCADd;AAEA,wBAAc,kCAFd;AAIA,mBAAkC;AAElC,0BAAwB;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|