@gez/date-time-kit 1.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.
- package/LICENSE +21 -0
- package/README.md +120 -0
- package/dist/index.css +1 -0
- package/dist/index.html +55 -0
- package/dist/index.js +153 -0
- package/package.json +64 -0
- package/type.d.ts +76 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) [2025] [wesloong]
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# date-time-kit
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
## 📌 简介
|
|
8
|
+
|
|
9
|
+
date-time-kit是一个功能强大且易于使用的 TypeScript 库,旨在解决 [web前端 时间区间选择] 的问题。它适用于 [所有web环境],并提供高效、轻量级的解决方案。
|
|
10
|
+
|
|
11
|
+
## ✨ 特性
|
|
12
|
+
|
|
13
|
+
- 🚀 **特性 1** - js原生开发,不依赖任何第三方框架
|
|
14
|
+
- 🎯 **特性 2** - 非常小 仅需几十kb
|
|
15
|
+
- 📦 **特性 3** - 提供国际化,时区控制,精确到毫秒
|
|
16
|
+
- 🔥 适用于浏览器
|
|
17
|
+
- ✅ 易于集成,支持 TypeScript
|
|
18
|
+
|
|
19
|
+
## 📦 安装
|
|
20
|
+
|
|
21
|
+
使用 npm 安装:
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
npm install @gez/date-time-kit
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
使用 yarn 安装:
|
|
28
|
+
|
|
29
|
+
```sh
|
|
30
|
+
yarn add @gez/date-time-kit
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 🚀 快速开始
|
|
34
|
+
|
|
35
|
+
### 在 ES6 环境中使用
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
import { open } from 'date-time-kit';
|
|
39
|
+
|
|
40
|
+
const result = awiat open({
|
|
41
|
+
root: document.getElementById('root')
|
|
42
|
+
});
|
|
43
|
+
console.log(result);
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 📖 API 文档
|
|
47
|
+
|
|
48
|
+
### `open(option)`
|
|
49
|
+
|
|
50
|
+
- `option` (**kitOption**): 初始化对象
|
|
51
|
+
```ts
|
|
52
|
+
export interface kitOption {
|
|
53
|
+
root: HTMLElement,
|
|
54
|
+
// default select
|
|
55
|
+
startTime?: timeString,
|
|
56
|
+
endTime?: timeString,
|
|
57
|
+
// default limit
|
|
58
|
+
maxTime?: timeString,
|
|
59
|
+
minTime?: timeString,
|
|
60
|
+
// default lang
|
|
61
|
+
lang?: lang, // zhCN, enUS ...
|
|
62
|
+
// default time zone
|
|
63
|
+
timeZone?: number // -12 - 12
|
|
64
|
+
}
|
|
65
|
+
export type timeString = `${number}-${number}-${number} ${number}:${number}:${number}:${number}`;
|
|
66
|
+
```
|
|
67
|
+
- **返回值**: kitResult
|
|
68
|
+
```ts
|
|
69
|
+
export interface kitResult {
|
|
70
|
+
startTime: timeString,
|
|
71
|
+
endTime: timeString,
|
|
72
|
+
// time stamp
|
|
73
|
+
startTimeStamp: number,
|
|
74
|
+
endTimeStamp: number,
|
|
75
|
+
timeZone: number
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
示例:
|
|
81
|
+
|
|
82
|
+
```js
|
|
83
|
+
import dataTimeKit from 'date-time-kit';
|
|
84
|
+
|
|
85
|
+
const result = awiat dataTimeKit.open({
|
|
86
|
+
root: document.getElementById('root')
|
|
87
|
+
});
|
|
88
|
+
console.log(result);
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## 💡 示例代码
|
|
92
|
+
|
|
93
|
+
```js
|
|
94
|
+
const result = awiat dataTimeKit.open({
|
|
95
|
+
root: document.getElementById('root'),
|
|
96
|
+
maxTime: "1990-01-01 00:00:00:000",
|
|
97
|
+
minTime: "2050-01-01 00:00:00:000",
|
|
98
|
+
startTime: "1990-01-01 00:00:00:000",
|
|
99
|
+
endTime: "2050-01-01 00:10:10:022",
|
|
100
|
+
timeZone: 4
|
|
101
|
+
});
|
|
102
|
+
console.log(result);
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## 🛠️ 贡献
|
|
106
|
+
|
|
107
|
+
欢迎贡献代码!请阅读 [贡献指南](CONTRIBUTING.md) 以了解如何提交 PR 或报告问题。
|
|
108
|
+
|
|
109
|
+
## 📄 许可证
|
|
110
|
+
|
|
111
|
+
本项目基于 [MIT 许可证](LICENSE) 进行发布。
|
|
112
|
+
|
|
113
|
+
## 📬 联系
|
|
114
|
+
|
|
115
|
+
如果你有任何问题或建议,请随时在 [GitHub Issues](https://github.com/dp-os/date-time-kit/issues) 提交反馈,或通过 email@example.com 联系我们。
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
⭐️ 如果你觉得这个项目有用,欢迎给个 Star 支持我们!
|
|
120
|
+
|
package/dist/index.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.dt-box{background-color:var(--color-bg);color:var(--color-text-primary);box-shadow:var(--shadow);font-family:var(--font-fimily);border-radius:var(--radius);visibility:hidden;opacity:0;z-index:var(--z-base);font-size:var(--font-size);transition:all .3s ease-in-out;display:flex;position:absolute;top:0;left:0;overflow:hidden}.dt-box ::-webkit-scrollbar{display:none}.dt-date-box{flex:1;display:flex}.dt-data-body{width:280px}.dt-data-body+.dt-data-body{margin-left:var(--spacing-size-medium)}.dt-content{padding:var(--spacing-size-medium);flex-direction:column;display:flex}.dt-footer{justify-content:end;display:flex}.dt-button{height:40px;padding:0 var(--spacing-size-medium);cursor:pointer;color:var(--color-text-primary);background-color:var(--color-surface);font-family:var(--font-fimily);font-size:var(--font-size);border:none;border-radius:20px;transition:all .2s ease-in-out}.dt-button:hover{box-shadow:var(--shadow-hover);transform:scale(1.02)}.dt-button:active{box-shadow:var(--shadow-active);transform:scale(.98)}.dt-button+.dt-button{margin-left:var(--spacing-size-medium)}.dt-button-primary{background-color:var(--color-text-primary);color:var(--color-bg)}.dt-quick{width:150px;padding:var(--spacing-size-small);background:var(--color-surface);flex-direction:column;display:flex}.dt-quick-item{height:32px;margin:var(--spacing-size-small)0;padding:0 var(--spacing-size-small);border-radius:var(--radius);cursor:pointer;line-height:32px;transition:all .3s ease-in-out;position:relative;overflow:hidden}.dt-quick-item:after{content:"";background:var(--color-hover);opacity:1;pointer-events:none;width:80px;height:80px;color:var(--color-primary);transform-origin:50%;border-radius:50%;position:absolute;top:-26px;left:35px;transform:scale(0)}.dt-quick-item:hover:after{animation:1.2s ease-out ripple;transform:scale(4)}.dt-quick-item:active{color:var(--color-primary)}@keyframes ripple{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(4)}}.dt-quick-item-active{background:var(--color-primary-light);color:var(--color-primary)}.dt-quick-item-active:hover{background:var(--color-primary-light)}.dt-quick-item-active:hover:after{opacity:0;animation:none}.dt-time-zone{cursor:pointer;height:32px;margin:var(--spacing-size-small)0;padding:0 var(--spacing-size-small);border-radius:var(--radius);justify-content:space-between;align-items:center;line-height:32px;display:flex;position:relative}.dt-time-zone:hover{background:var(--color-hover)}.dt-time-zone-text{font-size:var(--font-size-small)}.dt-time-zone-icon{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjI5OyYjMTYxOyYjMTcxOyYjMjI5OyYjMTMzOyYjMTMzOyI+CjxwYXRoIGlkPSJPdXRsaW5lZCIgZD0iTTguMDE5MzUgMTAuNTQwNUwxMS45ODA3IDYuMTQwMjNDMTIuMTk2MiA1LjkwMDc2IDEyLjE3NjggNS41MzE5MyAxMS45MzczIDUuMzE2NDFDMTEuODMwMiA1LjIyMDAxIDExLjY5MTIgNS4xNjY2NiAxMS41NDcxIDUuMTY2NjZIMy42NjY2N0MzLjM0NDUgNS4xNjY2NiAzLjA4MzMzIDUuNDI3ODMgMy4wODMzMyA1Ljc1QzMuMDgzMzMgNS44OTQxMSAzLjEzNjY4IDYuMDMzMTEgMy4yMzMwOCA2LjE0MDIzTDcuMTczMjggMTAuNTE4MkM3LjM4ODggMTAuNzU3NyA3Ljc1NzY0IDEwLjc3NzEgNy45OTcxIDEwLjU2MTZMOC4wMTkzNSAxMC41NDA1WiIgZmlsbD0iIzMzMzMzMyIvPgo8L2c+Cjwvc3ZnPgo=) 50% no-repeat;width:16px;height:16px;transition:all .3s ease-in-out;display:inline-block}.dt-time-zone-select{border-radius:var(--radius);opacity:0;visibility:hidden;width:160px;z-index:var(--z-pop);padding:var(--spacing-size-small);background:#fff;height:200px;font-weight:400;transition:all .3s ease-in-out;position:absolute;bottom:10px;right:-170px;overflow:auto;box-shadow:0 6px 10px #00000029,0 1px 18px #0000003b}.dt-time-zone-select-title{font-size:var(--font-size-small);color:var(--color-text-secondary);padding:0 var(--spacing-size-small);line-height:24px}.dt-time-zone-item{height:30px;padding:0 var(--spacing-size-small);border-radius:var(--radius);cursor:pointer;align-items:center;line-height:30px;transition:all .3s ease-in-out;display:flex}.dt-time-zone-item:hover{background:var(--color-hover)}.dt-time-zone-item+.dt-time-zone-select-title{border-top:1px solid #0000001a}.dt-time-zone-mask{width:100%;height:100%;z-index:var(--z-mask);opacity:0;visibility:hidden;background:#ffffff4d;transition:all .3s ease-in-out;position:absolute;top:0;left:0}.dt-time-zone-select-show{background:var(--color-hover)}.dt-time-zone-select-show .dt-time-zone-icon{transform:rotate(180deg)}.dt-time-zone-select-show .dt-time-zone-select{opacity:1;visibility:visible;bottom:0}.dt-time-zone-select-show+.dt-time-zone-mask{opacity:1;visibility:visible}.dt-time-zone-item-icon{border:1px solid var(--color-text-primary);width:16px;height:16px;margin-right:var(--spacing-size);box-sizing:border-box;border-radius:10px;padding:2px}.dt-time-zone-item-icon:after{content:"";background:var(--color-text-primary);visibility:hidden;opacity:0;border-radius:8px;width:100%;height:100%;transition:all .3s ease-in-out;display:block}.dt-time-zone-select-active .dt-time-zone-item-icon:after{visibility:visible;opacity:1}.dt-month{justify-content:space-between;display:flex}.dt-month-year-sub{cursor:pointer;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNiAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjMxOyYjMTg2OyYjMTkxOyYjMjMwOyYjMTU3OyYjMTYxOyI+CjxnIGlkPSJPdXRsaW5lZCI+CjxwYXRoIGQ9Ik05LjAzNjc1IDEuOTc5NzhDOS4yMzIwMSAxLjc4NDUyIDkuNTQ4NTkgMS43ODQ1MiA5Ljc0Mzg1IDEuOTc5NzhDOS45MzkxMiAyLjE3NTA0IDkuOTM5MTIgMi40OTE2MyA5Ljc0Mzg1IDIuNjg2ODlMMy44NzM3NyA4LjU1Njk3TDkuNjQ4MTEgMTQuMzMxM0M5Ljg0MzM3IDE0LjUyNjYgOS44NDMzNyAxNC44NDMxIDkuNjQ4MTEgMTUuMDM4NEM5LjQ1Mjg1IDE1LjIzMzcgOS4xMzYyNyAxNS4yMzM3IDguOTQxIDE1LjAzODRMMi44MTMxMiA4LjkxMDUzQzIuNjE3ODYgOC43MTUyNiAyLjYxNzg2IDguMzk4NjggMi44MTMxMiA4LjIwMzQyQzIuODI5MzUgOC4xODcxOSAyLjg0NjQyIDguMTcyMyAyLjg2NDE5IDguMTU4NzdDMi44Nzc3MyA4LjE0MDk5IDIuODkyNjIgOC4xMjM5MSAyLjkwODg2IDguMTA3NjdMOS4wMzY3NSAxLjk3OTc4WiIgZmlsbD0iIzMzMzMzMyIvPgo8cGF0aCBkPSJNMTMuMDM2NyAxLjk3OTc4QzEzLjIzMiAxLjc4NDUyIDEzLjU0ODYgMS43ODQ1MiAxMy43NDM5IDEuOTc5NzhDMTMuOTM5MSAyLjE3NTA0IDEzLjkzOTEgMi40OTE2MyAxMy43NDM5IDIuNjg2ODlMNy44NzM3OCA4LjU1Njk3TDEzLjY0ODEgMTQuMzMxM0MxMy44NDM0IDE0LjUyNjYgMTMuODQzNCAxNC44NDMxIDEzLjY0ODEgMTUuMDM4NEMxMy40NTI4IDE1LjIzMzcgMTMuMTM2MyAxNS4yMzM3IDEyLjk0MSAxNS4wMzg0TDYuODEzMTIgOC45MTA1M0M2LjYxNzg2IDguNzE1MjYgNi42MTc4NiA4LjM5ODY4IDYuODEzMTIgOC4yMDM0MkM2LjgyOTM1IDguMTg3MTkgNi44NDY0MiA4LjE3MjMgNi44NjQxOSA4LjE1ODc3QzYuODc3NzMgOC4xNDA5OSA2Ljg5MjYyIDguMTIzOTEgNi45MDg4NiA4LjEwNzY3TDEzLjAzNjcgMS45Nzk3OFoiIGZpbGw9IiMzMzMzMzMiLz4KPC9nPgo8cGF0aCBpZD0iT3V0bGluZWRfMiIgZD0iTTkuNzQzODUgMS45Nzk3OEM5LjU0ODU5IDEuNzg0NTIgOS4yMzIwMSAxLjc4NDUyIDkuMDM2NzUgMS45Nzk3OEwyLjkwODg2IDguMTA3NjdDMi44OTI2MiA4LjEyMzkxIDIuODc3NzMgOC4xNDA5OSAyLjg2NDE5IDguMTU4NzdDMi44NDY0MiA4LjE3MjMgMi44MjkzNSA4LjE4NzE5IDIuODEzMTIgOC4yMDM0MkMyLjYxNzg2IDguMzk4NjggMi42MTc4NiA4LjcxNTI2IDIuODEzMTIgOC45MTA1M0w4Ljk0MSAxNS4wMzg0QzkuMTM2MjcgMTUuMjMzNyA5LjQ1Mjg1IDE1LjIzMzcgOS42NDgxMSAxNS4wMzg0QzkuODQzMzcgMTQuODQzMSA5Ljg0MzM3IDE0LjUyNjYgOS42NDgxMSAxNC4zMzEzTDMuODczNzcgOC41NTY5N0w5Ljc0Mzg1IDIuNjg2ODlDOS45MzkxMiAyLjQ5MTYzIDkuOTM5MTIgMi4xNzUwNCA5Ljc0Mzg1IDEuOTc5NzhaIiBmaWxsPSIjMzMzMzMzIi8+CjwvZz4KPC9zdmc+Cg==) 50% no-repeat;width:16px;height:16px}.dt-month-sub{cursor:pointer;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNiAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjMxOyYjMTg2OyYjMTkxOyYjMjMwOyYjMTU3OyYjMTYxOyI+CjxwYXRoIGlkPSJPdXRsaW5lZCIgZD0iTTExLjY4NjkgMS43MDI2MkMxMS40OTE2IDEuNTA3MzYgMTEuMTc1IDEuNTA3MzYgMTAuOTc5OCAxLjcwMjYyTDQuODUxODkgNy44MzA1MUM0LjgzNTY1IDcuODQ2NzUgNC44MjA3NiA3Ljg2MzgzIDQuODA3MjIgNy44ODE2MUM0Ljc4OTQ1IDcuODk1MTQgNC43NzIzOCA3LjkxMDAzIDQuNzU2MTUgNy45MjYyNkM0LjU2MDg5IDguMTIxNTIgNC41NjA4OSA4LjQzODEgNC43NTYxNSA4LjYzMzM2TDEwLjg4NCAxNC43NjEzQzExLjA3OTMgMTQuOTU2NSAxMS4zOTU5IDE0Ljk1NjUgMTEuNTkxMSAxNC43NjEzQzExLjc4NjQgMTQuNTY2IDExLjc4NjQgMTQuMjQ5NCAxMS41OTExIDE0LjA1NDFMNS44MTY4MSA4LjI3OTgxTDExLjY4NjkgMi40MDk3M0MxMS44ODIxIDIuMjE0NDcgMTEuODgyMSAxLjg5Nzg4IDExLjY4NjkgMS43MDI2MloiIGZpbGw9IiMzMzMzMzMiLz4KPC9nPgo8L3N2Zz4K) 50% no-repeat;width:16px;height:16px}.dt-month-add{cursor:pointer;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNyAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjMxOyYjMTg2OyYjMTkxOyYjMjMwOyYjMTU3OyYjMTYxOyI+CjxwYXRoIGlkPSJPdXRsaW5lZCIgZD0iTTUuMjU2MTUgMS43MDI2MkM1LjQ1MTQxIDEuNTA3MzYgNS43Njc5OSAxLjUwNzM2IDUuOTYzMjYgMS43MDI2MkwxMi4wOTExIDcuODMwNTFDMTIuMTA3NCA3Ljg0Njc1IDEyLjEyMjMgNy44NjM4MyAxMi4xMzU4IDcuODgxNjFDMTIuMTUzNiA3Ljg5NTE0IDEyLjE3MDcgNy45MTAwMyAxMi4xODY5IDcuOTI2MjZDMTIuMzgyMSA4LjEyMTUyIDEyLjM4MjEgOC40MzgxIDEyLjE4NjkgOC42MzMzNkw2LjA1OSAxNC43NjEzQzUuODYzNzQgMTQuOTU2NSA1LjU0NzE2IDE0Ljk1NjUgNS4zNTE4OSAxNC43NjEzQzUuMTU2NjMgMTQuNTY2IDUuMTU2NjMgMTQuMjQ5NCA1LjM1MTg5IDE0LjA1NDFMMTEuMTI2MiA4LjI3OTgxTDUuMjU2MTUgMi40MDk3M0M1LjA2MDg5IDIuMjE0NDcgNS4wNjA4OSAxLjg5Nzg4IDUuMjU2MTUgMS43MDI2MloiIGZpbGw9IiMzMzMzMzMiLz4KPC9nPgo8L3N2Zz4K) 50% no-repeat;width:16px;height:16px}.dt-month-year-add{cursor:pointer;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNyAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjMxOyYjMTg2OyYjMTkxOyYjMjMwOyYjMTU3OyYjMTYxOyI+CjxnIGlkPSJPdXRsaW5lZCI+CjxwYXRoIGQ9Ik03Ljk2MzI1IDEuNzAyNjJDNy43Njc5OSAxLjUwNzM2IDcuNDUxNCAxLjUwNzM2IDcuMjU2MTQgMS43MDI2MkM3LjA2MDg4IDEuODk3ODggNy4wNjA4OCAyLjIxNDQ3IDcuMjU2MTQgMi40MDk3M0wxMy4xMjYyIDguMjc5ODFMNy4zNTE4OSAxNC4wNTQxQzcuMTU2NjIgMTQuMjQ5NCA3LjE1NjYyIDE0LjU2NiA3LjM1MTg5IDE0Ljc2MTNDNy41NDcxNSAxNC45NTY1IDcuODYzNzMgMTQuOTU2NSA4LjA1ODk5IDE0Ljc2MTNMMTQuMTg2OSA4LjYzMzM2QzE0LjM4MjEgOC40MzgxIDE0LjM4MjEgOC4xMjE1MiAxNC4xODY5IDcuOTI2MjZDMTQuMTcwNiA3LjkxMDAzIDE0LjE1MzYgNy44OTUxNCAxNC4xMzU4IDcuODgxNjFDMTQuMTIyMyA3Ljg2MzgzIDE0LjEwNzQgNy44NDY3NSAxNC4wOTExIDcuODMwNTFMNy45NjMyNSAxLjcwMjYyWiIgZmlsbD0iIzMzMzMzMyIvPgo8cGF0aCBkPSJNMy45NjMyNSAxLjcwMjYyQzMuNzY3OTkgMS41MDczNiAzLjQ1MTQgMS41MDczNiAzLjI1NjE0IDEuNzAyNjJDMy4wNjA4OCAxLjg5Nzg4IDMuMDYwODggMi4yMTQ0NyAzLjI1NjE0IDIuNDA5NzNMOS4xMjYyMiA4LjI3OTgxTDMuMzUxODkgMTQuMDU0MUMzLjE1NjYyIDE0LjI0OTQgMy4xNTY2MiAxNC41NjYgMy4zNTE4OSAxNC43NjEzQzMuNTQ3MTUgMTQuOTU2NSAzLjg2MzczIDE0Ljk1NjUgNC4wNTg5OSAxNC43NjEzTDEwLjE4NjkgOC42MzMzNkMxMC4zODIxIDguNDM4MSAxMC4zODIxIDguMTIxNTIgMTAuMTg2OSA3LjkyNjI2QzEwLjE3MDYgNy45MTAwMyAxMC4xNTM2IDcuODk1MTQgMTAuMTM1OCA3Ljg4MTYxQzEwLjEyMjMgNy44NjM4MyAxMC4xMDc0IDcuODQ2NzUgMTAuMDkxMSA3LjgzMDUxTDMuOTYzMjUgMS43MDI2MloiIGZpbGw9IiMzMzMzMzMiLz4KPC9nPgo8L2c+Cjwvc3ZnPgo=) 50% no-repeat;width:16px;height:16px}.dt-month-icon{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjI5OyYjMTYxOyYjMTcxOyYjMjI5OyYjMTMzOyYjMTMzOyI+CjxwYXRoIGlkPSJPdXRsaW5lZCIgZD0iTTguMDE5MzUgMTAuNTQwNUwxMS45ODA3IDYuMTQwMjNDMTIuMTk2MiA1LjkwMDc2IDEyLjE3NjggNS41MzE5MyAxMS45MzczIDUuMzE2NDFDMTEuODMwMiA1LjIyMDAxIDExLjY5MTIgNS4xNjY2NiAxMS41NDcxIDUuMTY2NjZIMy42NjY2N0MzLjM0NDUgNS4xNjY2NiAzLjA4MzMzIDUuNDI3ODMgMy4wODMzMyA1Ljc1QzMuMDgzMzMgNS44OTQxMSAzLjEzNjY4IDYuMDMzMTEgMy4yMzMwOCA2LjE0MDIzTDcuMTczMjggMTAuNTE4MkM3LjM4ODggMTAuNzU3NyA3Ljc1NzY0IDEwLjc3NzEgNy45OTcxIDEwLjU2MTZMOC4wMTkzNSAxMC41NDA1WiIgZmlsbD0iIzMzMzMzMyIvPgo8L2c+Cjwvc3ZnPgo=) 50% no-repeat;width:16px;height:16px;transition:all .3s ease-in-out}.dt-month-text{cursor:pointer;font-weight:bolder;display:flex;position:relative}.dt-month-sub-box,.dt-month-add-box{display:flex}.dt-month-select{border-radius:var(--radius);background:var(--color-bg);width:160px;height:254px;z-index:var(--z-pop);opacity:0;visibility:hidden;padding:var(--spacing-size);border:1px solid #0000001a;font-weight:400;transition:all .3s ease-in-out;display:flex;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 6px 10px #00000029,0 1px 18px #0000003b}.dt-month-select-li{flex:1;overflow:auto}.dt-month-select-li+.dt-month-select-li{margin-left:2px}.dt-month-item,.dt-year-item{text-align:center;cursor:pointer;border-radius:2px;height:30px;line-height:30px;transition:all .3s ease-in-out}.dt-month-item:hover,.dt-year-item:hover{background:var(--color-hover)}.dt-month-item+.dt-month-item,.dt-month-item+.dt-year-item,.dt-year-item+.dt-month-item,.dt-year-item+.dt-year-item{margin-top:2px}.dt-month-item-active{background:var(--color-primary-light);color:var(--color-primary)}.dt-month-mask{width:100%;height:100%;z-index:var(--z-mask);opacity:0;visibility:hidden;background:#ffffff4d;transition:all .3s ease-in-out;position:absolute;top:0;left:0}.dt-month-select-show .dt-month-select{opacity:1;visibility:visible;top:20px}.dt-month-select-show .dt-month-mask{opacity:1;visibility:visible}.dt-month-select-show .dt-month-icon{transform:rotate(180deg)}.dt-month-hide-right-m .dt-month-add,.dt-month-hide-left-m .dt-month-sub,.dt-year-hide-right-y .dt-month-year-add,.dt-year-hide-left-y .dt-month-year-sub{visibility:hidden}.dt-date-week{font-size:var(--font-size-small);color:var(--color-text-secondary);margin-top:var(--spacing-size-medium);display:flex}.dt-date-week>div{text-align:center;flex:1}.dt-date-content{flex-wrap:wrap;display:flex}.dt-data-item{cursor:pointer;text-align:center;width:40px;height:40px;padding:var(--spacing-size-small)0;box-sizing:border-box;line-height:32px;position:relative;overflow:hidden}.dt-data-item:hover .dt-data-circle{background:var(--color-hover);box-shadow:var(--shadow-hover);transform:scale(1.2)}.dt-data-item:active .dt-data-circle{box-shadow:var(--shadow-active);transform:scale(.98)}.dt-data-rect{height:100%;padding:0 var(--spacing-size-small)}.dt-data-circle{border-radius:20px;width:32px;height:32px;transition:all .3s ease-in-out;position:absolute;top:4px;left:4px;transform:scale(0)}.dt-data-text{position:relative}.dt-data-item-current .dt-data-circle{background:var(--color-primary-light);color:var(--color-primary);transform:scale(1)}.dt-data-item-start{color:#fff}.dt-data-item-start:hover .dt-data-circle{background:var(--color-primary)}.dt-data-item-start .dt-data-circle{background:var(--color-primary);transform:scale(1)}.dt-data-item-start .dt-data-rect{background:linear-gradient(to left,var(--color-primary-light)50%,transparent 50%)}.dt-data-item-active{color:#fff}.dt-data-item-active:hover .dt-data-circle{background:var(--color-primary)}.dt-data-item-active .dt-data-circle{background:var(--color-primary);transform:scale(1)}.dt-data-item-end{color:#fff}.dt-data-item-end:hover .dt-data-circle{background:var(--color-primary)}.dt-data-item-end .dt-data-circle{background:var(--color-primary);transform:scale(1)}.dt-data-item-end .dt-data-rect{background:linear-gradient(to right,var(--color-primary-light)50%,transparent 50%)}.dt-data-item-sel .dt-data-rect{background:var(--color-primary-light);color:var(--color-primary)}.dt-data-item-disabled{cursor:not-allowed;color:var(--color-text-disabled)}.dt-data-item-disabled:hover .dt-data-circle,.dt-data-item.dt-data-item-start.dt-data-item-end .dt-data-rect{background:0 0}.dt-time-body{position:relative}.dt-time-body-content{background:var(--color-surface);height:20px;margin-bottom:var(--spacing-size-medium);text-align:left;padding:0 var(--spacing-size-small);cursor:pointer;border:1px solid #0000001a;border-radius:4px;justify-content:space-between;align-items:center;line-height:20px;display:flex}.dt-time-icon{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMwOyYjMTUxOyYjMTgyOyYjMjMzOyYjMTUxOyYjMTgwOyI+CjxnIGlkPSJPdXRsaW5lZCI+CjxwYXRoIGQ9Ik03LjQzMzUgNC4yNDEwNkM3LjQwNDUzIDQuMDI3NTIgNy4yMjE0OCAzLjg2MjkzIDYuOTk5OTkgMy44NjI5M0M2Ljc1ODM3IDMuODYyOTMgNi41NjI0OSA0LjA1ODggNi41NjI0OSA0LjMwMDQzVjguMDgzMzJMNi41NjY5NCA4LjE0NTU5QzYuNTg0NTggOC4yNjgzOSA2LjY1Mzg2IDguMzc5MDkgNi43NTkwNCA4LjQ0ODQ5TDguOTI0MTkgOS44NzcxNEw4Ljk4MDc3IDkuOTA4NzhDOS4xNzQwNyA5Ljk5ODg5IDkuNDA5MzQgOS45MzYyNiA5LjUzMDMxIDkuNzUyOTJMOS41NjE5NiA5LjY5NjM0QzkuNjUyMDcgOS41MDMwNCA5LjU4OTQ0IDkuMjY3NzcgOS40MDYxIDkuMTQ2OEw3LjQzNzQ5IDcuODQ3MDdWNC4zMDA0M0w3LjQzMzUgNC4yNDEwNloiIGZpbGw9IiMzMzMzMzMiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02Ljk5OTk5IDEuNjY2NjZDMy43NzgzMyAxLjY2NjY2IDEuMTY2NjYgNC4yNzgzMyAxLjE2NjY2IDcuNDk5OTlDMS4xNjY2NiAxMC43MjE3IDMuNzc4MzMgMTMuMzMzMyA2Ljk5OTk5IDEzLjMzMzNDMTAuMjIxNyAxMy4zMzMzIDEyLjgzMzMgMTAuNzIxNyAxMi44MzMzIDcuNDk5OTlDMTIuODMzMyA0LjI3ODMzIDEwLjIyMTcgMS42NjY2NiA2Ljk5OTk5IDEuNjY2NjZaTTYuOTk5OTkgMi40ODA2MUM5Ljc3MjEyIDIuNDgwNjEgMTIuMDE5NCA0LjcyNzg2IDEyLjAxOTQgNy40OTk5OUMxMi4wMTk0IDEwLjI3MjEgOS43NzIxMiAxMi41MTk0IDYuOTk5OTkgMTIuNTE5NEM0LjIyNzg2IDEyLjUxOTQgMS45ODA2MSAxMC4yNzIxIDEuOTgwNjEgNy40OTk5OUMxLjk4MDYxIDQuNzI3ODYgNC4yMjc4NiAyLjQ4MDYxIDYuOTk5OTkgMi40ODA2MVoiIGZpbGw9IiMzMzMzMzMiLz4KPC9nPgo8L2c+Cjwvc3ZnPgo=) 50% no-repeat;width:16px;height:16px;display:inline-block}.dt-time-select-box{visibility:hidden;opacity:0;background:var(--color-bg);border-radius:var(--radius);height:288px;box-shadow:var(--shadow);padding:var(--spacing-size-small);z-index:var(--z-pop);transition:all .3s ease-in-out;display:flex;position:absolute;bottom:34px}.dt-time-select-title{text-align:center;height:28px;line-height:28px}.dt-time-select-box-show .dt-time-select-box{opacity:1;visibility:visible;bottom:24px}.dt-time-select-box-show .dt-time-mask{opacity:1;visibility:visible}.dt-time-select-content{flex:1;display:flex;overflow:hidden}.dt-time-select-ul{height:100%;overflow:auto}.dt-time-select-ul+.dt-time-select-ul{margin-left:2px}.dt-time-select-body{flex-direction:column;display:flex}.dt-time-line{margin:0 var(--spacing-size-medium);background:#0000001a;width:1px}.dt-time-select-item{text-align:center;cursor:pointer;border-radius:4px;width:48px;height:30px;line-height:30px;transition:all .3s ease-in-out}.dt-time-select-item:hover{background:var(--color-hover)}.dt-time-select-item-active{background:var(--color-primary-light);color:var(--color-primary)}.dt-time-select-item-active:hover{background:var(--color-primary-light)}.dt-time-mask{width:100%;height:100%;z-index:var(--z-mask);opacity:0;visibility:hidden;background:#ffffff4d;transition:all .3s ease-in-out;position:absolute;top:0;left:0}.dt-time-select-millisecond{text-align:left}.dt-time-millisecond-title{margin:var(--spacing-size-small)0}.dt-time-millisecond-input{border-radius:var(--radius);height:30px;color:var(--color-text-secondary);box-sizing:border-box;border:1px solid #0003;outline:none;width:148px;padding:5px;font-size:14px}:root{--color-bg:#fff;--color-surface:#f5f6f7;--color-primary:#35bbc4;--color-primary-light:#d1eaed;--color-text-primary:#333;--color-text-secondary:#666;--color-text-disabled:#aaa;--color-hover:#0000000d;--font-fimily:"PingFang SC","Microsoft YaHei",sans-serif;--font-size:14px;--font-size-small:12px;--spacing-size-small:4px;--spacing-size:8px;--spacing-size-medium:16px;--radius:6px;--shadow:0px 6px 10px #00000029,0px 1px 18px #0000003b;--shadow-hover:0px 4px 8px #0000004d;--shadow-active:0px 8px 16px #0006;--z-base:100;--z-pop:120;--z-mask:110}.dt-show{visibility:visible;opacity:1}.dt-hidden{visibility:hidden;opacity:0}
|
package/dist/index.html
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>test</title>
|
|
7
|
+
<style>
|
|
8
|
+
|
|
9
|
+
.select {
|
|
10
|
+
position: relative;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
</style>
|
|
14
|
+
<script type="module" src="/index.js"></script><link href="/index.css" rel="stylesheet"></head>
|
|
15
|
+
<body>
|
|
16
|
+
<div id="root"></div>
|
|
17
|
+
<button id="select" class="select">选择日期</button>
|
|
18
|
+
<button id="select-def" class="select">默认选中</button>
|
|
19
|
+
|
|
20
|
+
<script type="module">
|
|
21
|
+
// import dataTimeKit from './index.ts';
|
|
22
|
+
const dataTimeKit = await import('./index.js');
|
|
23
|
+
|
|
24
|
+
// event
|
|
25
|
+
dataTimeKit.open({
|
|
26
|
+
root: document.querySelector('#root'),
|
|
27
|
+
maxTime: "1990-01-01 00:00:00:000",
|
|
28
|
+
minTime: "2050-01-01 00:00:00:000",
|
|
29
|
+
startTime: "1990-01-01 00:00:00:000",
|
|
30
|
+
endTime: "2050-01-01 00:10:10:022",
|
|
31
|
+
timeZone: 4
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
document.querySelector('#select').addEventListener('click', async (e) => {
|
|
35
|
+
e.stopPropagation();
|
|
36
|
+
const data = await dataTimeKit.open({
|
|
37
|
+
root: e.target,
|
|
38
|
+
});
|
|
39
|
+
console.log(data);
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
document.querySelector('#select-def').addEventListener('click', async (e) => {
|
|
43
|
+
e.stopPropagation();
|
|
44
|
+
const data = await dataTimeKit.open({
|
|
45
|
+
root: e.target,
|
|
46
|
+
maxTime: "1990-01-01 00:00:00:000",
|
|
47
|
+
minTime: "2050-01-01 00:00:00:000",
|
|
48
|
+
startTime: "1990-01-01 00:00:00:000",
|
|
49
|
+
endTime: "2050-01-01 00:10:10:022",
|
|
50
|
+
});
|
|
51
|
+
console.log(data);
|
|
52
|
+
});
|
|
53
|
+
</script>
|
|
54
|
+
</body>
|
|
55
|
+
</html>
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
var t={757:function(t){t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNSAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjI5OyYjMTYxOyYjMTcxOyYjMjI5OyYjMTMzOyYjMTMzOyI+CjxwYXRoIGlkPSJPdXRsaW5lZCIgZD0iTTguMDE5MzUgMTAuNTQwNUwxMS45ODA3IDYuMTQwMjNDMTIuMTk2MiA1LjkwMDc2IDEyLjE3NjggNS41MzE5MyAxMS45MzczIDUuMzE2NDFDMTEuODMwMiA1LjIyMDAxIDExLjY5MTIgNS4xNjY2NiAxMS41NDcxIDUuMTY2NjZIMy42NjY2N0MzLjM0NDUgNS4xNjY2NiAzLjA4MzMzIDUuNDI3ODMgMy4wODMzMyA1Ljc1QzMuMDgzMzMgNS44OTQxMSAzLjEzNjY4IDYuMDMzMTEgMy4yMzMwOCA2LjE0MDIzTDcuMTczMjggMTAuNTE4MkM3LjM4ODggMTAuNzU3NyA3Ljc1NzY0IDEwLjc3NzEgNy45OTcxIDEwLjU2MTZMOC4wMTkzNSAxMC41NDA1WiIgZmlsbD0iIzMzMzMzMyIvPgo8L2c+Cjwvc3ZnPgo="},37:function(t){t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNiAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjMxOyYjMTg2OyYjMTkxOyYjMjMwOyYjMTU3OyYjMTYxOyI+CjxnIGlkPSJPdXRsaW5lZCI+CjxwYXRoIGQ9Ik05LjAzNjc1IDEuOTc5NzhDOS4yMzIwMSAxLjc4NDUyIDkuNTQ4NTkgMS43ODQ1MiA5Ljc0Mzg1IDEuOTc5NzhDOS45MzkxMiAyLjE3NTA0IDkuOTM5MTIgMi40OTE2MyA5Ljc0Mzg1IDIuNjg2ODlMMy44NzM3NyA4LjU1Njk3TDkuNjQ4MTEgMTQuMzMxM0M5Ljg0MzM3IDE0LjUyNjYgOS44NDMzNyAxNC44NDMxIDkuNjQ4MTEgMTUuMDM4NEM5LjQ1Mjg1IDE1LjIzMzcgOS4xMzYyNyAxNS4yMzM3IDguOTQxIDE1LjAzODRMMi44MTMxMiA4LjkxMDUzQzIuNjE3ODYgOC43MTUyNiAyLjYxNzg2IDguMzk4NjggMi44MTMxMiA4LjIwMzQyQzIuODI5MzUgOC4xODcxOSAyLjg0NjQyIDguMTcyMyAyLjg2NDE5IDguMTU4NzdDMi44Nzc3MyA4LjE0MDk5IDIuODkyNjIgOC4xMjM5MSAyLjkwODg2IDguMTA3NjdMOS4wMzY3NSAxLjk3OTc4WiIgZmlsbD0iIzMzMzMzMyIvPgo8cGF0aCBkPSJNMTMuMDM2NyAxLjk3OTc4QzEzLjIzMiAxLjc4NDUyIDEzLjU0ODYgMS43ODQ1MiAxMy43NDM5IDEuOTc5NzhDMTMuOTM5MSAyLjE3NTA0IDEzLjkzOTEgMi40OTE2MyAxMy43NDM5IDIuNjg2ODlMNy44NzM3OCA4LjU1Njk3TDEzLjY0ODEgMTQuMzMxM0MxMy44NDM0IDE0LjUyNjYgMTMuODQzNCAxNC44NDMxIDEzLjY0ODEgMTUuMDM4NEMxMy40NTI4IDE1LjIzMzcgMTMuMTM2MyAxNS4yMzM3IDEyLjk0MSAxNS4wMzg0TDYuODEzMTIgOC45MTA1M0M2LjYxNzg2IDguNzE1MjYgNi42MTc4NiA4LjM5ODY4IDYuODEzMTIgOC4yMDM0MkM2LjgyOTM1IDguMTg3MTkgNi44NDY0MiA4LjE3MjMgNi44NjQxOSA4LjE1ODc3QzYuODc3NzMgOC4xNDA5OSA2Ljg5MjYyIDguMTIzOTEgNi45MDg4NiA4LjEwNzY3TDEzLjAzNjcgMS45Nzk3OFoiIGZpbGw9IiMzMzMzMzMiLz4KPC9nPgo8cGF0aCBpZD0iT3V0bGluZWRfMiIgZD0iTTkuNzQzODUgMS45Nzk3OEM5LjU0ODU5IDEuNzg0NTIgOS4yMzIwMSAxLjc4NDUyIDkuMDM2NzUgMS45Nzk3OEwyLjkwODg2IDguMTA3NjdDMi44OTI2MiA4LjEyMzkxIDIuODc3NzMgOC4xNDA5OSAyLjg2NDE5IDguMTU4NzdDMi44NDY0MiA4LjE3MjMgMi44MjkzNSA4LjE4NzE5IDIuODEzMTIgOC4yMDM0MkMyLjYxNzg2IDguMzk4NjggMi42MTc4NiA4LjcxNTI2IDIuODEzMTIgOC45MTA1M0w4Ljk0MSAxNS4wMzg0QzkuMTM2MjcgMTUuMjMzNyA5LjQ1Mjg1IDE1LjIzMzcgOS42NDgxMSAxNS4wMzg0QzkuODQzMzcgMTQuODQzMSA5Ljg0MzM3IDE0LjUyNjYgOS42NDgxMSAxNC4zMzEzTDMuODczNzcgOC41NTY5N0w5Ljc0Mzg1IDIuNjg2ODlDOS45MzkxMiAyLjQ5MTYzIDkuOTM5MTIgMi4xNzUwNCA5Ljc0Mzg1IDEuOTc5NzhaIiBmaWxsPSIjMzMzMzMzIi8+CjwvZz4KPC9zdmc+Cg=="},592:function(t){t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNiAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjMxOyYjMTg2OyYjMTkxOyYjMjMwOyYjMTU3OyYjMTYxOyI+CjxwYXRoIGlkPSJPdXRsaW5lZCIgZD0iTTExLjY4NjkgMS43MDI2MkMxMS40OTE2IDEuNTA3MzYgMTEuMTc1IDEuNTA3MzYgMTAuOTc5OCAxLjcwMjYyTDQuODUxODkgNy44MzA1MUM0LjgzNTY1IDcuODQ2NzUgNC44MjA3NiA3Ljg2MzgzIDQuODA3MjIgNy44ODE2MUM0Ljc4OTQ1IDcuODk1MTQgNC43NzIzOCA3LjkxMDAzIDQuNzU2MTUgNy45MjYyNkM0LjU2MDg5IDguMTIxNTIgNC41NjA4OSA4LjQzODEgNC43NTYxNSA4LjYzMzM2TDEwLjg4NCAxNC43NjEzQzExLjA3OTMgMTQuOTU2NSAxMS4zOTU5IDE0Ljk1NjUgMTEuNTkxMSAxNC43NjEzQzExLjc4NjQgMTQuNTY2IDExLjc4NjQgMTQuMjQ5NCAxMS41OTExIDE0LjA1NDFMNS44MTY4MSA4LjI3OTgxTDExLjY4NjkgMi40MDk3M0MxMS44ODIxIDIuMjE0NDcgMTEuODgyMSAxLjg5Nzg4IDExLjY4NjkgMS43MDI2MloiIGZpbGw9IiMzMzMzMzMiLz4KPC9nPgo8L3N2Zz4K"},797:function(t){t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNyAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjMxOyYjMTg2OyYjMTkxOyYjMjMwOyYjMTU3OyYjMTYxOyI+CjxnIGlkPSJPdXRsaW5lZCI+CjxwYXRoIGQ9Ik03Ljk2MzI1IDEuNzAyNjJDNy43Njc5OSAxLjUwNzM2IDcuNDUxNCAxLjUwNzM2IDcuMjU2MTQgMS43MDI2MkM3LjA2MDg4IDEuODk3ODggNy4wNjA4OCAyLjIxNDQ3IDcuMjU2MTQgMi40MDk3M0wxMy4xMjYyIDguMjc5ODFMNy4zNTE4OSAxNC4wNTQxQzcuMTU2NjIgMTQuMjQ5NCA3LjE1NjYyIDE0LjU2NiA3LjM1MTg5IDE0Ljc2MTNDNy41NDcxNSAxNC45NTY1IDcuODYzNzMgMTQuOTU2NSA4LjA1ODk5IDE0Ljc2MTNMMTQuMTg2OSA4LjYzMzM2QzE0LjM4MjEgOC40MzgxIDE0LjM4MjEgOC4xMjE1MiAxNC4xODY5IDcuOTI2MjZDMTQuMTcwNiA3LjkxMDAzIDE0LjE1MzYgNy44OTUxNCAxNC4xMzU4IDcuODgxNjFDMTQuMTIyMyA3Ljg2MzgzIDE0LjEwNzQgNy44NDY3NSAxNC4wOTExIDcuODMwNTFMNy45NjMyNSAxLjcwMjYyWiIgZmlsbD0iIzMzMzMzMyIvPgo8cGF0aCBkPSJNMy45NjMyNSAxLjcwMjYyQzMuNzY3OTkgMS41MDczNiAzLjQ1MTQgMS41MDczNiAzLjI1NjE0IDEuNzAyNjJDMy4wNjA4OCAxLjg5Nzg4IDMuMDYwODggMi4yMTQ0NyAzLjI1NjE0IDIuNDA5NzNMOS4xMjYyMiA4LjI3OTgxTDMuMzUxODkgMTQuMDU0MUMzLjE1NjYyIDE0LjI0OTQgMy4xNTY2MiAxNC41NjYgMy4zNTE4OSAxNC43NjEzQzMuNTQ3MTUgMTQuOTU2NSAzLjg2MzczIDE0Ljk1NjUgNC4wNTg5OSAxNC43NjEzTDEwLjE4NjkgOC42MzMzNkMxMC4zODIxIDguNDM4MSAxMC4zODIxIDguMTIxNTIgMTAuMTg2OSA3LjkyNjI2QzEwLjE3MDYgNy45MTAwMyAxMC4xNTM2IDcuODk1MTQgMTAuMTM1OCA3Ljg4MTYxQzEwLjEyMjMgNy44NjM4MyAxMC4xMDc0IDcuODQ2NzUgMTAuMDkxMSA3LjgzMDUxTDMuOTYzMjUgMS43MDI2MloiIGZpbGw9IiMzMzMzMzMiLz4KPC9nPgo8L2c+Cjwvc3ZnPgo="},937:function(t){t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTciIHZpZXdCb3g9IjAgMCAxNyAxNyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMxOyYjMTc0OyYjMTczOyYjMjI5OyYjMTY0OyYjMTgwOyYjMjMxOyYjMTg2OyYjMTkxOyYjMjMwOyYjMTU3OyYjMTYxOyI+CjxwYXRoIGlkPSJPdXRsaW5lZCIgZD0iTTUuMjU2MTUgMS43MDI2MkM1LjQ1MTQxIDEuNTA3MzYgNS43Njc5OSAxLjUwNzM2IDUuOTYzMjYgMS43MDI2MkwxMi4wOTExIDcuODMwNTFDMTIuMTA3NCA3Ljg0Njc1IDEyLjEyMjMgNy44NjM4MyAxMi4xMzU4IDcuODgxNjFDMTIuMTUzNiA3Ljg5NTE0IDEyLjE3MDcgNy45MTAwMyAxMi4xODY5IDcuOTI2MjZDMTIuMzgyMSA4LjEyMTUyIDEyLjM4MjEgOC40MzgxIDEyLjE4NjkgOC42MzMzNkw2LjA1OSAxNC43NjEzQzUuODYzNzQgMTQuOTU2NSA1LjU0NzE2IDE0Ljk1NjUgNS4zNTE4OSAxNC43NjEzQzUuMTU2NjMgMTQuNTY2IDUuMTU2NjMgMTQuMjQ5NCA1LjM1MTg5IDE0LjA1NDFMMTEuMTI2MiA4LjI3OTgxTDUuMjU2MTUgMi40MDk3M0M1LjA2MDg5IDIuMjE0NDcgNS4wNjA4OSAxLjg5Nzg4IDUuMjU2MTUgMS43MDI2MloiIGZpbGw9IiMzMzMzMzMiLz4KPC9nPgo8L3N2Zz4K"},368:function(t){t.exports="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTUiIHZpZXdCb3g9IjAgMCAxNCAxNSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9IiYjMjMwOyYjMTUxOyYjMTgyOyYjMjMzOyYjMTUxOyYjMTgwOyI+CjxnIGlkPSJPdXRsaW5lZCI+CjxwYXRoIGQ9Ik03LjQzMzUgNC4yNDEwNkM3LjQwNDUzIDQuMDI3NTIgNy4yMjE0OCAzLjg2MjkzIDYuOTk5OTkgMy44NjI5M0M2Ljc1ODM3IDMuODYyOTMgNi41NjI0OSA0LjA1ODggNi41NjI0OSA0LjMwMDQzVjguMDgzMzJMNi41NjY5NCA4LjE0NTU5QzYuNTg0NTggOC4yNjgzOSA2LjY1Mzg2IDguMzc5MDkgNi43NTkwNCA4LjQ0ODQ5TDguOTI0MTkgOS44NzcxNEw4Ljk4MDc3IDkuOTA4NzhDOS4xNzQwNyA5Ljk5ODg5IDkuNDA5MzQgOS45MzYyNiA5LjUzMDMxIDkuNzUyOTJMOS41NjE5NiA5LjY5NjM0QzkuNjUyMDcgOS41MDMwNCA5LjU4OTQ0IDkuMjY3NzcgOS40MDYxIDkuMTQ2OEw3LjQzNzQ5IDcuODQ3MDdWNC4zMDA0M0w3LjQzMzUgNC4yNDEwNloiIGZpbGw9IiMzMzMzMzMiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik02Ljk5OTk5IDEuNjY2NjZDMy43NzgzMyAxLjY2NjY2IDEuMTY2NjYgNC4yNzgzMyAxLjE2NjY2IDcuNDk5OTlDMS4xNjY2NiAxMC43MjE3IDMuNzc4MzMgMTMuMzMzMyA2Ljk5OTk5IDEzLjMzMzNDMTAuMjIxNyAxMy4zMzMzIDEyLjgzMzMgMTAuNzIxNyAxMi44MzMzIDcuNDk5OTlDMTIuODMzMyA0LjI3ODMzIDEwLjIyMTcgMS42NjY2NiA2Ljk5OTk5IDEuNjY2NjZaTTYuOTk5OTkgMi40ODA2MUM5Ljc3MjEyIDIuNDgwNjEgMTIuMDE5NCA0LjcyNzg2IDEyLjAxOTQgNy40OTk5OUMxMi4wMTk0IDEwLjI3MjEgOS43NzIxMiAxMi41MTk0IDYuOTk5OTkgMTIuNTE5NEM0LjIyNzg2IDEyLjUxOTQgMS45ODA2MSAxMC4yNzIxIDEuOTgwNjEgNy40OTk5OUMxLjk4MDYxIDQuNzI3ODYgNC4yMjc4NiAyLjQ4MDYxIDYuOTk5OTkgMi40ODA2MVoiIGZpbGw9IiMzMzMzMzMiLz4KPC9nPgo8L2c+Cjwvc3ZnPgo="},468:function(t,e,a){t.exports={}},803:function(t,e,a){t.exports={}},611:function(t,e,a){t.exports={}},837:function(t,e,a){t.exports={}},406:function(t,e,a){t.exports={}},276:function(t,e,a){t.exports={}}},e={};function a(i){var n=e[i];if(void 0!==n)return n.exports;var d=e[i]={exports:{}};return t[i](d,d.exports,a),d.exports}a.m=t,a.d=function(t,e){for(var i in e)a.o(e,i)&&!a.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},a.k=function(t){return""+t+".css"},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.p="/";var i={};(()=>{a.d(i,{b:()=>w});var t={};a.r(t),a.d(t,{create:()=>M,updateData:()=>l});var e={};a.r(e),a.d(e,{create:()=>c,updateData:()=>u});var n={};a.r(n),a.d(n,{create:()=>g,updateData:()=>T});var d={};a.r(d),a.d(d,{create:()=>N,updateData:()=>L}),a(468),a(837);let s={all:null,today:function(){let t=new Date;return r(t,t)}(),yesterday:function(){let t=new Date;return r(new Date(t.getFullYear(),t.getMonth(),t.getDate()-1),new Date(t.getFullYear(),t.getMonth(),t.getDate()-1))}(),week:function(){let t=new Date;return r(new Date(t.getFullYear(),t.getMonth(),t.getDate()-t.getDay()+1),new Date(t.getFullYear(),t.getMonth(),t.getDate()-t.getDay()+7))}(),lastWeek:function(){let t=new Date;return r(new Date(t.getFullYear(),t.getMonth(),t.getDate()-t.getDay()+1),new Date(t.getFullYear(),t.getMonth(),t.getDate()-t.getDay()+7))}(),last7Days:function(){let t=new Date;return r(new Date(t.getFullYear(),t.getMonth(),t.getDate()-6),new Date(t.getFullYear(),t.getMonth(),t.getDate()))}(),month:function(){let t=new Date;return r(new Date(t.getFullYear(),t.getMonth(),1),new Date(t.getFullYear(),t.getMonth()+1,0))}(),last30Days:function(){let t=new Date;return r(new Date(t.getFullYear(),t.getMonth(),t.getDate()-29),new Date(t.getFullYear(),t.getMonth(),t.getDate()))}(),last180Days:function(){let t=new Date;return r(new Date(t.getFullYear(),t.getMonth(),t.getDate()-179),new Date(t.getFullYear(),t.getMonth(),t.getDate()))}(),last6Month:function(){let t=new Date;return r(new Date(t.getFullYear(),t.getMonth()-5,1),new Date(t.getFullYear(),t.getMonth()+1,0))}(),year:function(){let t=new Date;return r(new Date(t.getFullYear(),0,1),new Date(t.getFullYear()+1,0,0))}()};function M(t){var e,a;let i=document.createElement("div");return i.classList.add("dt-quick"),i.innerHTML=(e=t,`
|
|
2
|
+
<div class="dt-quick-item" data-limit="all">All</div>
|
|
3
|
+
<div class="dt-quick-item" data-limit="today">Today</div>
|
|
4
|
+
<div class="dt-quick-item" data-limit="yesterday">Yesterday</div>
|
|
5
|
+
<div class="dt-quick-item" data-limit="week">This Week</div>
|
|
6
|
+
<div class="dt-quick-item" data-limit="lastWeek">Last Week</div>
|
|
7
|
+
<div class="dt-quick-item" data-limit="last7Days">Last 7 Days</div>
|
|
8
|
+
<div class="dt-quick-item" data-limit="month">This Month</div>
|
|
9
|
+
<div class="dt-quick-item" data-limit="last30Days">Last 30 Days</div>
|
|
10
|
+
<div class="dt-quick-item" data-limit="last180Days">Last 180 Days</div>
|
|
11
|
+
<div class="dt-quick-item" data-limit="last6Month">Last 6 Month</div>
|
|
12
|
+
<div class="dt-quick-item" data-limit="year">This Year</div>
|
|
13
|
+
<div class="dt-time-zone">
|
|
14
|
+
<div class="dt-time-zone-text">${o(e)}</div>
|
|
15
|
+
<div class="dt-time-zone-icon"></div>
|
|
16
|
+
<div class="dt-time-zone-select">
|
|
17
|
+
${function(t){let e=-new Date().getTimezoneOffset()/60,a='<div class="dt-time-zone-select-title">Recommend</div>';e>=0?a+=`<div class="dt-time-zone-item${t.timeZone===e?" dt-time-zone-select-active":""}"" data-timezone="${e}">
|
|
18
|
+
<span class="dt-time-zone-item-icon"></span><span>UTC+${e}</span>
|
|
19
|
+
</div>`:a+=`<div class="dt-time-zone-item${2===t.timeZone?" dt-time-zone-select-active":""}"" data-timezone="${e}">
|
|
20
|
+
<span class="dt-time-zone-item-icon"></span><span>UTC${e}</span>
|
|
21
|
+
</div>`,a+=`<div class="dt-time-zone-item" data-timezone="2">
|
|
22
|
+
<span class="dt-time-zone-item-icon"></span><span>UTC+2</span>
|
|
23
|
+
</div><div class="dt-time-zone-select-title">Timezone</div>`;for(let i=0;i<=12;i++)i!==e&&2!==i&&(a+=`<div class="dt-time-zone-item${i===t.timeZone?" dt-time-zone-select-active":""}" data-timezone="${i}">
|
|
24
|
+
<span class="dt-time-zone-item-icon"></span>
|
|
25
|
+
<span>UTC+${i}</span>
|
|
26
|
+
</div>`);for(let i=12;i>0;i--)i!==e&&(a+=`<div class="dt-time-zone-item${i===t.timeZone?" dt-time-zone-select-active":""}" data-timezone="-${i}">
|
|
27
|
+
<span class="dt-time-zone-item-icon"></span><span>UTC-${i}</span>
|
|
28
|
+
</div>`);return a}(e)}
|
|
29
|
+
</div>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="dt-time-zone-mask"></div>
|
|
32
|
+
`),s.all={startDate:(a=t).minDate,startTime:a.minTime,endDate:a.maxDate,endTime:a.maxTime},i.addEventListener("click",e=>{var a,n,d,M,o,l;let r=e.target;if(r.classList.contains("dt-quick-item")){null===(n=r.parentElement)||void 0===n||null===(a=n.querySelector(".dt-quick-item-active"))||void 0===a||a.classList.remove("dt-quick-item-active"),r.classList.add("dt-quick-item-active"),function(t,e){if(!s[t])return;e.startDate=s[t].startDate,e.startTime=s[t].startTime,e.endDate=s[t].endDate,e.endTime=s[t].endTime,e.startDateShow=e.startDate;let a=new Date(`${e.endDate.year}-${e.endDate.month}-${e.endDate.date}`),i=new Date(`${e.startDate.year}-${e.startDate.month}-${e.startDate.date}`);a.getFullYear()===i.getFullYear()&&a.getMonth()==i.getMonth()&&a.setMonth(a.getMonth()+1),e.endDateShow={...e.endDate,year:a.getFullYear(),month:a.getMonth()+1}}(r.getAttribute("data-limit"),t);return}if(r.classList.contains("dt-time-zone")||r.classList.contains("dt-time-zone-text")||r.classList.contains("dt-time-zone-icon")){null===(d=i.querySelector(".dt-time-zone"))||void 0===d||d.classList.add("dt-time-zone-select-show");return}if(r.classList.contains("dt-time-zone-mask")){null===(M=i.querySelector(".dt-time-zone"))||void 0===M||M.classList.remove("dt-time-zone-select-show");return}let c=r.parentElement,D=r;if((null==c?void 0:c.classList.contains("dt-time-zone-item"))&&(D=c),D.classList.contains("dt-time-zone-item")){null===(o=i.querySelector(".dt-time-zone-select-active"))||void 0===o||o.classList.remove("dt-time-zone-select-active"),D.classList.add("dt-time-zone-select-active"),t.timeZone=Number(D.getAttribute("data-timezone")),null===(l=i.querySelector(".dt-time-zone"))||void 0===l||l.classList.remove("dt-time-zone-select-show");return}}),i}function o(t){return t.timeZone>=0?`
|
|
33
|
+
Timezone: UTC+${t.timeZone}
|
|
34
|
+
`:`
|
|
35
|
+
Timezone: UTC${t.timeZone}
|
|
36
|
+
`}function l(t,e){t.querySelector(".dt-time-zone-text").innerHTML=o(e)}function r(t,e){return{startDate:{year:t.getFullYear(),month:t.getMonth()+1,date:t.getDate()},startTime:{hour:0,minute:0,second:0,millisecond:0},endDate:{year:e.getFullYear(),month:e.getMonth()+1,date:e.getDate()},endTime:{hour:23,minute:59,second:59,millisecond:999}}}function c(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"start",a=document.createElement("div");return a.classList.add(...m(t,e)),a.setAttribute("data-status",e),a.innerHTML=function(t,e){let a="start"===e?"startDateShow":"endDateShow";return`
|
|
37
|
+
<div class="dt-month-sub-box">
|
|
38
|
+
<div class="dt-month-year-sub"></div>
|
|
39
|
+
<div class="dt-month-sub"></div>
|
|
40
|
+
</div>
|
|
41
|
+
<div class="dt-month-text">
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
<div class="dt-month-title">${t[a].month}/${t[a].year}</div>
|
|
45
|
+
<div class="dt-month-icon"></div>
|
|
46
|
+
<div class="dt-month-select">
|
|
47
|
+
${D(t,e)}
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="dt-month-add-box">
|
|
51
|
+
<div class="dt-month-add"></div>
|
|
52
|
+
<div class="dt-month-year-add"></div>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="dt-month-mask"></div>
|
|
55
|
+
`}(t,e),a.addEventListener("click",i=>{var n,d,s;let M=i.target;if(M.classList.contains("dt-month-year-sub")){let a="start"===e?"startDateShow":"endDateShow";t[a]={...t[a],year:t[a].year-1};return}if(M.classList.contains("dt-month-year-add")){let a="start"===e?"startDateShow":"endDateShow";t[a]={...t[a],year:t[a].year+1};return}if(M.classList.contains("dt-month-sub")){let a="start"===e?"startDateShow":"endDateShow",i=new Date(`${t[a].year}-${t[a].month}-${t[a].date}`);i.setMonth(i.getMonth()-1),t[a]={year:i.getFullYear(),month:i.getMonth()+1,date:i.getDate()};return}if(M.classList.contains("dt-month-add")){let a="start"===e?"startDateShow":"endDateShow",i=new Date(`${t[a].year}-${t[a].month}-${t[a].date}`);i.setMonth(i.getMonth()+1),t[a]={year:i.getFullYear(),month:i.getMonth()+1,date:i.getDate()};return}if(M.classList.contains("dt-month-text")||(null===(n=M.parentElement)||void 0===n?void 0:n.classList.contains("dt-month-text"))){a.querySelector(".dt-month-select").innerHTML=D(t,e),a.classList.add("dt-month-select-show"),setTimeout(()=>{a.querySelectorAll(".dt-month-item-active").forEach(t=>{t.scrollIntoView({block:"start",inline:"center",behavior:"smooth"})})},200);return}if(M.classList.contains("dt-month-mask")){a.classList.remove("dt-month-select-show");return}if(M.classList.contains("dt-year-item")){let a="start"===e?"startDateShow":"endDateShow";t[a]={...t[a],year:parseInt(M.getAttribute("data-year"))},null===(d=M.parentElement.querySelector(".dt-month-item-active"))||void 0===d||d.classList.remove("dt-month-item-active"),M.classList.add("dt-month-item-active"),M.scrollIntoView({block:"start",inline:"center",behavior:"smooth"});return}if(M.classList.contains("dt-month-item")){let a="start"===e?"startDateShow":"endDateShow";t[a]={...t[a],month:parseInt(M.getAttribute("data-month"))},null===(s=M.parentElement.querySelector(".dt-month-item-active"))||void 0===s||s.classList.remove("dt-month-item-active"),M.classList.add("dt-month-item-active"),M.scrollIntoView({block:"start",inline:"center",behavior:"smooth"});return}}),a}function D(t,e){let a="start"===e?"startDateShow":"endDateShow",i=t[a].year,n=t[a].month,d="";for(let a=1;a<=12;a++){let s=["dt-month-item"];a===n&&s.push("dt-month-item-active"),"start"===e&&(i===t.maxDate.year&&a>t.maxDate.month&&s.push("dt-month-item-disabled"),i===t.minDate.year&&a<t.minDate.month&&s.push("dt-month-item-disabled"),i<t.minDate.year&&s.push("dt-month-item-disabled"),i>t.maxDate.year&&s.push("dt-month-item-disabled")),"end"===e&&(i===t.maxDate.year&&a>t.maxDate.month&&s.push("dt-month-item-disabled"),i===t.minDate.year&&a<t.minDate.month&&s.push("dt-month-item-disabled"),i<t.minDate.year&&s.push("dt-month-item-disabled"),i>t.maxDate.year&&s.push("dt-month-item-disabled")),d+=`
|
|
56
|
+
<div class="${s.join(" ")}" data-month="${a}">${a}</div>
|
|
57
|
+
`}let s="";for(let a=t.maxDate.year;a>=t.minDate.year;a--){let n=["dt-month-item"];a===i&&n.push("dt-month-item-active"),"start"===e&&(i===t.maxDate.year&&a>t.maxDate.month&&n.push("dt-month-item-disabled"),i===t.minDate.year&&a<t.minDate.month&&n.push("dt-month-item-disabled"),i<t.minDate.year&&n.push("dt-month-item-disabled"),i>t.maxDate.year&&n.push("dt-month-item-disabled")),"end"===e&&(i===t.maxDate.year&&a>t.maxDate.month&&n.push("dt-month-item-disabled"),i===t.minDate.year&&a<t.minDate.month&&n.push("dt-month-item-disabled"),i<t.minDate.year&&n.push("dt-month-item-disabled"),i>t.maxDate.year&&n.push("dt-month-item-disabled")),s+=`
|
|
58
|
+
<div class="dt-year-item ${n.join(" ")}" data-year="${a}">${a}</div>
|
|
59
|
+
`}return`
|
|
60
|
+
<div class="dt-month-select-li">
|
|
61
|
+
${d}
|
|
62
|
+
</div>
|
|
63
|
+
<div class="dt-month-select-li">
|
|
64
|
+
${s}
|
|
65
|
+
</div>
|
|
66
|
+
`}function u(t,e){let a=t.getAttribute("data-status"),i="start"===a?"startDateShow":"endDateShow";t.querySelector(".dt-month-title").innerHTML=`${e[i].month}/${e[i].year}`,t.className=[...m(e,a),t.classList.contains("dt-month-select-show")?"dt-month-select-show":""].join(" ")}function m(t,e){let a=["dt-month"],i=new Date(`${t.startDateShow.year}-${t.startDateShow.month}`),n=new Date(`${t.endDateShow.year}-${t.endDateShow.month}`);return i.setMonth(i.getMonth()+1),i.getTime()>=n.getTime()&&a.push("start"===e?"dt-month-hide-right-m":"dt-month-hide-left-m"),(i=new Date(`${t.startDateShow.year}-${t.startDateShow.month}`)).setFullYear(i.getFullYear()+1),i.getTime()>=n.getTime()&&a.push("start"===e?"dt-year-hide-right-y":"dt-year-hide-left-y"),a}function g(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"start",a=document.createElement("div");return a.classList.add("dt-time-date"),a.setAttribute("data-status",e),a.innerHTML=j(t,e),a.addEventListener("click",e=>{let a=e.target;if(a.classList.contains("dt-data-item")||a.classList.contains("dt-data-rect")||a.classList.contains("dt-data-circle")||a.classList.contains("dt-data-text")){if(a.classList.contains("dt-data-item-disabled"))return;let e=new Date(a.getAttribute("data-date")),i={year:e.getFullYear(),month:e.getMonth()+1,date:e.getDate()};if(t.startDate.year&&!t.endDate.year){if(new Date(`${t.startDate.year}-${t.startDate.month}-${t.startDate.date}`).getTime()>e.getTime()){t.endDate=t.startDate,t.startDate=i;return}return t.endDate=i}if(t.moveDate.year){t.moveDate={year:0,month:0,date:0};return}return t.moveDate=i,t.startDate=i,void(t.endDate={year:0,month:0,date:0})}}),a.addEventListener("mousemove",e=>{let a=e.target;if(a.classList.contains("dt-data-item")||a.classList.contains("dt-data-rect")||a.classList.contains("dt-data-circle")||a.classList.contains("dt-data-text")){if(a.classList.contains("dt-data-item-disabled"))return;let e=t.moveDate;if(!e.year)return;let i=new Date(a.getAttribute("data-date")),n={year:i.getFullYear(),month:i.getMonth()+1,date:i.getDate()};if(new Date(`${e.year}-${e.month}-${e.date}`).getTime()>i.getTime()){t.endDate=e,t.startDate=n;return}t.startDate=e,t.endDate=n;return}}),a}function j(t,e){let a=null;"start"!==e||t.startDateShow.year||(a=new Date),"start"===e&&t.startDateShow.year&&(a=new Date(`${t.startDateShow.year}-${t.startDateShow.month}-${t.startDateShow.date}`)),"end"!==e||t.endDateShow.year||(t.startDateShow.year?(a=new Date(`${t.startDateShow.year}-${t.startDateShow.month}-${t.startDateShow.date}`)).setMonth(a.getMonth()+1):(a=new Date).setMonth(a.getMonth()+1)),"end"===e&&t.endDateShow.year&&(a=new Date(`${t.endDateShow.year}-${t.endDateShow.month}-${t.endDateShow.date}`));let i="";return a||(a=new Date),i=function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date,a=e.getMonth()+1,i=new Date(e.getFullYear(),a,0).getDate(),n=new Date(e.getFullYear(),a-1,0).getDate(),d=new Date(e.getFullYear(),a-1,1).getDay(),s=new Date,M=`${s.getFullYear()}-${s.getMonth()+1}-${s.getDate()}`,o="";for(let t=n-d;t<n;t++)o+=`
|
|
67
|
+
<div class="dt-data-item dt-data-item-disabled">
|
|
68
|
+
<div class="dt-data-rect dt-data-item-disabled">
|
|
69
|
+
<div class="dt-data-circle dt-data-item-disabled"></div>
|
|
70
|
+
<div class="dt-data-text dt-data-item-disabled">${t+1}</div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
`;let l=`${t.startDate.year}-${t.startDate.month}-${t.startDate.date}`,r=`${t.endDate.year}-${t.endDate.month}-${t.endDate.date}`;for(let n=1;n<=i;n++){let i=["dt-data-item"],d=`${e.getFullYear()}-${a}-${n}`;M===d&&i.push("dt-data-item-current"),t.startDate.year&&t.endDate.year&&(new Date(l)<new Date(d)&&new Date(r)>new Date(d)&&i.push("dt-data-item-sel"),l===d&&i.push("dt-data-item-start"),r===d&&i.push("dt-data-item-end")),l===d&&i.push("dt-data-item-active"),o+=`
|
|
74
|
+
<div class="${i.join(" ")}" data-date="${d}">
|
|
75
|
+
<div class="dt-data-rect" data-date="${d}">
|
|
76
|
+
<div class="dt-data-circle" data-date="${d}"></div>
|
|
77
|
+
<div class="dt-data-text" data-date="${d}">${n}</div>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
`}for(let t=1;t<=42-d-i;t++)o+=`
|
|
81
|
+
<div class="dt-data-item dt-data-item-disabled">
|
|
82
|
+
<div class="dt-data-rect dt-data-item-disabled">
|
|
83
|
+
<div class="dt-data-circle dt-data-item-disabled"></div>
|
|
84
|
+
<div class="dt-data-text dt-data-item-disabled">${t}</div>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
`;return o}(t,a),`
|
|
88
|
+
<div class="dt-date-week">
|
|
89
|
+
<div>Sun</div>
|
|
90
|
+
<div>Mon</div>
|
|
91
|
+
<div>Tue</div>
|
|
92
|
+
<div>Wed</div>
|
|
93
|
+
<div>Thu</div>
|
|
94
|
+
<div>Fri</div>
|
|
95
|
+
<div>Sat</div>
|
|
96
|
+
</div>
|
|
97
|
+
<div class="dt-date-content" data-date="${null==a?void 0:a.getFullYear()}-${(null==a?void 0:a.getMonth())+1}">
|
|
98
|
+
${i}
|
|
99
|
+
</div>
|
|
100
|
+
`}function T(t,e){t.innerHTML=j(e,t.getAttribute("data-status"))}function N(t){let e=document.createElement("div");return e.classList.add("dt-time"),e.innerHTML=y(t),e.addEventListener("click",a=>{let i=a.target;if(i.classList.contains("dt-time-select-item")){var n,d;let e=i.getAttribute("data-status"),a=i.getAttribute("data-hour"),s=i.getAttribute("data-minute"),M=i.getAttribute("data-second"),o="start"===e?"startTime":"endTime";t[o]={...t[o],hour:a?Number(a):t[o].hour,minute:s?Number(s):t[o].minute,second:M?Number(M):t[o].second},null===(d=i.parentElement)||void 0===d||null===(n=d.querySelector(".dt-time-select-item-active"))||void 0===n||n.classList.remove("dt-time-select-item-active"),i.classList.add("dt-time-select-item-active"),i.scrollIntoView({block:"start",inline:"center",behavior:"smooth"});return}if(i.classList.contains("dt-time-mask")){e.classList.remove("dt-time-select-box-show");return}!e.classList.contains("dt-time-select-box-show")&&(e.innerHTML=y(t),e.classList.add("dt-time-select-box-show"),setTimeout(()=>{e.querySelectorAll(".dt-time-select-item-active").forEach(t=>{t.scrollIntoView({block:"start",inline:"center",behavior:"smooth"})})},200))}),e.addEventListener("input",e=>{let a=e.target;if(a.classList.contains("dt-time-millisecond-input")){let e=(a.getAttribute("data-status"),"startTime"),i=a.value;if(isNaN(Number(i))){a.value=t[e].millisecond.toString().padStart(3,"0");return}t[e]={...t[e],millisecond:Number(i)};return}}),e}function y(t){return`
|
|
101
|
+
<div class="dt-time-body">
|
|
102
|
+
<div class="dt-time-body-content">
|
|
103
|
+
<span class="dt-time-string">${I(t)}</span>
|
|
104
|
+
<span class="dt-time-icon"></span>
|
|
105
|
+
|
|
106
|
+
</div>
|
|
107
|
+
|
|
108
|
+
<div class="dt-time-select-box">
|
|
109
|
+
${z(t,"start")}
|
|
110
|
+
<div class="dt-time-line"></div>
|
|
111
|
+
${z(t,"end")}
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
<div class="dt-time-mask"></div>
|
|
115
|
+
`}function z(t,e){let a="start"===e?t.startTime:t.endTime,i="";for(let t=0;t<24;t++)i+=`<div data-status="${e}" class="dt-time-select-item ${a.hour===t?"dt-time-select-item-active":""}" data-hour="${t}">${String(t).padStart(2,"0")}</div>`;let n="",d="";for(let t=0;t<60;t++)n+=`<div data-status="${e}" class="dt-time-select-item ${a.minute===t?"dt-time-select-item-active":""}" data-minute="${t}">${String(t).padStart(2,"0")}</div>`,d+=`<div data-status="${e}" class="dt-time-select-item ${a.second===t?"dt-time-select-item-active":""}" data-second="${t}">${String(t).padStart(2,"0")}</div>`;return`
|
|
116
|
+
<div class="dt-time-select-body">
|
|
117
|
+
<div class="dt-time-select-title">${"start"===e?"Start time":"End time"}</div>
|
|
118
|
+
<div class="dt-time-select-content">
|
|
119
|
+
<div class="dt-time-select-ul">
|
|
120
|
+
${i}
|
|
121
|
+
</div>
|
|
122
|
+
<div class="dt-time-select-ul">
|
|
123
|
+
${n}
|
|
124
|
+
</div>
|
|
125
|
+
<div class="dt-time-select-ul">
|
|
126
|
+
${d}
|
|
127
|
+
</div>
|
|
128
|
+
</div>
|
|
129
|
+
<div class="dt-time-select-millisecond">
|
|
130
|
+
<div>${"start"===e?"Start Millisecond":"End Mnllisecond"}</div>
|
|
131
|
+
<input type="text"
|
|
132
|
+
data-status="${e}"
|
|
133
|
+
value="${a.millisecond.toString().padStart(3,"0")}"
|
|
134
|
+
class="dt-time-millisecond-input"
|
|
135
|
+
maxlength="3"
|
|
136
|
+
|
|
137
|
+
/>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
|
|
141
|
+
`}function I(t){return`${h(t.startDate)} ${v(t.startTime)} - ${h(t.endDate)} ${v(t.endTime)}`}function h(t){return`${String(t.year).padStart(4,"0")}-${String(t.month).padStart(2,"0")}-${String(t.date).padStart(2,"0")}`}function v(t){return`${String(t.hour).padStart(2,"0")}:${String(t.minute).padStart(2,"0")}:${String(t.second).padStart(2,"0")}:${String(t.millisecond).padStart(3,"0")}`}function L(t,e){t.querySelector(".dt-time-string").innerHTML=I(e)}function O(t){t.classList.remove("dt-show"),setTimeout(()=>{t.parentElement.removeChild(t)},350)}async function x(a,i){let{root:s}=a;return new Promise((a,o)=>{var l;let r;let D=[];if(s.querySelector(".dt-box"))return o("Date time picker has been created");let u=(l=()=>{console.log("render"),D.forEach(t=>{t.component.updateData(t.ele,m)})},function(){clearTimeout(r),r=setTimeout(()=>{l()},10)}),m=new Proxy(i,{set(t,e,a){let i=!1;if("object"==typeof t[e]){for(let n in t[e])if(t[e][n]!==a[n]){i=!0;break}}else t[e]!==a&&(i=!0);return!i||(t[e]=a,u(),!0)}}),j=document.createElement("div");j.classList.add("dt-box"),j.innerHTML=`
|
|
142
|
+
<div class="dt-content">
|
|
143
|
+
<div class="dt-date-box">
|
|
144
|
+
<div class="dt-start dt-data-body"></div>
|
|
145
|
+
<div class="dt-end dt-data-body"></div>
|
|
146
|
+
</div>
|
|
147
|
+
<div class="dt-time-box"></div>
|
|
148
|
+
<div class="dt-footer">
|
|
149
|
+
<button class="dt-button dt-button-cancel">Cancel</button>
|
|
150
|
+
<button class="dt-button dt-button-primary">Done</button>
|
|
151
|
+
</div>
|
|
152
|
+
</div>
|
|
153
|
+
`,s.appendChild(j);let T=s.getBoundingClientRect();j.style.top=`${T.height+5}px`;let y=M(m);j.insertBefore(y,j.querySelector(".dt-content")),D.push({ele:y,component:t});let z=c(m,"start");j.querySelector(".dt-start").appendChild(z),D.push({ele:z,component:e});let I=g(m,"start");j.querySelector(".dt-start").appendChild(I),D.push({ele:I,component:n});let h=c(m,"end");j.querySelector(".dt-end").appendChild(h),D.push({ele:h,component:e});let v=g(m,"end");j.querySelector(".dt-end").appendChild(v),D.push({ele:v,component:n});let L=N(m);function x(){document.removeEventListener("click",w),j.removeEventListener("click",A)}function w(){x(),O(j),o("cancel")}function A(t){t.stopPropagation();let e=t.target;e.classList.contains("dt-button-cancel")&&w(),e.classList.contains("dt-button-primary")&&function(){x(),O(j);let t=`${m.startDate.year}-${m.startDate.month}-${m.startDate.date} ${m.startTime.hour}:${m.startTime.minute}:${m.startTime.second}:${m.startTime.millisecond}`,e=`${m.endDate.year}-${m.endDate.month}-${m.endDate.date} ${m.endTime.hour}:${m.endTime.minute}:${m.endTime.second}:${m.endTime.millisecond}`;a({startTime:t,endTime:e,startTimeStamp:new Date(t).getTime(),endTimeStamp:new Date(e).getTime(),timeZone:m.timeZone})}()}j.querySelector(".dt-time-box").appendChild(L),D.push({ele:L,component:d}),j.addEventListener("click",A),document.addEventListener("click",w),function(t){t.classList.add("dt-show")}(j)})}async function w(t){var e;let a,i,n,d,s,M;return x({root:t.root},((a=new Date((e=t).maxTime||Date.now())).setFullYear(a.getFullYear()+5*!e.maxTime),(i=new Date(e.minTime||Date.now())).setFullYear(i.getFullYear()-20*!e.minTime),n=new Date(e.startTime||Date.now()),d=new Date(e.endTime||Date.now()),s=new Date(e.endTime||Date.now()),n.getUTCFullYear()===d.getUTCFullYear()&&n.getMonth()==d.getMonth()&&s.setMonth(d.getMonth()+1),M=0,M=void 0!==e.timeZone?e.timeZone:-new Date().getTimezoneOffset()/60,{startDate:e.startTime?A(n):A(),endDate:e.endTime?A(d):A(),startTime:e.startTime?Y(n):Y(),endTime:e.endTime?Y(d):Y(),startDateShow:e.startTime?A(n):A(),endDateShow:e.startTime?A(s):A(),moveDate:A(),maxDate:A(i),maxTime:Y(i),minDate:A(a),minTime:Y(a),timeZone:M}))}function A(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;return t?{year:t.getFullYear(),month:t.getMonth()+1,date:t.getDate()}:{year:0,month:0,date:0}}function Y(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0;return t?{hour:t.getHours(),minute:t.getMinutes(),second:t.getSeconds(),millisecond:t.getMilliseconds()}:{hour:0,minute:0,second:0,millisecond:0}}a(611),a(803),a(406),a(276)})();var n=i.b;export{n as open};
|
package/package.json
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gez/date-time-kit",
|
|
3
|
+
"version": "1.0.0-alpha.0",
|
|
4
|
+
"description": "A JavaScript library for handling date and time operations efficiently.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"types": "type.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"types": "./type.d.ts"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"main": "./dist/index.js",
|
|
14
|
+
"module": "./dist/index.js",
|
|
15
|
+
"files": [
|
|
16
|
+
"dist",
|
|
17
|
+
"type.d.ts"
|
|
18
|
+
],
|
|
19
|
+
"scripts": {
|
|
20
|
+
"build": "rsbuild build",
|
|
21
|
+
"check": "biome check --write",
|
|
22
|
+
"dev": "rsbuild dev --open",
|
|
23
|
+
"format": "prettier --write .",
|
|
24
|
+
"lint": "eslint .",
|
|
25
|
+
"preview": "rsbuild preview",
|
|
26
|
+
"prepublishOnly": "rsbuild build"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@biomejs/biome": "^1.9.3",
|
|
30
|
+
"@eslint/js": "^9.12.0",
|
|
31
|
+
"@rsbuild/core": "^1.0.19",
|
|
32
|
+
"eslint": "^9.12.0",
|
|
33
|
+
"globals": "^15.11.0",
|
|
34
|
+
"prettier": "^3.3.3",
|
|
35
|
+
"sass-embedded": "^1.81.0",
|
|
36
|
+
"sass-loader": "^16.0.3",
|
|
37
|
+
"typescript": "^5.6.3",
|
|
38
|
+
"typescript-eslint": "^8.8.1"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"lodash": "^4.17.21"
|
|
42
|
+
},
|
|
43
|
+
"keywords": [
|
|
44
|
+
"date",
|
|
45
|
+
"time",
|
|
46
|
+
"datetime",
|
|
47
|
+
"utility",
|
|
48
|
+
"javascript",
|
|
49
|
+
"library"
|
|
50
|
+
],
|
|
51
|
+
"repository": {
|
|
52
|
+
"type": "git",
|
|
53
|
+
"url": "https://github.com/dp-os/date-time-kit.git"
|
|
54
|
+
},
|
|
55
|
+
"author": "Wes Loong <wesloong@gmail.com>",
|
|
56
|
+
"license": "MIT",
|
|
57
|
+
"bugs": {
|
|
58
|
+
"url": "https://github.com/dp-os/date-time-kit/issues"
|
|
59
|
+
},
|
|
60
|
+
"homepage": "https://github.com/dp-os/date-time-kit#readme",
|
|
61
|
+
"engines": {
|
|
62
|
+
"node": ">=14"
|
|
63
|
+
}
|
|
64
|
+
}
|
package/type.d.ts
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
|
|
2
|
+
export interface kitContent {
|
|
3
|
+
startDate: kitDate,
|
|
4
|
+
endDate: kitDate,
|
|
5
|
+
startTime: kitTime,
|
|
6
|
+
endTime: kitTime,
|
|
7
|
+
startDateShow: kitDate,
|
|
8
|
+
endDateShow: kitDate,
|
|
9
|
+
moveDate: kitDate,
|
|
10
|
+
maxDate: kitDate,
|
|
11
|
+
minDate: kitDate,
|
|
12
|
+
maxTime: kitTime,
|
|
13
|
+
minTime: kitTime,
|
|
14
|
+
timeZone: number
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface kitDate {
|
|
18
|
+
year: number,
|
|
19
|
+
month: number,
|
|
20
|
+
date: number
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface kitTime {
|
|
24
|
+
hour: number,
|
|
25
|
+
minute: number,
|
|
26
|
+
second: number,
|
|
27
|
+
millisecond: number
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
export interface kitDataLimitContent {
|
|
32
|
+
startDate: kitDate,
|
|
33
|
+
startTime: kitTime,
|
|
34
|
+
endDate: kitDate,
|
|
35
|
+
endTime: kitTime
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
export interface kitComponentOption {
|
|
40
|
+
ele: HTMLElement,
|
|
41
|
+
component: kitComponent
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export interface kitComponent {
|
|
45
|
+
updateData(ele: HTMLElement, data: kitContent): void
|
|
46
|
+
create(data: kitContent): HTMLElement
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export type status = 'start' | 'end';
|
|
50
|
+
export type timeString = `${number}-${number}-${number} ${number}:${number}:${number}:${number}`;
|
|
51
|
+
export type lang = 'zh-CN' | 'en-US';
|
|
52
|
+
export interface kitOption {
|
|
53
|
+
root: HTMLElement,
|
|
54
|
+
// default select
|
|
55
|
+
startTime?: timeString,
|
|
56
|
+
endTime?: timeString,
|
|
57
|
+
// default limit
|
|
58
|
+
maxTime?: timeString,
|
|
59
|
+
minTime?: timeString,
|
|
60
|
+
// default lang
|
|
61
|
+
lang?: lang,
|
|
62
|
+
// default time zone
|
|
63
|
+
timeZone?: number
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export interface kitResult {
|
|
67
|
+
startTime: timeString,
|
|
68
|
+
endTime: timeString,
|
|
69
|
+
// time stamp
|
|
70
|
+
startTimeStamp: number,
|
|
71
|
+
endTimeStamp: number,
|
|
72
|
+
|
|
73
|
+
timeZone: number
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export type kitDataLimit = 'all' | 'today' | 'yesterday' | 'week' | 'lastWeek' | 'last7Days' | 'month' | 'last30Days' | 'last180Days' | 'last6Month' | 'year';
|