ekm-ui 0.4.47 → 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.
@@ -1,5 +1,5 @@
1
1
  $ tsup
2
- CLI Building entry: src/accordion.tsx, src/alert-banner.tsx, src/alert.tsx, src/avatar.tsx, src/badge.tsx, src/breadcrumb.tsx, src/button-group-item.tsx, src/button.tsx, src/card-payment-block.tsx, src/card.tsx, src/checkbox.tsx, src/color-picker.tsx, src/dashboard-notification.tsx, src/date-range-picker.tsx, src/date-time-component.tsx, src/date-time-picker.tsx, src/drag-and-drop.tsx, src/draggable-stacked-list-item.tsx, src/drawer.tsx, src/dropdown.tsx, src/ekm-logo.tsx, src/fixed-alert.tsx, src/footer-heart-icon.tsx, src/form-row.tsx, src/image-thumbnail.tsx, src/index.tsx, src/input-addon.tsx, src/input-copy.tsx, src/label.tsx, src/loading-button.tsx, src/love-footer.tsx, src/mini-feature-block.tsx, src/modal.tsx, src/no-results-block.tsx, src/page-header.tsx, src/pin-feature-button.tsx, src/progress-bar.tsx, src/radio.tsx, src/select.tsx, src/spinner.tsx, src/stacked-list-item.tsx, src/table-result-block.tsx, src/test-component.tsx, src/text-row.tsx, src/textarea.tsx, src/textinput.tsx, src/toggleswitch.tsx, src/video-dashboard-notification.tsx, src/video-modal.tsx, src/country-picker/country-listing.tsx, src/country-picker/country-modal.tsx, src/feature-cards/feature-card.tsx, src/feature-cards/staff-pick-card.tsx, src/featurePageComponents/feature-page-group.tsx, src/featurePageComponents/mini-feature-block.tsx, src/layout/layout.tsx, src/navbar/navbar.tsx, src/nbui/nbui-card-form.tsx, src/nbui/nbui-card-image.tsx, src/nbui/nbui-card-lg.tsx, src/nbui/nbui-card-paragraphs-lg.tsx, src/nbui/nbui-card-paragraphs.tsx, src/nbui/nbui-card-sm.tsx, src/nbui/nbui-card-table.tsx, src/nbui/nbui-card.tsx, src/nbui/nbui-container.tsx, src/nbui/nbui-footer.tsx, src/nbui/nbui-page-layout.tsx, src/pagination/pagination.tsx, src/file-picker/file-listing.tsx, src/file-picker/file-picker.tsx, src/product-picker/product-listing.tsx, src/product-picker/product-modal.tsx, src/search/search.tsx, src/sidebar/sidebar.tsx, src/sort/sort.tsx, src/table-header/table-header.tsx, src/toast/index.tsx, src/tooltip/tooltip.tsx
2
+ CLI Building entry: src/accordion.tsx, src/alert-banner.tsx, src/alert.tsx, src/avatar.tsx, src/badge.tsx, src/breadcrumb.tsx, src/button-group-item.tsx, src/button.tsx, src/card-payment-block.tsx, src/card.tsx, src/checkbox.tsx, src/color-picker.tsx, src/dashboard-notification.tsx, src/date-range-picker.tsx, src/date-time-component.tsx, src/date-time-picker.tsx, src/drag-and-drop.tsx, src/draggable-stacked-list-item.tsx, src/drawer.tsx, src/dropdown.tsx, src/ekm-logo.tsx, src/fixed-alert.tsx, src/footer-heart-icon.tsx, src/form-row.tsx, src/image-thumbnail.tsx, src/index.tsx, src/input-addon.tsx, src/input-copy.tsx, src/label.tsx, src/loading-button.tsx, src/love-footer.tsx, src/mini-feature-block.tsx, src/modal.tsx, src/no-results-block.tsx, src/page-header.tsx, src/pin-feature-button.tsx, src/progress-bar.tsx, src/radio.tsx, src/select.tsx, src/spinner.tsx, src/stacked-list-item.tsx, src/table-result-block.tsx, src/test-component.tsx, src/text-row.tsx, src/textarea.tsx, src/textinput.tsx, src/toggleswitch.tsx, src/video-dashboard-notification.tsx, src/video-modal.tsx, src/country-picker/country-listing.tsx, src/country-picker/country-modal.tsx, src/feature-cards/feature-card.tsx, src/feature-cards/staff-pick-card.tsx, src/featurePageComponents/feature-page-group.tsx, src/featurePageComponents/mini-feature-block.tsx, src/file-picker/file-listing.tsx, src/file-picker/file-picker.tsx, src/layout/layout.tsx, src/navbar/navbar.tsx, src/nbui/nbui-card-form.tsx, src/nbui/nbui-card-image.tsx, src/nbui/nbui-card-lg.tsx, src/nbui/nbui-card-paragraphs-lg.tsx, src/nbui/nbui-card-paragraphs.tsx, src/nbui/nbui-card-sm.tsx, src/nbui/nbui-card-table.tsx, src/nbui/nbui-card.tsx, src/nbui/nbui-container.tsx, src/nbui/nbui-footer.tsx, src/nbui/nbui-page-layout.tsx, src/pagination/pagination.tsx, src/product-picker/product-listing.tsx, src/product-picker/product-modal.tsx, src/search/search.tsx, src/sidebar/sidebar.tsx, src/sort/sort.tsx, src/table-header/table-header.tsx, src/toast/index.tsx, src/tooltip/tooltip.tsx
3
3
  CLI Using tsconfig: tsconfig.json
4
4
  CLI tsup v6.7.0
5
5
  CLI Using tsup config: /home/runner/work/dev/dev/frontend/packages/ekm-ui/tsup.config.ts
@@ -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
  DTS Build start
13
- DTS ⚡️ Build success in 71234ms
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
+ DTS ⚡️ Build success in 72198ms
14
15
  DTS dist/index.d.ts 3.76 KB
15
16
  DTS dist/footer-heart-icon.d.ts 70.00 B
16
17
  DTS dist/accordion.d.ts 2.19 KB
@@ -90,25 +91,21 @@ Browserslist: caniuse-lite is outdated. Please run:
90
91
  DTS dist/featurePageComponents/mini-feature-block.d.ts 254.00 B
91
92
  DTS dist/file-picker/file-listing.d.ts 992.00 B
92
93
  DTS dist/product-picker/product-listing.d.ts 890.00 B
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
- ESM dist/file-picker/file-picker.css 123.55 KB
95
- ESM dist/country-picker/country-modal.css 123.56 KB
96
- ESM dist/layout/layout.css 123.55 KB
97
- ESM dist/product-picker/product-modal.css 123.56 KB
98
94
  ESM dist/stacked-list-item.css 123.56 KB
99
95
  ESM dist/table-result-block.css 123.56 KB
100
96
  ESM dist/index.css 123.55 KB
101
97
  ESM dist/drag-and-drop.css 123.56 KB
