@cashub/ui 0.4.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/Tab/Tab.js +28 -0
  2. package/Tab/TabContext.js +12 -0
  3. package/Tab/TabList.js +47 -0
  4. package/Tab/TabPanel.js +85 -0
  5. package/Tab/TabTab.js +63 -0
  6. package/Tab/index.js +24 -0
  7. package/animate/Collapse.js +1 -1
  8. package/animate/NumberCounter.js +1 -1
  9. package/assets/font/helvetica/Helvetica.ttf +0 -0
  10. package/assets/font/nanumGothic/NanumGothic-Bold.ttf +0 -0
  11. package/assets/font/nanumGothic/NanumGothic-ExtraBold.ttf +0 -0
  12. package/assets/font/nanumGothic/NanumGothic-Regular.ttf +0 -0
  13. package/assets/icons/app-management.png +0 -0
  14. package/assets/icons/burger.png +0 -0
  15. package/assets/icons/map_icon1.png +0 -0
  16. package/assets/icons/map_icon4.png +0 -0
  17. package/assets/images/bg-chart-circle.png +0 -0
  18. package/assets/images/bg-chart-triangle.png +0 -0
  19. package/assets/images/cashub-logo-only.png +0 -0
  20. package/assets/images/logo-cashub.png +0 -0
  21. package/assets/images/map.png +0 -0
  22. package/assets/images/qrcode.png +0 -0
  23. package/backdrop/index.js +31 -0
  24. package/badge/BadgeFill.js +3 -3
  25. package/billing/BarChart.js +58 -0
  26. package/billing/Grid.js +49 -0
  27. package/billing/Header2.js +28 -0
  28. package/billing/Header3.js +44 -0
  29. package/billing/Paragraph.js +39 -0
  30. package/billing/ParagraphGroup.js +25 -0
  31. package/billing/ParagraphText.js +31 -0
  32. package/billing/Section.js +60 -0
  33. package/billing/SectionBody.js +20 -0
  34. package/billing/SectionHeader.js +31 -0
  35. package/billing/__stories__/BarChart.stories.js_bak +46 -0
  36. package/billing/__stories__/Grid.stories.js_bak +57 -0
  37. package/billing/__stories__/Header2.stories.js_bak +62 -0
  38. package/billing/__stories__/Header3.stories.js_bak +69 -0
  39. package/billing/__stories__/Paragraph.stories.js_bak +84 -0
  40. package/billing/__stories__/ParagraphGroup.stories.js_bak +68 -0
  41. package/billing/__stories__/ParagraphText.stories.js_bak +64 -0
  42. package/billing/__stories__/Section.stories.js_bak +115 -0
  43. package/billing/__stories__/SectionBody.stories.js_bak +62 -0
  44. package/billing/__stories__/SectionHeader.stories.js-bak +68 -0
  45. package/breadcrumb/Breadcrumb.js +11 -6
  46. package/button/IconButton.js +1 -1
  47. package/callout/Callout.js +36 -0
  48. package/callout/index.js +15 -0
  49. package/chart/BarChart.js +130 -0
  50. package/chart/DoughnutChart.js +59 -0
  51. package/chart/LineChart.js +121 -0
  52. package/chart/SingleBarChart.js +31 -0
  53. package/chart/index.js +39 -0
  54. package/container/FlexContainer.js +25 -0
  55. package/container/index.js +15 -0
  56. package/cropper/Cropper.js +1 -1
  57. package/datetimePicker/Accordion.js +342 -0
  58. package/datetimePicker/CustomTimeInput.js +77 -0
  59. package/datetimePicker/DatePicker.js +413 -0
  60. package/datetimePicker/DatePickerV2.js +456 -0
  61. package/datetimePicker/DateTimePickerContext.js +12 -0
  62. package/datetimePicker/DatetimePicker.js +80 -0
  63. package/datetimePicker/DatetimePickerV2.js +478 -0
  64. package/datetimePicker/TimeInput.js +37 -0
  65. package/datetimePicker/TimePicker.js +324 -0
  66. package/datetimePicker/accordion/Month.js +190 -0
  67. package/datetimePicker/accordion/Year.js +247 -0
  68. package/datetimePicker/hooks/index.js +31 -0
  69. package/datetimePicker/hooks/useChangeNumber.js +55 -0
  70. package/datetimePicker/hooks/useDecrease.js +54 -0
  71. package/datetimePicker/hooks/useIncrease.js +54 -0
  72. package/datetimePicker/index.js +47 -0
  73. package/datetimePicker/provider/constant.js +44 -0
  74. package/datetimePicker/utils/GMTDate.js +23 -0
  75. package/datetimePicker/utils/pad.js +17 -0
  76. package/descriptionList/DescriptionDetail.js +22 -0
  77. package/descriptionList/DescriptionList.js +22 -0
  78. package/descriptionList/DescriptionTerm.js +19 -0
  79. package/descriptionList/index.js +31 -0
  80. package/divider/Divider.js +25 -0
  81. package/divider/index.js +15 -0
  82. package/dropdown/Dropdown.js +92 -0
  83. package/dropdown/DropdownButtonOption.js +19 -0
  84. package/dropdown/DropdownContent.js +94 -0
  85. package/dropdown/DropdownContext.js +12 -0
  86. package/dropdown/DropdownDivOption.js +19 -0
  87. package/dropdown/DropdownItem.js +32 -0
  88. package/dropdown/DropdownLinkOption.js +20 -0
  89. package/dropdown/DropdownToggle.js +58 -0
  90. package/dropdown/index.js +53 -0
  91. package/dropzone/FileDropzone.js +24 -24
  92. package/dropzone/ImageDropzone.js +33 -33
  93. package/form/Label.js +1 -1
  94. package/form/Searchbox.js +4 -4
  95. package/geolocation/MapInteractor.js +41 -0
  96. package/geolocation/MapSearchBoxControl.js +100 -0
  97. package/geolocation/ReverseGeolocation.js +160 -0
  98. package/geolocation/index.js +23 -0
  99. package/grid/Column.js +33 -0
  100. package/grid/Grid.js +28 -0
  101. package/grid/index.js +23 -0
  102. package/heading/Heading1.js +22 -0
  103. package/heading/Heading2.js +25 -0
  104. package/heading/Heading3.js +7 -4
  105. package/heading/index.js +31 -0
  106. package/icon/IconFigure.js +36 -0
  107. package/icon/index.js +15 -0
  108. package/iconbox/ApplicationIconBox.js +51 -0
  109. package/iconbox/IconBox.js +56 -0
  110. package/iconbox/IconBoxFigure.js +37 -0
  111. package/iconbox/IconBoxImage.js +32 -0
  112. package/iconbox/IconBoxV2.js +42 -0
  113. package/iconbox/index.js +31 -0
  114. package/image/UploadImage.js +2 -2
  115. package/index.js +377 -0
  116. package/jsoneditor/JsonEditor.js +53 -0
  117. package/jsoneditor/index.js +15 -0
  118. package/layout/Backdrop.js +25 -0
  119. package/layout/Container.js +34 -0
  120. package/layout/Footer.js +32 -0
  121. package/layout/Logo.js +34 -0
  122. package/layout/MenuIcon.js +43 -0
  123. package/link/LinkSpan.js +57 -0
  124. package/link/index.js +15 -0
  125. package/map/CustomLeafletMapContainer.js +23 -0
  126. package/map/LeafletMap.js +224 -0
  127. package/map/index.js +23 -0
  128. package/modal/StateModal.js +2 -2
  129. package/modal/TitleModal.js +4 -4
  130. package/module/geolocation/api.js +51 -0
  131. package/module/message/index.js +59 -0
  132. package/package.json +16 -1
  133. package/paginate/Paginate.js +110 -0
  134. package/paginate/index.js +15 -0
  135. package/popover/Popover.js +122 -0
  136. package/popover/index.js +15 -0
  137. package/qrcode/QRCode.js +57 -0
  138. package/qrcode/QRCodeContainter.js +34 -0
  139. package/qrcode/index.js +23 -0
  140. package/ribbon/Ribbon.js +28 -0
  141. package/ribbon/index.js +15 -0
  142. package/section/Section.js +67 -0
  143. package/section/SectionBody.js +38 -0
  144. package/section/SectionHeader.js +42 -0
  145. package/section/SectionToolbar.js +22 -0
  146. package/section/index.js +50 -0
  147. package/select/ListBox.js +26 -0
  148. package/select/Option.js +28 -0
  149. package/select/OptionGroup.js +20 -0
  150. package/select/Options.js +25 -0
  151. package/select/SearchBox.js +52 -0
  152. package/select/Select.js +630 -0
  153. package/select/SelectedMultiple.js +34 -0
  154. package/select/SelectedSingle.js +20 -0
  155. package/select/index.js +15 -0
  156. package/services/api/index.js +73 -0
  157. package/styles/header.style.js +11 -0
  158. package/styles/sidebar.style.js +18 -0
  159. package/styles/theme/dark.theme.js +95 -0
  160. package/styles/theme/index.js +16 -0
  161. package/table/ImageBox.js +39 -0
  162. package/table/Logo.js +40 -0
  163. package/table/PermissionTable.js +42 -0
  164. package/table/Table.js +377 -0
  165. package/table/TableFooter.js +19 -0
  166. package/table/TableFooterInfo.js +19 -0
  167. package/table/TableFooterPager.js +19 -0
  168. package/table/TableHeadCell.js +39 -0
  169. package/table/TableSort.js +34 -0
  170. package/table/hooks/index.js +31 -0
  171. package/table/hooks/useLimitChange.js +34 -0
  172. package/table/hooks/usePageChange.js +33 -0
  173. package/table/hooks/useSortChange.js +35 -0
  174. package/table/index.js +31 -0
  175. package/tagify/Tags.js +55 -0
  176. package/tagify/index.js +15 -0
  177. package/text/Paragraph.js +37 -0
  178. package/text/index.js +15 -0
  179. package/timeline/Timeline.js +51 -0
  180. package/timeline/index.js +15 -0
  181. package/toast/CustomToastContainer.js +20 -0
  182. package/toast/index.js +23 -0
  183. package/tooltip/Tooltip.js +154 -0
  184. package/tooltip/index.js +15 -0
  185. package/utils/array/generateRange.js +19 -0
  186. package/utils/chart/customTooltip.js +89 -0
  187. package/utils/chart/padEmptyChartBar.js +48 -0
  188. package/utils/dataURLtoFile.js +23 -6
  189. package/utils/format/datetimeFormat.js +70 -0
  190. package/utils/format/formatDate.js +46 -0
  191. package/utils/format/formatSize.js +1 -1
  192. package/utils/getBase64.js +2 -5
  193. package/utils/hooks/useCustomPopper.js +49 -0
  194. package/utils/hooks/useForkRef.js +28 -0
  195. package/utils/hooks/usePagination.js +86 -0
  196. package/utils/image/resize.js +7 -7
  197. package/utils/react/setRef.js +17 -0
  198. package/utils/regex/check.js +13 -0
  199. package/wizard/Wizard.js +210 -0
  200. package/wizard/index.js +15 -0
