@cashub/ui 0.4.2 → 0.5.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 (181) 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/assets/font/helvetica/Helvetica.ttf +0 -0
  8. package/assets/font/nanumGothic/NanumGothic-Bold.ttf +0 -0
  9. package/assets/font/nanumGothic/NanumGothic-ExtraBold.ttf +0 -0
  10. package/assets/font/nanumGothic/NanumGothic-Regular.ttf +0 -0
  11. package/assets/icons/app-management.png +0 -0
  12. package/assets/icons/burger.png +0 -0
  13. package/assets/icons/map_icon1.png +0 -0
  14. package/assets/icons/map_icon4.png +0 -0
  15. package/assets/images/bg-chart-circle.png +0 -0
  16. package/assets/images/bg-chart-triangle.png +0 -0
  17. package/assets/images/cashub-logo-only.png +0 -0
  18. package/assets/images/logo-cashub.png +0 -0
  19. package/assets/images/map.png +0 -0
  20. package/assets/images/qrcode.png +0 -0
  21. package/billing/BarChart.js +58 -0
  22. package/billing/Grid.js +49 -0
  23. package/billing/Header2.js +28 -0
  24. package/billing/Header3.js +44 -0
  25. package/billing/Paragraph.js +39 -0
  26. package/billing/ParagraphGroup.js +25 -0
  27. package/billing/ParagraphText.js +31 -0
  28. package/billing/Section.js +60 -0
  29. package/billing/SectionBody.js +20 -0
  30. package/billing/SectionHeader.js +31 -0
  31. package/billing/__stories__/BarChart.stories.js_bak +46 -0
  32. package/billing/__stories__/Grid.stories.js_bak +57 -0
  33. package/billing/__stories__/Header2.stories.js_bak +62 -0
  34. package/billing/__stories__/Header3.stories.js_bak +69 -0
  35. package/billing/__stories__/Paragraph.stories.js_bak +84 -0
  36. package/billing/__stories__/ParagraphGroup.stories.js_bak +68 -0
  37. package/billing/__stories__/ParagraphText.stories.js_bak +64 -0
  38. package/billing/__stories__/Section.stories.js_bak +115 -0
  39. package/billing/__stories__/SectionBody.stories.js_bak +62 -0
  40. package/billing/__stories__/SectionHeader.stories.js-bak +68 -0
  41. package/callout/Callout.js +36 -0
  42. package/callout/index.js +15 -0
  43. package/chart/BarChart.js +130 -0
  44. package/chart/DoughnutChart.js +59 -0
  45. package/chart/LineChart.js +121 -0
  46. package/chart/SingleBarChart.js +31 -0
  47. package/chart/index.js +39 -0
  48. package/container/FlexContainer.js +25 -0
  49. package/container/index.js +15 -0
  50. package/datetimePicker/Accordion.js +342 -0
  51. package/datetimePicker/CustomTimeInput.js +77 -0
  52. package/datetimePicker/DatePicker.js +401 -0
  53. package/datetimePicker/DatePickerV2.js +432 -0
  54. package/datetimePicker/DateTimePickerContext.js +12 -0
  55. package/datetimePicker/DatetimePicker.js +80 -0
  56. package/datetimePicker/DatetimePickerV2.js +438 -0
  57. package/datetimePicker/TimeInput.js +37 -0
  58. package/datetimePicker/TimePicker.js +324 -0
  59. package/datetimePicker/accordion/Month.js +188 -0
  60. package/datetimePicker/accordion/Year.js +247 -0
  61. package/datetimePicker/hooks/index.js +31 -0
  62. package/datetimePicker/hooks/useChangeNumber.js +55 -0
  63. package/datetimePicker/hooks/useDecrease.js +54 -0
  64. package/datetimePicker/hooks/useIncrease.js +54 -0
  65. package/datetimePicker/index.js +47 -0
  66. package/datetimePicker/provider/constant.js +44 -0
  67. package/datetimePicker/utils/pad.js +17 -0
  68. package/descriptionList/DescriptionDetail.js +22 -0
  69. package/descriptionList/DescriptionList.js +22 -0
  70. package/descriptionList/DescriptionTerm.js +19 -0
  71. package/descriptionList/index.js +31 -0
  72. package/divider/Divider.js +22 -0
  73. package/divider/index.js +15 -0
  74. package/dropdown/Dropdown.js +92 -0
  75. package/dropdown/DropdownButtonOption.js +19 -0
  76. package/dropdown/DropdownContent.js +94 -0
  77. package/dropdown/DropdownContext.js +12 -0
  78. package/dropdown/DropdownDivOption.js +19 -0
  79. package/dropdown/DropdownItem.js +32 -0
  80. package/dropdown/DropdownLinkOption.js +20 -0
  81. package/dropdown/DropdownToggle.js +58 -0
  82. package/dropdown/index.js +53 -0
  83. package/geolocation/MapInteractor.js +41 -0
  84. package/geolocation/MapSearchBoxControl.js +100 -0
  85. package/geolocation/ReverseGeolocation.js +160 -0
  86. package/geolocation/index.js +23 -0
  87. package/grid/Column.js +33 -0
  88. package/grid/Grid.js +28 -0
  89. package/grid/index.js +23 -0
  90. package/heading/Heading1.js +22 -0
  91. package/heading/Heading2.js +25 -0
  92. package/heading/Heading3.js +4 -4
  93. package/heading/index.js +31 -0
  94. package/icon/IconFigure.js +36 -0
  95. package/icon/index.js +15 -0
  96. package/iconbox/ApplicationIconBox.js +51 -0
  97. package/iconbox/IconBox.js +56 -0
  98. package/iconbox/IconBoxFigure.js +37 -0
  99. package/iconbox/IconBoxImage.js +32 -0
  100. package/iconbox/IconBoxV2.js +42 -0
  101. package/iconbox/index.js +31 -0
  102. package/index.js +377 -0
  103. package/jsoneditor/JsonEditor.js +53 -0
  104. package/jsoneditor/index.js +15 -0
  105. package/layout/Backdrop.js +25 -0
  106. package/layout/Container.js +34 -0
  107. package/layout/Footer.js +32 -0
  108. package/layout/Logo.js +34 -0
  109. package/layout/MenuIcon.js +43 -0
  110. package/link/LinkSpan.js +57 -0
  111. package/link/index.js +15 -0
  112. package/map/CustomLeafletMapContainer.js +23 -0
  113. package/map/LeafletMap.js +224 -0
  114. package/map/index.js +23 -0
  115. package/module/geolocation/api.js +51 -0
  116. package/module/message/index.js +59 -0
  117. package/package.json +16 -1
  118. package/paginate/Paginate.js +110 -0
  119. package/paginate/index.js +15 -0
  120. package/popover/Popover.js +122 -0
  121. package/popover/index.js +15 -0
  122. package/qrcode/QRCode.js +57 -0
  123. package/qrcode/QRCodeContainter.js +34 -0
  124. package/qrcode/index.js +23 -0
  125. package/ribbon/Ribbon.js +28 -0
  126. package/ribbon/index.js +15 -0
  127. package/section/Section.js +64 -0
  128. package/section/SectionBody.js +38 -0
  129. package/section/SectionHeader.js +42 -0
  130. package/section/SectionToolbar.js +22 -0
  131. package/section/index.js +50 -0
  132. package/select/ListBox.js +26 -0
  133. package/select/Option.js +28 -0
  134. package/select/OptionGroup.js +20 -0
  135. package/select/Options.js +25 -0
  136. package/select/SearchBox.js +52 -0
  137. package/select/Select.js +625 -0
  138. package/select/SelectedMultiple.js +34 -0
  139. package/select/SelectedSingle.js +20 -0
  140. package/select/index.js +15 -0
  141. package/services/api/index.js +73 -0
  142. package/styles/header.style.js +11 -0
  143. package/styles/sidebar.style.js +18 -0
  144. package/styles/theme/dark.theme.js +95 -0
  145. package/styles/theme/index.js +16 -0
  146. package/table/ImageBox.js +39 -0
  147. package/table/Logo.js +40 -0
  148. package/table/PermissionTable.js +42 -0
  149. package/table/Table.js +377 -0
  150. package/table/TableFooter.js +19 -0
  151. package/table/TableFooterInfo.js +19 -0
  152. package/table/TableFooterPager.js +19 -0
  153. package/table/TableHeadCell.js +39 -0
  154. package/table/TableSort.js +34 -0
  155. package/table/hooks/index.js +31 -0
  156. package/table/hooks/useLimitChange.js +34 -0
  157. package/table/hooks/usePageChange.js +33 -0
  158. package/table/hooks/useSortChange.js +35 -0
  159. package/table/index.js +31 -0
  160. package/tagify/Tags.js +55 -0
  161. package/tagify/index.js +15 -0
  162. package/text/Paragraph.js +34 -0
  163. package/text/index.js +15 -0
  164. package/timeline/Timeline.js +51 -0
  165. package/timeline/index.js +15 -0
  166. package/toast/CustomToastContainer.js +20 -0
  167. package/toast/index.js +23 -0
  168. package/tooltip/Tooltip.js +154 -0
  169. package/tooltip/index.js +15 -0
  170. package/utils/array/generateRange.js +19 -0
  171. package/utils/chart/customTooltip.js +89 -0
  172. package/utils/chart/padEmptyChartBar.js +48 -0
  173. package/utils/format/datetimeFormat.js +71 -0
  174. package/utils/format/formatDate.js +46 -0
  175. package/utils/hooks/useCustomPopper.js +50 -0
  176. package/utils/hooks/useForkRef.js +28 -0
  177. package/utils/hooks/usePagination.js +86 -0
  178. package/utils/react/setRef.js +17 -0
  179. package/utils/regex/check.js +13 -0
  180. package/wizard/Wizard.js +217 -0
  181. package/wizard/index.js +15 -0