102
98
  ESM dist/card-payment-block.css 123.56 KB
103
- ESM dist/file-picker/file-picker.css.map 175.51 KB
104
- ESM dist/country-picker/country-modal.css.map 175.51 KB
105
- ESM dist/layout/layout.css.map 175.51 KB
106
- ESM dist/product-picker/product-modal.css.map 175.51 KB
99
+ ESM dist/product-picker/product-modal.css 123.56 KB
100
+ ESM dist/file-picker/file-picker.css 123.55 KB
101
+ ESM dist/layout/layout.css 123.55 KB
102
+ ESM dist/country-picker/country-modal.css 123.56 KB
107
103
  ESM dist/stacked-list-item.css.map 175.51 KB
108
- ESM dist/table-result-block.css.map 175.51 KB
109
104
  ESM dist/index.css.map 175.51 KB
105
+ ESM dist/table-result-block.css.map 175.51 KB
110
106
  ESM dist/drag-and-drop.css.map 175.51 KB
111
107
  ESM dist/chunk-Z4LPO673.js 1.34 KB
108
+ ESM dist/card-payment-block.css.map 175.51 KB
112
109
  ESM dist/product-picker/product-modal.js 2.31 KB
113
110
  ESM dist/search/search.js 180.00 B
114
111
  ESM dist/sidebar/sidebar.js 151.00 B
@@ -116,19 +113,19 @@ Browserslist: caniuse-lite is outdated. Please run:
116
113
  ESM dist/table-header/table-header.js 284.00 B
117
114
  ESM dist/toast/index.js 189.00 B
118
115
  ESM dist/tooltip/tooltip.js 182.00 B
116
+ ESM dist/nbui/nbui-card-sm.js 164.00 B
117
+ ESM dist/nbui/nbui-card-table.js 167.00 B
119
118
  ESM dist/nbui/nbui-card.js 155.00 B
120
119
  ESM dist/nbui/nbui-container.js 165.00 B
121
120
  ESM dist/nbui/nbui-footer.js 159.00 B
122
121
  ESM dist/nbui/nbui-page-layout.js 261.00 B
123
122
  ESM dist/pagination/pagination.js 157.00 B
124
- ESM dist/file-picker/file-listing.js 218.00 B
125
- ESM dist/file-picker/file-picker.js 2.30 KB
126
123
  ESM dist/product-picker/product-listing.js 252.00 B
124
+ ESM dist/file-picker/file-picker.js 2.30 KB
125
+ ESM dist/layout/layout.js 2.29 KB
127
126
  ESM dist/navbar/navbar.js 180.00 B
128
127
  ESM dist/nbui/nbui-card-form.js 165.00 B
129
128
  ESM dist/nbui/nbui-card-image.js 167.00 B
130
- ESM dist/nbui/nbui-card-sm.js 164.00 B
131
- ESM dist/nbui/nbui-card-table.js 167.00 B
132
129
  ESM dist/video-modal.js 156.00 B
133
130
  ESM dist/country-picker/country-listing.js 259.00 B
134
131
  ESM dist/country-picker/country-modal.js 2.31 KB
@@ -136,13 +133,16 @@ Browserslist: caniuse-lite is outdated. Please run:
136
133
  ESM dist/feature-cards/staff-pick-card.js 165.00 B
137
134
  ESM dist/featurePageComponents/feature-page-group.js 171.00 B
138
135
  ESM dist/featurePageComponents/mini-feature-block.js 738.00 B
139
- ESM dist/layout/layout.js 2.29 KB
136
+ ESM dist/nbui/nbui-card-lg.js 164.00 B
137
+ ESM dist/nbui/nbui-card-paragraphs.js 177.00 B
138
+ ESM dist/nbui/nbui-card-paragraphs-lg.js 186.00 B
139
+ ESM dist/file-picker/file-listing.js 218.00 B
140
140
  ESM dist/stacked-list-item.js 2.24 KB
141
141
  ESM dist/table-result-block.js 2.25 KB
142
142
  ESM dist/test-component.js 162.00 B
143
+ ESM dist/text-row.js 180.00 B
143
144
  ESM dist/textarea.js 181.00 B
144
145
  ESM dist/textinput.js 183.00 B
145
- ESM dist/text-row.js 180.00 B
146
146
  ESM dist/toggleswitch.js 189.00 B
147
147
  ESM dist/video-dashboard-notification.js 189.00 B
148
148
  ESM dist/modal.js 209.00 B
@@ -155,8 +155,8 @@ Browserslist: caniuse-lite is outdated. Please run:
155
155
  ESM dist/spinner.js 149.00 B
156
156
  ESM dist/image-thumbnail.js 164.00 B
157
157
  ESM dist/index.js 4.04 KB
158
- ESM dist/input-copy.js 214.00 B
159
158
  ESM dist/input-addon.js 156.00 B
159
+ ESM dist/input-copy.js 214.00 B
160
160
  ESM dist/label.js 145.00 B
161
161
  ESM dist/loading-button.js 192.00 B
162
162
  ESM dist/love-footer.js 156.00 B
@@ -170,21 +170,19 @@ Browserslist: caniuse-lite is outdated. Please run:
170
170
  ESM dist/footer-heart-icon.js 56.43 KB
171
171
  ESM dist/form-row.js 180.00 B
172
172
  ESM dist/card-payment-block.js 2.25 KB
173
- ESM dist/nbui/nbui-card-lg.js 164.00 B
174
- ESM dist/nbui/nbui-card-paragraphs-lg.js 186.00 B
175
- ESM dist/nbui/nbui-card-paragraphs.js 177.00 B
176
- ESM dist/chunk-EPDOLN57.js 29.34 KB
173
+ ESM dist/chunk-UHSXJRCR.js 29.34 KB
177
174
  ESM dist/chunk-LQKVFBLU.js 3.53 KB
178
175
  ESM dist/chunk-HVNLAQA6.js 1.81 KB
179
176
  ESM dist/chunk-HW7AZG2V.js 2.04 KB
180
177
  ESM dist/chunk-HE5X7TRV.js 75.66 KB
181
178
  ESM dist/chunk-YZ2YZSNQ.js 2.37 KB
179
+ ESM dist/chunk-YXTGVTGL.js 633.00 B
180
+ ESM dist/chunk-EZPRW5WN.js 2.72 KB
182
181
  ESM dist/chunk-XKE3VK6Z.js 759.00 B
183
182
  ESM dist/chunk-7Q6OMA2A.js 782.00 B
184
183
  ESM dist/chunk-GVNUAH45.js 347.00 B
185
184
  ESM dist/chunk-JAR3LP2K.js 809.00 B
186
185
  ESM dist/chunk-EK5I26TX.js 6.72 KB
187
- ESM dist/chunk-FPXEE5TC.js 3.80 KB
188
186
  ESM dist/chunk-22RUXGYW.js 4.46 KB
189
187
  ESM dist/chunk-XXP5K6Y4.js 10.39 KB
