@gez/date-time-kit 1.1.4 → 2.0.0-alpha.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 (77) hide show
  1. package/dist/assets/arrow-down.svg +1 -0
  2. package/dist/assets/arrow-left-double.svg +1 -0
  3. package/dist/assets/arrow-left.svg +1 -0
  4. package/dist/assets/arrow-right-double.svg +1 -0
  5. package/dist/assets/arrow-right.svg +1 -0
  6. package/dist/assets/back-arrow.svg +1 -0
  7. package/dist/assets/time.svg +1 -0
  8. package/dist/components/calendar/index.css +108 -0
  9. package/dist/components/calendar/index.d.ts +84 -0
  10. package/dist/components/calendar/index.mjs +238 -0
  11. package/dist/components/hhmmss-ms-list-grp/index.css +60 -0
  12. package/dist/components/hhmmss-ms-list-grp/index.d.ts +54 -0
  13. package/dist/components/hhmmss-ms-list-grp/index.mjs +226 -0
  14. package/dist/components/i18n/index.d.ts +13 -0
  15. package/dist/components/i18n/index.mjs +42 -0
  16. package/dist/components/num-list/index.css +35 -0
  17. package/dist/components/num-list/index.d.ts +68 -0
  18. package/dist/components/num-list/index.mjs +259 -0
  19. package/dist/components/period-selector/date-nav.css +92 -0
  20. package/dist/components/period-selector/date-nav.d.ts +64 -0
  21. package/dist/components/period-selector/date-nav.mjs +161 -0
  22. package/dist/components/period-selector/index.css +152 -0
  23. package/dist/components/period-selector/index.d.ts +68 -0
  24. package/dist/components/period-selector/index.mjs +312 -0
  25. package/dist/components/popover/index.d.ts +34 -0
  26. package/dist/components/popover/index.mjs +104 -0
  27. package/dist/components/quick-selector/index.css +167 -0
  28. package/dist/components/quick-selector/index.d.ts +74 -0
  29. package/dist/components/quick-selector/index.mjs +347 -0
  30. package/dist/components/web-component-base/index.css +9 -0
  31. package/dist/components/web-component-base/index.d.ts +46 -0
  32. package/dist/components/web-component-base/index.mjs +118 -0
  33. package/dist/components/web-component-base/scrollbar.css +25 -0
  34. package/dist/components/yyyymmdd-list-grp/index.css +32 -0
  35. package/dist/components/yyyymmdd-list-grp/index.d.ts +52 -0
  36. package/dist/components/yyyymmdd-list-grp/index.mjs +181 -0
  37. package/dist/i18n.d.ts +36 -0
  38. package/dist/i18n.mjs +368 -0
  39. package/dist/index.d.ts +7 -0
  40. package/dist/index.mjs +15 -0
  41. package/dist/utils.d.ts +12 -0
  42. package/dist/utils.mjs +21 -0
  43. package/package.json +37 -63
  44. package/src/assets/arrow-down.svg +1 -0
  45. package/src/assets/arrow-left-double.svg +1 -0
  46. package/src/assets/arrow-left.svg +1 -0
  47. package/src/assets/arrow-right-double.svg +1 -0
  48. package/src/assets/arrow-right.svg +1 -0
  49. package/src/assets/back-arrow.svg +1 -0
  50. package/src/assets/time.svg +1 -0
  51. package/src/components/calendar/index.scss +128 -0
  52. package/src/components/calendar/index.ts +453 -0
  53. package/src/components/hhmmss-ms-list-grp/index.scss +61 -0
  54. package/src/components/hhmmss-ms-list-grp/index.ts +387 -0
  55. package/src/components/i18n/index.ts +48 -0
  56. package/src/components/num-list/index.scss +38 -0
  57. package/src/components/num-list/index.ts +357 -0
  58. package/src/components/period-selector/date-nav.scss +108 -0
  59. package/src/components/period-selector/date-nav.ts +322 -0
  60. package/src/components/period-selector/index.scss +160 -0
  61. package/src/components/period-selector/index.ts +552 -0
  62. package/src/components/popover/index.ts +127 -0
  63. package/src/components/quick-selector/index.scss +183 -0
  64. package/src/components/quick-selector/index.ts +611 -0
  65. package/src/components/web-component-base/index.scss +11 -0
  66. package/src/components/web-component-base/index.ts +235 -0
  67. package/src/components/web-component-base/scrollbar.scss +30 -0
  68. package/src/components/yyyymmdd-list-grp/index.scss +33 -0
  69. package/src/components/yyyymmdd-list-grp/index.ts +257 -0
  70. package/src/i18n.ts +415 -0
  71. package/src/index.ts +12 -0
  72. package/src/utils.ts +36 -0
  73. package/README.md +0 -152
  74. package/dist/index.css +0 -1
  75. package/dist/index.html +0 -85
  76. package/dist/index.js +0 -145
  77. package/type.d.ts +0 -164