@@ -0,0 +1,324 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = require("react");
9
+
10
+ var _fa = require("react-icons/fa");
11
+
12
+ var _moment = _interopRequireDefault(require("moment"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _lodash = _interopRequireDefault(require("lodash.uniqueid"));
17
+
18
+ var _hooks = require("./hooks");
19
+
20
+ var _pad = _interopRequireDefault(require("./utils/pad"));
21
+
22
+ var _keycode = _interopRequireDefault(require("../utils/aria/keycode"));
23
+
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+
26
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+
30
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
31
+
32
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
+
34
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
+
36
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
37
+
38
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
39
+
40
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
41
+
42
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
43
+
44
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
45
+
46
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
47
+
48
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
49
+
50
+ var LENGTH = 2;
51
+ var PAD_STRING = '0';
52
+
53
+ var TimePicker = function TimePicker(_ref) {
54
+ var _ref$labelName = _ref.labelName,
55
+ labelName = _ref$labelName === void 0 ? 'Time' : _ref$labelName,
56
+ value = _ref.value,
57
+ onChange = _ref.onChange,
58
+ _ref$showSecond = _ref.showSecond,
59
+ showSecond = _ref$showSecond === void 0 ? true : _ref$showSecond;
60
+
61
+ var _useState = (0, _react.useState)((0, _lodash.default)('hour-')),
62
+ _useState2 = _slicedToArray(_useState, 1),
63
+ hourId = _useState2[0];
64
+
65
+ var _useState3 = (0, _react.useState)(function () {
66
+ var time = (0, _moment.default)(value, 'HH:mm:ss'); // use current time when time value is invalid
67
+
68
+ if (!value || !time.isValid()) {
69
+ time = (0, _moment.default)();
70
+ }
71
+
72
+ return {
73
+ hour: (0, _pad.default)(time.hour(), LENGTH, PAD_STRING),
74
+ minute: (0, _pad.default)(time.minute(), LENGTH, PAD_STRING),
75
+ second: (0, _pad.default)(time.second(), LENGTH, PAD_STRING)
76
+ };
77
+ }),
78
+ _useState4 = _slicedToArray(_useState3, 2),
79
+ time = _useState4[0],
80
+ setTime = _useState4[1];
81
+
82
+ (0, _react.useEffect)(function () {
83
+ if (typeof onChange === 'function' && time.hour && time.minute && time.second) {
84
+ onChange("".concat(time.hour, ":").concat(time.minute, ":").concat(time.second));
85
+ }
86
+ }, [onChange, time.hour, time.minute, time.second]);
87
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Container, {
88
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Label, {
89
+ htmlFor: hourId,
90
+ children: labelName
91
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Hour, {
92
+ id: hourId,
93
+ value: time.hour,
94
+ setTime: setTime
95
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Minute, {
96
+ value: time.minute,
97
+ setTime: setTime
98
+ }), showSecond === true && /*#__PURE__*/(0, _jsxRuntime.jsx)(Second, {
99
+ value: time.second,
100
+ setTime: setTime
101
+ })]
102
+ });
103
+ };
104
+
105
+ var Hour = function Hour(_ref2) {
106
+ var id = _ref2.id,
107
+ value = _ref2.value,
108
+ setTime = _ref2.setTime;
109
+ var NAME = 'hour';
110
+ var MIN = 0;
111
+ var MAX = 23;
112
+ var increase = (0, _hooks.useIncrease)(MIN, MAX, setTime, {
113
+ name: NAME,
114
+ length: LENGTH,
115
+ padString: PAD_STRING
116
+ });
117
+ var decrease = (0, _hooks.useDecrease)(MIN, MAX, setTime, {
118
+ name: NAME,
119
+ length: LENGTH,
120
+ padString: PAD_STRING
121
+ });
122
+ var changeNumber = (0, _hooks.useChangeNumber)(MIN, MAX, setTime, NAME);
123
+ var handleKeyUp = useKeyUp(increase, decrease, MIN, MAX, setTime, NAME);
124
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Section, {
125
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Input, {
126
+ type: "text",
127
+ id: id,
128
+ maxLength: "2",
129
+ value: value,
130
+ onChange: function onChange(event) {
131
+ changeNumber(event.target.value);
132
+ },
133
+ onKeyUp: handleKeyUp,
134
+ onBlur: function onBlur(event) {
135
+ setTime(function (previous) {
136
+ var newState = _objectSpread({}, previous);
137
+
138
+ newState[NAME] = (0, _pad.default)(event.target.value, LENGTH, PAD_STRING);
139
+ return newState;
140
+ });
141
+ }
142
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Stepper, {
143
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StepperButton, {
144
+ onClick: increase,
145
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaAngleUp, {})
146
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(StepperButton, {
147
+ onClick: decrease,
148
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaAngleDown, {})
149
+ })]
150
+ })]
151
+ });
152
+ };
153
+
154
+ var Minute = function Minute(_ref3) {
155
+ var value = _ref3.value,
156
+ setTime = _ref3.setTime;
157
+ var NAME = 'minute';
158
+ var MIN = 0;
159
+ var MAX = 59;
160
+
161
+ var _useState5 = (0, _react.useState)((0, _lodash.default)("".concat(NAME, "-"))),
162
+ _useState6 = _slicedToArray(_useState5, 1),
163
+ minuteId = _useState6[0];
164
+
165
+ var increase = (0, _hooks.useIncrease)(MIN, MAX, setTime, {
166
+ name: NAME,
167
+ length: LENGTH,
168
+ padString: PAD_STRING
169
+ });
170
+ var decrease = (0, _hooks.useDecrease)(MIN, MAX, setTime, {
171
+ name: NAME,
172
+ length: LENGTH,
173
+ padString: PAD_STRING
174
+ });
175
+ var changeNumber = (0, _hooks.useChangeNumber)(MIN, MAX, setTime, NAME);
176
+ var handleKeyUp = useKeyUp(increase, decrease, MIN, MAX, setTime, NAME);
177
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
178
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Delimiter, {
179
+ children: ":"
180
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Section, {
181
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Input, {
182
+ type: "text",
183
+ id: minuteId,
184
+ maxLength: "2",
185
+ value: value,
186
+ onChange: function onChange(event) {
187
+ changeNumber(event.target.value);
188
+ },
189
+ onKeyUp: handleKeyUp,
190
+ onBlur: function onBlur(event) {
191
+ setTime(function (previous) {
192
+ var newState = _objectSpread({}, previous);
193
+
194
+ newState[NAME] = (0, _pad.default)(event.target.value, LENGTH, PAD_STRING);
195
+ return newState;
196
+ });
197
+ }
198
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Stepper, {
199
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StepperButton, {
200
+ onClick: increase,
201
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaAngleUp, {})
202
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(StepperButton, {
203
+ onClick: decrease,
204
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaAngleDown, {})
205
+ })]
206
+ })]
207
+ })]
208
+ });
209
+ };
210
+
211
+ var Second = function Second(_ref4) {
212
+ var value = _ref4.value,
213
+ setTime = _ref4.setTime;
214
+ var NAME = 'second';
215
+ var MIN = 0;
216
+ var MAX = 59;
217
+
218
+ var _useState7 = (0, _react.useState)((0, _lodash.default)("".concat(NAME, "-"))),
219
+ _useState8 = _slicedToArray(_useState7, 1),
220
+ secondId = _useState8[0];
221
+
222
+ var increase = (0, _hooks.useIncrease)(MIN, MAX, setTime, {
223
+ name: NAME,
224
+ length: LENGTH,
225
+ padString: PAD_STRING
226
+ });
227
+ var decrease = (0, _hooks.useDecrease)(MIN, MAX, setTime, {
228
+ name: NAME,
229
+ length: LENGTH,
230
+ padString: PAD_STRING
231
+ });
232
+ var changeNumber = (0, _hooks.useChangeNumber)(MIN, MAX, setTime, NAME);
233
+ var handleKeyUp = useKeyUp(increase, decrease, MIN, MAX, setTime, NAME);
234
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
235
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Delimiter, {
236
+ children: ":"
237
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Section, {
238
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Input, {
239
+ type: "text",
240
+ id: secondId,
241
+ maxLength: "2",
242
+ value: value,
243
+ onChange: function onChange(event) {
244
+ changeNumber(event.target.value);
245
+ },
246
+ onKeyUp: handleKeyUp,
247
+ onBlur: function onBlur(event) {
248
+ setTime(function (previous) {
249
+ var newState = _objectSpread({}, previous);
250
+
251
+ newState[NAME] = (0, _pad.default)(event.target.value, LENGTH, PAD_STRING);
252
+ return newState;
253
+ });
254
+ }
255
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Stepper, {
256
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StepperButton, {
257
+ onClick: increase,
258
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaAngleUp, {})
259
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(StepperButton, {
260
+ onClick: decrease,
261
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fa.FaAngleDown, {})
262
+ })]
263
+ })]
264
+ })]
265
+ });
266
+ };
267
+
268
+ var useKeyUp = function useKeyUp(increase, decrease, min, max, setState, name) {
269
+ return (0, _react.useCallback)(function (event) {
270
+ var key = event.keyCode;
271
+
272
+ switch (key) {
273
+ case _keycode.default.UP:
274
+ increase();
275
+ break;
276
+
277
+ case _keycode.default.DOWN:
278
+ decrease();
279
+ break;
280
+
281
+ case _keycode.default.HOME:
282
+ setState(function (previous) {
283
+ var newState = _objectSpread({}, previous);
284
+
285
+ newState[name] = (0, _pad.default)(min, LENGTH, PAD_STRING);
286
+ return newState;
287
+ });
288
+ break;
289
+
290
+ case _keycode.default.END:
291
+ setState(function (previous) {
292
+ var newState = _objectSpread({}, previous);
293
+
294
+ newState[name] = (0, _pad.default)(max, LENGTH, PAD_STRING);
295
+ return newState;
296
+ });
297
+ break;
298
+
299
+ default:
300
+ break;
301
+ }
302
+ }, [increase, decrease, min, max, setState, name]);
303
+ };
304
+
305
+ var Container = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n justify-content: center;\n"])));
306
+
307
+ var Label = _styledComponents.default.label(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: inline-block;\n color: var(--font-on-background);\n font-size: var(--font-body1);\n margin-right: 12px;\n"])));
308
+
309
+ var Section = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: inline-flex;\n height: 36px;\n width: 56px;\n padding: calc(var(--spacing-xs) / 2) var(--spacing-xs);\n border: var(--border-width) solid var(--border-color);\n border-radius: var(--border-radius-s);\n background: transparent;\n color: var(--font-on-background);\n"])));
310
+
311
+ var Input = _styledComponents.default.input(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: calc(100% - 4px - 12px);\n border: none;\n background: transparent;\n color: inherit;\n\n &:focus {\n outline: none;\n }\n"])));
312
+
313
+ var StepperButton = _styledComponents.default.div.attrs(function () {
314
+ return {
315
+ role: 'button'
316
+ };
317
+ })(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n width: 12px;\n height: 12px;\n\n > svg {\n width: 100%;\n height: 100%;\n vertical-align: top;\n }\n\n &:first-child {\n margin-bottom: 2px;\n }\n\n &:hover {\n color: var(--color-primary);\n }\n"])));
318
+
319
+ var Stepper = _styledComponents.default.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n margin-left: calc(var(--spacing-xs) / 2);\n"])));
320
+
321
+ var Delimiter = _styledComponents.default.span(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n display: inline-block;\n color: var(--font-on-background);\n font-size: var(--font-body1);\n width: 12px;\n text-align: center;\n"])));
322
+
323
+ var _default = TimePicker;
324
+ exports.default = _default;
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _react = require("react");
11
+
12
+ var _io = require("react-icons/io");
13
+
14
+ var _md = require("react-icons/md");
15
+
16
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
+
18
+ var _datetimeFormat = _interopRequireDefault(require("../../utils/format/datetimeFormat"));
19
+
20
+ var _DateTimePickerContext = _interopRequireDefault(require("../DateTimePickerContext"));
21
+
22
+ var _constant = require("../provider/constant");
23
+
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+
26
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+
34
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
35
+
36
+ var Month = function Month(_ref) {
37
+ var expand = _ref.expand,
38
+ handleDisplayAccordionContent = _ref.handleDisplayAccordionContent,
39
+ handleChangeTitle = _ref.handleChangeTitle;
40
+
41
+ var _useContext = (0, _react.useContext)(_DateTimePickerContext.default),
42
+ selectedDate = _useContext.selectedDate,
43
+ setSelectedDate = _useContext.setSelectedDate,
44
+ minDate = _useContext.minDate,
45
+ maxDate = _useContext.maxDate,
46
+ fixedYear = _useContext.fixedYear,
47
+ setAccordionCurrentDisplayType = _useContext.setAccordionCurrentDisplayType;
48
+
49
+ var handleChangeMonth = (0, _react.useCallback)(function (month) {
50
+ setSelectedDate(function () {
51
+ var date = new Date(selectedDate);
52
+ date.setDate(1);
53
+ date.setMonth(month);
54
+ return (0, _datetimeFormat.default)(date);
55
+ });
56
+ setAccordionCurrentDisplayType(null);
57
+ }, [setAccordionCurrentDisplayType, setSelectedDate, selectedDate]);
58
+ var handleMonthItemDisable = (0, _react.useCallback)(function (month) {
59
+ var minDayDate;
60
+ var maxDayDate;
61
+
62
+ if (minDate) {
63
+ minDayDate = new Date((0, _datetimeFormat.default)(minDate));
64
+ minDayDate.setMonth(month);
65
+ minDayDate.setFullYear(new Date(selectedDate).getFullYear());
66
+ }
67
+
68
+ if (maxDate) {
69
+ maxDayDate = maxDate && new Date((0, _datetimeFormat.default)(maxDate));
70
+ maxDayDate.setFullYear(new Date(selectedDate).getFullYear());
71
+ maxDayDate.setMonth(month);
72
+ }
73
+
74
+ if (minDate !== undefined && maxDate !== undefined) {
75
+ return new Date((0, _datetimeFormat.default)(minDate)) <= minDayDate && maxDayDate <= new Date((0, _datetimeFormat.default)(maxDate)) ? false : true;
76
+ } else if (minDate) {
77
+ return (0, _datetimeFormat.default)(minDate) <= (0, _datetimeFormat.default)(minDayDate) ? false : true;
78
+ } else if (maxDate) {
79
+ return (0, _datetimeFormat.default)(maxDayDate) <= (0, _datetimeFormat.default)(maxDate) ? false : true;
80
+ }
81
+
82
+ return false;
83
+ }, [maxDate, minDate, selectedDate]);
84
+ var handleDisableArrow = (0, _react.useCallback)(function (arrowType) {
85
+ var date = new Date(selectedDate);
86
+ var selectedMonth = date.getMonth();
87
+ date.setDate(1);
88
+
89
+ if (arrowType === 'previous') {
90
+ date.setMonth(selectedMonth - 1 < 0 ? 11 : selectedMonth - 1);
91
+ } else {
92
+ date.setMonth(selectedMonth + 1 > 11 ? 0 : selectedMonth + 1);
93
+ }
94
+
95
+ if (fixedYear && !minDate && !maxDate || !minDate && !maxDate) {
96
+ return false;
97
+ }
98
+
99
+ var minDate1st = minDate && new Date((0, _datetimeFormat.default)(minDate));
100
+ var maxDate1st = maxDate && new Date((0, _datetimeFormat.default)(maxDate));
101
+
102
+ if (minDate && !maxDate) {
103
+ minDate1st.setDate(1);
104
+ minDate1st.setHours(0, 0, 0, 0);
105
+ return !(minDate1st <= date);
106
+ } else if (maxDate && !minDate) {
107
+ maxDate1st.setDate(1);
108
+ return !(maxDate1st >= date);
109
+ } else if (minDate && maxDate) {
110
+ minDate1st.setHours(0, 0, 0, 0);
111
+ maxDate1st.setDate(1);
112
+ minDate1st.setDate(1);
113
+ return !(minDate1st <= date && maxDate1st >= date);
114
+ }
115
+ }, [fixedYear, maxDate, minDate, selectedDate]);
116
+ var monthContent = (0, _react.useMemo)(function () {
117
+ var selectedMonth = new Date(selectedDate).getMonth();
118
+ return _constant.MONTH.map(function (month, index) {
119
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Item, {
120
+ selected: selectedMonth === index,
121
+ onClick: function onClick() {
122
+ handleChangeMonth(index);
123
+ },
124
+ disabled: handleMonthItemDisable(index),
125
+ children: month.text
126
+ }, month.number);
127
+ });
128
+ }, [selectedDate, handleChangeMonth, handleMonthItemDisable]);
129
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
130
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Header, {
131
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(IconButton, {
132
+ onClick: function onClick() {
133
+ handleChangeTitle('previous');
134
+ },
135
+ disabled: handleDisableArrow('previous'),
136
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_md.MdArrowBackIosNew, {})
137
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
138
+ children: _constant.MONTH[new Date(selectedDate).getMonth()].text
139
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(IconButton, {
140
+ onClick: function onClick() {
141
+ handleChangeTitle('next');
142
+ },
143
+ disabled: handleDisableArrow('next'),
144
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_md.MdArrowForwardIos, {})
145
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(IconButton, {
146
+ rotate: expand,
147
+ right: true,
148
+ onClick: handleDisplayAccordionContent,
149
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_io.IoMdArrowDropup, {})
150
+ })]
151
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Body, {
152
+ expand: expand,
153
+ fixedYear: fixedYear,
154
+ children: monthContent
155
+ })]
156
+ });
157
+ };
158
+
159
+ var Header = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: center;\n align-content: center;\n position: relative;\n\n > div {\n width: 72px;\n line-height: 36px;\n text-align: center;\n }\n\n &::before {\n content: '';\n border-bottom: var(--border-width) solid var(--border-color);\n position: absolute;\n width: 300px;\n bottom: 0;\n z-index: 1;\n right: -16px;\n }\n"])));
160
+
161
+ var IconButton = _styledComponents.default.button(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 36px;\n height: 36px;\n background: var(--color-background1);\n border: none;\n color: var(--color-white);\n padding: 0;\n transition: 0.3s;\n\n &:hover {\n color: var(--color-primary);\n }\n\n ", "\n\n ", "\n"])), function (_ref2) {
162
+ var disabled = _ref2.disabled;
163
+ return disabled && (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n opacity: 0.5;\n\n &:hover {\n color: var(--color-white);\n }\n "])));
164
+ }, function (_ref3) {
165
+ var right = _ref3.right,
166
+ rotate = _ref3.rotate;
167
+ return right && "\n position: absolute;\n right: 0;\n ".concat(rotate && (0, _styledComponents.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n transform: rotate(180deg);\n "]))), "\n ");
168
+ });
169
+
170
+ var Body = _styledComponents.default.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n flex-wrap: wrap;\n height: 0;\n width: 100%;\n display: ", ";\n\n ", "\n transition: .3s;\n\n transition: 0.3s;\n"])), function (_ref4) {
171
+ var expand = _ref4.expand;
172
+ return expand ? 'flex' : 'none';
173
+ }, function (_ref5) {
174
+ var fixedYear = _ref5.fixedYear;
175
+ return (0, _styledComponents.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n min-height: ", "px;\n "])), fixedYear ? '192' : '144');
176
+ });
177
+
178
+ var Item = _styledComponents.default.button(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n width: 84px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n border-radius: var(--border-radius-s);\n padding: 0;\n border: none;\n color: var(--whiet);\n background: var(--color-background1);\n\n &:hover {\n ", "\n }\n\n ", "\n\n ", "\n"])), function (_ref6) {
179
+ var disabled = _ref6.disabled;
180
+ return !disabled && (0, _styledComponents.css)(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n background: var(--color-primary);\n "])));
181
+ }, function (_ref7) {
182
+ var disabled = _ref7.disabled;
183
+ return disabled && (0, _styledComponents.css)(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n color: var(--font-on-mute);\n "])));
184
+ }, function (_ref8) {
185
+ var selected = _ref8.selected;
186
+ return selected && (0, _styledComponents.css)(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n background: var(--color-hover);\n "])));
187
+ });
188
+
189
+ var _default = Month;
190
+ exports.default = _default;