190
188
  ESM dist/chunk-LWTESXND.js 1.57 KB
@@ -192,13 +190,12 @@ Browserslist: caniuse-lite is outdated. Please run:
192
190
  ESM dist/chunk-GWERJBUR.js 885.00 B
193
191
  ESM dist/chunk-I2DMRDYJ.js 1.29 KB
194
192
  ESM dist/chunk-FTVJMY65.js 885.00 B
195
- ESM dist/chunk-YXTGVTGL.js 633.00 B
196
- ESM dist/chunk-EZPRW5WN.js 2.72 KB
197
193
  ESM dist/chunk-Y5DEGGVQ.js 1.75 KB
198
194
  ESM dist/chunk-F7MTEILK.js 1.69 KB
199
195
  ESM dist/chunk-7WJGATIR.js 1.35 KB
200
196
  ESM dist/chunk-RTRHNOTP.js 690.00 B
201
197
  ESM dist/chunk-XABECXZS.js 1017.00 B
198
+ ESM dist/chunk-FPXEE5TC.js 3.80 KB
202
199
  ESM dist/chunk-WVAVR5V6.js 347.00 B
203
200
  ESM dist/chunk-2VS7BVWY.js 635.00 B
204
201
  ESM dist/chunk-QCHLLBHM.js 1.39 KB
@@ -207,7 +204,6 @@ Browserslist: caniuse-lite is outdated. Please run:
207
204
  ESM dist/chunk-AVTJXS4U.js 544.00 B
208
205
  ESM dist/chunk-SFEJDNIA.js 1.14 KB
209
206
  ESM dist/chunk-FZMSZISH.js 904.00 B
210
- ESM dist/card-payment-block.css.map 175.51 KB
211
207
  ESM dist/chunk-THOZT55U.js 2.51 KB
212
208
  ESM dist/chunk-E5KIDP3Z.js 1.04 KB
213
209
  ESM dist/chunk-R3QJRZTP.js 989.00 B
@@ -222,66 +218,70 @@ Browserslist: caniuse-lite is outdated. Please run:
222
218
  ESM dist/chunk-M4UBHZDH.js 1.50 KB
223
219
  ESM dist/chunk-TMO76FWT.js 1.30 KB
224
220
  ESM dist/chunk-NDDDT4TO.js 1.63 KB
225
- ESM dist/chunk-QYKN3JZ5.js 3.46 KB
226
221
  ESM dist/chunk-SLIZ4TDR.js 1.68 KB
222
+ ESM dist/chunk-QYKN3JZ5.js 3.46 KB
227
223
  ESM dist/chunk-F3BF3KTV.js 723.00 B
228
224
  ESM dist/card.js 173.00 B
229
- ESM dist/checkbox.js 211.00 B
230
225
  ESM dist/chunk-ANU7OAPA.js 1.08 KB
231
226
  ESM dist/color-picker.js 188.00 B
232
227
  ESM dist/chunk-ISA6E23B.js 1.14 KB
228
+ ESM dist/dashboard-notification.js 238.00 B
229
+ ESM dist/chunk-3PTVTRDP.js 1.16 KB
230
+ ESM dist/chunk-ER5CL77P.js 588.00 B
233
231
  ESM dist/date-range-picker.js 377.00 B
234
232
  ESM dist/chunk-D5TS3JJH.js 7.17 KB
235
233
  ESM dist/chunk-DSJ5TRZW.js 1.36 KB
236
234
  ESM dist/chunk-E4USZ2Q3.js 655.00 B
237
235
  ESM dist/chunk-F47A36U7.js 438.00 B
238
236
  ESM dist/date-time-component.js 291.00 B
239
- ESM dist/chunk-JFL77JIP.js 5.27 KB
240
237
  ESM dist/date-time-picker.js 285.00 B
241
- ESM dist/chunk-RRNNHYSF.js 5.67 KB
238
+ ESM dist/chunk-UP4YN4XR.js 5.25 KB
242
239
  ESM dist/chunk-4FSPYK2A.js 3.40 KB
240
+ ESM dist/chunk-RRNNHYSF.js 5.67 KB
243
241
  ESM dist/accordion.js 271.00 B
244
242
  ESM dist/chunk-WLWG565K.js 2.61 KB
245
243
  ESM dist/alert-banner.js 188.00 B
246
244
  ESM dist/chunk-5SEJVYKM.js 3.01 KB
247
- ESM dist/alert.js 145.00 B
248
245
  ESM dist/chunk-MBACKGWE.js 937.00 B
249
- ESM dist/avatar.js 207.00 B
246
+ ESM dist/alert.js 145.00 B
250
247
  ESM dist/chunk-2OPJLYW6.js 1.69 KB
248
+ ESM dist/avatar.js 207.00 B
251
249
  ESM dist/badge.js 205.00 B
252
250
  ESM dist/chunk-P5IM3T4M.js 2.88 KB
253
- ESM dist/breadcrumb.js 227.00 B
254
251
  ESM dist/chunk-TRVGXTCI.js 1.58 KB
252
+ ESM dist/breadcrumb.js 227.00 B
255
253
  ESM dist/button-group-item.js 167.00 B
256
254
  ESM dist/chunk-XYGVDZRO.js 696.00 B
257
255
  ESM dist/button.js 207.00 B
258
256
  ESM dist/chunk-VOFMZ77E.js 3.86 KB
259
- ESM dist/chunk-TJMI4DH2.js 19.88 KB
260
257
  ESM dist/chunk-6LHL364H.js 15.70 KB
261
- ESM dist/dashboard-notification.js 238.00 B
262
- ESM dist/chunk-3PTVTRDP.js 1.16 KB
263
- ESM dist/chunk-ER5CL77P.js 588.00 B
258
+ ESM dist/chunk-TJMI4DH2.js 19.88 KB
259
+ ESM dist/checkbox.js 211.00 B
260
+ ESM dist/product-picker/product-modal.css.map 175.51 KB
261
+ ESM dist/file-picker/file-picker.css.map 175.51 KB
262
+ ESM dist/layout/layout.css.map 175.51 KB
263
+ ESM dist/country-picker/country-modal.css.map 175.51 KB
264
264
  ESM dist/chunk-Z4LPO673.js.map 71.00 B
265
265
  ESM dist/product-picker/product-modal.js.map 51.00 B
266
+ ESM dist/sidebar/sidebar.js.map 51.00 B
266
267
  ESM dist/search/search.js.map 51.00 B
267
268
  ESM dist/sort/sort.js.map 51.00 B
268
- ESM dist/sidebar/sidebar.js.map 51.00 B
269
269
  ESM dist/table-header/table-header.js.map 51.00 B
270
270
  ESM dist/toast/index.js.map 51.00 B
271
+ ESM dist/nbui/nbui-card-sm.js.map 51.00 B
271
272
  ESM dist/tooltip/tooltip.js.map 51.00 B