@@ -0,0 +1,181 @@
1
+ var __freeze = Object.freeze;
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ var __template = (cooked, raw) => __freeze(__defProp(cooked, "raw", { value: __freeze(raw || cooked.slice()) }));
6
+ var _a;
7
+ import { debounce, html } from "../../utils.mjs";
8
+ import { Ele as NumListEle } from "../num-list/index.mjs";
9
+ NumListEle.define();
10
+ import {
11
+ UiBase
12
+ } from "../web-component-base/index.mjs";
13
+ const styleStr = "";
14
+ export class Ele extends UiBase {
15
+ constructor() {
16
+ super();
17
+ __publicField(this, "_style", styleStr);
18
+ __publicField(this, "_template", html(_a || (_a = __template(['\n <div class="cols" part="cols">\n <div class="col year" part="col year">\n <span part="col label year">Year</span>\n <dt-num-list part="list year" class="year"></dt-num-list>\n </div>\n <div class="col month" part="col month">\n <span part="col label month">Month</span>\n <dt-num-list part="list month" class="month" min-num="1" max-num="12"></dt-num-list>\n </div>\n <div class="col day" part="col day">\n <span part="col label day">Day</span>\n <dt-num-list part="list day" class="day" min-num="1" max-num="31"></dt-num-list>\n </div>\n </div>\n ']))));
19
+ __publicField(this, "_renderCols", debounce(() => {
20
+ if (!this.isConnected) return;
21
+ const { colOrder } = this;
22
+ const orderedCols = ["year", "month", "day"].sort((a, b) => colOrder.indexOf(a[0]) - colOrder.indexOf(b[0])).map(
23
+ (s) => this.shadowRoot.querySelector(".col.".concat(s))
24
+ );
25
+ const colsContainer = this.shadowRoot.querySelector(".cols");
26
+ if (orderedCols.every((el, i) => el === colsContainer.children[i]))
27
+ return;
28
+ colsContainer.append(...orderedCols);
29
+ }, 0));
30
+ __publicField(this, "_updateGranularity", debounce(() => {
31
+ var _a2, _b;
32
+ if (!this.isConnected) return;
33
+ const { maxGranularity, minGranularity } = this;
34
+ const colsContainer = this.shadowRoot.querySelector(".cols");
35
+ const yEle = this.shadowRoot.querySelector(".col.year");
36
+ const mEle = this.shadowRoot.querySelector(".col.month");
37
+ const dEle = this.shadowRoot.querySelector(".col.day");
38
+ const granularityMap = { year: 3, month: 2, day: 1 };
39
+ let maxG = (_a2 = granularityMap[maxGranularity]) != null ? _a2 : 1;
40
+ let minG = (_b = granularityMap[minGranularity]) != null ? _b : 3;
41
+ if (maxG < minG) [maxG, minG] = [minG, maxG];
42
+ yEle.style.display = maxG >= 3 && minG <= 3 ? "" : "none";
43
+ mEle.style.display = maxG >= 2 && minG <= 2 ? "" : "none";
44
+ dEle.style.display = maxG >= 1 && minG <= 1 ? "" : "none";
45
+ colsContainer.style.display = [yEle, mEle, dEle].filter(
46
+ (ele) => ele.style.display !== "none"
47
+ ).length ? "" : "none";
48
+ }, 0));
49
+ __publicField(this, "_updateColsValue", debounce(() => {
50
+ if (!this.isConnected) return;
51
+ const { millisecond } = this;
52
+ const date = new Date(millisecond);
53
+ if (Number.isNaN(date.getTime())) return;
54
+ this._listEleYear.currentNum = date.getFullYear();
55
+ this._listEleMonth.currentNum = date.getMonth() + 1;
56
+ this._listEleDay.maxNum = new Date(
57
+ date.getFullYear(),
58
+ date.getMonth() + 1,
59
+ 0
60
+ ).getDate();
61
+ this._listEleDay.currentNum = date.getDate();
62
+ }, 0));
63
+ __publicField(this, "_onColsSelect", ({
64
+ target,
65
+ detail: { newNum }
66
+ }) => {
67
+ if (!(target instanceof NumListEle)) return;
68
+ target.currentNum = newNum;
69
+ const oldMs = this.millisecond;
70
+ const newMs = this._getMsFromEle();
71
+ this.millisecond = newMs;
72
+ this.dispatchEvent(
73
+ "change",
74
+ {
75
+ oldMs,
76
+ newMs: this.millisecond
77
+ },
78
+ true
79
+ );
80
+ });
81
+ this._applyTemplate();
82
+ }
83
+ static get observedAttributes() {
84
+ return [
85
+ ...super.observedAttributes,
86
+ "millisecond",
87
+ "max-granularity",
88
+ "min-granularity",
89
+ "col-order"
90
+ ];
91
+ }
92
+ get _listEleYear() {
93
+ var _a2;
94
+ return (_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector("dt-num-list.year");
95
+ }
96
+ get _listEleMonth() {
97
+ var _a2;
98
+ return (_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector(
99
+ "dt-num-list.month"
100
+ );
101
+ }
102
+ get _listEleDay() {
103
+ var _a2;
104
+ return (_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelector("dt-num-list.day");
105
+ }
106
+ get millisecond() {
107
+ return Math.floor(+this._getAttr("millisecond", "0"));
108
+ }
109
+ set millisecond(v) {
110
+ if (!Number.isSafeInteger(v)) return;
111
+ this.setAttribute("millisecond", "" + Math.floor(v));
112
+ }
113
+ get maxGranularity() {
114
+ return this._getAttr("max-granularity", "year");
115
+ }
116
+ set maxGranularity(v) {
117
+ if (!["year", "month", "day"].includes(v)) return;
118
+ this.setAttribute("max-granularity", v);
119
+ }
120
+ get minGranularity() {
121
+ return this._getAttr("min-granularity", "day");
122
+ }
123
+ set minGranularity(v) {
124
+ if (!["year", "month", "day"].includes(v)) return;
125
+ this.setAttribute("min-granularity", v);
126
+ }
127
+ get colOrder() {
128
+ return this._getAttr("col-order", "dmy");
129
+ }
130
+ set colOrder(v) {
131
+ if (!["ymd", "ydm", "myd", "mdy", "dym", "dmy"].includes(v)) return;
132
+ this.setAttribute("col-order", v);
133
+ }
134
+ scrollToCurrentItem() {
135
+ var _a2;
136
+ (_a2 = this.shadowRoot) == null ? void 0 : _a2.querySelectorAll("dt-num-list").forEach((ele) => {
137
+ if (ele instanceof NumListEle) ele.scrollToCurrent();
138
+ });
139
+ }
140
+ connectedCallback() {
141
+ if (!super.connectedCallback()) return;
142
+ this._listEleYear.formatter = (num) => "" + num;
143
+ this._listEleMonth.formatter = this._listEleDay.formatter = (num) => ("0" + num).slice(-2);
144
+ this._renderCols();
145
+ this._updateGranularity();
146
+ this._updateColsValue();
147
+ this._listEleYear.addEventListener("select-num", this._onColsSelect);
148
+ this._listEleMonth.addEventListener("select-num", this._onColsSelect);
149
+ this._listEleDay.addEventListener("select-num", this._onColsSelect);
150
+ }
151
+ disconnectedCallback() {
152
+ if (!super.disconnectedCallback()) return;
153
+ this._listEleYear.removeEventListener("select-num", this._onColsSelect);
154
+ this._listEleMonth.removeEventListener(
155
+ "select-num",
156
+ this._onColsSelect
157
+ );
158
+ this._listEleDay.removeEventListener("select-num", this._onColsSelect);
159
+ }
160
+ _onAttrChanged(name, oldValue, newValue) {
161
+ super._onAttrChanged(name, oldValue, newValue);
162
+ if (name === "col-order") this._renderCols();
163
+ else if (name === "max-granularity" || name === "min-granularity")
164
+ this._updateGranularity();
165
+ else if (name === "millisecond") this._updateColsValue();
166
+ }
167
+ _getMsFromEle() {
168
+ const month = this._listEleMonth.currentNum;
169
+ const date = new Date(
170
+ this._listEleYear.currentNum,
171
+ month - 1,
172
+ this._listEleDay.currentNum
173
+ );
174
+ if (date.getMonth() + 1 !== month) {
175
+ date.setDate(0);
176
+ }
177
+ return +date;
178
+ }
179
+ }
180
+ __publicField(Ele, "tagName", "dt-yyyymmdd-list-grp");
181
+ Ele.define();
package/dist/i18n.d.ts ADDED
@@ -0,0 +1,36 @@
1
+ export type DataLimit = 'all' | 'today' | 'yesterday' | 'week' | 'lastWeek' | 'last7Days' | 'month' | 'last30Days' | 'last180Days' | 'last6Month' | 'year';
2
+ export declare const langs: readonly ["en-US", "zh-CN", "zh-TW", "id-ID", "vi-VN", "th-TH", "ms-MY", "ko-KR", "ar-AE"];
3
+ export type Lang = (typeof langs)[number];
4
+ export type I18nCfg = {
5
+ box: {
6
+ confirm: string;
7
+ cancel: string;
8
+ select: string;
9
+ };
10
+ quick: {
11
+ [k in DataLimit]: string;
12
+ } & {
13
+ timezone: string;
14
+ recommend: string;
15
+ timezoneList: string;
16
+ };
17
+ date: {
18
+ sun: string;
19
+ mon: string;
20
+ tue: string;
21
+ wed: string;
22
+ thu: string;
23
+ fri: string;
24
+ sat: string;
25
+ };
26
+ time: {
27
+ startTime: string;
28
+ endTime: string;
29
+ startMillisecond: string;
30
+ endMillisecond: string;
31
+ singleTitle: string;
32
+ };
33
+ };
34
+ export type I18n = Record<Lang, I18nCfg>;
35
+ export declare const i18n: I18n;
36
+ export default i18n;
package/dist/i18n.mjs ADDED
@@ -0,0 +1,368 @@
1
+ export const langs = [
2
+ "en-US",
3
+ "zh-CN",
4
+ "zh-TW",
5
+ "id-ID",
6
+ "vi-VN",
7
+ "th-TH",
8
+ "ms-MY",
9
+ "ko-KR",
10
+ "ar-AE"
11
+ ];
12
+ export const i18n = {
13
+ "en-US": {
14
+ box: {
15
+ confirm: "Done",
16
+ cancel: "Cancel",
17
+ select: "Select"
18
+ },
19
+ quick: {
20
+ all: "All",
21
+ today: "Today",
22
+ yesterday: "Yesterday",
23
+ week: "This Week",
24
+ lastWeek: "Last Week",
25
+ last7Days: "Last 7 Days",
26
+ month: "This Month",
27
+ last30Days: "Last 30 Days",
28
+ last180Days: "Last 180 Days",
29
+ last6Month: "Last 6 Month",
30
+ year: "This Year",
31
+ timezone: "Time Zone",
32
+ recommend: "Recommend",
33
+ timezoneList: "Time Zone"
34
+ },
35
+ date: {
36
+ sun: "Sun",
37
+ mon: "Mon",
38
+ tue: "Tue",
39
+ wed: "Wed",
40
+ thu: "Thu",
41
+ fri: "Fri",
42
+ sat: "Sat"
43
+ },
44
+ time: {
45
+ startTime: "Start Time",
46
+ endTime: "End Time",
47
+ startMillisecond: "Start Millisecond",
48
+ endMillisecond: "End Millisecond",
49
+ singleTitle: "Time Select"
50
+ }
51
+ },
52
+ "zh-CN": {
53
+ box: {
54
+ confirm: "\u5B8C\u6210",
55
+ cancel: "\u53D6\u6D88",
56
+ select: "Select"
57
+ },
58
+ quick: {
59
+ all: "\u5168\u90E8",
60
+ today: "\u4ECA\u5929",
61
+ yesterday: "\u6628\u5929",
62
+ week: "\u672C\u5468",
63
+ lastWeek: "\u4E0A\u5468",
64
+ last7Days: "\u6700\u8FD17\u5929",
65
+ month: "\u672C\u6708",
66
+ last30Days: "\u6700\u8FD130\u5929",
67
+ last180Days: "\u6700\u8FD1180\u5929",
68
+ last6Month: "\u6700\u8FD16\u4E2A\u6708",
69
+ year: "\u4ECA\u5E74",
70
+ timezone: "\u65F6\u533A",
71
+ recommend: "\u63A8\u8350",
72
+ timezoneList: "\u65F6\u533A"
73
+ },
74
+ date: {
75
+ sun: "\u65E5",
76
+ mon: "\u4E00",
77
+ tue: "\u4E8C",
78
+ wed: "\u4E09",
79
+ thu: "\u56DB",
80
+ fri: "\u4E94",
81
+ sat: "\u516D"
82
+ },
83
+ time: {
84
+ startTime: "\u5F00\u59CB\u65F6\u95F4",
85
+ endTime: "\u7ED3\u675F\u65F6\u95F4",
86
+ startMillisecond: "\u6BEB\u79D2",
87
+ endMillisecond: "\u6BEB\u79D2",
88
+ singleTitle: "\u65F6\u95F4\u9009\u62E9"
89
+ }
90
+ },
91
+ "zh-TW": {
92
+ box: {
93
+ confirm: "\u5B8C\u6210",
94
+ cancel: "\u53D6\u6D88",
95
+ select: "Select"
96
+ },
97
+ quick: {
98
+ all: "\u5168\u90E8",
99
+ today: "\u4ECA\u5929",
100
+ yesterday: "\u6628\u5929",
101
+ week: "\u672C\u5468",
102
+ lastWeek: "\u4E0A\u5468",
103
+ last7Days: "\u6700\u8FD17\u5929",
104
+ month: "\u672C\u6708",
105
+ last30Days: "\u6700\u8FD130\u5929",
106
+ last180Days: "\u6700\u8FD1180\u5929",
107
+ last6Month: "\u6700\u8FD16\u500B\u6708",
108
+ year: "\u4ECA\u5E74",
109
+ timezone: "\u6642\u5340",
110
+ recommend: "\u63A8\u85A6",
111
+ timezoneList: "\u6642\u5340"
112
+ },
113
+ date: {
114
+ sun: "\u65E5",
115
+ mon: "\u4E00",
116
+ tue: "\u4E8C",
117
+ wed: "\u4E09",
118
+ thu: "\u56DB",
119
+ fri: "\u4E94",
120
+ sat: "\u516D"
121
+ },
122
+ time: {
123
+ startTime: "\u958B\u59CB\u6642\u9593",
124
+ endTime: "\u7D50\u675F\u6642\u9593",
125
+ startMillisecond: "\u6BEB\u79D2",
126
+ endMillisecond: "\u6BEB\u79D2",
127
+ singleTitle: "\u65F6\u95F4\u9009\u62E9"
128
+ }
129
+ },
130
+ "id-ID": {
131
+ quick: {
132
+ all: "Semua",
133
+ today: "Hari ini",
134
+ yesterday: "Kemarin",
135
+ week: "Minggu ini",
136
+ lastWeek: "Minggu lalu",
137
+ last7Days: "7 hari terakhir",
138
+ month: "Bulan ini",
139
+ last30Days: "30 hari terakhir",
140
+ last180Days: "180 hari terakhir",
141
+ last6Month: "6 bulan terakhir",
142
+ year: "Tahun ini",
143
+ timezone: "Zona waktu",
144
+ recommend: "Rekomendasi",
145
+ timezoneList: "Zona waktu"
146
+ },
147
+ date: {
148
+ sun: "Sun",
149
+ mon: "Mon",
150
+ tue: "Tue",
151
+ wed: "Wed",
152
+ thu: "Thu",
153
+ fri: "Fri",
154
+ sat: "Sat"
155
+ },
156
+ time: {
157
+ startTime: "Waktu Mulai",
158
+ endTime: "Waktu Selesai",
159
+ startMillisecond: "Milidetik Mulai",
160
+ endMillisecond: "Milidetik Selesai",
161
+ singleTitle: "\u65F6\u95F4\u9009\u62E9"
162
+ },
163
+ box: {
164
+ confirm: "Selesai",
165
+ cancel: "Batal",
166
+ select: "Select"
167
+ }
168
+ },
169
+ "vi-VN": {
170
+ quick: {
171
+ all: "T\u1EA5t c\u1EA3",
172
+ today: "H\xF4m nay",
173
+ yesterday: "H\xF4m qua",
174
+ week: "Tu\u1EA7n n\xE0y",
175
+ lastWeek: "Tu\u1EA7n tr\u01B0\u1EDBc",
176
+ last7Days: "Trong 7 ng\xE0y qua",
177
+ month: "Th\xE1ng n\xE0y",
178
+ last30Days: "Trong 30 ng\xE0y tr\u01B0\u1EDBc",
179
+ last180Days: "Trong 180 ng\xE0y tr\u01B0\u1EDBc",
180
+ last6Month: "Trong 6 th\xE1ng tr\u01B0\u1EDBc",
181
+ year: "N\u0103m nay",
182
+ timezone: "M\xFAi gi\u1EDD",
183
+ recommend: "G\u1EE3i \xFD",
184
+ timezoneList: "M\xFAi gi\u1EDD"
185
+ },
186
+ date: {
187
+ sun: "CN",
188
+ mon: "T2",
189
+ tue: "T3",
190
+ wed: "T4",
191
+ thu: "T5",
192
+ fri: "T6",
193
+ sat: "T7"
194
+ },
195
+ time: {
196
+ startTime: "Th\u1EDDi gian b\u1EAFt \u0111\u1EA7u",
197
+ endTime: "Th\u1EDDi gian k\u1EBFt th\xFAc",
198
+ startMillisecond: "Mili gi\xE2y b\u1EAFt \u0111\u1EA7u",
199
+ endMillisecond: "Mili gi\xE2y k\u1EBFt th\xFAc",
200
+ singleTitle: "\u65F6\u95F4\u9009\u62E9"
201
+ },
202
+ box: {
203
+ confirm: "Ho\xE0n t\u1EA5t",
204
+ cancel: "H\u1EE7y",
205
+ select: "Select"
206
+ }
207
+ },
208
+ "th-TH": {
209
+ quick: {
210
+ all: "\u0E17\u0E31\u0E49\u0E07\u0E2B\u0E21\u0E14",
211
+ today: "\u0E27\u0E31\u0E19\u0E19\u0E35\u0E49",
212
+ yesterday: "\u0E40\u0E21\u0E37\u0E48\u0E2D\u0E27\u0E32\u0E19",
213
+ week: "\u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C\u0E19\u0E35\u0E49",
214
+ lastWeek: "\u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C\u0E17\u0E35\u0E48\u0E41\u0E25\u0E49\u0E27",
215
+ last7Days: "7 \u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E1C\u0E48\u0E32\u0E19\u0E21\u0E32",
216
+ month: "\u0E40\u0E14\u0E37\u0E2D\u0E19\u0E19\u0E35\u0E49",
217
+ last30Days: "30 \u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E1C\u0E48\u0E32\u0E19\u0E21\u0E32",
218
+ last180Days: "180 \u0E27\u0E31\u0E19\u0E17\u0E35\u0E48\u0E1C\u0E48\u0E32\u0E19\u0E21\u0E32",
219
+ last6Month: "6 \u0E40\u0E14\u0E37\u0E2D\u0E19\u0E17\u0E35\u0E48\u0E1C\u0E48\u0E32\u0E19\u0E21\u0E32",
220
+ year: "\u0E1B\u0E35\u0E19\u0E35\u0E49",
221
+ timezone: "\u0E40\u0E02\u0E15\u0E40\u0E27\u0E25\u0E32",
222
+ recommend: "\u0E41\u0E19\u0E30\u0E19\u0E33",
223
+ timezoneList: "\u0E40\u0E02\u0E15\u0E40\u0E27\u0E25\u0E32"
224
+ },
225
+ date: {
226
+ sun: "\u0E2D\u0E32.",
227
+ mon: "\u0E08.",
228
+ tue: "\u0E2D.",
229
+ wed: "\u0E1E.",
230
+ thu: "\u0E1E\u0E24.",
231
+ fri: "\u0E28.",
232
+ sat: "\u0E2A."
233
+ },
234
+ time: {
235
+ startTime: "\u0E40\u0E27\u0E25\u0E32\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19",
236
+ endTime: "\u0E40\u0E27\u0E25\u0E32\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14",
237
+ startMillisecond: "\u0E21\u0E34\u0E25\u0E25\u0E34\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35\u0E40\u0E23\u0E34\u0E48\u0E21\u0E15\u0E49\u0E19",
238
+ endMillisecond: "\u0E21\u0E34\u0E25\u0E25\u0E34\u0E27\u0E34\u0E19\u0E32\u0E17\u0E35\u0E2A\u0E34\u0E49\u0E19\u0E2A\u0E38\u0E14",
239
+ singleTitle: "\u65F6\u95F4\u9009\u62E9"
240
+ },
241
+ box: {
242
+ confirm: "\u0E40\u0E2A\u0E23\u0E47\u0E08\u0E2A\u0E34\u0E49\u0E19",
243
+ cancel: "\u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",
244
+ select: "Select"
245
+ }
246
+ },
247
+ "ms-MY": {
248
+ quick: {
249
+ all: "Semua",
250
+ today: "Hari ini",
251
+ yesterday: "Semalam",
252
+ week: "Minggu ini",
253
+ lastWeek: "Minggu lepas",
254
+ last7Days: "7 hari lepas",
255
+ month: "Bulan ini",
256
+ last30Days: "30 hari lepas",
257
+ last180Days: "180 hari lepas",
258
+ last6Month: "6 bulan lepas",
259
+ year: "Tahun ini",
260
+ timezone: "Zon masa",
261
+ recommend: "Cadangan",
262
+ timezoneList: "Zon masa"
263
+ },
264
+ date: {
265
+ sun: "Sun",
266
+ mon: "Mon",
267
+ tue: "Tue",
268
+ wed: "Wed",
269
+ thu: "Thu",
270
+ fri: "Fri",
271
+ sat: "Sat"
272
+ },
273
+ time: {
274
+ startTime: "Waktu Mula",
275
+ endTime: "Waktu Tamat",
276
+ startMillisecond: "Milisaat Mula",
277
+ endMillisecond: "Milisaat Tamat",
278
+ singleTitle: "\u65F6\u95F4\u9009\u62E9"
279
+ },
280
+ box: {
281
+ confirm: "Selesai",
282
+ cancel: "Batal",
283
+ select: "Select"
284
+ }
285
+ },
286
+ "ko-KR": {
287
+ quick: {
288
+ all: "\uC804\uCCB4",
289
+ today: "\uC624\uB298",
290
+ yesterday: "\uC5B4\uC81C",
291
+ week: "\uC774\uBC88\uC8FC",
292
+ lastWeek: "\uC9C0\uB09C\uC8FC",
293
+ last7Days: "\uC9C0\uB09C 7\uC77C",
294
+ month: "\uC774\uBC88\uB2EC",
295
+ last30Days: "\uC9C0\uB09C 30\uC77C",
296
+ last180Days: "\uC9C0\uB09C 180\uC77C",
297
+ last6Month: "\uC9C0\uB09C 6\uAC1C\uC6D4",
298
+ year: "\uC62C\uD574",
299
+ timezone: "\uC2DC\uAC04\uB300",
300
+ recommend: "\uCD94\uCC9C",
301
+ timezoneList: "\uC2DC\uAC04\uB300"
302
+ },
303
+ date: {
304
+ sun: "\uC77C",
305
+ mon: "\uC6D4",
306
+ tue: "\uD654",
307
+ wed: "\uC218",
308
+ thu: "\uBAA9",
309
+ fri: "\uAE08",
310
+ sat: "\uD1A0"
311
+ },
312
+ time: {
313
+ startTime: "\uC2DC\uC791 \uC2DC\uAC04",
314
+ endTime: "\uC885\uB8CC \uC2DC\uAC04",
315
+ startMillisecond: "\uC2DC\uC791 \uBC00\uB9AC\uCD08",
316
+ endMillisecond: "\uC885\uB8CC \uBC00\uB9AC\uCD08",
317
+ singleTitle: "\u65F6\u95F4\u9009\u62E9"
318
+ },
319
+ box: {
320
+ confirm: "\uC644\uB8CC",
321
+ cancel: "\uCDE8\uC18C",
322
+ select: "Select"
323
+ }
324
+ },
325
+ "ar-AE": {
326
+ box: {
327
+ confirm: "\u062A\u0645",
328
+ cancel: "\u0625\u0644\u063A\u0627\u0621",
329
+ select: "Select"
330
+ },
331
+ quick: {
332
+ all: "\u0627\u0644\u0643\u0644",
333
+ today: "\u0627\u0644\u064A\u0648\u0645",
334
+ yesterday: "\u0623\u0645\u0633",
335
+ week: "\u0647\u0630\u0627 \u0627\u0644\u0623\u0633\u0628\u0648\u0639",
336
+ lastWeek: "\u0627\u0644\u0623\u0633\u0628\u0648\u0639 \u0627\u0644\u0645\u0627\u0636\u064A",
337
+ last7Days: "\u0622\u062E\u0631 7 \u0623\u064A\u0627\u0645",
338
+ month: "\u0647\u0630\u0627 \u0627\u0644\u0634\u0647\u0631",
339
+ last30Days: "\u0622\u062E\u0631 30 \u064A\u0648\u0645\u064B\u0627",
340
+ last180Days: "\u0622\u062E\u0631 180 \u064A\u0648\u0645\u064B\u0627",
341
+ last6Month: "\u0622\u062E\u0631 6 \u0623\u0634\u0647\u0631",
342
+ // 注意:阿拉伯语复数形式
343
+ year: "\u0647\u0630\u0647 \u0627\u0644\u0633\u0646\u0629",
344
+ timezone: "\u0627\u0644\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u0632\u0645\u0646\u064A\u0629",
345
+ recommend: "\u0645\u064F\u0648\u0635\u0649 \u0628\u0647",
346
+ timezoneList: "\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0646\u0627\u0637\u0642 \u0627\u0644\u0632\u0645\u0646\u064A\u0629"
347
+ },
348
+ date: {
349
+ sun: "\u0627\u0644\u0623\u062D\u062F",
350
+ // 缩写原则:使用完整单词首字母(阿拉伯语无单字缩写)
351
+ mon: "\u0627\u0644\u0627\u062B\u0646\u064A\u0646",
352
+ tue: "\u0627\u0644\u062B\u0644\u0627\u062B\u0627\u0621",
353
+ wed: "\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621",
354
+ thu: "\u0627\u0644\u062E\u0645\u064A\u0633",
355
+ fri: "\u0627\u0644\u062C\u0645\u0639\u0629",
356
+ sat: "\u0627\u0644\u0633\u0628\u062A"
357
+ },
358
+ time: {
359
+ startTime: "\u0648\u0642\u062A \u0627\u0644\u0628\u062F\u0621",
360
+ endTime: "\u0648\u0642\u062A \u0627\u0644\u0627\u0646\u062A\u0647\u0627\u0621",
361
+ startMillisecond: "\u0645\u064A\u0644\u064A \u062B\u0627\u0646\u064A\u0629 (\u0628\u062F\u0621)",
362
+ // 技术术语补充说明
363
+ endMillisecond: "\u0645\u064A\u0644\u064A \u062B\u0627\u0646\u064A\u0629 (\u0627\u0646\u062A\u0647\u0627\u0621)",
364
+ singleTitle: "\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0648\u0642\u062A"
365
+ }
366
+ }
367
+ };
368
+ export default i18n;
@@ -0,0 +1,7 @@
1
+ export * as DtI18nEle from './i18n';
2
+ export * as DtCalendar from './components/calendar';
3
+ export * as DtHhMmSsMsListGrp from './components/hhmmss-ms-list-grp';
4
+ export * as DtYyyyMmDdListGrp from './components/yyyymmdd-list-grp';
5
+ export * as DtQuickSelector from './components/quick-selector';
6
+ export * as DtPopover from './components/popover';
7
+ export { i18n as dtI18n, type Lang as DtLang, type I18n as DtI18n } from './i18n';
package/dist/index.mjs ADDED
@@ -0,0 +1,15 @@
1
+ import * as DtI18nEle from "./i18n.mjs";
2
+ export { DtI18nEle };
3
+ import * as DtCalendar from "./components/calendar/index.mjs";
4
+ export { DtCalendar };
5
+ import * as DtHhMmSsMsListGrp from "./components/hhmmss-ms-list-grp/index.mjs";
6
+ export { DtHhMmSsMsListGrp };
7
+ import * as DtYyyyMmDdListGrp from "./components/yyyymmdd-list-grp/index.mjs";
8
+ export { DtYyyyMmDdListGrp };
9
+ import * as DtQuickSelector from "./components/quick-selector/index.mjs";
10
+ export { DtQuickSelector };
11
+ import * as DtPopover from "./components/popover/index.mjs";
12
+ export { DtPopover };
13
+ export {
14
+ i18n as dtI18n
15
+ } from "./i18n.mjs";
@@ -0,0 +1,12 @@
1
+ export declare const html: (strings: TemplateStringsArray, ...values: unknown[]) => string;
2
+ export declare const css: (strings: TemplateStringsArray, ...values: unknown[]) => string;
3
+ export declare const closestByEvent: (e: Event, selector: string, root?: HTMLElement | ShadowRoot) => HTMLElement | null;
4
+ /**
5
+ * Returns a debounced version of the provided function, ensuring that the
6
+ * function is only invoked after a specified delay in milliseconds has elapsed
7
+ * since the last time the debounced function was invoked.
8
+ *
9
+ * @param fn - The function to debounce.
10
+ * @returns A debounced version of the provided function.
11
+ */
12
+ export declare function debounce(fn: Function, delay?: number): <U>(this: U, ...args: any[]) => void;
package/dist/utils.mjs ADDED
@@ -0,0 +1,21 @@
1
+ export const html = (strings, ...values) => String.raw(strings, ...values);
2
+ export const css = html;
3
+ export const closestByEvent = (e, selector, root) => {
4
+ for (const target of e.composedPath()) {
5
+ if (target === root) return null;
6
+ if (!(target instanceof HTMLElement)) continue;
7
+ if (target.matches(selector)) {
8
+ return target;
9
+ }
10
+ }
11
+ return null;
12
+ };
13
+ export function debounce(fn, delay = 0) {
14
+ let timer = null;
15
+ return function(...args) {
16
+ if (timer !== null) clearTimeout(timer);
17
+ timer = setTimeout(() => {
18
+ fn.apply(this, args);
19
+ }, delay);
20
+ };
21
+ }