ekm-ui 0.4.46 → 0.4.48
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/.turbo/turbo-build.log +58 -58
- package/CHANGELOG.md +12 -0
- package/dist/card-payment-block.js +2 -2
- package/dist/{chunk-VTQTYLLT.js → chunk-EK5I26TX.js} +2 -2
- package/dist/{chunk-VTQTYLLT.js.map → chunk-EK5I26TX.js.map} +1 -1
- package/dist/chunk-UP4YN4XR.js +14 -0
- package/dist/chunk-UP4YN4XR.js.map +1 -0
- package/dist/country-picker/country-modal.js +2 -2
- package/dist/date-time-component.js +1 -1
- package/dist/drag-and-drop.js +2 -2
- package/dist/file-picker/file-picker.js +2 -2
- package/dist/index.js +2 -2
- package/dist/layout/layout.js +2 -2
- package/dist/pagination/pagination.js +1 -1
- package/dist/product-picker/product-modal.js +2 -2
- package/dist/stacked-list-item.js +2 -2
- package/dist/table-result-block.js +2 -2
- package/package.json +1 -1
- package/src/date-time-component.tsx +1 -1
- package/src/helpers/datetime.js +1 -1
- package/src/pagination/pagination.tsx +1 -1
- package/dist/chunk-JFL77JIP.js +0 -14
- package/dist/chunk-JFL77JIP.js.map +0 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -10,7 +10,8 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
10
10
|
npx update-browserslist-db@latest
|
|
11
11
|
Why you should do it regularly: https://github.com/browserslist/update-db#readme
|
|
12
12
|
[34mDTS[39m Build start
|
|
13
|
-
|
|
13
|
+
"HiArchive", "HiCurrencyDollar", "HiInbox", "HiLogout", "HiOutlineTicket", "HiShoppingBag", "HiUserCircle", "HiUsers" and "HiViewGrid" are imported from external module "react-icons/hi" but never used in "dist/chunk-XXP5K6Y4.js".
|
|
14
|
+
[32mDTS[39m ⚡️ Build success in 72198ms
|
|
14
15
|
[32mDTS[39m [1mdist/index.d.ts [22m[32m3.76 KB[39m
|
|
15
16
|
[32mDTS[39m [1mdist/footer-heart-icon.d.ts [22m[32m70.00 B[39m
|
|
16
17
|
[32mDTS[39m [1mdist/accordion.d.ts [22m[32m2.19 KB[39m
|
|
@@ -90,26 +91,21 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
90
91
|
[32mDTS[39m [1mdist/featurePageComponents/mini-feature-block.d.ts [22m[32m254.00 B[39m
|
|
91
92
|
[32mDTS[39m [1mdist/file-picker/file-listing.d.ts [22m[32m992.00 B[39m
|
|
92
93
|
[32mDTS[39m [1mdist/product-picker/product-listing.d.ts [22m[32m890.00 B[39m
|
|
93
|
-
"HiArchive", "HiCurrencyDollar", "HiInbox", "HiLogout", "HiOutlineTicket", "HiShoppingBag", "HiUserCircle", "HiUsers" and "HiViewGrid" are imported from external module "react-icons/hi" but never used in "dist/chunk-XXP5K6Y4.js".
|
|
94
|
-
[32mESM[39m [1mdist/product-picker/product-modal.css [22m[32m123.56 KB[39m
|
|
95
|
-
[32mESM[39m [1mdist/file-picker/file-picker.css [22m[32m123.55 KB[39m
|
|
96
|
-
[32mESM[39m [1mdist/layout/layout.css [22m[32m123.55 KB[39m
|
|
97
|
-
[32mESM[39m [1mdist/country-picker/country-modal.css [22m[32m123.56 KB[39m
|
|
98
94
|
[32mESM[39m [1mdist/stacked-list-item.css [22m[32m123.56 KB[39m
|
|
99
95
|
[32mESM[39m [1mdist/table-result-block.css [22m[32m123.56 KB[39m
|
|
100
96
|
[32mESM[39m [1mdist/index.css [22m[32m123.55 KB[39m
|
|
101
97
|
[32mESM[39m [1mdist/drag-and-drop.css [22m[32m123.56 KB[39m
|
|
102
98
|
[32mESM[39m [1mdist/card-payment-block.css [22m[32m123.56 KB[39m
|
|
103
|
-
[32mESM[39m [1mdist/product-picker/product-modal.css
|
|
104
|
-
[32mESM[39m [1mdist/file-picker/file-picker.css
|
|
105
|
-
[32mESM[39m [1mdist/layout/layout.css
|
|
106
|
-
[32mESM[39m [1mdist/country-picker/country-modal.css
|
|
99
|
+
[32mESM[39m [1mdist/product-picker/product-modal.css [22m[32m123.56 KB[39m
|
|
100
|
+
[32mESM[39m [1mdist/file-picker/file-picker.css [22m[32m123.55 KB[39m
|
|
101
|
+
[32mESM[39m [1mdist/layout/layout.css [22m[32m123.55 KB[39m
|
|
102
|
+
[32mESM[39m [1mdist/country-picker/country-modal.css [22m[32m123.56 KB[39m
|
|
107
103
|
[32mESM[39m [1mdist/stacked-list-item.css.map [22m[32m175.51 KB[39m
|
|
108
|
-
[32mESM[39m [1mdist/table-result-block.css.map [22m[32m175.51 KB[39m
|
|
109
104
|
[32mESM[39m [1mdist/index.css.map [22m[32m175.51 KB[39m
|
|
105
|
+
[32mESM[39m [1mdist/table-result-block.css.map [22m[32m175.51 KB[39m
|
|
110
106
|
[32mESM[39m [1mdist/drag-and-drop.css.map [22m[32m175.51 KB[39m
|
|
111
|
-
[32mESM[39m [1mdist/card-payment-block.css.map [22m[32m175.51 KB[39m
|
|
112
107
|
[32mESM[39m [1mdist/chunk-Z4LPO673.js [22m[32m1.34 KB[39m
|
|
108
|
+
[32mESM[39m [1mdist/card-payment-block.css.map [22m[32m175.51 KB[39m
|
|
113
109
|
[32mESM[39m [1mdist/product-picker/product-modal.js [22m[32m2.31 KB[39m
|
|
114
110
|
[32mESM[39m [1mdist/search/search.js [22m[32m180.00 B[39m
|
|
115
111
|
[32mESM[39m [1mdist/sidebar/sidebar.js [22m[32m151.00 B[39m
|
|
@@ -123,16 +119,13 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
123
119
|
[32mESM[39m [1mdist/nbui/nbui-container.js [22m[32m165.00 B[39m
|
|
124
120
|
[32mESM[39m [1mdist/nbui/nbui-footer.js [22m[32m159.00 B[39m
|
|
125
121
|
[32mESM[39m [1mdist/nbui/nbui-page-layout.js [22m[32m261.00 B[39m
|
|
126
|
-
[32mESM[39m [1mdist/product-picker/product-listing.js [22m[32m252.00 B[39m
|
|
127
122
|
[32mESM[39m [1mdist/pagination/pagination.js [22m[32m157.00 B[39m
|
|
123
|
+
[32mESM[39m [1mdist/product-picker/product-listing.js [22m[32m252.00 B[39m
|
|
128
124
|
[32mESM[39m [1mdist/file-picker/file-picker.js [22m[32m2.30 KB[39m
|
|
129
|
-
[32mESM[39m [1mdist/navbar/navbar.js [22m[32m180.00 B[39m
|
|
130
125
|
[32mESM[39m [1mdist/layout/layout.js [22m[32m2.29 KB[39m
|
|
126
|
+
[32mESM[39m [1mdist/navbar/navbar.js [22m[32m180.00 B[39m
|
|
131
127
|
[32mESM[39m [1mdist/nbui/nbui-card-form.js [22m[32m165.00 B[39m
|
|
132
128
|
[32mESM[39m [1mdist/nbui/nbui-card-image.js [22m[32m167.00 B[39m
|
|
133
|
-
[32mESM[39m [1mdist/nbui/nbui-card-lg.js [22m[32m164.00 B[39m
|
|
134
|
-
[32mESM[39m [1mdist/nbui/nbui-card-paragraphs-lg.js [22m[32m186.00 B[39m
|
|
135
|
-
[32mESM[39m [1mdist/nbui/nbui-card-paragraphs.js [22m[32m177.00 B[39m
|
|
136
129
|
[32mESM[39m [1mdist/video-modal.js [22m[32m156.00 B[39m
|
|
137
130
|
[32mESM[39m [1mdist/country-picker/country-listing.js [22m[32m259.00 B[39m
|
|
138
131
|
[32mESM[39m [1mdist/country-picker/country-modal.js [22m[32m2.31 KB[39m
|
|
@@ -140,6 +133,9 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
140
133
|
[32mESM[39m [1mdist/feature-cards/staff-pick-card.js [22m[32m165.00 B[39m
|
|
141
134
|
[32mESM[39m [1mdist/featurePageComponents/feature-page-group.js [22m[32m171.00 B[39m
|
|
142
135
|
[32mESM[39m [1mdist/featurePageComponents/mini-feature-block.js [22m[32m738.00 B[39m
|
|
136
|
+
[32mESM[39m [1mdist/nbui/nbui-card-lg.js [22m[32m164.00 B[39m
|
|
137
|
+
[32mESM[39m [1mdist/nbui/nbui-card-paragraphs.js [22m[32m177.00 B[39m
|
|
138
|
+
[32mESM[39m [1mdist/nbui/nbui-card-paragraphs-lg.js [22m[32m186.00 B[39m
|
|
143
139
|
[32mESM[39m [1mdist/file-picker/file-listing.js [22m[32m218.00 B[39m
|
|
144
140
|
[32mESM[39m [1mdist/stacked-list-item.js [22m[32m2.24 KB[39m
|
|
145
141
|
[32mESM[39m [1mdist/table-result-block.js [22m[32m2.25 KB[39m
|
|
@@ -185,11 +181,14 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
185
181
|
[32mESM[39m [1mdist/chunk-XKE3VK6Z.js [22m[32m759.00 B[39m
|
|
186
182
|
[32mESM[39m [1mdist/chunk-7Q6OMA2A.js [22m[32m782.00 B[39m
|
|
187
183
|
[32mESM[39m [1mdist/chunk-GVNUAH45.js [22m[32m347.00 B[39m
|
|
188
|
-
[32mESM[39m [1mdist/chunk-VTQTYLLT.js [22m[32m6.72 KB[39m
|
|
189
184
|
[32mESM[39m [1mdist/chunk-JAR3LP2K.js [22m[32m809.00 B[39m
|
|
185
|
+
[32mESM[39m [1mdist/chunk-EK5I26TX.js [22m[32m6.72 KB[39m
|
|
190
186
|
[32mESM[39m [1mdist/chunk-22RUXGYW.js [22m[32m4.46 KB[39m
|
|
191
|
-
[32mESM[39m [1mdist/chunk-LWTESXND.js [22m[32m1.57 KB[39m
|
|
192
187
|
[32mESM[39m [1mdist/chunk-XXP5K6Y4.js [22m[32m10.39 KB[39m
|
|
188
|
+
[32mESM[39m [1mdist/chunk-LWTESXND.js [22m[32m1.57 KB[39m
|
|
189
|
+
[32mESM[39m [1mdist/chunk-AN66H4D6.js [22m[32m559.00 B[39m
|
|
190
|
+
[32mESM[39m [1mdist/chunk-GWERJBUR.js [22m[32m885.00 B[39m
|
|
191
|
+
[32mESM[39m [1mdist/chunk-I2DMRDYJ.js [22m[32m1.29 KB[39m
|
|
193
192
|
[32mESM[39m [1mdist/chunk-FTVJMY65.js [22m[32m885.00 B[39m
|
|
194
193
|
[32mESM[39m [1mdist/chunk-Y5DEGGVQ.js [22m[32m1.75 KB[39m
|
|
195
194
|
[32mESM[39m [1mdist/chunk-F7MTEILK.js [22m[32m1.69 KB[39m
|
|
@@ -219,11 +218,10 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
219
218
|
[32mESM[39m [1mdist/chunk-M4UBHZDH.js [22m[32m1.50 KB[39m
|
|
220
219
|
[32mESM[39m [1mdist/chunk-TMO76FWT.js [22m[32m1.30 KB[39m
|
|
221
220
|
[32mESM[39m [1mdist/chunk-NDDDT4TO.js [22m[32m1.63 KB[39m
|
|
222
|
-
[32mESM[39m [1mdist/chunk-QYKN3JZ5.js [22m[32m3.46 KB[39m
|
|
223
221
|
[32mESM[39m [1mdist/chunk-SLIZ4TDR.js [22m[32m1.68 KB[39m
|
|
222
|
+
[32mESM[39m [1mdist/chunk-QYKN3JZ5.js [22m[32m3.46 KB[39m
|
|
224
223
|
[32mESM[39m [1mdist/chunk-F3BF3KTV.js [22m[32m723.00 B[39m
|
|
225
224
|
[32mESM[39m [1mdist/card.js [22m[32m173.00 B[39m
|
|
226
|
-
[32mESM[39m [1mdist/checkbox.js [22m[32m211.00 B[39m
|
|
227
225
|
[32mESM[39m [1mdist/chunk-ANU7OAPA.js [22m[32m1.08 KB[39m
|
|
228
226
|
[32mESM[39m [1mdist/color-picker.js [22m[32m188.00 B[39m
|
|
229
227
|
[32mESM[39m [1mdist/chunk-ISA6E23B.js [22m[32m1.14 KB[39m
|
|
@@ -236,31 +234,33 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
236
234
|
[32mESM[39m [1mdist/chunk-E4USZ2Q3.js [22m[32m655.00 B[39m
|
|
237
235
|
[32mESM[39m [1mdist/chunk-F47A36U7.js [22m[32m438.00 B[39m
|
|
238
236
|
[32mESM[39m [1mdist/date-time-component.js [22m[32m291.00 B[39m
|
|
239
|
-
[32mESM[39m [1mdist/chunk-JFL77JIP.js [22m[32m5.27 KB[39m
|
|
240
237
|
[32mESM[39m [1mdist/date-time-picker.js [22m[32m285.00 B[39m
|
|
241
|
-
[32mESM[39m [1mdist/chunk-
|
|
238
|
+
[32mESM[39m [1mdist/chunk-UP4YN4XR.js [22m[32m5.25 KB[39m
|
|
242
239
|
[32mESM[39m [1mdist/chunk-4FSPYK2A.js [22m[32m3.40 KB[39m
|
|
240
|
+
[32mESM[39m [1mdist/chunk-RRNNHYSF.js [22m[32m5.67 KB[39m
|
|
243
241
|
[32mESM[39m [1mdist/accordion.js [22m[32m271.00 B[39m
|
|
244
242
|
[32mESM[39m [1mdist/chunk-WLWG565K.js [22m[32m2.61 KB[39m
|
|
245
243
|
[32mESM[39m [1mdist/alert-banner.js [22m[32m188.00 B[39m
|
|
246
244
|
[32mESM[39m [1mdist/chunk-5SEJVYKM.js [22m[32m3.01 KB[39m
|
|
247
|
-
[32mESM[39m [1mdist/alert.js [22m[32m145.00 B[39m
|
|
248
245
|
[32mESM[39m [1mdist/chunk-MBACKGWE.js [22m[32m937.00 B[39m
|
|
249
|
-
[32mESM[39m [1mdist/
|
|
246
|
+
[32mESM[39m [1mdist/alert.js [22m[32m145.00 B[39m
|
|
250
247
|
[32mESM[39m [1mdist/chunk-2OPJLYW6.js [22m[32m1.69 KB[39m
|
|
248
|
+
[32mESM[39m [1mdist/avatar.js [22m[32m207.00 B[39m
|
|
251
249
|
[32mESM[39m [1mdist/badge.js [22m[32m205.00 B[39m
|
|
252
250
|
[32mESM[39m [1mdist/chunk-P5IM3T4M.js [22m[32m2.88 KB[39m
|
|
253
|
-
[32mESM[39m [1mdist/breadcrumb.js [22m[32m227.00 B[39m
|
|
254
251
|
[32mESM[39m [1mdist/chunk-TRVGXTCI.js [22m[32m1.58 KB[39m
|
|
252
|
+
[32mESM[39m [1mdist/breadcrumb.js [22m[32m227.00 B[39m
|
|
255
253
|
[32mESM[39m [1mdist/button-group-item.js [22m[32m167.00 B[39m
|
|
256
254
|
[32mESM[39m [1mdist/chunk-XYGVDZRO.js [22m[32m696.00 B[39m
|
|
257
255
|
[32mESM[39m [1mdist/button.js [22m[32m207.00 B[39m
|
|
258
256
|
[32mESM[39m [1mdist/chunk-VOFMZ77E.js [22m[32m3.86 KB[39m
|
|
259
|
-
[32mESM[39m [1mdist/chunk-TJMI4DH2.js [22m[32m19.88 KB[39m
|
|
260
257
|
[32mESM[39m [1mdist/chunk-6LHL364H.js [22m[32m15.70 KB[39m
|
|
261
|
-
[32mESM[39m [1mdist/chunk-
|
|
262
|
-
[32mESM[39m [1mdist/
|
|
263
|
-
[32mESM[39m [1mdist/
|
|
258
|
+
[32mESM[39m [1mdist/chunk-TJMI4DH2.js [22m[32m19.88 KB[39m
|
|
259
|
+
[32mESM[39m [1mdist/checkbox.js [22m[32m211.00 B[39m
|
|
260
|
+
[32mESM[39m [1mdist/product-picker/product-modal.css.map [22m[32m175.51 KB[39m
|
|
261
|
+
[32mESM[39m [1mdist/file-picker/file-picker.css.map [22m[32m175.51 KB[39m
|
|
262
|
+
[32mESM[39m [1mdist/layout/layout.css.map [22m[32m175.51 KB[39m
|
|
263
|
+
[32mESM[39m [1mdist/country-picker/country-modal.css.map [22m[32m175.51 KB[39m
|
|
264
264
|
[32mESM[39m [1mdist/chunk-Z4LPO673.js.map [22m[32m71.00 B[39m
|
|
265
265
|
[32mESM[39m [1mdist/product-picker/product-modal.js.map [22m[32m51.00 B[39m
|
|
266
266
|
[32mESM[39m [1mdist/sidebar/sidebar.js.map [22m[32m51.00 B[39m
|
|
@@ -269,29 +269,29 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
269
269
|
[32mESM[39m [1mdist/table-header/table-header.js.map [22m[32m51.00 B[39m
|
|
270
270
|
[32mESM[39m [1mdist/toast/index.js.map [22m[32m51.00 B[39m
|
|
271
271
|
[32mESM[39m [1mdist/nbui/nbui-card-sm.js.map [22m[32m51.00 B[39m
|
|
272
|
+
[32mESM[39m [1mdist/tooltip/tooltip.js.map [22m[32m51.00 B[39m
|
|
272
273
|
[32mESM[39m [1mdist/nbui/nbui-card-table.js.map [22m[32m51.00 B[39m
|
|
273
274
|
[32mESM[39m [1mdist/nbui/nbui-card.js.map [22m[32m51.00 B[39m
|
|
274
275
|
[32mESM[39m [1mdist/nbui/nbui-container.js.map [22m[32m51.00 B[39m
|
|
275
276
|
[32mESM[39m [1mdist/nbui/nbui-footer.js.map [22m[32m51.00 B[39m
|
|
276
277
|
[32mESM[39m [1mdist/nbui/nbui-page-layout.js.map [22m[32m51.00 B[39m
|
|
277
|
-
[32mESM[39m [1mdist/product-picker/product-listing.js.map [22m[32m51.00 B[39m
|
|
278
278
|
[32mESM[39m [1mdist/pagination/pagination.js.map [22m[32m51.00 B[39m
|
|
279
|
+
[32mESM[39m [1mdist/product-picker/product-listing.js.map [22m[32m51.00 B[39m
|
|
279
280
|
[32mESM[39m [1mdist/file-picker/file-picker.js.map [22m[32m51.00 B[39m
|
|
280
|
-
[32mESM[39m [1mdist/navbar/navbar.js.map [22m[32m51.00 B[39m
|
|
281
281
|
[32mESM[39m [1mdist/layout/layout.js.map [22m[32m51.00 B[39m
|
|
282
|
-
[32mESM[39m [1mdist/
|
|
282
|
+
[32mESM[39m [1mdist/navbar/navbar.js.map [22m[32m51.00 B[39m
|
|
283
283
|
[32mESM[39m [1mdist/nbui/nbui-card-form.js.map [22m[32m51.00 B[39m
|
|
284
|
-
[32mESM[39m [1mdist/nbui/nbui-card-
|
|
285
|
-
[32mESM[39m [1mdist/nbui/nbui-card-paragraphs-lg.js.map [22m[32m51.00 B[39m
|
|
286
|
-
[32mESM[39m [1mdist/nbui/nbui-card-paragraphs.js.map [22m[32m51.00 B[39m
|
|
284
|
+
[32mESM[39m [1mdist/nbui/nbui-card-image.js.map [22m[32m51.00 B[39m
|
|
287
285
|
[32mESM[39m [1mdist/video-modal.js.map [22m[32m51.00 B[39m
|
|
288
|
-
[32mESM[39m [1mdist/country-picker/country-modal.js.map [22m[32m51.00 B[39m
|
|
289
286
|
[32mESM[39m [1mdist/country-picker/country-listing.js.map [22m[32m51.00 B[39m
|
|
290
|
-
[32mESM[39m [1mdist/
|
|
287
|
+
[32mESM[39m [1mdist/country-picker/country-modal.js.map [22m[32m51.00 B[39m
|
|
291
288
|
[32mESM[39m [1mdist/feature-cards/feature-card.js.map [22m[32m51.00 B[39m
|
|
292
289
|
[32mESM[39m [1mdist/feature-cards/staff-pick-card.js.map [22m[32m51.00 B[39m
|
|
293
290
|
[32mESM[39m [1mdist/featurePageComponents/feature-page-group.js.map [22m[32m51.00 B[39m
|
|
294
291
|
[32mESM[39m [1mdist/featurePageComponents/mini-feature-block.js.map [22m[32m1.54 KB[39m
|
|
292
|
+
[32mESM[39m [1mdist/nbui/nbui-card-lg.js.map [22m[32m51.00 B[39m
|
|
293
|
+
[32mESM[39m [1mdist/nbui/nbui-card-paragraphs.js.map [22m[32m51.00 B[39m
|
|
294
|
+
[32mESM[39m [1mdist/nbui/nbui-card-paragraphs-lg.js.map [22m[32m51.00 B[39m
|
|
295
295
|
[32mESM[39m [1mdist/file-picker/file-listing.js.map [22m[32m51.00 B[39m
|
|
296
296
|
[32mESM[39m [1mdist/stacked-list-item.js.map [22m[32m51.00 B[39m
|
|
297
297
|
[32mESM[39m [1mdist/table-result-block.js.map [22m[32m51.00 B[39m
|
|
@@ -308,8 +308,8 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
308
308
|
[32mESM[39m [1mdist/progress-bar.js.map [22m[32m51.00 B[39m
|
|
309
309
|
[32mESM[39m [1mdist/radio.js.map [22m[32m51.00 B[39m
|
|
310
310
|
[32mESM[39m [1mdist/select.js.map [22m[32m51.00 B[39m
|
|
311
|
-
[32mESM[39m [1mdist/image-thumbnail.js.map [22m[32m51.00 B[39m
|
|
312
311
|
[32mESM[39m [1mdist/spinner.js.map [22m[32m51.00 B[39m
|
|
312
|
+
[32mESM[39m [1mdist/image-thumbnail.js.map [22m[32m51.00 B[39m
|
|
313
313
|
[32mESM[39m [1mdist/index.js.map [22m[32m51.00 B[39m
|
|
314
314
|
[32mESM[39m [1mdist/input-addon.js.map [22m[32m51.00 B[39m
|
|
315
315
|
[32mESM[39m [1mdist/input-copy.js.map [22m[32m51.00 B[39m
|
|
@@ -326,7 +326,6 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
326
326
|
[32mESM[39m [1mdist/footer-heart-icon.js.map [22m[32m57.05 KB[39m
|
|
327
327
|
[32mESM[39m [1mdist/form-row.js.map [22m[32m51.00 B[39m
|
|
328
328
|
[32mESM[39m [1mdist/card-payment-block.js.map [22m[32m51.00 B[39m
|
|
329
|
-
[32mESM[39m [1mdist/chunk-UHSXJRCR.js.map [22m[32m81.55 KB[39m
|
|
330
329
|
[32mESM[39m [1mdist/chunk-LQKVFBLU.js.map [22m[32m10.01 KB[39m
|
|
331
330
|
[32mESM[39m [1mdist/chunk-HVNLAQA6.js.map [22m[32m5.19 KB[39m
|
|
332
331
|
[32mESM[39m [1mdist/chunk-HW7AZG2V.js.map [22m[32m4.63 KB[39m
|
|
@@ -336,11 +335,14 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
336
335
|
[32mESM[39m [1mdist/chunk-XKE3VK6Z.js.map [22m[32m1.08 KB[39m
|
|
337
336
|
[32mESM[39m [1mdist/chunk-7Q6OMA2A.js.map [22m[32m1.28 KB[39m
|
|
338
337
|
[32mESM[39m [1mdist/chunk-GVNUAH45.js.map [22m[32m525.00 B[39m
|
|
339
|
-
[32mESM[39m [1mdist/chunk-VTQTYLLT.js.map [22m[32m14.11 KB[39m
|
|
340
338
|
[32mESM[39m [1mdist/chunk-JAR3LP2K.js.map [22m[32m1.89 KB[39m
|
|
339
|
+
[32mESM[39m [1mdist/chunk-EK5I26TX.js.map [22m[32m14.11 KB[39m
|
|
341
340
|
[32mESM[39m [1mdist/chunk-22RUXGYW.js.map [22m[32m9.89 KB[39m
|
|
342
|
-
[32mESM[39m [1mdist/chunk-LWTESXND.js.map [22m[32m2.48 KB[39m
|
|
343
341
|
[32mESM[39m [1mdist/chunk-XXP5K6Y4.js.map [22m[32m24.62 KB[39m
|
|
342
|
+
[32mESM[39m [1mdist/chunk-LWTESXND.js.map [22m[32m2.48 KB[39m
|
|
343
|
+
[32mESM[39m [1mdist/chunk-AN66H4D6.js.map [22m[32m873.00 B[39m
|
|
344
|
+
[32mESM[39m [1mdist/chunk-GWERJBUR.js.map [22m[32m1.29 KB[39m
|
|
345
|
+
[32mESM[39m [1mdist/chunk-I2DMRDYJ.js.map [22m[32m1.98 KB[39m
|
|
344
346
|
[32mESM[39m [1mdist/chunk-FTVJMY65.js.map [22m[32m1.30 KB[39m
|
|
345
347
|
[32mESM[39m [1mdist/chunk-Y5DEGGVQ.js.map [22m[32m3.34 KB[39m
|
|
346
348
|
[32mESM[39m [1mdist/chunk-F7MTEILK.js.map [22m[32m4.07 KB[39m
|
|
@@ -370,11 +372,10 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
370
372
|
[32mESM[39m [1mdist/chunk-M4UBHZDH.js.map [22m[32m3.33 KB[39m
|
|
371
373
|
[32mESM[39m [1mdist/chunk-TMO76FWT.js.map [22m[32m2.48 KB[39m
|
|
372
374
|
[32mESM[39m [1mdist/chunk-NDDDT4TO.js.map [22m[32m3.64 KB[39m
|
|
373
|
-
[32mESM[39m [1mdist/chunk-QYKN3JZ5.js.map [22m[32m8.04 KB[39m
|
|
374
375
|
[32mESM[39m [1mdist/chunk-SLIZ4TDR.js.map [22m[32m2.43 KB[39m
|
|
376
|
+
[32mESM[39m [1mdist/chunk-QYKN3JZ5.js.map [22m[32m8.04 KB[39m
|
|
375
377
|
[32mESM[39m [1mdist/chunk-F3BF3KTV.js.map [22m[32m1.48 KB[39m
|
|
376
378
|
[32mESM[39m [1mdist/card.js.map [22m[32m51.00 B[39m
|
|
377
|
-
[32mESM[39m [1mdist/checkbox.js.map [22m[32m51.00 B[39m
|
|
378
379
|
[32mESM[39m [1mdist/chunk-ANU7OAPA.js.map [22m[32m2.27 KB[39m
|
|
379
380
|
[32mESM[39m [1mdist/color-picker.js.map [22m[32m51.00 B[39m
|
|
380
381
|
[32mESM[39m [1mdist/chunk-ISA6E23B.js.map [22m[32m3.32 KB[39m
|
|
@@ -387,30 +388,29 @@ Browserslist: caniuse-lite is outdated. Please run:
|
|
|
387
388
|
[32mESM[39m [1mdist/chunk-E4USZ2Q3.js.map [22m[32m1.57 KB[39m
|
|
388
389
|
[32mESM[39m [1mdist/chunk-F47A36U7.js.map [22m[32m768.00 B[39m
|
|
389
390
|
[32mESM[39m [1mdist/date-time-component.js.map [22m[32m51.00 B[39m
|
|
390
|
-
[32mESM[39m [1mdist/chunk-JFL77JIP.js.map [22m[32m17.93 KB[39m
|
|
391
|
-
[32mESM[39m [1mdist/date-time-picker.js.map [22m[32m51.00 B[39m
|
|
392
|
-
[32mESM[39m [1mdist/chunk-RRNNHYSF.js.map [22m[32m15.80 KB[39m
|
|
393
391
|
[32mESM[39m [1mdist/chunk-4FSPYK2A.js.map [22m[32m21.34 KB[39m
|
|
392
|
+
[32mESM[39m [1mdist/chunk-RRNNHYSF.js.map [22m[32m15.80 KB[39m
|
|
394
393
|
[32mESM[39m [1mdist/accordion.js.map [22m[32m51.00 B[39m
|
|
395
394
|
[32mESM[39m [1mdist/chunk-WLWG565K.js.map [22m[32m7.81 KB[39m
|
|
396
395
|
[32mESM[39m [1mdist/alert-banner.js.map [22m[32m51.00 B[39m
|
|
396
|
+
[32mESM[39m [1mdist/date-time-picker.js.map [22m[32m51.00 B[39m
|
|
397
|
+
[32mESM[39m [1mdist/chunk-UP4YN4XR.js.map [22m[32m17.89 KB[39m
|
|
397
398
|
[32mESM[39m [1mdist/chunk-5SEJVYKM.js.map [22m[32m6.15 KB[39m
|
|
398
|
-
[32mESM[39m [1mdist/alert.js.map [22m[32m51.00 B[39m
|
|
399
|
-
[32mESM[39m [1mdist/chunk-MBACKGWE.js.map [22m[32m2.14 KB[39m
|
|
400
|
-
[32mESM[39m [1mdist/avatar.js.map [22m[32m51.00 B[39m
|
|
401
399
|
[32mESM[39m [1mdist/chunk-2OPJLYW6.js.map [22m[32m4.13 KB[39m
|
|
400
|
+
[32mESM[39m [1mdist/avatar.js.map [22m[32m51.00 B[39m
|
|
401
|
+
[32mESM[39m [1mdist/badge.js.map [22m[32m51.00 B[39m
|
|
402
|
+
[32mESM[39m [1mdist/chunk-P5IM3T4M.js.map [22m[32m4.20 KB[39m
|
|
402
403
|
[32mESM[39m [1mdist/chunk-TRVGXTCI.js.map [22m[32m3.33 KB[39m
|
|
404
|
+
[32mESM[39m [1mdist/breadcrumb.js.map [22m[32m51.00 B[39m
|
|
403
405
|
[32mESM[39m [1mdist/button-group-item.js.map [22m[32m51.00 B[39m
|
|
404
406
|
[32mESM[39m [1mdist/chunk-XYGVDZRO.js.map [22m[32m1.25 KB[39m
|
|
405
407
|
[32mESM[39m [1mdist/button.js.map [22m[32m51.00 B[39m
|
|
406
408
|
[32mESM[39m [1mdist/chunk-VOFMZ77E.js.map [22m[32m7.27 KB[39m
|
|
407
|
-
[32mESM[39m [1mdist/chunk-TJMI4DH2.js.map [22m[32m117.04 KB[39m
|
|
408
409
|
[32mESM[39m [1mdist/chunk-6LHL364H.js.map [22m[32m62.53 KB[39m
|
|
409
|
-
[32mESM[39m [1mdist/
|
|
410
|
-
[32mESM[39m [1mdist/
|
|
411
|
-
[32mESM[39m [1mdist/
|
|
410
|
+
[32mESM[39m [1mdist/chunk-MBACKGWE.js.map [22m[32m2.14 KB[39m
|
|
411
|
+
[32mESM[39m [1mdist/alert.js.map [22m[32m51.00 B[39m
|
|
412
|
+
[32mESM[39m [1mdist/chunk-TJMI4DH2.js.map [22m[32m117.04 KB[39m
|
|
413
|
+
[32mESM[39m [1mdist/checkbox.js.map [22m[32m51.00 B[39m
|
|
412
414
|
[32mESM[39m [1mdist/chunk-HE5X7TRV.js.map [22m[32m711.41 KB[39m
|
|
413
|
-
[32mESM[39m [1mdist/chunk-
|
|
414
|
-
[32mESM[39m
|
|
415
|
-
[32mESM[39m [1mdist/chunk-AN66H4D6.js.map [22m[32m873.00 B[39m
|
|
416
|
-
[32mESM[39m ⚡️ Build success in 78099ms
|
|
415
|
+
[32mESM[39m [1mdist/chunk-UHSXJRCR.js.map [22m[32m81.55 KB[39m
|
|
416
|
+
[32mESM[39m ⚡️ Build success in 74511ms
|
package/CHANGELOG.md
CHANGED
|
@@ -10,7 +10,7 @@ import './chunk-XKE3VK6Z.js';
|
|
|
10
10
|
import './chunk-7Q6OMA2A.js';
|
|
11
11
|
import './chunk-GVNUAH45.js';
|
|
12
12
|
import './chunk-JAR3LP2K.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-EK5I26TX.js';
|
|
14
14
|
import './chunk-22RUXGYW.js';
|
|
15
15
|
import './chunk-XXP5K6Y4.js';
|
|
16
16
|
import './chunk-LWTESXND.js';
|
|
@@ -57,7 +57,7 @@ import './chunk-D5TS3JJH.js';
|
|
|
57
57
|
import './chunk-DSJ5TRZW.js';
|
|
58
58
|
import './chunk-E4USZ2Q3.js';
|
|
59
59
|
import './chunk-F47A36U7.js';
|
|
60
|
-
import './chunk-
|
|
60
|
+
import './chunk-UP4YN4XR.js';
|
|
61
61
|
import './chunk-RRNNHYSF.js';
|
|
62
62
|
import './chunk-4FSPYK2A.js';
|
|
63
63
|
import './chunk-WLWG565K.js';
|
|
@@ -2,8 +2,8 @@ import s from 'clsx';
|
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
|
-
function b(t,d=0){return [...Array(t).keys()].map(r=>r+d)}function k({pageSize:t,total:d,current:r,onChange:l,loading:h}){let y=Math.min((r-1)*t+1,d),p=Math.min(y+t-1,d),a=Math.ceil(d/t),v=useMemo(()=>a>5&&r>=4,[a,r]),x=useMemo(()=>a>5&&r<a-3,[a,r]),n=[];return a<=5?n=b(a,1):x?n=b(5,Math.max(r-2,1)):n=b(5,a-4),jsx("div",{id:"paginationControl",className:"w-full",children:jsx("div",{className:"relative overflow-hidden rounded-b-lg bg-white dark:bg-gray-800",children:jsxs("nav",{className:" flex flex-wrap items-start justify-between gap-x-4 gap-y-2 md:items-center","aria-label":"Table navigation",children:[jsxs("div",{className:"flex w-full justify-between md:hidden",children:[jsxs("button",{id:"btnPreviousM",disabled:r===1,className:s(r===1&&"cursor-not-allowed","ml-0 flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r-1,t),children:[jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})}),jsx("span",{className:"leading-none",children:"Previous"})]}),jsxs("button",{id:"btnNextM",disabled:r===a,className:s(r===a&&"cursor-not-allowed","flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r+1,t),children:[jsx("span",{children:"Next"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})]})]}),jsxs("div",{id:"rowsPerPageSection",className:"hidden items-center space-x-3 md:flex",children:[jsx("label",{htmlFor:"rows",className:"text-sm font-normal text-gray-500 dark:text-gray-400 mb-0",children:"Rows per page"}),jsxs("select",{id:"rows",className:"block rounded-lg border border-gray-300 bg-gray-50 py-1.5 pl-3.5 pr-6 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-primary-500 dark:focus:ring-primary-500",onChange:i=>l(1,Number(i.target.value)),value:t,children:[jsx("option",{value:10,children:"10"}),jsx("option",{value:25,children:"25"}),jsx("option",{value:50,children:"50"}),jsx("option",{value:100,children:"100"})]}),jsx("span",{className:"text-sm font-normal text-gray-500 dark:text-gray-400",children:!h&&jsxs(Fragment,{children:[jsxs("span",{className:"font-semibold text-gray-900 dark:text-white",children:["Showing ",jsx(Fragment,{children:d===0?0:y})," to ",jsx(Fragment,{children:p})]})," ","of"," ",jsx("span",{className:"font-semibold text-gray-900 dark:text-white",children:d})]})})]}),jsxs("ul",{className:"hidden items-stretch -space-x-px md:inline-flex",children:[jsx("li",{children:jsxs("button",{id:"btnPrevious",disabled:r===1,className:s(r===1&&"cursor-not-allowed","ml-0 flex h-full items-center justify-center rounded-l-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r-1,t),children:[jsx("span",{className:"sr-only",children:"Previous"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})})]})}),v&&jsxs(Fragment,{children:[jsx("li",{children:jsx("button",{id:"
|
|
5
|
+
function b(t,d=0){return [...Array(t).keys()].map(r=>r+d)}function k({pageSize:t,total:d,current:r,onChange:l,loading:h}){let y=Math.min((r-1)*t+1,d),p=Math.min(y+t-1,d),a=Math.ceil(d/t),v=useMemo(()=>a>5&&r>=4,[a,r]),x=useMemo(()=>a>5&&r<a-3,[a,r]),n=[];return a<=5?n=b(a,1):x?n=b(5,Math.max(r-2,1)):n=b(5,a-4),jsx("div",{id:"paginationControl",className:"w-full",children:jsx("div",{className:"relative overflow-hidden rounded-b-lg bg-white dark:bg-gray-800",children:jsxs("nav",{className:" flex flex-wrap items-start justify-between gap-x-4 gap-y-2 md:items-center","aria-label":"Table navigation",children:[jsxs("div",{className:"flex w-full justify-between md:hidden",children:[jsxs("button",{id:"btnPreviousM",disabled:r===1,className:s(r===1&&"cursor-not-allowed","ml-0 flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r-1,t),children:[jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})}),jsx("span",{className:"leading-none",children:"Previous"})]}),jsxs("button",{id:"btnNextM",disabled:r===a,className:s(r===a&&"cursor-not-allowed","flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r+1,t),children:[jsx("span",{children:"Next"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})]})]}),jsxs("div",{id:"rowsPerPageSection",className:"hidden items-center space-x-3 md:flex",children:[jsx("label",{htmlFor:"rows",className:"text-sm font-normal text-gray-500 dark:text-gray-400 mb-0",children:"Rows per page"}),jsxs("select",{id:"rows",className:"block rounded-lg border border-gray-300 bg-gray-50 py-1.5 pl-3.5 pr-6 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-primary-500 dark:focus:ring-primary-500",onChange:i=>l(1,Number(i.target.value)),value:t,children:[jsx("option",{value:10,children:"10"}),jsx("option",{value:25,children:"25"}),jsx("option",{value:50,children:"50"}),jsx("option",{value:100,children:"100"})]}),jsx("span",{className:"text-sm font-normal text-gray-500 dark:text-gray-400",children:!h&&jsxs(Fragment,{children:[jsxs("span",{className:"font-semibold text-gray-900 dark:text-white",children:["Showing ",jsx(Fragment,{children:d===0?0:y})," to ",jsx(Fragment,{children:p})]})," ","of"," ",jsx("span",{className:"font-semibold text-gray-900 dark:text-white",children:d})]})})]}),jsxs("ul",{className:"hidden items-stretch -space-x-px md:inline-flex",children:[jsx("li",{children:jsxs("button",{id:"btnPrevious",disabled:r===1,className:s(r===1&&"cursor-not-allowed","ml-0 flex h-full items-center justify-center rounded-l-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(r-1,t),children:[jsx("span",{className:"sr-only",children:"Previous"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z",clipRule:"evenodd"})})]})}),v&&jsxs(Fragment,{children:[jsx("li",{children:jsx("button",{id:"btnPage1",className:s(r===1&&"cursor-not-allowed","flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),onClick:()=>l(1,t),children:"1"})}),jsx("li",{className:"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400",children:"..."})]}),n.map(i=>jsx("li",{children:jsx("button",{id:`btnPage${i}`,onClick:()=>l(i,t),className:s("flex items-center justify-center border px-3 py-2 text-sm leading-tight",i===r?"z-10 border-primary-300 bg-primary-50 text-primary-600 hover:bg-primary-100 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white st-pageCurrent":"border-gray-300 bg-white text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),children:i})},i)),x&&jsxs(Fragment,{children:[jsx("li",{className:"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400",children:"..."}),jsx("li",{children:jsx("button",{id:"btnLast",className:"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white",onClick:()=>l(a,t),children:a})})]}),jsx("li",{children:jsxs("button",{id:"btnNext",disabled:r===a,onClick:()=>l(r+1,t),className:s(r===a&&"cursor-not-allowed","flex h-full items-center justify-center rounded-r-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"),children:[jsx("span",{className:"sr-only",children:"Next"}),jsx("svg",{className:"h-5 w-5","aria-hidden":"true",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg",children:jsx("path",{fillRule:"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z",clipRule:"evenodd"})})]})})]})]})})})}
|
|
6
6
|
|
|
7
7
|
export { k as a };
|
|
8
8
|
//# sourceMappingURL=out.js.map
|
|
9
|
-
//# sourceMappingURL=chunk-
|
|
9
|
+
//# sourceMappingURL=chunk-EK5I26TX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pagination/pagination.tsx"],"names":["clsx","useMemo","Fragment","jsx","jsxs","range","size","startAt","i","Pagination","pageSize","total","current","onChange","loading","from","to","totalPages","showJumpPrev","showJumpNext","pages","e","page"],"mappings":"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","sourcesContent":["import clsx from \"clsx\";\nimport { useMemo } from \"react\";\n\nexport type PaginationProps = {\n pageSize: number;\n total: number;\n current: number;\n onChange: (page: number, pageSize: number) => void;\n loading?: boolean;\n};\n\nfunction range(size: number, startAt = 0): number[] {\n return [...Array(size).keys()].map((i) => i + startAt);\n}\n\nexport function Pagination({\n pageSize,\n total,\n current,\n onChange,\n loading,\n}: PaginationProps) {\n // Calculate the values that are displayed\n const from = Math.min((current - 1) * pageSize + 1, total);\n const to = Math.min(from + pageSize - 1, total);\n const totalPages = Math.ceil(total / pageSize);\n\n const showJumpPrev = useMemo(() => {\n return totalPages > 5 && current >= 4;\n }, [totalPages, current]);\n\n const showJumpNext = useMemo(() => {\n return totalPages > 5 && current < totalPages - 3;\n }, [totalPages, current]);\n\n let pages: number[] = [];\n\n if (totalPages <= 5) {\n pages = range(totalPages, 1);\n } else if (showJumpNext) {\n pages = range(5, Math.max(current - 2, 1));\n } else {\n pages = range(5, totalPages - 4);\n }\n\n return (\n <div id=\"paginationControl\" className=\"w-full\">\n <div className=\"relative overflow-hidden rounded-b-lg bg-white dark:bg-gray-800\">\n <nav\n className=\" flex flex-wrap items-start justify-between gap-x-4 gap-y-2 md:items-center\"\n aria-label=\"Table navigation\"\n >\n <div className=\"flex w-full justify-between md:hidden\">\n <button\n id=\"btnPreviousM\"\n disabled={current === 1}\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"ml-0 flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current - 1, pageSize)}\n >\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n <span className=\"leading-none\">Previous</span>\n </button>\n\n <button\n id=\"btnNextM\"\n disabled={current === totalPages}\n className={clsx(\n current === totalPages && \"cursor-not-allowed\",\n \"flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current + 1, pageSize)}\n >\n <span>Next</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </div>\n <div id=\"rowsPerPageSection\" className=\"hidden items-center space-x-3 md:flex\">\n <label\n htmlFor=\"rows\"\n className=\"text-sm font-normal text-gray-500 dark:text-gray-400 mb-0\"\n >\n Rows per page\n </label>\n <select\n id=\"rows\"\n className=\"block rounded-lg border border-gray-300 bg-gray-50 py-1.5 pl-3.5 pr-6 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-primary-500 dark:focus:ring-primary-500\"\n onChange={(e) => onChange(1, Number(e.target.value))}\n value={pageSize}\n >\n <option value={10}>10</option>\n <option value={25}>25</option>\n <option value={50}>50</option>\n <option value={100}>100</option>\n </select>\n <span className=\"text-sm font-normal text-gray-500 dark:text-gray-400\">\n {!loading && (\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Showing <>{total === 0 ? 0 : from}</> to <>{to}</>\n </span>{\" \"}\n of{\" \"}\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n {total}\n </span>\n </>\n )}\n </span>\n </div>\n <ul className=\"hidden items-stretch -space-x-px md:inline-flex\">\n <li>\n <button\n id=\"btnPrevious\"\n disabled={current === 1}\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"ml-0 flex h-full items-center justify-center rounded-l-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current - 1, pageSize)}\n >\n <span className=\"sr-only\">Previous</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </li>\n {showJumpPrev && (\n <>\n <li>\n <button\n id=\"btnLast\"\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(1, pageSize)}\n >\n 1\n </button>\n </li>\n <li className=\"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400\">\n ...\n </li>\n </>\n )}\n {pages.map((page) => (\n <li key={page}>\n <button\n id={`btnPage${page}`}\n onClick={() => onChange(page, pageSize)}\n className={clsx(\n \"flex items-center justify-center border px-3 py-2 text-sm leading-tight\",\n page === current\n ? \"z-10 border-primary-300 bg-primary-50 text-primary-600 hover:bg-primary-100 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white st-pageCurrent\"\n : \"border-gray-300 bg-white text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n >\n {page}\n </button>\n </li>\n ))}\n {showJumpNext && (\n <>\n <li className=\"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400\">\n ...\n </li>\n <li>\n <button\n id=\"btnLast\"\n className=\"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n onClick={() => onChange(totalPages, pageSize)}\n >\n {totalPages}\n </button>\n </li>\n </>\n )}\n <li>\n <button\n id=\"btnNext\"\n disabled={current === totalPages}\n onClick={() => onChange(current + 1, pageSize)}\n className={clsx(\n current === totalPages && \"cursor-not-allowed\",\n \"flex h-full items-center justify-center rounded-r-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n >\n <span className=\"sr-only\">Next</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/pagination/pagination.tsx"],"names":["clsx","useMemo","Fragment","jsx","jsxs","range","size","startAt","i","Pagination","pageSize","total","current","onChange","loading","from","to","totalPages","showJumpPrev","showJumpNext","pages","e","page"],"mappings":"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","sourcesContent":["import clsx from \"clsx\";\nimport { useMemo } from \"react\";\n\nexport type PaginationProps = {\n pageSize: number;\n total: number;\n current: number;\n onChange: (page: number, pageSize: number) => void;\n loading?: boolean;\n};\n\nfunction range(size: number, startAt = 0): number[] {\n return [...Array(size).keys()].map((i) => i + startAt);\n}\n\nexport function Pagination({\n pageSize,\n total,\n current,\n onChange,\n loading,\n}: PaginationProps) {\n // Calculate the values that are displayed\n const from = Math.min((current - 1) * pageSize + 1, total);\n const to = Math.min(from + pageSize - 1, total);\n const totalPages = Math.ceil(total / pageSize);\n\n const showJumpPrev = useMemo(() => {\n return totalPages > 5 && current >= 4;\n }, [totalPages, current]);\n\n const showJumpNext = useMemo(() => {\n return totalPages > 5 && current < totalPages - 3;\n }, [totalPages, current]);\n\n let pages: number[] = [];\n\n if (totalPages <= 5) {\n pages = range(totalPages, 1);\n } else if (showJumpNext) {\n pages = range(5, Math.max(current - 2, 1));\n } else {\n pages = range(5, totalPages - 4);\n }\n\n return (\n <div id=\"paginationControl\" className=\"w-full\">\n <div className=\"relative overflow-hidden rounded-b-lg bg-white dark:bg-gray-800\">\n <nav\n className=\" flex flex-wrap items-start justify-between gap-x-4 gap-y-2 md:items-center\"\n aria-label=\"Table navigation\"\n >\n <div className=\"flex w-full justify-between md:hidden\">\n <button\n id=\"btnPreviousM\"\n disabled={current === 1}\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"ml-0 flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current - 1, pageSize)}\n >\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n <span className=\"leading-none\">Previous</span>\n </button>\n\n <button\n id=\"btnNextM\"\n disabled={current === totalPages}\n className={clsx(\n current === totalPages && \"cursor-not-allowed\",\n \"flex h-full items-center justify-center rounded-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current + 1, pageSize)}\n >\n <span>Next</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </div>\n <div id=\"rowsPerPageSection\" className=\"hidden items-center space-x-3 md:flex\">\n <label\n htmlFor=\"rows\"\n className=\"text-sm font-normal text-gray-500 dark:text-gray-400 mb-0\"\n >\n Rows per page\n </label>\n <select\n id=\"rows\"\n className=\"block rounded-lg border border-gray-300 bg-gray-50 py-1.5 pl-3.5 pr-6 text-sm text-gray-900 focus:border-primary-500 focus:ring-primary-500 dark:border-gray-600 dark:bg-gray-700 dark:text-white dark:placeholder-gray-400 dark:focus:border-primary-500 dark:focus:ring-primary-500\"\n onChange={(e) => onChange(1, Number(e.target.value))}\n value={pageSize}\n >\n <option value={10}>10</option>\n <option value={25}>25</option>\n <option value={50}>50</option>\n <option value={100}>100</option>\n </select>\n <span className=\"text-sm font-normal text-gray-500 dark:text-gray-400\">\n {!loading && (\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Showing <>{total === 0 ? 0 : from}</> to <>{to}</>\n </span>{\" \"}\n of{\" \"}\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n {total}\n </span>\n </>\n )}\n </span>\n </div>\n <ul className=\"hidden items-stretch -space-x-px md:inline-flex\">\n <li>\n <button\n id=\"btnPrevious\"\n disabled={current === 1}\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"ml-0 flex h-full items-center justify-center rounded-l-lg border border-gray-300 bg-white px-3 py-1.5 text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(current - 1, pageSize)}\n >\n <span className=\"sr-only\">Previous</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </li>\n {showJumpPrev && (\n <>\n <li>\n <button\n id=\"btnPage1\"\n className={clsx(\n current === 1 && \"cursor-not-allowed\",\n \"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n onClick={() => onChange(1, pageSize)}\n >\n 1\n </button>\n </li>\n <li className=\"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400\">\n ...\n </li>\n </>\n )}\n {pages.map((page) => (\n <li key={page}>\n <button\n id={`btnPage${page}`}\n onClick={() => onChange(page, pageSize)}\n className={clsx(\n \"flex items-center justify-center border px-3 py-2 text-sm leading-tight\",\n page === current\n ? \"z-10 border-primary-300 bg-primary-50 text-primary-600 hover:bg-primary-100 hover:text-primary-700 dark:border-gray-700 dark:bg-gray-700 dark:text-white st-pageCurrent\"\n : \"border-gray-300 bg-white text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n >\n {page}\n </button>\n </li>\n ))}\n {showJumpNext && (\n <>\n <li className=\"flex cursor-default items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400\">\n ...\n </li>\n <li>\n <button\n id=\"btnLast\"\n className=\"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n onClick={() => onChange(totalPages, pageSize)}\n >\n {totalPages}\n </button>\n </li>\n </>\n )}\n <li>\n <button\n id=\"btnNext\"\n disabled={current === totalPages}\n onClick={() => onChange(current + 1, pageSize)}\n className={clsx(\n current === totalPages && \"cursor-not-allowed\",\n \"flex h-full items-center justify-center rounded-r-lg border border-gray-300 bg-white px-3 py-1.5 leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white\"\n )}\n >\n <span className=\"sr-only\">Next</span>\n <svg\n className=\"h-5 w-5\"\n aria-hidden=\"true\"\n fill=\"currentColor\"\n viewBox=\"0 0 20 20\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n </button>\n </li>\n </ul>\n </nav>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { a, c, b } from './chunk-4FSPYK2A.js';
|
|
2
|
+
import { a as a$2 } from './chunk-VOFMZ77E.js';
|
|
3
|
+
import { a as a$1 } from './chunk-6LHL364H.js';
|
|
4
|
+
import { e } from './chunk-Z4LPO673.js';
|
|
5
|
+
import { useState, useRef, useEffect, useMemo } from 'react';
|
|
6
|
+
import { HiOutlineCalendar } from 'react-icons/hi';
|
|
7
|
+
import { useForm, Controller } from 'react-hook-form';
|
|
8
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
9
|
+
|
|
10
|
+
var F=e(a(),1),g=e(a$1(),1);var Q=o=>{let t=new Date(Date.parse(o));return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes()))},T=(o,t=!1)=>{let a=t?new Date(Date.parse(o)):Q(o),l=W(a.getHours(),a.getMinutes());return `${X(a.getFullYear(),a.getMonth(),a.getDate())} ${l}`};var W=(o,t)=>{let a=o>12?o-12:o,l=o>11?"PM":"AM";return `${a}:${t.toString().padStart(2,"0")} ${l}`},X=(o,t,a)=>`${a.toString().padStart(2,"0")}-${Z[t]}-${o}`;var Z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var re=()=>{let o=[];for(let t=0;t<24;t++)for(let a=0;a<60;a+=15){let l=(t%12||12).toString(),u=a.toString().padStart(2,"0"),c=t<12?"AM":"PM",p=`${l}:${u} ${c}`;o.push(p);}return o};function H({id:o,dateValue:t,showError:a=!1,callback:l}){let[u,c$1]=useState(!1),p=re(),h=()=>{c$1(!0);},f=useRef(null);useEffect(()=>{let e=i=>{f.current&&!f.current.contains(i.target)&&c$1(!1);};return document.addEventListener("click",e,!0),()=>{document.removeEventListener("click",e,!0);}},[]),useEffect(()=>{if(t&&t instanceof Date){y("date",t.toISOString().split("T")[0]);let e=t.getHours(),i=t.getMinutes(),r=e===0?12:e>12?e-12:e,s=e<12?"AM":"PM",D=`${r.toString().padStart(2,"0")}:${i.toString().padStart(2,"0")} ${s}`;y("time",D);}},[t]);let w=useMemo(()=>{var e=new Date;return e.setDate(e.getDate()-1),e},[new Date().getDay()]),{control:v,reset:ne,handleSubmit:E,watch:ae,setValue:y,formState:{errors:m}}=useForm({defaultValues:{date:w.toISOString().split("T")[0],time:"12:00 AM"}}),[se,P]=useState(!1),[x,M]=useState(!1),R=useRef((0, F.default)(e=>{I(e);},500)).current,J=e=>{e.preventDefault(),c$1(!1),M(!1);},L=e=>{R(e);};function G(e,i){i=i.trim();let r=i.match(/(\d+):(\d+)\s?(AM|PM)/i),s=parseInt(r[1],10),D=parseInt(r[2],10),C=r[3].toUpperCase();C==="PM"&&s!==12?s+=12:C==="AM"&&s===12&&(s=0);let[Y,j,z]=e.split("-");return new Date(Y,j-1,z,s,D,0,0)}let I=e=>{if(e.emptyChk){P(!0);return}let i=G(e.date,e.time);l(i),c$1(!1);},$=()=>{x&&M(!1);},U=()=>{var e,i;return jsxs("div",{children:[jsx(Fragment,{children:jsxs("div",{className:"grid grid-cols-2 pb-4",children:[jsx(Controller,{name:"date",control:v,rules:{required:"A date is required.",validate:{whitespace:r=>((r==null?void 0:r.toString().trim())||"").length>0||"A date is required."}},render:({field:r})=>jsxs("div",{className:"w-full pr-1",children:[jsx("label",{htmlFor:"date",children:"Date"}),jsx("input",{type:"date",id:"datePicker",value:r.value,name:"date",max:w,onChange:s=>{r.onChange(s),$();},className:`mt-1 block w-full rounded-md border-gray-300 text-xs ${m.date?c:b}`})]})}),jsx(Controller,{name:"time",control:v,rules:{required:"A time is required.",validate:{whitespace:r=>((r==null?void 0:r.toString().trim())||"").length>0||"A time is required."}},render:({field:r})=>jsxs("div",{className:"w-full pr-1",children:[jsx("label",{htmlFor:"time",children:"Time"}),jsx("select",{id:"time-select",onChange:s=>{r.onChange(s),$();},className:"mt-1 block w-full rounded-md border-gray-300 text-xs",value:r.value,children:p.map(s=>jsx("option",{value:s,children:s},`time-option-${s}`))})]})})]})}),(m.date||m.time||x)&&jsx("div",{className:"pb-4 text-sm text-red-600 dark:text-red-500",children:((e=m.date)==null?void 0:e.message)||((i=m.time)==null?void 0:i.message)||"A valid date time is required."}),jsxs("div",{className:"flex justify-end gap-4",children:[jsx(a$2,{color:"gray",size:"sm",outline:!0,onClick:J,children:"Cancel"}),jsx(a$2,{color:"default",size:"sm",type:"submit",children:"Apply"})]})]})};return jsxs("div",{id:`${o}-panel`,className:"relative",children:[jsxs("div",{className:"relative",children:[jsx("input",{id:`${o}-input`,placeholder:"11-Aug-2024 12:00 AM",value:T(t,!0),className:`block p-2.5 w-full text-sm border rounded-lg cursor-pointer ${a?"bg-red-50 border border-red-500 text-red-900 placeholder-red-700 text-sm focus:ring-red-500 dark:bg-gray-700 focus:border-red-500 dark:text-red-500 dark:placeholder-red-500 dark:border-red-500":"text-gray-900 bg-gray-50 border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"}`,onClick:h,readOnly:!0}),jsx(HiOutlineCalendar,{className:"absolute right-2 top-3 cursor-pointer",onClick:h})]}),jsx("div",{id:`${o}-dropdown`,ref:f,className:`z-50 w-full mt-2 absolute ${u?"":"hidden"} left-0 bg-white divide-y divide-gray-100 rounded-lg shadow dark:bg-gray-700`,children:jsx("div",{className:"py-2 text-sm text-gray-700 dark:text-gray-200","aria-labelledby":"dropdownDefaultButton",children:jsx("form",{className:"space-y-6 p-3",onSubmit:E(L),children:u&&U()})})})]})}H.propTypes={id:g.default.string.isRequired,dateValue:g.default.instanceOf(Date).isRequired,showError:g.default.bool,callback:g.default.func.isRequired};H.displayName="DateTimeComponent";
|
|
11
|
+
|
|
12
|
+
export { H as a };
|
|
13
|
+
//# sourceMappingURL=out.js.map
|
|
14
|
+
//# sourceMappingURL=chunk-UP4YN4XR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/date-time-component.tsx","../src/helpers/datetime.js"],"names":["useState","useRef","useMemo","useEffect","HiOutlineCalendar","import_debounce","import_prop_types","useForm","Controller","ConvertUTCToLocal","utcTime","utcDate","GetDiscountDateTimeString","timeIsLocal","localDate","timeString","getTimeString","getDateString","hours","minutes","newHours","suffix","year","month","date","shortMonths","Fragment","jsx","jsxs","generateTimeOptions","times","i","j","hour","minute","period","time","DateTimeComponent","id","dateValue","showError","callback","showDropdown","setShowDropdown","timeOptions","handleShowDropdown","ref","handleClickOutside","e","setValue","mins","newTime","MinDate","d","control","reset","handleSubmit","watch","errors","err","setErr","dateErr","setDateErr","debouncedExport","debounce","data","exportRequest","handleCancel","onSubmit","convertToDate","timeParts","day","newDate","onChanged","renderContent","_a","_b","v","field","FAILURE_CONTROL","STANDARD_CONTROL","Button","PropTypes"],"mappings":"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","sourcesContent":["//@ts-nocheck\nimport { useState, useRef, useMemo, useEffect } from 'react'\nimport { HiOutlineCalendar } from 'react-icons/hi'\nimport { Button } from './button'\nimport { useForm, Controller } from 'react-hook-form'\nimport debounce from 'lodash/debounce'\nimport { variantProps } from 'classname-variants/react'\nimport { BiChevronDown } from 'react-icons/bi'\nimport PropTypes from 'prop-types'\nimport { GetDiscountDateTimeString } from './helpers/datetime'\nimport { STANDARD_CONTROL, FAILURE_CONTROL } from './helpers/colour'\n\n\nconst generateTimeOptions = () => {\n const times = [];\n for (let i = 0; i < 24; i++) {\n for (let j = 0; j < 60; j += 15) {\n const hour = (i % 12 || 12).toString(); // Convert 0 to 12 for 12 AM/PM and pad with zero\n const minute = j.toString().padStart(2, '0');\n const period = i < 12 ? 'AM' : 'PM';\n const time = `${hour}:${minute} ${period}`;\n times.push(time);\n }\n }\n return times;\n};\n\nexport function DateTimeComponent({ id, dateValue, showError=false, callback }) {\n const [showDropdown, setShowDropdown] = useState(false)\n const timeOptions = generateTimeOptions();\n\n const handleShowDropdown = () => {\n setShowDropdown(true)\n }\n\n const ref = useRef(null)\n\n useEffect(() => {\n const handleClickOutside = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setShowDropdown(false)\n }\n }\n\n document.addEventListener('click', handleClickOutside, true)\n return () => {\n document.removeEventListener('click', handleClickOutside, true)\n }\n }, [])\n\n useEffect(() => {\n if (dateValue && (dateValue instanceof Date)) {\n setValue('date', dateValue.toISOString().split(\"T\")[0])\n const hours = dateValue.getHours()\n const mins = dateValue.getMinutes()\n const newHours = hours === 0 ? 12 : hours > 12 ? hours - 12 : hours\n const suffix = hours < 12 ? 'AM' : 'PM'\n const newTime = `${newHours.toString().padStart(2, '0')}:${mins.toString().padStart(2, '0')} ${suffix}`\n setValue('time', newTime)\n }\n }, [dateValue])\n\n const MinDate = useMemo(() => {\n var d = new Date();\n d.setDate(d.getDate() - 1);\n return d;\n }, [new Date().getDay()]);\n\n const {\n control,\n reset,\n handleSubmit,\n watch,\n setValue,\n formState: { errors },\n } = useForm({\n defaultValues: {\n date: MinDate.toISOString().split(\"T\")[0],\n time: \"12:00 AM\"\n },\n });\n\n const [err, setErr] = useState(false);\n const [dateErr, setDateErr] = useState(false);\n\n\n\n const debouncedExport = useRef(\n debounce((data) => {\n exportRequest(data);\n }, 500)\n ).current;\n\n const handleCancel = (e) => {\n e.preventDefault();\n setShowDropdown(false);\n setDateErr(false);\n };\n\n const onSubmit = (data) => {\n debouncedExport(data);\n };\n\n function convertToDate(date, time) {\n time = time.trim(); \n const timeParts = time.match(/(\\d+):(\\d+)\\s?(AM|PM)/i);\n let hours = parseInt(timeParts[1], 10);\n const minutes = parseInt(timeParts[2], 10);\n const period = timeParts[3].toUpperCase();\n if (period === \"PM\" && hours !== 12) {\n hours += 12;\n } else if (period === \"AM\" && hours === 12) {\n hours = 0;\n }\n const [year, month, day] = date.split('-');\n const dateObj = new Date(year, month - 1, day, hours, minutes, 0, 0);\n return dateObj;\n }\n\n const exportRequest = (data) => {\n if (data.emptyChk) {\n setErr(true);\n return;\n }\n const newDate = convertToDate(data.date, data.time);\n callback(newDate);\n setShowDropdown(false)\n }\n\n const onChanged = () => {\n if (dateErr) setDateErr(false);\n };\n\n const renderContent = () => (\n <div>\n <>\n <div className=\"grid grid-cols-2 pb-4\">\n <Controller\n name=\"date\"\n control={control}\n rules={{\n required: \"A date is required.\",\n validate: {\n whitespace: (v) =>\n (v?.toString().trim() || \"\").length > 0 ||\n \"A date is required.\",\n },\n }}\n render={({ field }) => (\n <div className=\"w-full pr-1\">\n <label htmlFor=\"date\">Date</label>\n <input\n type=\"date\"\n id=\"datePicker\"\n value={field.value}\n name=\"date\"\n max={MinDate}\n onChange={(e) => {\n field.onChange(e);\n onChanged();\n }}\n className={`mt-1 block w-full rounded-md border-gray-300 text-xs ${errors.date ? FAILURE_CONTROL : STANDARD_CONTROL}`}\n />\n </div>\n )}\n />\n <Controller\n name=\"time\"\n control={control}\n rules={{\n required: \"A time is required.\",\n validate: {\n whitespace: (v) =>\n (v?.toString().trim() || \"\").length > 0 ||\n \"A time is required.\",\n },\n }}\n render={({ field }) => (\n <div className=\"w-full pr-1\">\n <label htmlFor=\"time\">Time</label>\n <select id=\"time-select\" onChange={(e) => {\n field.onChange(e);\n onChanged();\n }} \n className=\"mt-1 block w-full rounded-md border-gray-300 text-xs\"\n value={field.value}\n >\n {timeOptions.map((time) => (\n <option key={`time-option-${time}`} value={time}>{time}</option>\n ))}\n </select>\n </div>\n )}\n />\n </div>\n </>\n {(errors.date || errors.time || dateErr) &&\n <div className='pb-4 text-sm text-red-600 dark:text-red-500'>\n {errors.date?.message || errors.time?.message || 'A valid date time is required.'}\n </div>\n }\n <div className=\"flex justify-end gap-4\">\n <Button color=\"gray\" size=\"sm\" outline onClick={handleCancel}>\n Cancel\n </Button>\n <Button color=\"default\" size=\"sm\" type=\"submit\">\n Apply\n </Button>\n </div>\n </div>\n );\n\n return (\n <div id={`${id}-panel`} className=\"relative\">\n <div className='relative'>\n <input\n id={`${id}-input`}\n placeholder=\"11-Aug-2024 12:00 AM\"\n value={GetDiscountDateTimeString(dateValue, true)}\n className={`block p-2.5 w-full text-sm border rounded-lg cursor-pointer ${showError ? \n 'bg-red-50 border border-red-500 text-red-900 placeholder-red-700 text-sm focus:ring-red-500 dark:bg-gray-700 focus:border-red-500 dark:text-red-500 dark:placeholder-red-500 dark:border-red-500' : \n 'text-gray-900 bg-gray-50 border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500'}`\n }\n onClick={handleShowDropdown}\n readOnly\n />\n <HiOutlineCalendar className='absolute right-2 top-3 cursor-pointer' onClick={handleShowDropdown}/>\n </div>\n <div\n id={`${id}-dropdown`}\n ref={ref}\n className={`z-50 w-full mt-2 absolute ${\n showDropdown ? '' : 'hidden'\n } left-0 bg-white divide-y divide-gray-100 rounded-lg shadow dark:bg-gray-700`}\n >\n <div className=\"py-2 text-sm text-gray-700 dark:text-gray-200\" aria-labelledby=\"dropdownDefaultButton\">\n <form className=\"space-y-6 p-3\" onSubmit={handleSubmit(onSubmit)}>\n {showDropdown && renderContent()}\n </form>\n </div>\n </div>\n </div>\n );\n}\n\nDateTimeComponent.propTypes = {\n /** This is the unique Id for the DateTimePicker component */\n id: PropTypes.string.isRequired,\n /** Date object containing date to display in input control. Date should already be converted to local time */\n dateValue: PropTypes.instanceOf(Date).isRequired,\n /** This is an optional boolean option which changes the background colour of the input control to red */\n showError: PropTypes.bool,\n /** Callback function for the DateTimecomponent outputs the chosen date time in form of Date object*/\n callback: PropTypes.func.isRequired,\n};\n\nDateTimeComponent.displayName = \"DateTimeComponent\";\n","// Takes a date time string in UTC time and returns a Date object in local time\nexport const ConvertUTCToLocal = (utcTime) => {\n const utcDate = new Date(Date.parse(utcTime))\n return new Date(Date.UTC(utcDate.getFullYear(), utcDate.getMonth(), utcDate.getDate(), utcDate.getHours(), utcDate.getMinutes()))\n}\n// Returns date in format of e.g 30-Jun-2022 10:00 AM\nexport const GetDiscountDateTimeString = (utcTime, timeIsLocal = false) => {\n const localDate = timeIsLocal ? new Date(Date.parse(utcTime)) : ConvertUTCToLocal(utcTime)\n const timeString = getTimeString(localDate.getHours(), localDate.getMinutes())\n const dateString = getDateString(localDate.getFullYear(), localDate.getMonth(), localDate.getDate())\n return `${dateString} ${timeString}`\n}\n// Returns date in format of e.g 30-Jun-2022\nexport const GetDiscountDateString = (utcTime, timeIsLocal = false) => {\n const localDate = timeIsLocal ? new Date(Date.parse(utcTime)) : ConvertUTCToLocal(utcTime)\n return getDateString(localDate.getFullYear(), localDate.getMonth(), localDate.getDate())\n}\n\nexport const GetBrowserControlDateTimeString = (utcTime, timeIsLocal = false) => {\n const localDate = timeIsLocal ? new Date(Date.parse(utcTime)) : ConvertUTCToLocal(utcTime)\n return `${getBrowserDateString(localDate.getFullYear(),localDate.getMonth() + 1, localDate.getDate())}T${getBrowserTimeString(localDate.getHours(), localDate.getMinutes())}`\n}\n\nexport const GetBrowserControTimeString = (utcTime, timeIsLocal = false) => {\n const localDate = timeIsLocal ? new Date(Date.parse(utcTime)) : ConvertUTCToLocal(utcTime)\n return getBrowserTimeString(localDate.getHours(), localDate.getMinutes())\n}\n// Converts the time string, e.g. '06:00', into a full Date object \nexport const ConvertBrowserTimeStringToDate = (timeString) => {\n const parts = timeString.split(':')\n if (parts.length === 2) {\n const hours = Number(parts[0])\n const minutes = Number(parts[1])\n if (!isNaN(hours) && !isNaN(minutes)) {\n return new Date().setHours(hours, minutes, 0, 0)\n }\n }\n return new Date().setHours(0,0,0,0)\n}\n\nconst getBrowserDateString = (year, month, date) => {\n return `${year}-${month.toString().padStart(2, 0)}-${date.toString().padStart(2,0)}`\n}\n\nconst getBrowserTimeString = (hours, minutes) => {\n return `${hours.toString().padStart(2,0)}:${minutes.toString().padStart(2, 0)}`\n}\n\nconst getTimeString = (hours, minutes) =>\n{\n const newHours = hours > 12 ? hours - 12 : hours\n const suffix = hours > 11 ? 'PM' : 'AM'\n return `${newHours}:${minutes.toString().padStart(2, '0')} ${suffix}`\n}\n\nconst getDateString = (year, month, date) =>\n{\n return `${date.toString().padStart(2, '0')}-${shortMonths[month]}-${year}`\n}\n\n// left this in for future use\nconst months = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n]\n\nconst shortMonths = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec'\n]\n"]}
|
|
@@ -10,7 +10,7 @@ import '../chunk-XKE3VK6Z.js';
|
|
|
10
10
|
import '../chunk-7Q6OMA2A.js';
|
|
11
11
|
import '../chunk-GVNUAH45.js';
|
|
12
12
|
import '../chunk-JAR3LP2K.js';
|
|
13
|
-
import '../chunk-
|
|
13
|
+
import '../chunk-EK5I26TX.js';
|
|
14
14
|
import '../chunk-22RUXGYW.js';
|
|
15
15
|
import '../chunk-XXP5K6Y4.js';
|
|
16
16
|
import '../chunk-LWTESXND.js';
|
|
@@ -57,7 +57,7 @@ import '../chunk-D5TS3JJH.js';
|
|
|
57
57
|
import '../chunk-DSJ5TRZW.js';
|
|
58
58
|
import '../chunk-E4USZ2Q3.js';
|
|
59
59
|
import '../chunk-F47A36U7.js';
|
|
60
|
-
import '../chunk-
|
|
60
|
+
import '../chunk-UP4YN4XR.js';
|
|
61
61
|
import '../chunk-RRNNHYSF.js';
|
|
62
62
|
import '../chunk-4FSPYK2A.js';
|
|
63
63
|
import '../chunk-WLWG565K.js';
|
package/dist/drag-and-drop.js
CHANGED
|
@@ -10,7 +10,7 @@ import './chunk-XKE3VK6Z.js';
|
|
|
10
10
|
import './chunk-7Q6OMA2A.js';
|
|
11
11
|
import './chunk-GVNUAH45.js';
|
|
12
12
|
import './chunk-JAR3LP2K.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-EK5I26TX.js';
|
|
14
14
|
import './chunk-22RUXGYW.js';
|
|
15
15
|
import './chunk-XXP5K6Y4.js';
|
|
16
16
|
import './chunk-LWTESXND.js';
|
|
@@ -57,7 +57,7 @@ import './chunk-D5TS3JJH.js';
|
|
|
57
57
|
import './chunk-DSJ5TRZW.js';
|
|
58
58
|
import './chunk-E4USZ2Q3.js';
|
|
59
59
|
import './chunk-F47A36U7.js';
|
|
60
|
-
import './chunk-
|
|
60
|
+
import './chunk-UP4YN4XR.js';
|
|
61
61
|
import './chunk-RRNNHYSF.js';
|
|
62
62
|
import './chunk-4FSPYK2A.js';
|
|
63
63
|
import './chunk-WLWG565K.js';
|
|
@@ -10,7 +10,7 @@ import '../chunk-XKE3VK6Z.js';
|
|
|
10
10
|
import '../chunk-7Q6OMA2A.js';
|
|
11
11
|
import '../chunk-GVNUAH45.js';
|
|
12
12
|
import '../chunk-JAR3LP2K.js';
|
|
13
|
-
import '../chunk-
|
|
13
|
+
import '../chunk-EK5I26TX.js';
|
|
14
14
|
import '../chunk-22RUXGYW.js';
|
|
15
15
|
import '../chunk-XXP5K6Y4.js';
|
|
16
16
|
import '../chunk-LWTESXND.js';
|
|
@@ -57,7 +57,7 @@ import '../chunk-D5TS3JJH.js';
|
|
|
57
57
|
import '../chunk-DSJ5TRZW.js';
|
|
58
58
|
import '../chunk-E4USZ2Q3.js';
|
|
59
59
|
import '../chunk-F47A36U7.js';
|
|
60
|
-
import '../chunk-
|
|
60
|
+
import '../chunk-UP4YN4XR.js';
|
|
61
61
|
import '../chunk-RRNNHYSF.js';
|
|
62
62
|
import '../chunk-4FSPYK2A.js';
|
|
63
63
|
import '../chunk-WLWG565K.js';
|
package/dist/index.js
CHANGED
|
@@ -10,7 +10,7 @@ export { a as NBUI_Card } from './chunk-XKE3VK6Z.js';
|
|
|
10
10
|
export { a as NBUI_Container } from './chunk-7Q6OMA2A.js';
|
|
11
11
|
export { a as NBUI_Footer } from './chunk-GVNUAH45.js';
|
|
12
12
|
export { a as NBUI_Page_Layout } from './chunk-JAR3LP2K.js';
|
|
13
|
-
export { a as Pagination } from './chunk-
|
|
13
|
+
export { a as Pagination } from './chunk-EK5I26TX.js';
|
|
14
14
|
import './chunk-22RUXGYW.js';
|
|
15
15
|
export { a as Navbar } from './chunk-XXP5K6Y4.js';
|
|
16
16
|
export { a as NBUI_Card_Form } from './chunk-LWTESXND.js';
|
|
@@ -57,7 +57,7 @@ export { a as DateRangePicker } from './chunk-D5TS3JJH.js';
|
|
|
57
57
|
export { a as Select } from './chunk-DSJ5TRZW.js';
|
|
58
58
|
export { a as FormRow } from './chunk-E4USZ2Q3.js';
|
|
59
59
|
export { a as Label } from './chunk-F47A36U7.js';
|
|
60
|
-
export { a as DateTimeComponent } from './chunk-
|
|
60
|
+
export { a as DateTimeComponent } from './chunk-UP4YN4XR.js';
|
|
61
61
|
export { a as DateTimePicker } from './chunk-RRNNHYSF.js';
|
|
62
62
|
import './chunk-4FSPYK2A.js';
|
|
63
63
|
export { b as Accordion } from './chunk-WLWG565K.js';
|
package/dist/layout/layout.js
CHANGED
|
@@ -10,7 +10,7 @@ import '../chunk-XKE3VK6Z.js';
|
|
|
10
10
|
import '../chunk-7Q6OMA2A.js';
|
|
11
11
|
import '../chunk-GVNUAH45.js';
|
|
12
12
|
import '../chunk-JAR3LP2K.js';
|
|
13
|
-
import '../chunk-
|
|
13
|
+
import '../chunk-EK5I26TX.js';
|
|
14
14
|
import '../chunk-22RUXGYW.js';
|
|
15
15
|
import '../chunk-XXP5K6Y4.js';
|
|
16
16
|
import '../chunk-LWTESXND.js';
|
|
@@ -57,7 +57,7 @@ import '../chunk-D5TS3JJH.js';
|
|
|
57
57
|
import '../chunk-DSJ5TRZW.js';
|
|
58
58
|
import '../chunk-E4USZ2Q3.js';
|
|
59
59
|
import '../chunk-F47A36U7.js';
|
|
60
|
-
import '../chunk-
|
|
60
|
+
import '../chunk-UP4YN4XR.js';
|
|
61
61
|
import '../chunk-RRNNHYSF.js';
|
|
62
62
|
import '../chunk-4FSPYK2A.js';
|
|
63
63
|
import '../chunk-WLWG565K.js';
|
|
@@ -10,7 +10,7 @@ import '../chunk-XKE3VK6Z.js';
|
|
|
10
10
|
import '../chunk-7Q6OMA2A.js';
|
|
11
11
|
import '../chunk-GVNUAH45.js';
|
|
12
12
|
import '../chunk-JAR3LP2K.js';
|
|
13
|
-
import '../chunk-
|
|
13
|
+
import '../chunk-EK5I26TX.js';
|
|
14
14
|
import '../chunk-22RUXGYW.js';
|
|
15
15
|
import '../chunk-XXP5K6Y4.js';
|
|
16
16
|
import '../chunk-LWTESXND.js';
|
|
@@ -57,7 +57,7 @@ import '../chunk-D5TS3JJH.js';
|
|
|
57
57
|
import '../chunk-DSJ5TRZW.js';
|
|
58
58
|
import '../chunk-E4USZ2Q3.js';
|
|
59
59
|
import '../chunk-F47A36U7.js';
|
|
60
|
-
import '../chunk-
|
|
60
|
+
import '../chunk-UP4YN4XR.js';
|
|
61
61
|
import '../chunk-RRNNHYSF.js';
|
|
62
62
|
import '../chunk-4FSPYK2A.js';
|
|
63
63
|
import '../chunk-WLWG565K.js';
|
|
@@ -10,7 +10,7 @@ import './chunk-XKE3VK6Z.js';
|
|
|
10
10
|
import './chunk-7Q6OMA2A.js';
|
|
11
11
|
import './chunk-GVNUAH45.js';
|
|
12
12
|
import './chunk-JAR3LP2K.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-EK5I26TX.js';
|
|
14
14
|
import './chunk-22RUXGYW.js';
|
|
15
15
|
import './chunk-XXP5K6Y4.js';
|
|
16
16
|
import './chunk-LWTESXND.js';
|
|
@@ -57,7 +57,7 @@ import './chunk-D5TS3JJH.js';
|
|
|
57
57
|
import './chunk-DSJ5TRZW.js';
|
|
58
58
|
import './chunk-E4USZ2Q3.js';
|
|
59
59
|
import './chunk-F47A36U7.js';
|
|
60
|
-
import './chunk-
|
|
60
|
+
import './chunk-UP4YN4XR.js';
|
|
61
61
|
import './chunk-RRNNHYSF.js';
|
|
62
62
|
import './chunk-4FSPYK2A.js';
|
|
63
63
|
import './chunk-WLWG565K.js';
|
|
@@ -10,7 +10,7 @@ import './chunk-XKE3VK6Z.js';
|
|
|
10
10
|
import './chunk-7Q6OMA2A.js';
|
|
11
11
|
import './chunk-GVNUAH45.js';
|
|
12
12
|
import './chunk-JAR3LP2K.js';
|
|
13
|
-
import './chunk-
|
|
13
|
+
import './chunk-EK5I26TX.js';
|
|
14
14
|
import './chunk-22RUXGYW.js';
|
|
15
15
|
import './chunk-XXP5K6Y4.js';
|
|
16
16
|
import './chunk-LWTESXND.js';
|
|
@@ -57,7 +57,7 @@ import './chunk-D5TS3JJH.js';
|
|
|
57
57
|
import './chunk-DSJ5TRZW.js';
|
|
58
58
|
import './chunk-E4USZ2Q3.js';
|
|
59
59
|
import './chunk-F47A36U7.js';
|
|
60
|
-
import './chunk-
|
|
60
|
+
import './chunk-UP4YN4XR.js';
|
|
61
61
|
import './chunk-RRNNHYSF.js';
|
|
62
62
|
import './chunk-4FSPYK2A.js';
|
|
63
63
|
import './chunk-WLWG565K.js';
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@ const generateTimeOptions = () => {
|
|
|
15
15
|
const times = [];
|
|
16
16
|
for (let i = 0; i < 24; i++) {
|
|
17
17
|
for (let j = 0; j < 60; j += 15) {
|
|
18
|
-
const hour = (i % 12 || 12).toString()
|
|
18
|
+
const hour = (i % 12 || 12).toString(); // Convert 0 to 12 for 12 AM/PM and pad with zero
|
|
19
19
|
const minute = j.toString().padStart(2, '0');
|
|
20
20
|
const period = i < 12 ? 'AM' : 'PM';
|
|
21
21
|
const time = `${hour}:${minute} ${period}`;
|
package/src/helpers/datetime.js
CHANGED
|
@@ -50,7 +50,7 @@ const getTimeString = (hours, minutes) =>
|
|
|
50
50
|
{
|
|
51
51
|
const newHours = hours > 12 ? hours - 12 : hours
|
|
52
52
|
const suffix = hours > 11 ? 'PM' : 'AM'
|
|
53
|
-
return `${newHours}:${minutes.toString().padStart(2, '0')} ${suffix}
|
|
53
|
+
return `${newHours}:${minutes.toString().padStart(2, '0')} ${suffix}`
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
const getDateString = (year, month, date) =>
|
|
@@ -164,7 +164,7 @@ export function Pagination({
|
|
|
164
164
|
<>
|
|
165
165
|
<li>
|
|
166
166
|
<button
|
|
167
|
-
id="
|
|
167
|
+
id="btnPage1"
|
|
168
168
|
className={clsx(
|
|
169
169
|
current === 1 && "cursor-not-allowed",
|
|
170
170
|
"flex items-center justify-center border border-gray-300 bg-white px-3 py-2 text-sm leading-tight text-gray-500 hover:bg-gray-100 hover:text-gray-700 dark:border-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700 dark:hover:text-white"
|
package/dist/chunk-JFL77JIP.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { a, c, b } from './chunk-4FSPYK2A.js';
|
|
2
|
-
import { a as a$2 } from './chunk-VOFMZ77E.js';
|
|
3
|
-
import { a as a$1 } from './chunk-6LHL364H.js';
|
|
4
|
-
import { e } from './chunk-Z4LPO673.js';
|
|
5
|
-
import { useState, useRef, useEffect, useMemo } from 'react';
|
|
6
|
-
import { HiOutlineCalendar } from 'react-icons/hi';
|
|
7
|
-
import { useForm, Controller } from 'react-hook-form';
|
|
8
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
9
|
-
|
|
10
|
-
var F=e(a(),1),g=e(a$1(),1);var Q=o=>{let t=new Date(Date.parse(o));return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes()))},T=(o,t=!1)=>{let a=t?new Date(Date.parse(o)):Q(o),l=W(a.getHours(),a.getMinutes());return `${X(a.getFullYear(),a.getMonth(),a.getDate())} ${l}`};var W=(o,t)=>{let a=o>12?o-12:o,l=o>11?"PM":"AM";return `${a}:${t.toString().padStart(2,"0")} ${l} `},X=(o,t,a)=>`${a.toString().padStart(2,"0")}-${Z[t]}-${o}`;var Z=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];var re=()=>{let o=[];for(let t=0;t<24;t++)for(let a=0;a<60;a+=15){let l=(t%12||12).toString().padStart(2,"0"),u=a.toString().padStart(2,"0"),c=t<12?"AM":"PM",p=`${l}:${u} ${c}`;o.push(p);}return o};function H({id:o,dateValue:t,showError:a=!1,callback:l}){let[u,c$1]=useState(!1),p=re(),h=()=>{c$1(!0);},f=useRef(null);useEffect(()=>{let e=i=>{f.current&&!f.current.contains(i.target)&&c$1(!1);};return document.addEventListener("click",e,!0),()=>{document.removeEventListener("click",e,!0);}},[]),useEffect(()=>{if(t&&t instanceof Date){y("date",t.toISOString().split("T")[0]);let e=t.getHours(),i=t.getMinutes(),r=e===0?12:e>12?e-12:e,s=e<12?"AM":"PM",D=`${r.toString().padStart(2,"0")}:${i.toString().padStart(2,"0")} ${s}`;y("time",D);}},[t]);let w=useMemo(()=>{var e=new Date;return e.setDate(e.getDate()-1),e},[new Date().getDay()]),{control:v,reset:ne,handleSubmit:E,watch:ae,setValue:y,formState:{errors:m}}=useForm({defaultValues:{date:w.toISOString().split("T")[0],time:"12:00 AM"}}),[se,P]=useState(!1),[x,M]=useState(!1),R=useRef((0, F.default)(e=>{I(e);},500)).current,J=e=>{e.preventDefault(),c$1(!1),M(!1);},L=e=>{R(e);};function G(e,i){i=i.trim();let r=i.match(/(\d+):(\d+)\s?(AM|PM)/i),s=parseInt(r[1],10),D=parseInt(r[2],10),C=r[3].toUpperCase();C==="PM"&&s!==12?s+=12:C==="AM"&&s===12&&(s=0);let[Y,j,z]=e.split("-");return new Date(Y,j-1,z,s,D,0,0)}let I=e=>{if(e.emptyChk){P(!0);return}let i=G(e.date,e.time);l(i),c$1(!1);},$=()=>{x&&M(!1);},U=()=>{var e,i;return jsxs("div",{children:[jsx(Fragment,{children:jsxs("div",{className:"grid grid-cols-2 pb-4",children:[jsx(Controller,{name:"date",control:v,rules:{required:"A date is required.",validate:{whitespace:r=>((r==null?void 0:r.toString().trim())||"").length>0||"A date is required."}},render:({field:r})=>jsxs("div",{className:"w-full pr-1",children:[jsx("label",{htmlFor:"date",children:"Date"}),jsx("input",{type:"date",id:"datePicker",value:r.value,name:"date",max:w,onChange:s=>{r.onChange(s),$();},className:`mt-1 block w-full rounded-md border-gray-300 text-xs ${m.date?c:b}`})]})}),jsx(Controller,{name:"time",control:v,rules:{required:"A time is required.",validate:{whitespace:r=>((r==null?void 0:r.toString().trim())||"").length>0||"A time is required."}},render:({field:r})=>jsxs("div",{className:"w-full pr-1",children:[jsx("label",{htmlFor:"time",children:"Time"}),jsx("select",{id:"time-select",onChange:s=>{r.onChange(s),$();},className:"mt-1 block w-full rounded-md border-gray-300 text-xs",value:r.value,children:p.map(s=>jsx("option",{value:s,children:s},`time-option-${s}`))})]})})]})}),(m.date||m.time||x)&&jsx("div",{className:"pb-4 text-sm text-red-600 dark:text-red-500",children:((e=m.date)==null?void 0:e.message)||((i=m.time)==null?void 0:i.message)||"A valid date time is required."}),jsxs("div",{className:"flex justify-end gap-4",children:[jsx(a$2,{color:"gray",size:"sm",outline:!0,onClick:J,children:"Cancel"}),jsx(a$2,{color:"default",size:"sm",type:"submit",children:"Apply"})]})]})};return jsxs("div",{id:`${o}-panel`,className:"relative",children:[jsxs("div",{className:"relative",children:[jsx("input",{id:`${o}-input`,placeholder:"11-Aug-2024 12:00 AM",value:T(t,!0),className:`block p-2.5 w-full text-sm border rounded-lg cursor-pointer ${a?"bg-red-50 border border-red-500 text-red-900 placeholder-red-700 text-sm focus:ring-red-500 dark:bg-gray-700 focus:border-red-500 dark:text-red-500 dark:placeholder-red-500 dark:border-red-500":"text-gray-900 bg-gray-50 border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500"}`,onClick:h,readOnly:!0}),jsx(HiOutlineCalendar,{className:"absolute right-2 top-3 cursor-pointer",onClick:h})]}),jsx("div",{id:`${o}-dropdown`,ref:f,className:`z-50 w-full mt-2 absolute ${u?"":"hidden"} left-0 bg-white divide-y divide-gray-100 rounded-lg shadow dark:bg-gray-700`,children:jsx("div",{className:"py-2 text-sm text-gray-700 dark:text-gray-200","aria-labelledby":"dropdownDefaultButton",children:jsx("form",{className:"space-y-6 p-3",onSubmit:E(L),children:u&&U()})})})]})}H.propTypes={id:g.default.string.isRequired,dateValue:g.default.instanceOf(Date).isRequired,showError:g.default.bool,callback:g.default.func.isRequired};H.displayName="DateTimeComponent";
|
|
11
|
-
|
|
12
|
-
export { H as a };
|
|
13
|
-
//# sourceMappingURL=out.js.map
|
|
14
|
-
//# sourceMappingURL=chunk-JFL77JIP.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/date-time-component.tsx","../src/helpers/datetime.js"],"names":["useState","useRef","useMemo","useEffect","HiOutlineCalendar","import_debounce","import_prop_types","useForm","Controller","ConvertUTCToLocal","utcTime","utcDate","GetDiscountDateTimeString","timeIsLocal","localDate","timeString","getTimeString","getDateString","hours","minutes","newHours","suffix","year","month","date","shortMonths","Fragment","jsx","jsxs","generateTimeOptions","times","i","j","hour","minute","period","time","DateTimeComponent","id","dateValue","showError","callback","showDropdown","setShowDropdown","timeOptions","handleShowDropdown","ref","handleClickOutside","e","setValue","mins","newTime","MinDate","d","control","reset","handleSubmit","watch","errors","err","setErr","dateErr","setDateErr","debouncedExport","debounce","data","exportRequest","handleCancel","onSubmit","convertToDate","timeParts","day","newDate","onChanged","renderContent","_a","_b","v","field","FAILURE_CONTROL","STANDARD_CONTROL","Button","PropTypes"],"mappings":"8KACA,OAAS,YAAAA,EAAU,UAAAC,EAAQ,WAAAC,EAAS,aAAAC,MAAiB,QACrD,OAAS,qBAAAC,OAAyB,iBAGlC,IAAAC,EAAqB,SAGrBC,EAAsB,SAJtB,OAAS,WAAAC,GAAS,cAAAC,MAAkB,kBCH7B,IAAMC,EAAqBC,GAAY,CAC5C,IAAMC,EAAU,IAAI,KAAK,KAAK,MAAMD,CAAO,CAAC,EAC5C,OAAO,IAAI,KAAK,KAAK,IAAIC,EAAQ,YAAY,EAAGA,EAAQ,SAAS,EAAGA,EAAQ,QAAQ,EAAGA,EAAQ,SAAS,EAAGA,EAAQ,WAAW,CAAC,CAAC,CAClI,EAEaC,EAA4B,CAACF,EAASG,EAAc,KAAU,CACzE,IAAMC,EAAaD,EAAc,IAAI,KAAK,KAAK,MAAMH,CAAO,CAAC,EAAID,EAAkBC,CAAO,EACpFK,EAAaC,EAAcF,EAAU,SAAS,EAAGA,EAAU,WAAW,CAAC,EAE7E,MAAO,GADYG,EAAcH,EAAU,YAAY,EAAGA,EAAU,SAAS,EAAGA,EAAU,QAAQ,CAAC,KAC3EC,GAC1B,EAqCA,IAAMC,EAAgB,CAACE,EAAOC,IAC9B,CACE,IAAMC,EAAWF,EAAQ,GAAKA,EAAQ,GAAKA,EACrCG,EAASH,EAAQ,GAAK,KAAO,KACnC,MAAO,GAAGE,KAAYD,EAAQ,SAAS,EAAE,SAAS,EAAG,GAAG,KAAKE,IAC/D,EAEMJ,EAAgB,CAACK,EAAMC,EAAOC,IAE3B,GAAGA,EAAK,SAAS,EAAE,SAAS,EAAG,GAAG,KAAKC,EAAYF,CAAK,KAAKD,IAmBtE,IAAMG,EAAc,CAClB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACF,ED8CQ,mBAAAC,GAeU,OAAAC,EADF,QAAAC,MAdR,oBA1HR,IAAMC,GAAsB,IAAM,CAChC,IAAMC,EAAQ,CAAC,EACf,QAASC,EAAI,EAAGA,EAAI,GAAIA,IACtB,QAASC,EAAI,EAAGA,EAAI,GAAIA,GAAK,GAAI,CAC/B,IAAMC,GAAQF,EAAI,IAAM,IAAI,SAAS,EAAE,SAAS,EAAG,GAAG,EAChDG,EAASF,EAAE,SAAS,EAAE,SAAS,EAAG,GAAG,EACrCG,EAASJ,EAAI,GAAK,KAAO,KACzBK,EAAO,GAAGH,KAAQC,KAAUC,IAClCL,EAAM,KAAKM,CAAI,EAGnB,OAAON,CACT,EAEO,SAASO,EAAkB,CAAE,GAAAC,EAAI,UAAAC,EAAW,UAAAC,EAAU,GAAO,SAAAC,CAAS,EAAG,CAC9E,GAAM,CAACC,EAAcC,CAAe,EAAI3C,EAAS,EAAK,EAChD4C,EAAcf,GAAoB,EAElCgB,EAAqB,IAAM,CAC/BF,EAAgB,EAAI,CACtB,EAEMG,EAAM7C,EAAO,IAAI,EAEvBE,EAAU,IAAM,CACd,IAAM4C,EAAsBC,GAAM,CAC5BF,EAAI,SAAW,CAACA,EAAI,QAAQ,SAASE,EAAE,MAAM,GAC/CL,EAAgB,EAAK,CAEzB,EAEA,gBAAS,iBAAiB,QAASI,EAAoB,EAAI,EACpD,IAAM,CACX,SAAS,oBAAoB,QAASA,EAAoB,EAAI,CAChE,CACF,EAAG,CAAC,CAAC,EAEL5C,EAAU,IAAM,CACd,GAAIoC,GAAcA,aAAqB,KAAO,CAC5CU,EAAS,OAAQV,EAAU,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC,CAAC,EACtD,IAAMrB,EAAQqB,EAAU,SAAS,EAC3BW,EAAOX,EAAU,WAAW,EAC5BnB,EAAWF,IAAU,EAAI,GAAKA,EAAQ,GAAKA,EAAQ,GAAKA,EACxDG,EAASH,EAAQ,GAAK,KAAO,KAC7BiC,EAAU,GAAG/B,EAAS,SAAS,EAAE,SAAS,EAAG,GAAG,KAAK8B,EAAK,SAAS,EAAE,SAAS,EAAG,GAAG,KAAK7B,IAC/F4B,EAAS,OAAQE,CAAO,EAE5B,EAAG,CAACZ,CAAS,CAAC,EAEd,IAAMa,EAAUlD,EAAQ,IAAM,CAC5B,IAAImD,EAAI,IAAI,KACZ,OAAAA,EAAE,QAAQA,EAAE,QAAQ,EAAI,CAAC,EAClBA,CACT,EAAG,CAAC,IAAI,KAAK,EAAE,OAAO,CAAC,CAAC,EAElB,CACJ,QAAAC,EACA,MAAAC,GACA,aAAAC,EACA,MAAAC,GACA,SAAAR,EACA,UAAW,CAAE,OAAAS,CAAO,CACtB,EAAInD,GAAQ,CACV,cAAe,CACb,KAAM6C,EAAQ,YAAY,EAAE,MAAM,GAAG,EAAE,CAAC,EACxC,KAAM,UACR,CACF,CAAC,EAEK,CAACO,GAAKC,CAAM,EAAI5D,EAAS,EAAK,EAC9B,CAAC6D,EAASC,CAAU,EAAI9D,EAAS,EAAK,EAItC+D,EAAkB9D,KACtB,EAAA+D,SAAUC,GAAS,CACjBC,EAAcD,CAAI,CACpB,EAAG,GAAG,CACR,EAAE,QAEIE,EAAgB,GAAM,CAC1B,EAAE,eAAe,EACjBxB,EAAgB,EAAK,EACrBmB,EAAW,EAAK,CAClB,EAEMM,EAAYH,GAAS,CACzBF,EAAgBE,CAAI,CACtB,EAEA,SAASI,EAAc7C,EAAMY,EAAM,CACjCA,EAAOA,EAAK,KAAK,EACjB,IAAMkC,EAAYlC,EAAK,MAAM,wBAAwB,EACjDlB,EAAQ,SAASoD,EAAU,CAAC,EAAG,EAAE,EAC/BnD,EAAU,SAASmD,EAAU,CAAC,EAAG,EAAE,EACnCnC,EAASmC,EAAU,CAAC,EAAE,YAAY,EACpCnC,IAAW,MAAQjB,IAAU,GAC/BA,GAAS,GACAiB,IAAW,MAAQjB,IAAU,KACtCA,EAAQ,GAEV,GAAM,CAACI,EAAMC,EAAOgD,CAAG,EAAI/C,EAAK,MAAM,GAAG,EAEzC,OADgB,IAAI,KAAKF,EAAMC,EAAQ,EAAGgD,EAAKrD,EAAOC,EAAS,EAAG,CAAC,CAErE,CAEA,IAAM+C,EAAiBD,GAAS,CAC9B,GAAIA,EAAK,SAAU,CACjBL,EAAO,EAAI,EACX,OAEF,IAAMY,EAAUH,EAAcJ,EAAK,KAAMA,EAAK,IAAI,EAClDxB,EAAS+B,CAAO,EAChB7B,EAAgB,EAAK,CACvB,EAEM8B,EAAY,IAAM,CAClBZ,GAASC,EAAW,EAAK,CAC/B,EAEMY,EAAgB,IAAG,CArI3B,IAAAC,EAAAC,EAsII,OAAAhD,EAAC,OACG,UAAAD,EAAAD,GAAA,CACE,SAAAE,EAAC,OAAI,UAAU,wBACb,UAAAD,EAACnB,EAAA,CACC,KAAK,OACL,QAAS8C,EACT,MAAO,CACL,SAAU,sBACV,SAAU,CACR,WAAauB,KACVA,GAAA,YAAAA,EAAG,WAAW,SAAU,IAAI,OAAS,GACtC,qBACJ,CACF,EACA,OAAQ,CAAC,CAAE,MAAAC,CAAM,IACflD,EAAC,OAAI,UAAU,cACb,UAAAD,EAAC,SAAM,QAAQ,OAAO,gBAAI,EAC1BA,EAAC,SACC,KAAK,OACL,GAAG,aACH,MAAOmD,EAAM,MACb,KAAK,OACL,IAAK1B,EACL,SAAWJ,GAAM,CACf8B,EAAM,SAAS9B,CAAC,EAChByB,EAAU,CACZ,EACA,UAAW,wDAAwDf,EAAO,KAAOqB,EAAkBC,IACrG,GACF,EAEJ,EACArD,EAACnB,EAAA,CACC,KAAK,OACL,QAAS8C,EACT,MAAO,CACL,SAAU,sBACV,SAAU,CACR,WAAauB,KACVA,GAAA,YAAAA,EAAG,WAAW,SAAU,IAAI,OAAS,GACtC,qBACJ,CACF,EACA,OAAQ,CAAC,CAAE,MAAAC,CAAM,IACflD,EAAC,OAAI,UAAU,cACb,UAAAD,EAAC,SAAM,QAAQ,OAAO,gBAAI,EAC1BA,EAAC,UAAO,GAAG,cAAc,SAAWqB,GAAM,CACtC8B,EAAM,SAAS9B,CAAC,EAChByB,EAAU,CACZ,EACA,UAAU,uDACV,MAAOK,EAAM,MAEZ,SAAAlC,EAAY,IAAKR,GAChBT,EAAC,UAAmC,MAAOS,EAAO,SAAAA,GAArC,eAAeA,GAA2B,CACxD,EACH,GACF,EAEJ,GACF,EACF,GACAsB,EAAO,MAAQA,EAAO,MAAQG,IAC9BlC,EAAC,OAAI,UAAU,8CACZ,WAAAgD,EAAAjB,EAAO,OAAP,YAAAiB,EAAa,YAAWC,EAAAlB,EAAO,OAAP,YAAAkB,EAAa,UAAW,iCACnD,EAEFhD,EAAC,OAAI,UAAU,yBACb,UAAAD,EAACsD,EAAA,CAAO,MAAM,OAAO,KAAK,KAAK,QAAO,GAAC,QAASd,EAAc,kBAE9D,EACAxC,EAACsD,EAAA,CAAO,MAAM,UAAU,KAAK,KAAK,KAAK,SAAS,iBAEhD,GACF,GACF,GAGF,OACErD,EAAC,OAAI,GAAI,GAAGU,UAAY,UAAU,WAChC,UAAAV,EAAC,OAAI,UAAU,WACb,UAAAD,EAAC,SACC,GAAI,GAAGW,UACP,YAAY,uBACZ,MAAO1B,EAA0B2B,EAAW,EAAI,EAChD,UAAW,+DAA+DC,EACxE,mMACA,2NAEF,QAASK,EACT,SAAQ,GACV,EACAlB,EAACvB,GAAA,CAAkB,UAAU,wCAAwC,QAASyC,EAAmB,GACnG,EACAlB,EAAC,OACG,GAAI,GAAGW,aACP,IAAKQ,EACL,UAAW,6BACTJ,EAAe,GAAK,uFAGtB,SAAAf,EAAC,OAAI,UAAU,gDAAgD,kBAAgB,wBAC7E,SAAAA,EAAC,QAAK,UAAU,gBAAgB,SAAU6B,EAAaY,CAAQ,EAC5D,SAAA1B,GAAgBgC,EAAc,EACjC,EACF,EACF,GACJ,CAEJ,CAEArC,EAAkB,UAAY,CAE5B,GAAI,EAAA6C,QAAU,OAAO,WAErB,UAAW,EAAAA,QAAU,WAAW,IAAI,EAAE,WAEtC,UAAW,EAAAA,QAAU,KAErB,SAAU,EAAAA,QAAU,KAAK,UAC3B,EAEA7C,EAAkB,YAAc","sourcesContent":["//@ts-nocheck\nimport { useState, useRef, useMemo, useEffect } from 'react'\nimport { HiOutlineCalendar } from 'react-icons/hi'\nimport { Button } from './button'\nimport { useForm, Controller } from 'react-hook-form'\nimport debounce from 'lodash/debounce'\nimport { variantProps } from 'classname-variants/react'\nimport { BiChevronDown } from 'react-icons/bi'\nimport PropTypes from 'prop-types'\nimport { GetDiscountDateTimeString } from './helpers/datetime'\nimport { STANDARD_CONTROL, FAILURE_CONTROL } from './helpers/colour'\n\n\nconst generateTimeOptions = () => {\n const times = [];\n for (let i = 0; i < 24; i++) {\n for (let j = 0; j < 60; j += 15) {\n const hour = (i % 12 || 12).toString().padStart(2, '0'); // Convert 0 to 12 for 12 AM/PM and pad with zero\n const minute = j.toString().padStart(2, '0');\n const period = i < 12 ? 'AM' : 'PM';\n const time = `${hour}:${minute} ${period}`;\n times.push(time);\n }\n }\n return times;\n};\n\nexport function DateTimeComponent({ id, dateValue, showError=false, callback }) {\n const [showDropdown, setShowDropdown] = useState(false)\n const timeOptions = generateTimeOptions();\n\n const handleShowDropdown = () => {\n setShowDropdown(true)\n }\n\n const ref = useRef(null)\n\n useEffect(() => {\n const handleClickOutside = (e) => {\n if (ref.current && !ref.current.contains(e.target)) {\n setShowDropdown(false)\n }\n }\n\n document.addEventListener('click', handleClickOutside, true)\n return () => {\n document.removeEventListener('click', handleClickOutside, true)\n }\n }, [])\n\n useEffect(() => {\n if (dateValue && (dateValue instanceof Date)) {\n setValue('date', dateValue.toISOString().split(\"T\")[0])\n const hours = dateValue.getHours()\n const mins = dateValue.getMinutes()\n const newHours = hours === 0 ? 12 : hours > 12 ? hours - 12 : hours\n const suffix = hours < 12 ? 'AM' : 'PM'\n const newTime = `${newHours.toString().padStart(2, '0')}:${mins.toString().padStart(2, '0')} ${suffix}`\n setValue('time', newTime)\n }\n }, [dateValue])\n\n const MinDate = useMemo(() => {\n var d = new Date();\n d.setDate(d.getDate() - 1);\n return d;\n }, [new Date().getDay()]);\n\n const {\n control,\n reset,\n handleSubmit,\n watch,\n setValue,\n formState: { errors },\n } = useForm({\n defaultValues: {\n date: MinDate.toISOString().split(\"T\")[0],\n time: \"12:00 AM\"\n },\n });\n\n const [err, setErr] = useState(false);\n const [dateErr, setDateErr] = useState(false);\n\n\n\n const debouncedExport = useRef(\n debounce((data) => {\n exportRequest(data);\n }, 500)\n ).current;\n\n const handleCancel = (e) => {\n e.preventDefault();\n setShowDropdown(false);\n setDateErr(false);\n };\n\n const onSubmit = (data) => {\n debouncedExport(data);\n };\n\n function convertToDate(date, time) {\n time = time.trim(); \n const timeParts = time.match(/(\\d+):(\\d+)\\s?(AM|PM)/i);\n let hours = parseInt(timeParts[1], 10);\n const minutes = parseInt(timeParts[2], 10);\n const period = timeParts[3].toUpperCase();\n if (period === \"PM\" && hours !== 12) {\n hours += 12;\n } else if (period === \"AM\" && hours === 12) {\n hours = 0;\n }\n const [year, month, day] = date.split('-');\n const dateObj = new Date(year, month - 1, day, hours, minutes, 0, 0);\n return dateObj;\n }\n\n const exportRequest = (data) => {\n if (data.emptyChk) {\n setErr(true);\n return;\n }\n const newDate = convertToDate(data.date, data.time);\n callback(newDate);\n setShowDropdown(false)\n }\n\n const onChanged = () => {\n if (dateErr) setDateErr(false);\n };\n\n const renderContent = () => (\n <div>\n <>\n <div className=\"grid grid-cols-2 pb-4\">\n <Controller\n name=\"date\"\n control={control}\n rules={{\n required: \"A date is required.\",\n validate: {\n whitespace: (v) =>\n (v?.toString().trim() || \"\").length > 0 ||\n \"A date is required.\",\n },\n }}\n render={({ field }) => (\n <div className=\"w-full pr-1\">\n <label htmlFor=\"date\">Date</label>\n <input\n type=\"date\"\n id=\"datePicker\"\n value={field.value}\n name=\"date\"\n max={MinDate}\n onChange={(e) => {\n field.onChange(e);\n onChanged();\n }}\n className={`mt-1 block w-full rounded-md border-gray-300 text-xs ${errors.date ? FAILURE_CONTROL : STANDARD_CONTROL}`}\n />\n </div>\n )}\n />\n <Controller\n name=\"time\"\n control={control}\n rules={{\n required: \"A time is required.\",\n validate: {\n whitespace: (v) =>\n (v?.toString().trim() || \"\").length > 0 ||\n \"A time is required.\",\n },\n }}\n render={({ field }) => (\n <div className=\"w-full pr-1\">\n <label htmlFor=\"time\">Time</label>\n <select id=\"time-select\" onChange={(e) => {\n field.onChange(e);\n onChanged();\n }} \n className=\"mt-1 block w-full rounded-md border-gray-300 text-xs\"\n value={field.value}\n >\n {timeOptions.map((time) => (\n <option key={`time-option-${time}`} value={time}>{time}</option>\n ))}\n </select>\n </div>\n )}\n />\n </div>\n </>\n {(errors.date || errors.time || dateErr) &&\n <div className='pb-4 text-sm text-red-600 dark:text-red-500'>\n {errors.date?.message || errors.time?.message || 'A valid date time is required.'}\n </div>\n }\n <div className=\"flex justify-end gap-4\">\n <Button color=\"gray\" size=\"sm\" outline onClick={handleCancel}>\n Cancel\n </Button>\n <Button color=\"default\" size=\"sm\" type=\"submit\">\n Apply\n </Button>\n </div>\n </div>\n );\n\n return (\n <div id={`${id}-panel`} className=\"relative\">\n <div className='relative'>\n <input\n id={`${id}-input`}\n placeholder=\"11-Aug-2024 12:00 AM\"\n value={GetDiscountDateTimeString(dateValue, true)}\n className={`block p-2.5 w-full text-sm border rounded-lg cursor-pointer ${showError ? \n 'bg-red-50 border border-red-500 text-red-900 placeholder-red-700 text-sm focus:ring-red-500 dark:bg-gray-700 focus:border-red-500 dark:text-red-500 dark:placeholder-red-500 dark:border-red-500' : \n 'text-gray-900 bg-gray-50 border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500'}`\n }\n onClick={handleShowDropdown}\n readOnly\n />\n <HiOutlineCalendar className='absolute right-2 top-3 cursor-pointer' onClick={handleShowDropdown}/>\n </div>\n <div\n id={`${id}-dropdown`}\n ref={ref}\n className={`z-50 w-full mt-2 absolute ${\n showDropdown ? '' : 'hidden'\n } left-0 bg-white divide-y divide-gray-100 rounded-lg shadow dark:bg-gray-700`}\n >\n <div className=\"py-2 text-sm text-gray-700 dark:text-gray-200\" aria-labelledby=\"dropdownDefaultButton\">\n <form className=\"space-y-6 p-3\" onSubmit={handleSubmit(onSubmit)}>\n {showDropdown && renderContent()}\n </form>\n </div>\n </div>\n </div>\n );\n}\n\nDateTimeComponent.propTypes = {\n /** This is the unique Id for the DateTimePicker component */\n id: PropTypes.string.isRequired,\n /** Date object containing date to display in input control. Date should already be converted to local time */\n dateValue: PropTypes.instanceOf(Date).isRequired,\n /** This is an optional boolean option which changes the background colour of the input control to red */\n showError: PropTypes.bool,\n /** Callback function for the DateTimecomponent outputs the chosen date time in form of Date object*/\n callback: PropTypes.func.isRequired,\n};\n\nDateTimeComponent.displayName = \"DateTimeComponent\";\n","// Takes a date time string in UTC time and returns a Date object in local time\nexport const ConvertUTCToLocal = (utcTime) => {\n const utcDate = new Date(Date.parse(utcTime))\n return new Date(Date.UTC(utcDate.getFullYear(), utcDate.getMonth(), utcDate.getDate(), utcDate.getHours(), utcDate.getMinutes()))\n}\n// Returns date in format of e.g 30-Jun-2022 10:00 AM\nexport const GetDiscountDateTimeString = (utcTime, timeIsLocal = false) => {\n const localDate = timeIsLocal ? new Date(Date.parse(utcTime)) : ConvertUTCToLocal(utcTime)\n const timeString = getTimeString(localDate.getHours(), localDate.getMinutes())\n const dateString = getDateString(localDate.getFullYear(), localDate.getMonth(), localDate.getDate())\n return `${dateString} ${timeString}`\n}\n// Returns date in format of e.g 30-Jun-2022\nexport const GetDiscountDateString = (utcTime, timeIsLocal = false) => {\n const localDate = timeIsLocal ? new Date(Date.parse(utcTime)) : ConvertUTCToLocal(utcTime)\n return getDateString(localDate.getFullYear(), localDate.getMonth(), localDate.getDate())\n}\n\nexport const GetBrowserControlDateTimeString = (utcTime, timeIsLocal = false) => {\n const localDate = timeIsLocal ? new Date(Date.parse(utcTime)) : ConvertUTCToLocal(utcTime)\n return `${getBrowserDateString(localDate.getFullYear(),localDate.getMonth() + 1, localDate.getDate())}T${getBrowserTimeString(localDate.getHours(), localDate.getMinutes())}`\n}\n\nexport const GetBrowserControTimeString = (utcTime, timeIsLocal = false) => {\n const localDate = timeIsLocal ? new Date(Date.parse(utcTime)) : ConvertUTCToLocal(utcTime)\n return getBrowserTimeString(localDate.getHours(), localDate.getMinutes())\n}\n// Converts the time string, e.g. '06:00', into a full Date object \nexport const ConvertBrowserTimeStringToDate = (timeString) => {\n const parts = timeString.split(':')\n if (parts.length === 2) {\n const hours = Number(parts[0])\n const minutes = Number(parts[1])\n if (!isNaN(hours) && !isNaN(minutes)) {\n return new Date().setHours(hours, minutes, 0, 0)\n }\n }\n return new Date().setHours(0,0,0,0)\n}\n\nconst getBrowserDateString = (year, month, date) => {\n return `${year}-${month.toString().padStart(2, 0)}-${date.toString().padStart(2,0)}`\n}\n\nconst getBrowserTimeString = (hours, minutes) => {\n return `${hours.toString().padStart(2,0)}:${minutes.toString().padStart(2, 0)}`\n}\n\nconst getTimeString = (hours, minutes) =>\n{\n const newHours = hours > 12 ? hours - 12 : hours\n const suffix = hours > 11 ? 'PM' : 'AM'\n return `${newHours}:${minutes.toString().padStart(2, '0')} ${suffix} `\n}\n\nconst getDateString = (year, month, date) =>\n{\n return `${date.toString().padStart(2, '0')}-${shortMonths[month]}-${year}`\n}\n\n// left this in for future use\nconst months = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n]\n\nconst shortMonths = [\n 'Jan',\n 'Feb',\n 'Mar',\n 'Apr',\n 'May',\n 'Jun',\n 'Jul',\n 'Aug',\n 'Sep',\n 'Oct',\n 'Nov',\n 'Dec'\n]\n"]}
|