273
+ ESM dist/nbui/nbui-card-table.js.map 51.00 B
272
274
  ESM dist/nbui/nbui-card.js.map 51.00 B
273
275
  ESM dist/nbui/nbui-container.js.map 51.00 B
274
276
  ESM dist/nbui/nbui-footer.js.map 51.00 B
275
277
  ESM dist/nbui/nbui-page-layout.js.map 51.00 B
276
278
  ESM dist/pagination/pagination.js.map 51.00 B
277
- ESM dist/file-picker/file-listing.js.map 51.00 B
278
- ESM dist/file-picker/file-picker.js.map 51.00 B
279
279
  ESM dist/product-picker/product-listing.js.map 51.00 B
280
+ ESM dist/file-picker/file-picker.js.map 51.00 B
281
+ ESM dist/layout/layout.js.map 51.00 B
280
282
  ESM dist/navbar/navbar.js.map 51.00 B
281
283
  ESM dist/nbui/nbui-card-form.js.map 51.00 B
282
284
  ESM dist/nbui/nbui-card-image.js.map 51.00 B
283
- ESM dist/nbui/nbui-card-sm.js.map 51.00 B
284
- ESM dist/nbui/nbui-card-table.js.map 51.00 B
285
285
  ESM dist/video-modal.js.map 51.00 B
286
286
  ESM dist/country-picker/country-listing.js.map 51.00 B
287
287
  ESM dist/country-picker/country-modal.js.map 51.00 B
@@ -289,13 +289,16 @@ Browserslist: caniuse-lite is outdated. Please run:
289
289
  ESM dist/feature-cards/staff-pick-card.js.map 51.00 B
290
290
  ESM dist/featurePageComponents/feature-page-group.js.map 51.00 B
291
291
  ESM dist/featurePageComponents/mini-feature-block.js.map 1.54 KB
292
- ESM dist/layout/layout.js.map 51.00 B
292
+ ESM dist/nbui/nbui-card-lg.js.map 51.00 B
293
+ ESM dist/nbui/nbui-card-paragraphs.js.map 51.00 B
294
+ ESM dist/nbui/nbui-card-paragraphs-lg.js.map 51.00 B
295
+ ESM dist/file-picker/file-listing.js.map 51.00 B
293
296
  ESM dist/stacked-list-item.js.map 51.00 B
294
297
  ESM dist/table-result-block.js.map 51.00 B
295
298
  ESM dist/test-component.js.map 51.00 B
299
+ ESM dist/text-row.js.map 51.00 B
296
300
  ESM dist/textarea.js.map 51.00 B
297
301
  ESM dist/textinput.js.map 51.00 B
298
- ESM dist/text-row.js.map 51.00 B
299
302
  ESM dist/toggleswitch.js.map 51.00 B
300
303
  ESM dist/video-dashboard-notification.js.map 51.00 B
301
304
  ESM dist/modal.js.map 51.00 B
@@ -308,8 +311,8 @@ Browserslist: caniuse-lite is outdated. Please run:
308
311
  ESM dist/spinner.js.map 51.00 B
309
312
  ESM dist/image-thumbnail.js.map 51.00 B
310
313
  ESM dist/index.js.map 51.00 B
311
- ESM dist/input-copy.js.map 51.00 B
312
314
  ESM dist/input-addon.js.map 51.00 B
315
+ ESM dist/input-copy.js.map 51.00 B
313
316
  ESM dist/label.js.map 51.00 B
314
317
  ESM dist/loading-button.js.map 51.00 B
315
318
  ESM dist/love-footer.js.map 51.00 B
@@ -323,20 +326,17 @@ Browserslist: caniuse-lite is outdated. Please run:
323
326
  ESM dist/footer-heart-icon.js.map 57.05 KB
324
327
  ESM dist/form-row.js.map 51.00 B
325
328
  ESM dist/card-payment-block.js.map 51.00 B
326
- ESM dist/nbui/nbui-card-lg.js.map 51.00 B
327
- ESM dist/nbui/nbui-card-paragraphs-lg.js.map 51.00 B
328
- ESM dist/nbui/nbui-card-paragraphs.js.map 51.00 B
329
- ESM dist/chunk-EPDOLN57.js.map 81.55 KB
330
329
  ESM dist/chunk-LQKVFBLU.js.map 10.01 KB
331
330
  ESM dist/chunk-HVNLAQA6.js.map 5.19 KB
332
331
  ESM dist/chunk-HW7AZG2V.js.map 4.63 KB
333
332
  ESM dist/chunk-YZ2YZSNQ.js.map 5.68 KB
333
+ ESM dist/chunk-YXTGVTGL.js.map 929.00 B
334
+ ESM dist/chunk-EZPRW5WN.js.map 4.23 KB
334
335
  ESM dist/chunk-XKE3VK6Z.js.map 1.08 KB
335
336
  ESM dist/chunk-7Q6OMA2A.js.map 1.28 KB
336
337
  ESM dist/chunk-GVNUAH45.js.map 525.00 B
337
338
  ESM dist/chunk-JAR3LP2K.js.map 1.89 KB
338
339
  ESM dist/chunk-EK5I26TX.js.map 14.11 KB
339
- ESM dist/chunk-FPXEE5TC.js.map 8.39 KB
340
340
  ESM dist/chunk-22RUXGYW.js.map 9.89 KB
341
341
  ESM dist/chunk-XXP5K6Y4.js.map 24.62 KB
342
342
  ESM dist/chunk-LWTESXND.js.map 2.48 KB
@@ -344,13 +344,12 @@ Browserslist: caniuse-lite is outdated. Please run:
344
344
  ESM dist/chunk-GWERJBUR.js.map 1.29 KB
345
345
  ESM dist/chunk-I2DMRDYJ.js.map 1.98 KB
346
346
  ESM dist/chunk-FTVJMY65.js.map 1.30 KB
347
- ESM dist/chunk-YXTGVTGL.js.map 929.00 B
348
- ESM dist/chunk-EZPRW5WN.js.map 4.23 KB
349
347
  ESM dist/chunk-Y5DEGGVQ.js.map 3.34 KB
350
348
  ESM dist/chunk-F7MTEILK.js.map 4.07 KB
351
349
  ESM dist/chunk-7WJGATIR.js.map 2.92 KB
352
350
  ESM dist/chunk-RTRHNOTP.js.map 1.27 KB
353
351
  ESM dist/chunk-XABECXZS.js.map 1.77 KB
352
+ ESM dist/chunk-FPXEE5TC.js.map 8.39 KB
354
353
  ESM dist/chunk-WVAVR5V6.js.map 762.00 B
355
354
  ESM dist/chunk-2VS7BVWY.js.map 1.30 KB
356
355
  ESM dist/chunk-QCHLLBHM.js.map 2.86 KB
@@ -373,44 +372,45 @@ Browserslist: caniuse-lite is outdated. Please run:
373
372
  ESM dist/chunk-M4UBHZDH.js.map 3.33 KB