@@ -0,0 +1,342 @@
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 _md = require("react-icons/md");
11
+
12
+ var _io = require("react-icons/io");
13
+
14
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
15
+
16
+ var _react = require("react");
17
+
18
+ var _generateRange = _interopRequireDefault(require("../utils/array/generateRange"));
19
+
20
+ var _scrollbar = _interopRequireDefault(require("../styles/mixin/scrollbar"));
21
+
22
+ var _formatDate = _interopRequireDefault(require("../utils/format/formatDate"));
23
+
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+
26
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
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
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
37
+
38
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
39
+
40
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
41
+
42
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
43
+
44
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
45
+
46
+ 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."); }
47
+
48
+ 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); }
49
+
50
+ 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; }
51
+
52
+ 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; }
53
+
54
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
55
+
56
+ var monthArr = [{
57
+ number: '01',
58
+ name: 'Jan'
59
+ }, {
60
+ number: '02',
61
+ name: 'Feb'
62
+ }, {
63
+ number: '03',
64
+ name: 'Mar'
65
+ }, {
66
+ number: '04',
67
+ name: 'Apr'
68
+ }, {
69
+ number: '05',
70
+ name: 'May'
71
+ }, {
72
+ number: '06',
73
+ name: 'Jun'
74
+ }, {
75
+ number: '07',
76
+ name: 'Jul'
77
+ }, {
78
+ number: '08',
79
+ name: 'Aug'
80
+ }, {
81
+ number: '09',
82
+ name: 'Sep'
83
+ }, {
84
+ number: '10',
85
+ name: 'Oct'
86
+ }, {
87
+ number: '11',
88
+ name: 'Nov'
89
+ }, {
90
+ number: '12',
91
+ name: 'Dec'
92
+ }];
93
+
94
+ var Accordion = function Accordion(_ref) {
95
+ var type = _ref.type,
96
+ handleDisplayAccordionContent = _ref.handleDisplayAccordionContent,
97
+ handleChangeTitle = _ref.handleChangeTitle,
98
+ setCurrentDisplayType = _ref.setCurrentDisplayType,
99
+ currentDisplayType = _ref.currentDisplayType,
100
+ selectedYear = _ref.selectedYear,
101
+ setSelectedYear = _ref.setSelectedYear,
102
+ selectedMonth = _ref.selectedMonth,
103
+ setSelectedMonth = _ref.setSelectedMonth,
104
+ fixedYear = _ref.fixedYear,
105
+ minDate = _ref.minDate,
106
+ maxDate = _ref.maxDate,
107
+ selectedDay = _ref.selectedDay;
108
+ var bodyRef = (0, _react.useRef)(null);
109
+ var selectedYearRef = (0, _react.useRef)(null);
110
+
111
+ var _useState = (0, _react.useState)(false),
112
+ _useState2 = _slicedToArray(_useState, 2),
113
+ display = _useState2[0],
114
+ setDisplay = _useState2[1];
115
+
116
+ var _useState3 = (0, _react.useState)([]),
117
+ _useState4 = _slicedToArray(_useState3, 2),
118
+ yearArr = _useState4[0],
119
+ setYearArr = _useState4[1];
120
+
121
+ var minYear = minDate ? new Date(minDate).getFullYear() : 1;
122
+ var minMonth = minDate ? new Date(minDate).getMonth() : null;
123
+ var maxYear = maxDate ? new Date(maxDate).getFullYear() : null;
124
+ var maxMonth = maxDate ? new Date(maxDate).getMonth() : null;
125
+
126
+ var accordionTitle = function accordionTitle() {
127
+ if (type === 'year') {
128
+ return selectedYear;
129
+ } else if (type === 'month') {
130
+ return monthArr[selectedMonth].name;
131
+ }
132
+ };
133
+
134
+ var handleChangeMonth = (0, _react.useCallback)(function (month) {
135
+ setSelectedMonth(month);
136
+ setCurrentDisplayType(null);
137
+ }, [setCurrentDisplayType, setSelectedMonth]);
138
+ var handleChangeYear = (0, _react.useCallback)(function (year) {
139
+ setSelectedYear(year);
140
+ setCurrentDisplayType(null);
141
+ }, [setCurrentDisplayType, setSelectedYear]);
142
+ var handleYearItemDisable = (0, _react.useCallback)(function (year) {
143
+ if (minDate !== undefined && maxDate !== undefined) {
144
+ return minYear <= year && year <= maxYear ? false : true;
145
+ }
146
+
147
+ if (minDate) {
148
+ return minYear > year ? true : false;
149
+ } else if (maxDate) {
150
+ return maxYear < year ? true : false;
151
+ }
152
+
153
+ return false;
154
+ }, [minYear, maxYear, maxDate, minDate]);
155
+ var handleMonthItemDisable = (0, _react.useCallback)(function (month) {
156
+ var date = (0, _formatDate.default)(new Date(selectedYear, month, selectedDay));
157
+
158
+ if (minDate !== undefined && maxDate !== undefined) {
159
+ return minDate <= date && date <= maxDate ? false : true;
160
+ } else if (minDate) {
161
+ return minDate <= date ? false : true;
162
+ } else if (maxDate) {
163
+ return date <= maxDate ? false : true;
164
+ }
165
+
166
+ return false;
167
+ }, [maxDate, minDate, selectedYear, selectedDay]);
168
+ var handleDisableArrow = (0, _react.useCallback)(function (arrowType) {
169
+ if (type === 'year') {
170
+ if (arrowType === 'previous') {
171
+ return minYear > selectedYear - 1 ? true : false;
172
+ } else if (arrowType === 'next') {
173
+ if (maxYear) {
174
+ return maxYear < selectedYear + 1 ? true : false;
175
+ } else {
176
+ return false;
177
+ }
178
+ }
179
+ } else if (type === 'month') {
180
+ var date = arrowType === 'previous' ? (0, _formatDate.default)(new Date(selectedYear, selectedMonth - 1 < 0 ? 11 : selectedMonth - 1, 1)) : (0, _formatDate.default)(new Date(selectedYear, selectedMonth + 1 > 11 ? 0 : selectedMonth + 1, 1));
181
+
182
+ if (fixedYear) {
183
+ if (fixedYear && !minDate && !maxDate) {
184
+ return false;
185
+ }
186
+ } else if (!minDate && !maxDate) {
187
+ return false;
188
+ } else {
189
+ var minDate1st = (0, _formatDate.default)(new Date(minYear, minMonth, 1));
190
+ var maxDate1st = (0, _formatDate.default)(new Date(maxYear, maxMonth, 1));
191
+
192
+ if (minDate && !maxDate) {
193
+ return minDate1st <= date ? false : true;
194
+ } else if (maxDate && !minDate) {
195
+ return maxDate1st >= date ? false : true;
196
+ } else if (minDate && maxDate) {
197
+ return minDate1st <= date && maxDate1st >= date ? false : true;
198
+ }
199
+ }
200
+ }
201
+ }, [minDate, selectedYear, selectedMonth, minYear, type, fixedYear, maxDate, maxYear, maxMonth, minMonth]);
202
+ var MonthContent = (0, _react.useMemo)(function () {
203
+ return monthArr.map(function (month, index) {
204
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Item, {
205
+ selected: selectedMonth === index,
206
+ onClick: function onClick() {
207
+ handleChangeMonth(index);
208
+ },
209
+ disabled: handleMonthItemDisable(index),
210
+ children: month.name
211
+ }, month.number);
212
+ });
213
+ }, [handleChangeMonth, selectedMonth, handleMonthItemDisable]);
214
+ var YearContent = (0, _react.useMemo)(function () {
215
+ return yearArr.map(function (year, index) {
216
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Item, {
217
+ ref: selectedYear === year ? selectedYearRef : null,
218
+ selected: selectedYear === year,
219
+ onClick: function onClick() {
220
+ handleChangeYear(year);
221
+ },
222
+ disabled: handleYearItemDisable(year),
223
+ children: year
224
+ }, index);
225
+ });
226
+ }, [selectedYear, yearArr, handleChangeYear, handleYearItemDisable]);
227
+ (0, _react.useEffect)(function () {
228
+ if (!fixedYear) {
229
+ var start = selectedYear - 16 ? selectedYear - 16 : 1;
230
+ var end = selectedYear + 16;
231
+ var yearRange = (0, _generateRange.default)(start, end);
232
+ setYearArr(yearRange);
233
+ }
234
+ }, [fixedYear, selectedYear]);
235
+ var scroll = (0, _react.useCallback)(function () {
236
+ if (bodyRef !== null && bodyRef !== void 0 && bodyRef.current && selectedYearRef !== null && selectedYearRef !== void 0 && selectedYearRef.current) {
237
+ var body = bodyRef.current;
238
+
239
+ if (body.scrollTop < 200) {
240
+ body.removeEventListener('scroll', scroll);
241
+ setTimeout(function () {
242
+ body.scrollTo({
243
+ top: body.scrollTop + 200
244
+ });
245
+ }, 400);
246
+ setTimeout(function () {
247
+ setYearArr(function (previousParams) {
248
+ body.addEventListener('scroll', scroll);
249
+ var addYearRange = (0, _generateRange.default)(previousParams[0] - 15, previousParams[0] - 1);
250
+ return [].concat(_toConsumableArray(addYearRange), _toConsumableArray(previousParams));
251
+ });
252
+ }, 400);
253
+ } else if (body.scrollTop + body.clientHeight >= body.scrollHeight) {
254
+ body.removeEventListener('scroll', scroll);
255
+ setTimeout(function () {
256
+ setYearArr(function (previousParams) {
257
+ body.addEventListener('scroll', scroll);
258
+ var addYearRange = (0, _generateRange.default)(previousParams[previousParams.length - 1] + 1, previousParams[previousParams.length - 1] + 15);
259
+ return [].concat(_toConsumableArray(previousParams), _toConsumableArray(addYearRange));
260
+ });
261
+ }, 400);
262
+ }
263
+ }
264
+ }, []);
265
+ (0, _react.useEffect)(function () {
266
+ bodyRef.current.addEventListener('scroll', scroll);
267
+ }, [scroll]);
268
+ (0, _react.useEffect)(function () {
269
+ setDisplay(currentDisplayType === type);
270
+ }, [currentDisplayType, type]);
271
+ (0, _react.useEffect)(function () {
272
+ if (display && bodyRef !== null && bodyRef !== void 0 && bodyRef.current && currentDisplayType === 'year' && selectedYearRef !== null && selectedYearRef !== void 0 && selectedYearRef.current) {
273
+ bodyRef.current.scrollTo({
274
+ top: selectedYearRef.current.offsetTop - bodyRef.current.offsetTop
275
+ });
276
+ }
277
+ }, [currentDisplayType, display]);
278
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
279
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Header, {
280
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(IconButton, {
281
+ onClick: function onClick() {
282
+ handleChangeTitle('previous');
283
+ },
284
+ disabled: handleDisableArrow('previous'),
285
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_md.MdArrowBackIosNew, {})
286
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
287
+ children: accordionTitle()
288
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(IconButton, {
289
+ onClick: function onClick() {
290
+ handleChangeTitle('next');
291
+ },
292
+ disabled: handleDisableArrow('next'),
293
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_md.MdArrowForwardIos, {})
294
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(IconButton, {
295
+ $display: display,
296
+ right: true,
297
+ onClick: handleDisplayAccordionContent,
298
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_io.IoMdArrowDropup, {})
299
+ })]
300
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Body, {
301
+ fixedYear: !fixedYear,
302
+ ref: bodyRef,
303
+ type: type,
304
+ $display: display,
305
+ children: [type === 'month' && MonthContent, type === 'year' && YearContent]
306
+ })]
307
+ });
308
+ };
309
+
310
+ var IconButton = _styledComponents.default.button(_templateObject || (_templateObject = _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) {
311
+ var disabled = _ref2.disabled;
312
+ return disabled && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n opacity: 0.5;\n\n &:hover {\n color: var(--color-white);\n }\n "])));
313
+ }, function (_ref3) {
314
+ var right = _ref3.right,
315
+ $display = _ref3.$display;
316
+ return right && "\n position: absolute;\n right: 0;\n ".concat($display && (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n transform: rotate(180deg);\n "]))), "\n ");
317
+ });
318
+
319
+ var Header = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _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"])));
320
+
321
+ var Body = _styledComponents.default.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n flex-wrap: wrap;\n height: 0;\n width: 100%;\n display: ", ";\n ", "\n\n transition: 0.3s;\n"])), function (_ref4) {
322
+ var $display = _ref4.$display;
323
+ return $display ? 'flex' : 'none';
324
+ }, function (_ref5) {
325
+ var type = _ref5.type,
326
+ fixedYear = _ref5.fixedYear;
327
+ return type && (0, _styledComponents.css)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n min-height: ", "px};\n transition: .3s;\n \n ", ";\n "])), type === 'year' ? '197' : fixedYear ? '144' : '192', type === 'year' && (0, _styledComponents.css)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n overflow-y: scroll;\n gap: 12px 0;\n ", "\n "])), _scrollbar.default));
328
+ });
329
+
330
+ var Item = _styledComponents.default.button(_templateObject8 || (_templateObject8 = _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) {
331
+ var disabled = _ref6.disabled;
332
+ return !disabled && (0, _styledComponents.css)(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n background: var(--color-primary);\n "])));
333
+ }, function (_ref7) {
334
+ var disabled = _ref7.disabled;
335
+ return disabled && (0, _styledComponents.css)(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n color: var(--font-on-mute);\n "])));
336
+ }, function (_ref8) {
337
+ var selected = _ref8.selected;
338
+ return selected && (0, _styledComponents.css)(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n background: var(--color-hover);\n "])));
339
+ });
340
+
341
+ var _default = Accordion;
342
+ exports.default = _default;
@@ -0,0 +1,77 @@
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 _jsxRuntime = require("react/jsx-runtime");
11
+
12
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
+
14
+ 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."); }
15
+
16
+ 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); }
17
+
18
+ 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; }
19
+
20
+ 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; }
21
+
22
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
23
+
24
+ var CustomTimeInput = function CustomTimeInput(_ref) {
25
+ var date = _ref.date,
26
+ onCustomChange = _ref.onCustomChange;
27
+
28
+ var _useState = (0, _react.useState)(""),
29
+ _useState2 = _slicedToArray(_useState, 2),
30
+ time = _useState2[0],
31
+ setTime = _useState2[1];
32
+
33
+ var changeDate = function changeDate() {
34
+ var hh = "";
35
+ var mm = "";
36
+ var ss = "";
37
+
38
+ if (time.indexOf(":") !== -1) {
39
+ var _time$split = time.split(":");
40
+
41
+ var _time$split2 = _slicedToArray(_time$split, 3);
42
+
43
+ hh = _time$split2[0];
44
+ mm = _time$split2[1];
45
+ ss = _time$split2[2];
46
+ } else {
47
+ hh = time.substring(0, 2);
48
+ mm = time.substring(2, 4);
49
+ ss = time.substring(4, 6);
50
+ }
51
+
52
+ var targetDate = date instanceof Date && !isNaN(date) ? date : new Date();
53
+ targetDate.setHours(Number(hh) || 0, Number(mm) || 0, Number(ss) || 0);
54
+ onCustomChange(targetDate);
55
+ };
56
+
57
+ (0, _react.useEffect)(function () {
58
+ var defaultTime = date instanceof Date && !isNaN(date) ? // Getting time from Date beacuse `value` comes here without seconds
59
+ date.toLocaleTimeString("it-IT") : "";
60
+ setTime(defaultTime);
61
+ }, [date]);
62
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
63
+ value: time,
64
+ onBlur: changeDate,
65
+ onKeyUp: function onKeyUp(e) {
66
+ if (e.key === "Enter") {
67
+ changeDate();
68
+ }
69
+ },
70
+ onChange: function onChange(event) {
71
+ return setTime(event.target.value);
72
+ }
73
+ });
74
+ };
75
+
76
+ var _default = CustomTimeInput;
77
+ exports.default = _default;