374
373
  ESM dist/chunk-TMO76FWT.js.map 2.48 KB
375
374
  ESM dist/chunk-NDDDT4TO.js.map 3.64 KB
376
- ESM dist/chunk-QYKN3JZ5.js.map 8.04 KB
377
375
  ESM dist/chunk-SLIZ4TDR.js.map 2.43 KB
376
+ ESM dist/chunk-QYKN3JZ5.js.map 8.04 KB
378
377
  ESM dist/chunk-F3BF3KTV.js.map 1.48 KB
379
378
  ESM dist/card.js.map 51.00 B
380
- ESM dist/checkbox.js.map 51.00 B
381
379
  ESM dist/chunk-ANU7OAPA.js.map 2.27 KB
382
380
  ESM dist/color-picker.js.map 51.00 B
383
381
  ESM dist/chunk-ISA6E23B.js.map 3.32 KB
382
+ ESM dist/dashboard-notification.js.map 51.00 B
383
+ ESM dist/chunk-3PTVTRDP.js.map 2.56 KB
384
+ ESM dist/chunk-ER5CL77P.js.map 998.00 B
384
385
  ESM dist/date-range-picker.js.map 51.00 B
385
386
  ESM dist/chunk-D5TS3JJH.js.map 20.14 KB
386
387
  ESM dist/chunk-DSJ5TRZW.js.map 3.05 KB
387
388
  ESM dist/chunk-E4USZ2Q3.js.map 1.57 KB
388
389
  ESM dist/chunk-F47A36U7.js.map 768.00 B
389
390
  ESM dist/date-time-component.js.map 51.00 B
390
- ESM dist/chunk-JFL77JIP.js.map 17.93 KB
391
- ESM dist/date-time-picker.js.map 51.00 B
392
- ESM dist/chunk-RRNNHYSF.js.map 15.80 KB
393
391
  ESM dist/chunk-4FSPYK2A.js.map 21.34 KB
392
+ ESM dist/chunk-RRNNHYSF.js.map 15.80 KB
394
393
  ESM dist/accordion.js.map 51.00 B
395
394
  ESM dist/chunk-WLWG565K.js.map 7.81 KB
396
395
  ESM dist/alert-banner.js.map 51.00 B
396
+ ESM dist/date-time-picker.js.map 51.00 B
397
+ ESM dist/chunk-UP4YN4XR.js.map 17.89 KB
397
398
  ESM dist/chunk-5SEJVYKM.js.map 6.15 KB
398
- ESM dist/alert.js.map 51.00 B
399
- ESM dist/chunk-MBACKGWE.js.map 2.14 KB
400
- ESM dist/avatar.js.map 51.00 B
401
399
  ESM dist/chunk-2OPJLYW6.js.map 4.13 KB
400
+ ESM dist/avatar.js.map 51.00 B
402
401
  ESM dist/badge.js.map 51.00 B
403
402
  ESM dist/chunk-P5IM3T4M.js.map 4.20 KB
404
- ESM dist/breadcrumb.js.map 51.00 B
405
403
  ESM dist/chunk-TRVGXTCI.js.map 3.33 KB
406
- ESM dist/chunk-XYGVDZRO.js.map 1.25 KB
404
+ ESM dist/breadcrumb.js.map 51.00 B
407
405
  ESM dist/button-group-item.js.map 51.00 B
406
+ ESM dist/chunk-XYGVDZRO.js.map 1.25 KB
408
407
  ESM dist/button.js.map 51.00 B
409
408
  ESM dist/chunk-VOFMZ77E.js.map 7.27 KB
410
- ESM dist/chunk-TJMI4DH2.js.map 117.04 KB
411
409
  ESM dist/chunk-6LHL364H.js.map 62.53 KB
412
- ESM dist/dashboard-notification.js.map 51.00 B
410
+ ESM dist/chunk-MBACKGWE.js.map 2.14 KB
411
+ ESM dist/alert.js.map 51.00 B
412
+ ESM dist/chunk-TJMI4DH2.js.map 117.04 KB
413
+ ESM dist/checkbox.js.map 51.00 B
413
414
  ESM dist/chunk-HE5X7TRV.js.map 711.41 KB
414
- ESM dist/chunk-3PTVTRDP.js.map 2.56 KB
415
- ESM dist/chunk-ER5CL77P.js.map 998.00 B
416
- ESM ⚡️ Build success in 76465ms
415
+ ESM dist/chunk-UHSXJRCR.js.map 81.55 KB
416
+ ESM ⚡️ Build success in 74511ms
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # ekm-ui
2
2
 
3
+ ## 0.4.48
4
+
5
+ ### Patch Changes
6
+
7
+ - 9f4486be: Fix time format in component
8
+
3
9
  ## 0.4.47
4
10
 
5
11
  ### Patch Changes
@@ -1,15 +1,16 @@
1
- export { h as CardPaymentBlock } from './chunk-EPDOLN57.js';
1
+ export { h as CardPaymentBlock } from './chunk-UHSXJRCR.js';
2
2
  import './chunk-LQKVFBLU.js';
3
3
  import './chunk-HVNLAQA6.js';
4
4
  import './chunk-HW7AZG2V.js';
5
5
  import './chunk-HE5X7TRV.js';
6
6
  import './chunk-YZ2YZSNQ.js';
7
+ import './chunk-YXTGVTGL.js';
8
+ import './chunk-EZPRW5WN.js';
7
9
  import './chunk-XKE3VK6Z.js';
8
10
  import './chunk-7Q6OMA2A.js';
9
11
  import './chunk-GVNUAH45.js';
10
12
  import './chunk-JAR3LP2K.js';
11
13
  import './chunk-EK5I26TX.js';
12
- import './chunk-FPXEE5TC.js';
13
14
  import './chunk-22RUXGYW.js';
14
15
  import './chunk-XXP5K6Y4.js';
15
16
  import './chunk-LWTESXND.js';
@@ -17,13 +18,12 @@ import './chunk-AN66H4D6.js';
17
18
  import './chunk-GWERJBUR.js';
18
19
  import './chunk-I2DMRDYJ.js';
19
20
  import './chunk-FTVJMY65.js';
20
- import './chunk-YXTGVTGL.js';
21
- import './chunk-EZPRW5WN.js';
22
21
  import './chunk-Y5DEGGVQ.js';
23
22
  import './chunk-F7MTEILK.js';
24
23
  import './chunk-7WJGATIR.js';
25
24
  import './chunk-RTRHNOTP.js';
26
25
  import './chunk-XABECXZS.js';
26
+ import './chunk-FPXEE5TC.js';
27
27
  import './chunk-WVAVR5V6.js';
28
28
  import './chunk-2VS7BVWY.js';
29
29
  import './chunk-QCHLLBHM.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-JFL77JIP.js';
60
+ import './chunk-UP4YN4XR.js';
61
61
  import './chunk-RRNNHYSF.js';
62
62
  import './chunk-4FSPYK2A.js';
63
63
  import './chunk-WLWG565K.js';
@@ -1,9 +1,9 @@
1
1
  import { a as a$e } from './chunk-LQKVFBLU.js';
2
2
  import { a as a$8, b } from './chunk-HVNLAQA6.js';
3
- import { a as a$i } from './chunk-FPXEE5TC.js';
4
3
  import { a as a$h } from './chunk-22RUXGYW.js';
5
4
  import { a as a$9 } from './chunk-XXP5K6Y4.js';
6
5
  import { a as a$j } from './chunk-F7MTEILK.js';
6
+ import { a as a$i } from './chunk-FPXEE5TC.js';
7
7
  import { a as a$1 } from './chunk-T2SOP5NE.js';
8
8
  import { a as a$c } from './chunk-AVTJXS4U.js';
9
9
  import { a as a$4 } from './chunk-R3QJRZTP.js';
@@ -33,4 +33,4 @@ function We({cardPayment:r,enablePayPal:e}){return jsxs(a$3,{className:"border-0
33
33
 
34
34
  export { ir as a, Er as b, le as c, Me as d, K as e, Ge as f, lr as g, We as h };
35
35
  //# sourceMappingURL=out.js.map
36
- //# sourceMappingURL=chunk-EPDOLN57.js.map
36
+ //# sourceMappingURL=chunk-UHSXJRCR.js.map
@@ -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"]}
@@ -1,15 +1,16 @@
1
- export { g as CountryPicker } from '../chunk-EPDOLN57.js';
1
+ export { g as CountryPicker } from '../chunk-UHSXJRCR.js';
2
2
  import '../chunk-LQKVFBLU.js';
3
3
  import '../chunk-HVNLAQA6.js';
4
4
  import '../chunk-HW7AZG2V.js';
5
5
  import '../chunk-HE5X7TRV.js';
6
6
  import '../chunk-YZ2YZSNQ.js';
7
+ import '../chunk-YXTGVTGL.js';
8
+ import '../chunk-EZPRW5WN.js';
7
9
  import '../chunk-XKE3VK6Z.js';
8
10
  import '../chunk-7Q6OMA2A.js';
9
11
  import '../chunk-GVNUAH45.js';
10
12
  import '../chunk-JAR3LP2K.js';
11
13
  import '../chunk-EK5I26TX.js';
12
- import '../chunk-FPXEE5TC.js';
13
14
  import '../chunk-22RUXGYW.js';
14
15
  import '../chunk-XXP5K6Y4.js';
15
16
  import '../chunk-LWTESXND.js';
@@ -17,13 +18,12 @@ import '../chunk-AN66H4D6.js';
17
18
  import '../chunk-GWERJBUR.js';
18
19
  import '../chunk-I2DMRDYJ.js';
19
20
  import '../chunk-FTVJMY65.js';
20
- import '../chunk-YXTGVTGL.js';
21
- import '../chunk-EZPRW5WN.js';
22
21
  import '../chunk-Y5DEGGVQ.js';
23
22
  import '../chunk-F7MTEILK.js';
24
23
  import '../chunk-7WJGATIR.js';
25
24
  import '../chunk-RTRHNOTP.js';
26
25
  import '../chunk-XABECXZS.js';
26
+ import '../chunk-FPXEE5TC.js';
27
27
  import '../chunk-WVAVR5V6.js';
28
28
  import '../chunk-2VS7BVWY.js';
29
29
  import '../chunk-QCHLLBHM.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-JFL77JIP.js';
60
+ import '../chunk-UP4YN4XR.js';
61
61
  import '../chunk-RRNNHYSF.js';
62
62
  import '../chunk-4FSPYK2A.js';
63
63
  import '../chunk-WLWG565K.js';
@@ -1,4 +1,4 @@
1
- export { a as DateTimeComponent } from './chunk-JFL77JIP.js';
1
+ export { a as DateTimeComponent } from './chunk-UP4YN4XR.js';
2
2
  import './chunk-4FSPYK2A.js';
3
3
  import './chunk-VOFMZ77E.js';
4
4
  import './chunk-TJMI4DH2.js';
@@ -1,15 +1,16 @@
1
- export { c as DragAndDrop } from './chunk-EPDOLN57.js';
1
+ export { c as DragAndDrop } from './chunk-UHSXJRCR.js';
2
2
  import './chunk-LQKVFBLU.js';
3
3
  import './chunk-HVNLAQA6.js';
4
4
  import './chunk-HW7AZG2V.js';
5
5
  import './chunk-HE5X7TRV.js';
6
6
  import './chunk-YZ2YZSNQ.js';
7
+ import './chunk-YXTGVTGL.js';
8
+ import './chunk-EZPRW5WN.js';
7
9
  import './chunk-XKE3VK6Z.js';
8
10
  import './chunk-7Q6OMA2A.js';
9
11
  import './chunk-GVNUAH45.js';
10
12
  import './chunk-JAR3LP2K.js';
11
13
  import './chunk-EK5I26TX.js';
12
- import './chunk-FPXEE5TC.js';
13
14
  import './chunk-22RUXGYW.js';
14
15
  import './chunk-XXP5K6Y4.js';
15
16
  import './chunk-LWTESXND.js';
@@ -17,13 +18,12 @@ import './chunk-AN66H4D6.js';
17
18
  import './chunk-GWERJBUR.js';
18
19
  import './chunk-I2DMRDYJ.js';
19
20
  import './chunk-FTVJMY65.js';
20
- import './chunk-YXTGVTGL.js';
21
- import './chunk-EZPRW5WN.js';
22
21
  import './chunk-Y5DEGGVQ.js';
23
22
  import './chunk-F7MTEILK.js';
24
23
  import './chunk-7WJGATIR.js';
25
24
  import './chunk-RTRHNOTP.js';
26
25
  import './chunk-XABECXZS.js';
26
+ import './chunk-FPXEE5TC.js';
27
27
  import './chunk-WVAVR5V6.js';
28
28
  import './chunk-2VS7BVWY.js';
29
29
  import './chunk-QCHLLBHM.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-JFL77JIP.js';
60
+ import './chunk-UP4YN4XR.js';
61
61
  import './chunk-RRNNHYSF.js';
62
62
  import './chunk-4FSPYK2A.js';
63
63
  import './chunk-WLWG565K.js';
@@ -1,15 +1,16 @@
1
- export { d as FilePicker } from '../chunk-EPDOLN57.js';
1
+ export { d as FilePicker } from '../chunk-UHSXJRCR.js';
2
2
  import '../chunk-LQKVFBLU.js';
3
3
  import '../chunk-HVNLAQA6.js';
4
4
  import '../chunk-HW7AZG2V.js';
5
5
  import '../chunk-HE5X7TRV.js';
6
6
  import '../chunk-YZ2YZSNQ.js';
7
+ import '../chunk-YXTGVTGL.js';
8
+ import '../chunk-EZPRW5WN.js';
7
9
  import '../chunk-XKE3VK6Z.js';
8
10
  import '../chunk-7Q6OMA2A.js';
9
11
  import '../chunk-GVNUAH45.js';
10
12
  import '../chunk-JAR3LP2K.js';
11
13
  import '../chunk-EK5I26TX.js';
12
- import '../chunk-FPXEE5TC.js';
13
14
  import '../chunk-22RUXGYW.js';
14
15
  import '../chunk-XXP5K6Y4.js';
15
16
  import '../chunk-LWTESXND.js';
@@ -17,13 +18,12 @@ import '../chunk-AN66H4D6.js';
17
18
  import '../chunk-GWERJBUR.js';
18
19
  import '../chunk-I2DMRDYJ.js';
19
20
  import '../chunk-FTVJMY65.js';
20
- import '../chunk-YXTGVTGL.js';
21
- import '../chunk-EZPRW5WN.js';
22
21
  import '../chunk-Y5DEGGVQ.js';
23
22
  import '../chunk-F7MTEILK.js';
24
23
  import '../chunk-7WJGATIR.js';
25
24
  import '../chunk-RTRHNOTP.js';
26
25
  import '../chunk-XABECXZS.js';
26
+ import '../chunk-FPXEE5TC.js';
27
27
  import '../chunk-WVAVR5V6.js';
28
28
  import '../chunk-2VS7BVWY.js';
29
29
  import '../chunk-QCHLLBHM.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-JFL77JIP.js';
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
@@ -1,15 +1,16 @@
1
- export { h as CardPaymentBlock, g as CountryPicker, c as DragAndDrop, d as FilePicker, b as Layout, f as ProductPicker, a as StackedListItem, e as TableResultBlock } from './chunk-EPDOLN57.js';
1
+ export { h as CardPaymentBlock, g as CountryPicker, c as DragAndDrop, d as FilePicker, b as Layout, f as ProductPicker, a as StackedListItem, e as TableResultBlock } from './chunk-UHSXJRCR.js';
2
2
  export { a as Search } from './chunk-LQKVFBLU.js';
3
3
  export { b as Sidebar } from './chunk-HVNLAQA6.js';
4
4
  export { a as Sort } from './chunk-HW7AZG2V.js';
5
5
  export { a as TableHeader } from './chunk-HE5X7TRV.js';
6
6
  export { b as ToastProvider, c as useToast } from './chunk-YZ2YZSNQ.js';
7
+ export { a as NBUI_Card_Small } from './chunk-YXTGVTGL.js';
8
+ export { a as NBUI_Card_Table } from './chunk-EZPRW5WN.js';
7
9
  export { a as NBUI_Card } from './chunk-XKE3VK6Z.js';
8
10
  export { a as NBUI_Container } from './chunk-7Q6OMA2A.js';
9
11
  export { a as NBUI_Footer } from './chunk-GVNUAH45.js';
10
12
  export { a as NBUI_Page_Layout } from './chunk-JAR3LP2K.js';
11
13
  export { a as Pagination } from './chunk-EK5I26TX.js';
12
- import './chunk-FPXEE5TC.js';
13
14
  import './chunk-22RUXGYW.js';
14
15
  export { a as Navbar } from './chunk-XXP5K6Y4.js';
15
16
  export { a as NBUI_Card_Form } from './chunk-LWTESXND.js';
@@ -17,13 +18,12 @@ export { a as NBUI_Card_Image } from './chunk-AN66H4D6.js';
17
18
  export { a as NBUI_Card_Large } from './chunk-GWERJBUR.js';
18
19
  export { a as NBUI_Card_Paragraphs_Large } from './chunk-I2DMRDYJ.js';
19
20
  export { a as NBUI_Card_Paragraphs } from './chunk-FTVJMY65.js';
20
- export { a as NBUI_Card_Small } from './chunk-YXTGVTGL.js';
21
- export { a as NBUI_Card_Table } from './chunk-EZPRW5WN.js';
22
21
  export { a as VideoModal } from './chunk-Y5DEGGVQ.js';
23
22
  import './chunk-F7MTEILK.js';
24
23
  export { a as FeatureCard } from './chunk-7WJGATIR.js';
25
24
  export { a as StaffPickCard } from './chunk-RTRHNOTP.js';
26
25
  export { a as FeaturePageGroup } from './chunk-XABECXZS.js';
26
+ import './chunk-FPXEE5TC.js';
27
27
  export { a as TestComponent } from './chunk-WVAVR5V6.js';
28
28
  export { a as TextRow } from './chunk-2VS7BVWY.js';
29
29
  export { a as TextArea } from './chunk-QCHLLBHM.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-JFL77JIP.js';
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';
@@ -1,15 +1,16 @@
1
- export { b as Layout } from '../chunk-EPDOLN57.js';
1
+ export { b as Layout } from '../chunk-UHSXJRCR.js';
2
2
  import '../chunk-LQKVFBLU.js';
3
3
  import '../chunk-HVNLAQA6.js';
4
4
  import '../chunk-HW7AZG2V.js';
5
5
  import '../chunk-HE5X7TRV.js';
6
6
  import '../chunk-YZ2YZSNQ.js';
7
+ import '../chunk-YXTGVTGL.js';
8
+ import '../chunk-EZPRW5WN.js';
7
9
  import '../chunk-XKE3VK6Z.js';
8
10
  import '../chunk-7Q6OMA2A.js';
9
11
  import '../chunk-GVNUAH45.js';
10
12
  import '../chunk-JAR3LP2K.js';
11
13
  import '../chunk-EK5I26TX.js';
12
- import '../chunk-FPXEE5TC.js';
13
14
  import '../chunk-22RUXGYW.js';
14
15
  import '../chunk-XXP5K6Y4.js';
15
16
  import '../chunk-LWTESXND.js';
@@ -17,13 +18,12 @@ import '../chunk-AN66H4D6.js';
17
18
  import '../chunk-GWERJBUR.js';
18
19
  import '../chunk-I2DMRDYJ.js';
19
20
  import '../chunk-FTVJMY65.js';
20
- import '../chunk-YXTGVTGL.js';
21
- import '../chunk-EZPRW5WN.js';
22
21
  import '../chunk-Y5DEGGVQ.js';
23
22
  import '../chunk-F7MTEILK.js';
24
23
  import '../chunk-7WJGATIR.js';
25
24
  import '../chunk-RTRHNOTP.js';
26
25
  import '../chunk-XABECXZS.js';
26
+ import '../chunk-FPXEE5TC.js';
27
27
  import '../chunk-WVAVR5V6.js';
28
28
  import '../chunk-2VS7BVWY.js';
29
29
  import '../chunk-QCHLLBHM.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-JFL77JIP.js';
60
+ import '../chunk-UP4YN4XR.js';
61
61
  import '../chunk-RRNNHYSF.js';
62
62
  import '../chunk-4FSPYK2A.js';
63
63
  import '../chunk-WLWG565K.js';
@@ -1,15 +1,16 @@
1
- export { f as ProductPicker } from '../chunk-EPDOLN57.js';
1
+ export { f as ProductPicker } from '../chunk-UHSXJRCR.js';
2
2
  import '../chunk-LQKVFBLU.js';
3
3
  import '../chunk-HVNLAQA6.js';
4
4
  import '../chunk-HW7AZG2V.js';
5
5
  import '../chunk-HE5X7TRV.js';
6
6
  import '../chunk-YZ2YZSNQ.js';
7
+ import '../chunk-YXTGVTGL.js';
8
+ import '../chunk-EZPRW5WN.js';
7
9
  import '../chunk-XKE3VK6Z.js';
8
10
  import '../chunk-7Q6OMA2A.js';
9
11
  import '../chunk-GVNUAH45.js';
10
12
  import '../chunk-JAR3LP2K.js';
11
13
  import '../chunk-EK5I26TX.js';
12
- import '../chunk-FPXEE5TC.js';
13
14
  import '../chunk-22RUXGYW.js';
14
15
  import '../chunk-XXP5K6Y4.js';
15
16
  import '../chunk-LWTESXND.js';
@@ -17,13 +18,12 @@ import '../chunk-AN66H4D6.js';
17
18
  import '../chunk-GWERJBUR.js';
18
19
  import '../chunk-I2DMRDYJ.js';
19
20
  import '../chunk-FTVJMY65.js';
20
- import '../chunk-YXTGVTGL.js';
21
- import '../chunk-EZPRW5WN.js';
22
21
  import '../chunk-Y5DEGGVQ.js';
23
22
  import '../chunk-F7MTEILK.js';
24
23
  import '../chunk-7WJGATIR.js';
25
24
  import '../chunk-RTRHNOTP.js';
26
25
  import '../chunk-XABECXZS.js';
26
+ import '../chunk-FPXEE5TC.js';
27
27
  import '../chunk-WVAVR5V6.js';
28
28
  import '../chunk-2VS7BVWY.js';
29
29
  import '../chunk-QCHLLBHM.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-JFL77JIP.js';
60
+ import '../chunk-UP4YN4XR.js';
61
61
  import '../chunk-RRNNHYSF.js';
62
62
  import '../chunk-4FSPYK2A.js';
63
63
  import '../chunk-WLWG565K.js';
@@ -1,15 +1,16 @@
1
- export { a as StackedListItem } from './chunk-EPDOLN57.js';
1
+ export { a as StackedListItem } from './chunk-UHSXJRCR.js';
2
2
  import './chunk-LQKVFBLU.js';
3
3
  import './chunk-HVNLAQA6.js';
4
4
  import './chunk-HW7AZG2V.js';
5
5
  import './chunk-HE5X7TRV.js';
6
6
  import './chunk-YZ2YZSNQ.js';
7
+ import './chunk-YXTGVTGL.js';
8
+ import './chunk-EZPRW5WN.js';
7
9
  import './chunk-XKE3VK6Z.js';
8
10
  import './chunk-7Q6OMA2A.js';
9
11
  import './chunk-GVNUAH45.js';
10
12
  import './chunk-JAR3LP2K.js';
11
13
  import './chunk-EK5I26TX.js';
12
- import './chunk-FPXEE5TC.js';
13
14
  import './chunk-22RUXGYW.js';
14
15
  import './chunk-XXP5K6Y4.js';
15
16
  import './chunk-LWTESXND.js';
@@ -17,13 +18,12 @@ import './chunk-AN66H4D6.js';
17
18
  import './chunk-GWERJBUR.js';
18
19
  import './chunk-I2DMRDYJ.js';
19
20
  import './chunk-FTVJMY65.js';
20
- import './chunk-YXTGVTGL.js';
21
- import './chunk-EZPRW5WN.js';
22
21
  import './chunk-Y5DEGGVQ.js';
23
22
  import './chunk-F7MTEILK.js';
24
23
  import './chunk-7WJGATIR.js';
25
24
  import './chunk-RTRHNOTP.js';
26
25
  import './chunk-XABECXZS.js';
26
+ import './chunk-FPXEE5TC.js';
27
27
  import './chunk-WVAVR5V6.js';
28
28
  import './chunk-2VS7BVWY.js';
29
29
  import './chunk-QCHLLBHM.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-JFL77JIP.js';
60
+ import './chunk-UP4YN4XR.js';
61
61
  import './chunk-RRNNHYSF.js';
62
62
  import './chunk-4FSPYK2A.js';
63
63
  import './chunk-WLWG565K.js';
@@ -1,15 +1,16 @@
1
- export { e as TableResultBlock } from './chunk-EPDOLN57.js';
1
+ export { e as TableResultBlock } from './chunk-UHSXJRCR.js';
2
2
  import './chunk-LQKVFBLU.js';
3
3
  import './chunk-HVNLAQA6.js';
4
4
  import './chunk-HW7AZG2V.js';
5
5
  import './chunk-HE5X7TRV.js';
6
6
  import './chunk-YZ2YZSNQ.js';
7
+ import './chunk-YXTGVTGL.js';
8
+ import './chunk-EZPRW5WN.js';
7
9
  import './chunk-XKE3VK6Z.js';
8
10
  import './chunk-7Q6OMA2A.js';
9
11
  import './chunk-GVNUAH45.js';
10
12
  import './chunk-JAR3LP2K.js';
11
13
  import './chunk-EK5I26TX.js';
12
- import './chunk-FPXEE5TC.js';
13
14
  import './chunk-22RUXGYW.js';
14
15
  import './chunk-XXP5K6Y4.js';
15
16
  import './chunk-LWTESXND.js';
@@ -17,13 +18,12 @@ import './chunk-AN66H4D6.js';
17
18
  import './chunk-GWERJBUR.js';
18
19
  import './chunk-I2DMRDYJ.js';
19
20
  import './chunk-FTVJMY65.js';
20
- import './chunk-YXTGVTGL.js';
21
- import './chunk-EZPRW5WN.js';
22
21
  import './chunk-Y5DEGGVQ.js';
23
22
  import './chunk-F7MTEILK.js';
24
23
  import './chunk-7WJGATIR.js';
25
24
  import './chunk-RTRHNOTP.js';
26
25
  import './chunk-XABECXZS.js';
26
+ import './chunk-FPXEE5TC.js';
27
27
  import './chunk-WVAVR5V6.js';
28
28
  import './chunk-2VS7BVWY.js';
29
29
  import './chunk-QCHLLBHM.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-JFL77JIP.js';
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ekm-ui",
3
- "version": "0.4.47",
3
+ "version": "0.4.48",
4
4
  "sideEffects": [
5
5
  "**/*.css"
6
6
  ],
@@ -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().padStart(2, '0'); // Convert 0 to 12 for 12 AM/PM and pad with zero
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}`;
@@ -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) =>
@@ -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":"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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().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"]}