ekm-ui 0.4.79 → 0.4.80

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.
@@ -11,7 +11,7 @@ Browserslist: caniuse-lite is outdated. Please run:
11
11
  npx update-browserslist-db@latest
12
12
  Why you should do it regularly: https://github.com/browserslist/update-db#readme
13
13
  DTS Build start
14
- DTS ⚡️ Build success in 66340ms
14
+ DTS ⚡️ Build success in 61700ms
15
15
  DTS dist/index.d.ts 4.03 KB
16
16
  DTS dist/footer-heart-icon.d.ts 70.00 B
17
17
  DTS dist/accordion.d.ts 2.19 KB
@@ -105,15 +105,15 @@ Browserslist: caniuse-lite is outdated. Please run:
105
105
  ESM dist/index.css 125.00 KB
106
106
  ESM dist/drag-and-drop.css 125.01 KB
107
107
  ESM dist/card-payment-block.css 125.02 KB
108
- ESM dist/layout/layout.css.map 177.83 KB
108
+ ESM dist/product-picker/product-modal.css.map 177.83 KB
109
109
  ESM dist/file-picker/file-picker.css.map 177.83 KB
110
+ ESM dist/layout/layout.css.map 177.83 KB
110
111
  ESM dist/country-picker/country-modal.css.map 177.83 KB
111
112
  ESM dist/stacked-list-item.css.map 177.82 KB
112
113
  ESM dist/table-result-block.css.map 177.82 KB
113
114
  ESM dist/index.css.map 177.82 KB
114
115
  ESM dist/drag-and-drop.css.map 177.82 KB
115
116
  ESM dist/card-payment-block.css.map 177.82 KB
116
- ESM dist/product-picker/product-modal.css.map 177.83 KB
117
117
  ESM dist/chunk-SBGTFQOD.js 8.80 KB
118
118
  ESM dist/chunk-Z4LPO673.js 1.34 KB
119
119
  ESM dist/table-header/table-header.js 284.00 B
@@ -126,8 +126,8 @@ Browserslist: caniuse-lite is outdated. Please run:
126
126
  ESM dist/product-picker/product-modal.js 2.46 KB
127
127
  ESM dist/search/search.js 180.00 B
128
128
  ESM dist/sidebar/sidebar.js 151.00 B
129
- ESM dist/nbui/nbui-card-image.js 167.00 B
130
129
  ESM dist/sort/sort.js 176.00 B
130
+ ESM dist/nbui/nbui-card-image.js 167.00 B
131
131
  ESM dist/nbui/nbui-card-lg.js 164.00 B
132
132
  ESM dist/nbui/nbui-card-paragraphs-lg.js 186.00 B
133
133
  ESM dist/nbui/nbui-card-paragraphs.js 177.00 B
@@ -138,10 +138,10 @@ Browserslist: caniuse-lite is outdated. Please run:
138
138
  ESM dist/feature-cards/staff-pick-card.js 165.00 B
139
139
  ESM dist/featurePageComponents/feature-page-group.js 171.00 B
140
140
  ESM dist/featurePageComponents/mini-feature-block.js 804.00 B
141
- ESM dist/file-picker/file-picker.js 2.46 KB
142
141
  ESM dist/file-picker/file-listing.js 218.00 B
143
- ESM dist/navbar/navbar.js 180.00 B
142
+ ESM dist/file-picker/file-picker.js 2.46 KB
144
143
  ESM dist/layout/layout.js 2.45 KB
144
+ ESM dist/navbar/navbar.js 180.00 B
145
145
  ESM dist/nbui/nbui-card-form.js 165.00 B
146
146
  ESM dist/video-dashboard-notification.js 189.00 B
147
147
  ESM dist/video-modal.js 156.00 B
@@ -158,17 +158,17 @@ Browserslist: caniuse-lite is outdated. Please run:
158
158
  ESM dist/text-row.js 180.00 B
159
159
  ESM dist/textarea.js 181.00 B
160
160
  ESM dist/textinput.js 183.00 B
161
- ESM dist/mini-feature-block.js 259.00 B
162
161
  ESM dist/toggleswitch.js 189.00 B
163
162
  ESM dist/modal.js 209.00 B
163
+ ESM dist/mini-feature-block.js 259.00 B
164
164
  ESM dist/no-results-block.js 165.00 B
165
165
  ESM dist/page-header.js 216.00 B
166
166
  ESM dist/pin-feature-button.js 229.00 B
167
167
  ESM dist/progress-bar.js 188.00 B
168
168
  ESM dist/radio.js 175.00 B
169
169
  ESM dist/select.js 177.00 B
170
- ESM dist/image-thumbnail.js 164.00 B
171
170
  ESM dist/form-row.js 180.00 B
171
+ ESM dist/image-thumbnail.js 164.00 B
172
172
  ESM dist/index.js 4.31 KB
173
173
  ESM dist/input-addon.js 156.00 B
174
174
  ESM dist/input-copy.js 214.00 B
@@ -176,8 +176,8 @@ Browserslist: caniuse-lite is outdated. Please run:
176
176
  ESM dist/loading-button.js 192.00 B
177
177
  ESM dist/love-footer.js 156.00 B
178
178
  ESM dist/date-time-picker.js 285.00 B
179
- ESM dist/drag-and-drop.js 2.38 KB
180
179
  ESM dist/draggable-stacked-list-item.js 246.00 B
180
+ ESM dist/drag-and-drop.js 2.38 KB
181
181
  ESM dist/drawer.js 147.00 B
182
182
  ESM dist/dropdown.js 222.00 B
183
183
  ESM dist/ekm-logo.js 150.00 B
@@ -185,32 +185,32 @@ Browserslist: caniuse-lite is outdated. Please run:
185
185
  ESM dist/footer-heart-icon.js 56.43 KB
186
186
  ESM dist/button.js 207.00 B
187
187
  ESM dist/card-payment-block.js 2.39 KB
188
- ESM dist/chunk-AF5UAXRO.js 29.38 KB
188
+ ESM dist/chunk-YOAHY5KX.js 29.38 KB
189
189
  ESM dist/chunk-DBTCX3TP.js 75.66 KB
190
190
  ESM dist/chunk-YZ2YZSNQ.js 2.37 KB
191
191
  ESM dist/chunk-GVNUAH45.js 347.00 B
192
192
  ESM dist/chunk-JAR3LP2K.js 809.00 B
193
193
  ESM dist/chunk-FOWKHGHJ.js 6.79 KB
194
- ESM dist/chunk-34CKZLNN.js 4.46 KB
194
+ ESM dist/chunk-KVZTQHFG.js 4.35 KB
195
195
  ESM dist/chunk-PSYIXRU7.js 3.82 KB
196
196
  ESM dist/chunk-HVNLAQA6.js 1.81 KB
197
197
  ESM dist/chunk-HW7AZG2V.js 2.04 KB
198
- ESM dist/chunk-GWERJBUR.js 885.00 B
199
198
  ESM dist/chunk-AN66H4D6.js 559.00 B
199
+ ESM dist/chunk-GWERJBUR.js 885.00 B
200
200
  ESM dist/chunk-I2DMRDYJ.js 1.29 KB
201
201
  ESM dist/chunk-FTVJMY65.js 885.00 B
202
- ESM dist/chunk-EZPRW5WN.js 2.72 KB
203
202
  ESM dist/chunk-YXTGVTGL.js 633.00 B
204
- ESM dist/chunk-7Q6OMA2A.js 782.00 B
203
+ ESM dist/chunk-EZPRW5WN.js 2.72 KB
205
204
  ESM dist/chunk-XKE3VK6Z.js 759.00 B
205
+ ESM dist/chunk-7Q6OMA2A.js 782.00 B
206
206
  ESM dist/chunk-RTRHNOTP.js 690.00 B
207
207
  ESM dist/chunk-XABECXZS.js 1017.00 B
208
+ ESM dist/chunk-IJV4UGKJ.js 3.76 KB
208
209
  ESM dist/chunk-XXP5K6Y4.js 10.39 KB
209
- ESM dist/chunk-FPXEE5TC.js 3.80 KB
210
210
  ESM dist/chunk-LIXVY47P.js 1.20 KB
211
211
  ESM dist/chunk-LWTESXND.js 1.57 KB
212
- ESM dist/chunk-Q4MYDT2M.js 1.69 KB
213
212
  ESM dist/chunk-Y5DEGGVQ.js 1.75 KB
213
+ ESM dist/chunk-Q4MYDT2M.js 1.69 KB
214
214
  ESM dist/chunk-VE6J42I7.js 2.67 KB
215
215
  ESM dist/chunk-DCVOMIPI.js 567.00 B
216
216
  ESM dist/chunk-NQSJ4LIX.js 2.69 KB
@@ -249,7 +249,6 @@ Browserslist: caniuse-lite is outdated. Please run:
249
249
  ESM dist/dashboard-notification.js 178.00 B
250
250
  ESM dist/date-range-picker.js 377.00 B
251
251
  ESM dist/chunk-MQETRVUJ.js 7.17 KB
252
- ESM dist/chunk-DSJ5TRZW.js 1.36 KB
253
252
  ESM dist/chunk-IPAI4R3G.js 655.00 B
254
253
  ESM dist/chunk-F7K7HAXY.js 443.00 B
255
254
  ESM dist/date-time-component.js 291.00 B
@@ -258,8 +257,8 @@ Browserslist: caniuse-lite is outdated. Please run:
258
257
  ESM dist/chunk-CYOCZEOE.js 4.05 KB
259
258
  ESM dist/accordion.js 271.00 B
260
259
  ESM dist/chunk-WLWG565K.js 2.61 KB
261
- ESM dist/account-manager.js 254.00 B
262
260
  ESM dist/chunk-GEVKTAHT.js 1.16 KB
261
+ ESM dist/account-manager.js 254.00 B
263
262
  ESM dist/chunk-P654OT65.js 769.00 B
264
263
  ESM dist/alert-banner.js 188.00 B
265
264
  ESM dist/chunk-5SEJVYKM.js 3.01 KB
@@ -267,69 +266,70 @@ Browserslist: caniuse-lite is outdated. Please run:
267
266
  ESM dist/chunk-2ATHCBLY.js 919.00 B
268
267
  ESM dist/avatar.js 207.00 B
269
268
  ESM dist/chunk-2OPJLYW6.js 1.69 KB
270
- ESM dist/chunk-UJ5AEZKA.js 2.87 KB
271
269
  ESM dist/badge.js 205.00 B
270
+ ESM dist/chunk-UJ5AEZKA.js 2.87 KB
271
+ ESM dist/chunk-DSJ5TRZW.js 1.36 KB
272
272
  ESM dist/chunk-TJMI4DH2.js 19.88 KB
273
273
  ESM dist/breadcrumb.js 227.00 B
274
274
  ESM dist/chunk-TRVGXTCI.js 1.58 KB
275
275
  ESM dist/chunk-6LHL364H.js 15.70 KB
276
- ESM dist/chunk-XYGVDZRO.js 696.00 B
277
276
  ESM dist/button-group-item.js 167.00 B
278
- ESM dist/chunk-Z4LPO673.js.map 71.00 B
277
+ ESM dist/chunk-XYGVDZRO.js 696.00 B
279
278
  ESM dist/chunk-SBGTFQOD.js.map 15.87 KB
279
+ ESM dist/chunk-Z4LPO673.js.map 71.00 B
280
280
  ESM dist/toast/index.js.map 51.00 B
281
281
  ESM dist/table-header/table-header.js.map 51.00 B
282
282
  ESM dist/tooltip/tooltip.js.map 51.00 B
283
- ESM dist/nbui/nbui-footer.js.map 51.00 B
284
283
  ESM dist/nbui/nbui-page-layout.js.map 51.00 B
284
+ ESM dist/nbui/nbui-footer.js.map 51.00 B
285
285
  ESM dist/pagination/pagination.js.map 51.00 B
286
- ESM dist/product-picker/product-modal.js.map 51.00 B
287
286
  ESM dist/product-picker/product-listing.js.map 51.00 B
288
- ESM dist/sidebar/sidebar.js.map 51.00 B
287
+ ESM dist/product-picker/product-modal.js.map 51.00 B
289
288
  ESM dist/search/search.js.map 51.00 B
290
- ESM dist/nbui/nbui-card-image.js.map 51.00 B
289
+ ESM dist/sidebar/sidebar.js.map 51.00 B
291
290
  ESM dist/sort/sort.js.map 51.00 B
291
+ ESM dist/nbui/nbui-card-image.js.map 51.00 B
292
292
  ESM dist/nbui/nbui-card-lg.js.map 51.00 B
293
293
  ESM dist/nbui/nbui-card-paragraphs-lg.js.map 51.00 B
294
- ESM dist/nbui/nbui-card-sm.js.map 51.00 B
295
294
  ESM dist/nbui/nbui-card-paragraphs.js.map 51.00 B
296
- ESM dist/nbui/nbui-card.js.map 51.00 B
295
+ ESM dist/nbui/nbui-card-sm.js.map 51.00 B
297
296
  ESM dist/nbui/nbui-card-table.js.map 51.00 B
298
- ESM dist/feature-cards/staff-pick-card.js.map 51.00 B
297
+ ESM dist/nbui/nbui-card.js.map 51.00 B
299
298
  ESM dist/nbui/nbui-container.js.map 51.00 B
299
+ ESM dist/feature-cards/staff-pick-card.js.map 51.00 B
300
300
  ESM dist/featurePageComponents/feature-page-group.js.map 51.00 B
301
301
  ESM dist/featurePageComponents/mini-feature-block.js.map 1.51 KB
302
- ESM dist/file-picker/file-picker.js.map 51.00 B
303
302
  ESM dist/file-picker/file-listing.js.map 51.00 B
303
+ ESM dist/file-picker/file-picker.js.map 51.00 B
304
304
  ESM dist/layout/layout.js.map 51.00 B
305
305
  ESM dist/navbar/navbar.js.map 51.00 B
306
- ESM dist/video-dashboard-notification.js.map 51.00 B
307
306
  ESM dist/nbui/nbui-card-form.js.map 51.00 B
307
+ ESM dist/video-dashboard-notification.js.map 51.00 B
308
308
  ESM dist/country-picker/country-listing.js.map 51.00 B
309
309
  ESM dist/video-modal.js.map 51.00 B
310
310
  ESM dist/country-picker/country-modal.js.map 51.00 B
311
311
  ESM dist/cross-sell/cross-sell-carousel.js.map 51.00 B
312
- ESM dist/cross-sell/service-card.js.map 51.00 B
313
312
  ESM dist/cross-sell/serivce-callback-banner.js.map 51.00 B
313
+ ESM dist/cross-sell/service-card.js.map 51.00 B
314
314
  ESM dist/feature-cards/feature-card.js.map 51.00 B
315
315
  ESM dist/spinner.js.map 51.00 B
316
- ESM dist/stacked-list-item.js.map 51.00 B
317
316
  ESM dist/table-result-block.js.map 51.00 B
318
- ESM dist/text-row.js.map 51.00 B
317
+ ESM dist/stacked-list-item.js.map 51.00 B
319
318
  ESM dist/test-component.js.map 51.00 B
319
+ ESM dist/text-row.js.map 51.00 B
320
320
  ESM dist/textarea.js.map 51.00 B
321
321
  ESM dist/textinput.js.map 51.00 B
322
- ESM dist/mini-feature-block.js.map 51.00 B
323
322
  ESM dist/toggleswitch.js.map 51.00 B
324
323
  ESM dist/modal.js.map 51.00 B
324
+ ESM dist/mini-feature-block.js.map 51.00 B
325
325
  ESM dist/no-results-block.js.map 51.00 B
326
326
  ESM dist/page-header.js.map 51.00 B
327
327
  ESM dist/pin-feature-button.js.map 51.00 B
328
328
  ESM dist/progress-bar.js.map 51.00 B
329
329
  ESM dist/radio.js.map 51.00 B
330
330
  ESM dist/select.js.map 51.00 B
331
- ESM dist/image-thumbnail.js.map 51.00 B
332
331
  ESM dist/form-row.js.map 51.00 B
332
+ ESM dist/image-thumbnail.js.map 51.00 B
333
333
  ESM dist/index.js.map 51.00 B
334
334
  ESM dist/input-addon.js.map 51.00 B
335
335
  ESM dist/input-copy.js.map 51.00 B
@@ -337,35 +337,35 @@ Browserslist: caniuse-lite is outdated. Please run:
337
337
  ESM dist/loading-button.js.map 51.00 B
338
338
  ESM dist/love-footer.js.map 51.00 B
339
339
  ESM dist/date-time-picker.js.map 51.00 B
340
- ESM dist/drag-and-drop.js.map 51.00 B
341
340
  ESM dist/draggable-stacked-list-item.js.map 51.00 B
342
- ESM dist/dropdown.js.map 51.00 B
341
+ ESM dist/drag-and-drop.js.map 51.00 B
343
342
  ESM dist/drawer.js.map 51.00 B
343
+ ESM dist/dropdown.js.map 51.00 B
344
344
  ESM dist/ekm-logo.js.map 51.00 B
345
345
  ESM dist/fixed-alert.js.map 51.00 B
346
+ ESM dist/footer-heart-icon.js.map 57.05 KB
346
347
  ESM dist/button.js.map 51.00 B
347
348
  ESM dist/card-payment-block.js.map 51.00 B
348
- ESM dist/footer-heart-icon.js.map 57.05 KB
349
- ESM dist/chunk-AF5UAXRO.js.map 81.52 KB
349
+ ESM dist/chunk-YOAHY5KX.js.map 81.52 KB
350
350
  ESM dist/chunk-YZ2YZSNQ.js.map 5.68 KB
351
351
  ESM dist/chunk-GVNUAH45.js.map 525.00 B
352
352
  ESM dist/chunk-JAR3LP2K.js.map 1.89 KB
353
353
  ESM dist/chunk-FOWKHGHJ.js.map 14.61 KB
354
- ESM dist/chunk-34CKZLNN.js.map 9.89 KB
354
+ ESM dist/chunk-KVZTQHFG.js.map 9.85 KB
355
355
  ESM dist/chunk-PSYIXRU7.js.map 10.69 KB
356
356
  ESM dist/chunk-HVNLAQA6.js.map 5.19 KB
357
357
  ESM dist/chunk-HW7AZG2V.js.map 4.63 KB
358
- ESM dist/chunk-GWERJBUR.js.map 1.29 KB
359
358
  ESM dist/chunk-AN66H4D6.js.map 873.00 B
359
+ ESM dist/chunk-GWERJBUR.js.map 1.29 KB
360
360
  ESM dist/chunk-I2DMRDYJ.js.map 1.98 KB
361
361
  ESM dist/chunk-FTVJMY65.js.map 1.30 KB
362
362
  ESM dist/chunk-YXTGVTGL.js.map 929.00 B
363
363
  ESM dist/chunk-EZPRW5WN.js.map 4.23 KB
364
- ESM dist/chunk-7Q6OMA2A.js.map 1.28 KB
365
364
  ESM dist/chunk-XKE3VK6Z.js.map 1.08 KB
365
+ ESM dist/chunk-7Q6OMA2A.js.map 1.28 KB
366
366
  ESM dist/chunk-RTRHNOTP.js.map 1.27 KB
367
367
  ESM dist/chunk-XABECXZS.js.map 1.77 KB
368
- ESM dist/chunk-FPXEE5TC.js.map 8.39 KB
368
+ ESM dist/chunk-IJV4UGKJ.js.map 8.73 KB
369
369
  ESM dist/chunk-XXP5K6Y4.js.map 24.62 KB
370
370
  ESM dist/chunk-LIXVY47P.js.map 2.16 KB
371
371
  ESM dist/chunk-LWTESXND.js.map 2.48 KB
@@ -373,27 +373,28 @@ Browserslist: caniuse-lite is outdated. Please run:
373
373
  ESM dist/chunk-Q4MYDT2M.js.map 4.07 KB
374
374
  ESM dist/chunk-VE6J42I7.js.map 5.72 KB
375
375
  ESM dist/chunk-DCVOMIPI.js.map 1.26 KB
376
- ESM dist/chunk-IJMS44H4.js.map 2.92 KB
377
376
  ESM dist/chunk-NQSJ4LIX.js.map 7.35 KB
377
+ ESM dist/chunk-IJMS44H4.js.map 2.92 KB
378
378
  ESM dist/chunk-AO5TGD7T.js.map 1.85 KB
379
379
  ESM dist/chunk-WVAVR5V6.js.map 762.00 B
380
380
  ESM dist/chunk-E5EF4RHS.js.map 1.30 KB
381
- ESM dist/chunk-MKSPEQBS.js.map 1.57 KB
382
381
  ESM dist/chunk-QCHLLBHM.js.map 2.86 KB
382
+ ESM dist/chunk-MKSPEQBS.js.map 1.57 KB
383
383
  ESM dist/chunk-IV62JMW4.js.map 5.58 KB
384
384
  ESM dist/chunk-AVTJXS4U.js.map 1.06 KB
385
385
  ESM dist/chunk-SFEJDNIA.js.map 2.56 KB
386
386
  ESM dist/chunk-V52WKDZL.js.map 2.47 KB
387
- ESM dist/chunk-LMMFRNNG.js.map 2.51 KB
388
387
  ESM dist/chunk-OPRNU4ER.js.map 5.73 KB
388
+ ESM dist/chunk-LMMFRNNG.js.map 2.51 KB
389
389
  ESM dist/chunk-R3QJRZTP.js.map 1.96 KB
390
390
  ESM dist/chunk-Z44LYPKH.js.map 1.91 KB
391
391
  ESM dist/chunk-CNJDESTL.js.map 1.16 KB
392
392
  ESM dist/chunk-Z3YTPSEL.js.map 2.25 KB
393
- ESM dist/chunk-ESJIQMQJ.js.map 1.20 KB
394
393
  ESM dist/chunk-DGYQSZYV.js.map 9.68 KB
395
- ESM dist/chunk-W5BREWLN.js.map 3.33 KB
394
+ ESM dist/chunk-UQ566F6W.js.map 5.33 KB
395
+ ESM dist/chunk-ESJIQMQJ.js.map 1.20 KB
396
396
  ESM dist/chunk-MMFRYMGJ.js.map 15.80 KB
397
+ ESM dist/chunk-W5BREWLN.js.map 3.33 KB
397
398
  ESM dist/chunk-23MWYGN4.js.map 2.54 KB
398
399
  ESM dist/chunk-NDDDT4TO.js.map 3.64 KB
399
400
  ESM dist/chunk-QYKN3JZ5.js.map 8.04 KB
@@ -408,33 +409,32 @@ Browserslist: caniuse-lite is outdated. Please run:
408
409
  ESM dist/dashboard-notification.js.map 51.00 B
409
410
  ESM dist/date-range-picker.js.map 51.00 B
410
411
  ESM dist/chunk-MQETRVUJ.js.map 20.14 KB
411
- ESM dist/chunk-DSJ5TRZW.js.map 3.05 KB
412
412
  ESM dist/chunk-IPAI4R3G.js.map 1.57 KB
413
413
  ESM dist/chunk-F7K7HAXY.js.map 773.00 B
414
414
  ESM dist/date-time-component.js.map 51.00 B
415
- ESM dist/chunk-UQ566F6W.js.map 5.33 KB
416
415
  ESM dist/chunk-TU4FTVZK.js.map 17.89 KB
417
416
  ESM dist/chunk-4FSPYK2A.js.map 21.34 KB
418
417
  ESM dist/chunk-CYOCZEOE.js.map 7.80 KB
419
418
  ESM dist/accordion.js.map 51.00 B
420
419
  ESM dist/chunk-WLWG565K.js.map 7.81 KB
421
- ESM dist/account-manager.js.map 51.00 B
422
420
  ESM dist/chunk-GEVKTAHT.js.map 2.52 KB
421
+ ESM dist/account-manager.js.map 51.00 B
423
422
  ESM dist/chunk-P654OT65.js.map 1.58 KB
424
423
  ESM dist/alert-banner.js.map 51.00 B
425
424
  ESM dist/chunk-5SEJVYKM.js.map 6.15 KB
426
425
  ESM dist/alert.js.map 51.00 B
427
- ESM dist/avatar.js.map 51.00 B
428
426
  ESM dist/chunk-2ATHCBLY.js.map 2.14 KB
427
+ ESM dist/avatar.js.map 51.00 B
429
428
  ESM dist/chunk-2OPJLYW6.js.map 4.13 KB
430
- ESM dist/chunk-UJ5AEZKA.js.map 4.19 KB
431
429
  ESM dist/badge.js.map 51.00 B
432
- ESM dist/breadcrumb.js.map 51.00 B
430
+ ESM dist/chunk-UJ5AEZKA.js.map 4.19 KB
431
+ ESM dist/chunk-DSJ5TRZW.js.map 3.05 KB
433
432
  ESM dist/chunk-TJMI4DH2.js.map 117.04 KB
433
+ ESM dist/breadcrumb.js.map 51.00 B
434
434
  ESM dist/chunk-TRVGXTCI.js.map 3.33 KB
435
435
  ESM dist/chunk-6LHL364H.js.map 62.53 KB
436
+ ESM dist/button-group-item.js.map 51.00 B
436
437
  ESM dist/chunk-XYGVDZRO.js.map 1.25 KB
437
438
  ESM dist/chunk-DBTCX3TP.js.map 711.41 KB
438
- ESM dist/button-group-item.js.map 51.00 B
439
- ESM ⚡️ Build success in 75507ms
440
- Done in 76.09s.
439
+ ESM ⚡️ Build success in 70373ms
440
+ Done in 71.14s.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # ekm-ui
2
2
 
3
+ ## 0.4.80
4
+
5
+ ### Patch Changes
6
+
7
+ - c7794cf8: Alter infinite scrolling in product and file picker
8
+
3
9
  ## 0.4.79
4
10
 
5
11
  ### Patch Changes
@@ -1,10 +1,10 @@
1
- export { h as CardPaymentBlock } from './chunk-AF5UAXRO.js';
1
+ export { h as CardPaymentBlock } from './chunk-YOAHY5KX.js';
2
2
  import './chunk-DBTCX3TP.js';
3
3
  import './chunk-YZ2YZSNQ.js';
4
4
  import './chunk-GVNUAH45.js';
5
5
  import './chunk-JAR3LP2K.js';
6
6
  import './chunk-FOWKHGHJ.js';
7
- import './chunk-34CKZLNN.js';
7
+ import './chunk-KVZTQHFG.js';
8
8
  import './chunk-PSYIXRU7.js';
9
9
  import './chunk-HVNLAQA6.js';
10
10
  import './chunk-HW7AZG2V.js';
@@ -18,7 +18,7 @@ import './chunk-XKE3VK6Z.js';
18
18
  import './chunk-7Q6OMA2A.js';
19
19
  import './chunk-RTRHNOTP.js';
20
20
  import './chunk-XABECXZS.js';
21
- import './chunk-FPXEE5TC.js';
21
+ import './chunk-IJV4UGKJ.js';
22
22
  import './chunk-XXP5K6Y4.js';
23
23
  import './chunk-LWTESXND.js';
24
24
  import './chunk-LIXVY47P.js';
@@ -0,0 +1,11 @@
1
+ import { a as a$1 } from './chunk-R3QJRZTP.js';
2
+ import { a } from './chunk-6LHL364H.js';
3
+ import { e } from './chunk-Z4LPO673.js';
4
+ import { useRef, useState, useEffect } from 'react';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ var t=e(a(),1);function y({border:r,files:a,isMore:o,selected:m,page:h,pages:C,callback:u}){let i=useRef(),[s,f]=useState(!1);useEffect(()=>{i.current!=null&&(i.current.scrollTop=0);},[]),useEffect(()=>{s&&f(!1);},[a]);let p=useRef(o),v=useRef(s);useEffect(()=>{p.current=o;},[o]),useEffect(()=>{v.current=s;},[s]);let w=()=>{if(!p.current)return;let{scrollHeight:l,offsetHeight:x,scrollTop:k}=i.current,S=l-x;Math.floor(k)>=Math.floor(S)&&!v.current&&(f(!0),u({type:"FETCH_DATA",payload:!0}));},N=l=>{u({type:"SELECTION",payload:m===l?"":l});};return jsxs("div",{id:"img-file-list",ref:i,onScroll:w,className:`${r} overflow-y-auto overflow-x-auto lg:overflow-x-hidden rounded-md border`,children:[(a||[]).map(l=>jsx(b,{file:l,selected:m===l.Name,callback:N},`file-row-${l.Name}`)),o&&h<C&&s&&jsx(R,{})]})}function b({file:r,selected:a=!1,callback:o}){return jsxs("div",{className:`mb-1 mt-1 flex items-center pb-4 pt-4 ${a&&"bg-blue-50"} cursor-pointer justify-between border-b border-gray-100`,onClick:()=>{o(r);},children:[jsxs("div",{className:"ml-3 flex items-center",children:[jsx("div",{className:"flex-shrink-0",children:jsx(a$1,{id:r.Name,name:r.Name,checked:a,readOnly:!0})}),jsx("div",{className:"ml-4",children:jsx("img",{className:"h-10 w-10 rounded-md",src:`https://files.ekmcdn.com/${r.Uri}`,alt:""})}),jsxs("div",{className:"ml-4",children:[jsx("div",{className:" font-medium text-gray-900",children:r.Name}),r.Size&&jsx("div",{className:"text-xs text-gray-500",children:r.Size})]})]}),jsx("div",{className:"ml-4 flex-shrink-0",children:jsx("span",{className:"mr-3 text-sm text-gray-500",children:D(r.LastWriteTime)})})]})}y.propTypes={border:t.default.string,files:t.default.array,isMore:t.default.bool,selected:t.default.string,page:t.default.number,pages:t.default.number,callback:t.default.func};b.propTypes={file:t.default.object,selected:t.default.bool,callback:t.default.func};function R(){return jsx("div",{className:"mb-1 mt-1 flex justify-center pb-4 pt-4",children:jsx("div",{role:"status",children:jsxs("svg",{"aria-hidden":"true",className:"inline-block h-8 w-8 animate-spin fill-gray-600 text-gray-200 dark:fill-gray-300 dark:text-gray-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),jsx("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]})})})}function D(r){try{let a=new Date(r),o=["January","February","March","April","May","June","July","August","September","October","November","December"];return a.getDate()+" "+o[a.getMonth()]+" "+a.getFullYear()}catch(a){return "Unknown"}}
8
+
9
+ export { y as a };
10
+ //# sourceMappingURL=out.js.map
11
+ //# sourceMappingURL=chunk-IJV4UGKJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/file-picker/file-listing.tsx"],"names":["import_prop_types","useEffect","useRef","useState","jsx","jsxs","Listing","border","files","isMore","selected","page","pages","callback","scrollRef","showLoader","setShowLoader","isMoreRef","showLoaderRef","handleScroll","scrollHeight","offsetHeight","scrollTop","offset","handleImageSelection","fileName","f","FileRow","InfiniteLoader","file","Radio","writeDate","PropTypes","date","d","months","err"],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport PropTypes from \"prop-types\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { Radio } from \"../radio\";\n\n// FOR USE WITH THE FILE PICKER COMPONENT - ONLY\n\nexport default function Listing({\n border,\n files,\n isMore,\n selected,\n page,\n pages,\n callback,\n}) {\n const scrollRef = useRef();\n const [showLoader, setShowLoader] = useState(false);\n\n useEffect(() => {\n if (scrollRef.current != null) scrollRef.current.scrollTop = 0;\n }, []);\n\n useEffect(() => {\n if(showLoader) setShowLoader(false)\n }, [files])\n\n const isMoreRef = useRef(isMore);\n const showLoaderRef = useRef(showLoader);\n useEffect(() => { isMoreRef.current = isMore; }, [isMore]);\n useEffect(() => { showLoaderRef.current = showLoader; }, [showLoader]);\n\n const handleScroll = () => {\n if (!isMoreRef.current) return;\n const { scrollHeight, offsetHeight, scrollTop } = scrollRef.current;\n const offset = scrollHeight - offsetHeight;\n if (Math.floor(scrollTop) >= Math.floor(offset) && !showLoaderRef.current) {\n setShowLoader(true);\n callback({ type: \"FETCH_DATA\", payload: true });\n }\n };\n\n const handleImageSelection = (fileName) => {\n callback({\n type: \"SELECTION\",\n payload: selected === fileName ? \"\" : fileName,\n });\n };\n\n return (\n <div\n id=\"img-file-list\"\n ref={scrollRef}\n onScroll={handleScroll}\n className={`${border} overflow-y-auto overflow-x-auto lg:overflow-x-hidden rounded-md border`}\n >\n {(files || []).map((f) => {\n return (\n <FileRow\n key={`file-row-${f.Name}`}\n file={f}\n selected={selected === f.Name}\n callback={handleImageSelection}\n />\n );\n })}\n {isMore && page < pages && showLoader && <InfiniteLoader />}\n </div>\n );\n}\n\nfunction FileRow({ file, selected = false, callback }) {\n return (\n <div\n className={`mb-1 mt-1 flex items-center pb-4 pt-4 ${\n selected && \"bg-blue-50\"\n } cursor-pointer justify-between border-b border-gray-100`}\n onClick={() => {\n callback(file);\n }}\n >\n <div className=\"ml-3 flex items-center\">\n <div className=\"flex-shrink-0\">\n <Radio id={file.Name} name={file.Name} checked={selected} readOnly />\n </div>\n <div className=\"ml-4\">\n <img\n className=\"h-10 w-10 rounded-md\"\n src={`https://files.ekmcdn.com/${file.Uri}`}\n alt=\"\"\n />\n </div>\n <div className=\"ml-4\">\n <div className=\" font-medium text-gray-900\">{file.Name}</div>\n {file.Size && (\n <div className=\"text-xs text-gray-500\">{file.Size}</div>\n )}\n </div>\n </div>\n <div className=\"ml-4 flex-shrink-0\">\n <span className=\"mr-3 text-sm text-gray-500\">\n {writeDate(file.LastWriteTime)}\n </span>\n </div>\n </div>\n );\n}\n\nListing.propTypes = {\n /** Border style to use*/\n border: PropTypes.string,\n /** Array of files to list */\n files: PropTypes.array,\n /** Boolean to indicate if there are more files to load */\n isMore: PropTypes.bool,\n /** Name of the selected file */\n selected: PropTypes.string,\n /** Current page */\n page: PropTypes.number,\n /** Total number of pages */\n pages: PropTypes.number,\n /** Callback function to handle events */\n callback: PropTypes.func,\n};\n\nFileRow.propTypes = {\n /** File object to display */\n file: PropTypes.object,\n /** Boolean to indicate if the file is selected */\n selected: PropTypes.bool,\n /** Callback function to handle events */\n callback: PropTypes.func,\n};\n\nfunction InfiniteLoader() {\n return (\n <div className=\"mb-1 mt-1 flex justify-center pb-4 pt-4\">\n <div role=\"status\">\n <svg\n aria-hidden=\"true\"\n className=\"inline-block h-8 w-8 animate-spin fill-gray-600 text-gray-200 dark:fill-gray-300 dark:text-gray-600\"\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n </div>\n </div>\n );\n}\n\nfunction writeDate(date) {\n try {\n const d = new Date(date);\n const 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 return d.getDate() + \" \" + months[d.getMonth()] + \" \" + d.getFullYear();\n } catch (err) {\n return \"Unknown\";\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ import { a as a$2 } from './chunk-PGRADSYH.js';
2
+ import { a as a$1 } from './chunk-6LHL364H.js';
3
+ import { e } from './chunk-Z4LPO673.js';
4
+ import $ from 'pluralize';
5
+ import { useRef, useState, useEffect } from 'react';
6
+ import { jsxs, jsx } from 'react/jsx-runtime';
7
+
8
+ var a=e(a$1(),1);function p(e){var r,l;return `${((r=window.resourceSettings)==null?void 0:r.imageBasePath)||""}${e}?v=${((l=window.resourceSettings)==null?void 0:l.version)||""}`}function T({products:e,isMore:r,selected:l,page:f,pages:g,callback:c}){let s=useRef(),[o,d]=useState(!1);useEffect(()=>{s.current!=null&&(s.current.scrollTop=0);},[]),useEffect(()=>{o&&d(!1);},[e]);let i=useRef(r),h=useRef(o);useEffect(()=>{i.current=r;},[r]),useEffect(()=>{h.current=o;},[o]);let b=()=>{if(!i.current)return;let{scrollHeight:n,offsetHeight:x,scrollTop:w}=s.current,S=n-x;Math.floor(w)>=Math.floor(S)&&!h.current&&(d(!0),c({type:"FETCH_DATA",payload:!0}));},N=n=>{c({type:"SELECTION",payload:n});};return jsxs("div",{id:"product-list",ref:s,onScroll:b,className:"h-[500px] overflow-y-auto rounded-md border",children:[(e||[]).map(n=>jsx(y,{product:n,selected:l.has(n.ProductId),callback:N},`product-row-${n.ProductId}`)),r&&f<g&&o&&jsx(R,{})]})}function y({product:e,selected:r,callback:l}){var g,c,s,o,d;let f=i=>{l(e.ProductId);};return jsxs("div",{className:`mb-1 mt-1 flex items-center pb-4 pt-4 ${r&&"bg-blue-50"} cursor-pointer justify-between border-b border-gray-100 st-productRow`,onClick:f,children:[jsxs("div",{className:"ml-3 flex items-center",children:[jsx("div",{className:"flex-shrink-0",children:jsx(a$2,{id:`cb-prod-${e.ProductId}`,name:e.Name,checked:r,onChange:()=>{}})}),jsx("div",{className:"ml-4 st-image",children:e.ImagePath&&e.ImageName!=="[URL-DownloadRequested]"?jsx("img",{className:"h-10 w-10 rounded-sm",src:e.ImagePath,alt:e.Name,onError:i=>{i.target.onerror=null,i.target.src=`${p("/admin/Content/images/no-image-discount.png")}`;}}):jsx("img",{src:p("/admin/Content/images/no-image-discount.png"),alt:e.Name,className:"h-10 w-10 rounded-sm"})}),jsxs("div",{className:"ml-4",children:[jsx("div",{className:" font-medium text-gray-900 st-name",children:e.Name}),((g=e.Categories)==null?void 0:g.length)>0?jsx("div",{className:"text-xs text-gray-500 st-category",children:`${e.CategoryName} & ${$("other",e.Categories.length,!0)}`}):jsx("div",{className:"text-xs text-gray-500 st-category",children:e.CategoryName})]})]}),jsx("div",{className:"ml-4 flex-shrink-0 st-price",children:jsx("span",{className:"mr-3 text-sm text-gray-500",children:`${(s=(c=globalThis.globalSettings)==null?void 0:c.CurrencySymbol)!=null?s:"\xA3"}${e.Price.toFixed((d=(o=globalThis.globalSettings)==null?void 0:o.CurrencyExponent)!=null?d:2)}`})})]})}T.propTypes={products:a.default.array,isMore:a.default.bool,selected:a.default.instanceOf(Set),page:a.default.number,pages:a.default.number,callback:a.default.func};y.propTypes={product:a.default.object,selected:a.default.bool,callback:a.default.func};function R(){return jsx("div",{className:"mb-1 mt-1 flex justify-center pb-4 pt-4",children:jsx("div",{role:"status",children:jsxs("svg",{"aria-hidden":"true",className:"inline-block h-8 w-8 animate-spin fill-gray-600 text-gray-200 dark:fill-gray-300 dark:text-gray-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),jsx("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]})})})}
9
+
10
+ export { T as a };
11
+ //# sourceMappingURL=out.js.map
12
+ //# sourceMappingURL=chunk-KVZTQHFG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/product-picker/product-listing.tsx"],"names":["import_prop_types","pluralize","useEffect","useRef","useState","jsx","jsxs","BuildImageUrl","imageUrl","_a","_b","Listing","products","isMore","selected","page","pages","callback","scrollRef","showLoader","setShowLoader","isMoreRef","showLoaderRef","handleScroll","scrollHeight","offsetHeight","scrollTop","offset","handleProductSelection","id","p","ProductRow","InfiniteLoader","product","_c","_d","_e","e","Checkbox","PropTypes"],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport pluralize from \"pluralize\";\nimport PropTypes from \"prop-types\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { Checkbox } from \"../checkbox\";\n// FOR USE WITH THE PRODUCT PICKER COMPONENT - ONLY\n\nfunction BuildImageUrl(imageUrl) {\n return `${window.resourceSettings?.imageBasePath || ''}${imageUrl}?v=${window.resourceSettings?.version || ''}`;\n}\n\nexport function Listing({\n products,\n isMore,\n selected,\n page,\n pages,\n callback,\n}) {\n const scrollRef = useRef();\n const [showLoader, setShowLoader] = useState(false);\n\n useEffect(() => {\n if (scrollRef.current != null) scrollRef.current.scrollTop = 0;\n }, []);\n\n useEffect(() => {\n if(showLoader) setShowLoader(false)\n }, [products])\n\n const isMoreRef = useRef(isMore);\n const showLoaderRef = useRef(showLoader);\n useEffect(() => { isMoreRef.current = isMore; }, [isMore]);\n useEffect(() => { showLoaderRef.current = showLoader; }, [showLoader]);\n\n const handleScroll = () => {\n if (!isMoreRef.current) return;\n const { scrollHeight, offsetHeight, scrollTop } = scrollRef.current;\n const offset = scrollHeight - offsetHeight;\n if (Math.floor(scrollTop) >= Math.floor(offset) && !showLoaderRef.current) {\n setShowLoader(true);\n callback({ type: \"FETCH_DATA\", payload: true });\n }\n };\n\n const handleProductSelection = (id) => {\n callback({ type: \"SELECTION\", payload: id });\n };\n\n return (\n <div\n id=\"product-list\"\n ref={scrollRef}\n onScroll={handleScroll}\n className={`h-[500px] overflow-y-auto rounded-md border`}\n >\n {(products || []).map((p) => {\n return (\n <ProductRow\n key={`product-row-${p.ProductId}`}\n product={p}\n selected={selected.has(p.ProductId)}\n callback={handleProductSelection}\n />\n );\n })}\n {isMore && page < pages && showLoader && <InfiniteLoader />}\n </div>\n );\n}\n\nfunction ProductRow({ product, selected, callback }) {\n const handleProductSelection = (e) => {\n callback(product.ProductId);\n };\n return (\n <div\n className={`mb-1 mt-1 flex items-center pb-4 pt-4 ${\n selected && \"bg-blue-50\"\n } cursor-pointer justify-between border-b border-gray-100 st-productRow`}\n onClick={handleProductSelection}\n >\n <div className=\"ml-3 flex items-center\">\n <div className=\"flex-shrink-0\">\n <Checkbox\n id={`cb-prod-${product.ProductId}`}\n name={product.Name}\n checked={selected}\n onChange={() => {}}\n />\n </div>\n <div className=\"ml-4 st-image\">\n {product.ImagePath && product.ImageName !== \"[URL-DownloadRequested]\" ? (\n <img\n className=\"h-10 w-10 rounded-sm\"\n src={product.ImagePath}\n alt={product.Name}\n onError={(e) => {\n e.target.onerror = null;\n e.target.src = `${BuildImageUrl(\n \"/admin/Content/images/no-image-discount.png\"\n )}`;\n }}\n />\n ) : (\n <img\n src={BuildImageUrl(\"/admin/Content/images/no-image-discount.png\")}\n alt={product.Name}\n className=\"h-10 w-10 rounded-sm\"\n />\n )}\n </div>\n <div className=\"ml-4\">\n <div className=\" font-medium text-gray-900 st-name\">{product.Name}</div>\n {product.Categories?.length > 0 ? (\n <div className=\"text-xs text-gray-500 st-category\">{`${\n product.CategoryName\n } & ${pluralize(\"other\", product.Categories.length, true)}`}</div>\n ) : (\n <div className=\"text-xs text-gray-500 st-category\">{product.CategoryName}</div>\n )}\n </div>\n </div>\n <div className=\"ml-4 flex-shrink-0 st-price\">\n <span className=\"mr-3 text-sm text-gray-500\">{`${\n globalThis.globalSettings?.CurrencySymbol ?? '£'\n }${product.Price.toFixed(\n globalThis.globalSettings?.CurrencyExponent ?? 2\n )}`}</span>\n </div>\n </div>\n );\n}\n\nListing.propTypes = {\n /** Array of products to list */\n products: PropTypes.array,\n /** Boolean to indicate if there are more products to load */\n isMore: PropTypes.bool,\n /** Set of selected ids */\n selected: PropTypes.instanceOf(Set),\n /** Current page */\n page: PropTypes.number,\n /** Total number of pages */\n pages: PropTypes.number,\n /** Callback function to handle events */\n callback: PropTypes.func,\n};\n\nProductRow.propTypes = {\n /** Product object to display */\n product: PropTypes.object,\n /** Boolean to indicate if the file is selected */\n selected: PropTypes.bool,\n /** Callback function to handle events */\n callback: PropTypes.func,\n};\n\nfunction InfiniteLoader() {\n return (\n <div className=\"mb-1 mt-1 flex justify-center pb-4 pt-4\">\n <div role=\"status\">\n <svg\n aria-hidden=\"true\"\n className=\"inline-block h-8 w-8 animate-spin fill-gray-600 text-gray-200 dark:fill-gray-300 dark:text-gray-600\"\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n </div>\n </div>\n );\n}\n"]}
@@ -1,7 +1,7 @@
1
- import { a as a$i } from './chunk-34CKZLNN.js';
1
+ import { a as a$i } from './chunk-KVZTQHFG.js';
2
2
  import { a as a$e } from './chunk-PSYIXRU7.js';
3
3
  import { a as a$8, b } from './chunk-HVNLAQA6.js';
4
- import { a as a$j } from './chunk-FPXEE5TC.js';
4
+ import { a as a$j } from './chunk-IJV4UGKJ.js';
5
5
  import { a as a$9 } from './chunk-XXP5K6Y4.js';
6
6
  import { a as a$k } from './chunk-Q4MYDT2M.js';
7
7
  import { a as a$d } from './chunk-AO5TGD7T.js';
@@ -34,4 +34,4 @@ function Xe({cardPayment:r,enablePayPal:e}){return jsxs(a$3,{className:"border-0
34
34
 
35
35
  export { nr as a, Nr as b, le as c, Fe as d, K as e, Ye as f, ir as g, Xe as h };
36
36
  //# sourceMappingURL=out.js.map
37
- //# sourceMappingURL=chunk-AF5UAXRO.js.map
37
+ //# sourceMappingURL=chunk-YOAHY5KX.js.map
@@ -1,10 +1,10 @@
1
- export { g as CountryPicker } from '../chunk-AF5UAXRO.js';
1
+ export { g as CountryPicker } from '../chunk-YOAHY5KX.js';
2
2
  import '../chunk-DBTCX3TP.js';
3
3
  import '../chunk-YZ2YZSNQ.js';
4
4
  import '../chunk-GVNUAH45.js';
5
5
  import '../chunk-JAR3LP2K.js';
6
6
  import '../chunk-FOWKHGHJ.js';
7
- import '../chunk-34CKZLNN.js';
7
+ import '../chunk-KVZTQHFG.js';
8
8
  import '../chunk-PSYIXRU7.js';
9
9
  import '../chunk-HVNLAQA6.js';
10
10
  import '../chunk-HW7AZG2V.js';
@@ -18,7 +18,7 @@ import '../chunk-XKE3VK6Z.js';
18
18
  import '../chunk-7Q6OMA2A.js';
19
19
  import '../chunk-RTRHNOTP.js';
20
20
  import '../chunk-XABECXZS.js';
21
- import '../chunk-FPXEE5TC.js';
21
+ import '../chunk-IJV4UGKJ.js';
22
22
  import '../chunk-XXP5K6Y4.js';
23
23
  import '../chunk-LWTESXND.js';
24
24
  import '../chunk-LIXVY47P.js';
@@ -1,10 +1,10 @@
1
- export { c as DragAndDrop } from './chunk-AF5UAXRO.js';
1
+ export { c as DragAndDrop } from './chunk-YOAHY5KX.js';
2
2
  import './chunk-DBTCX3TP.js';
3
3
  import './chunk-YZ2YZSNQ.js';
4
4
  import './chunk-GVNUAH45.js';
5
5
  import './chunk-JAR3LP2K.js';
6
6
  import './chunk-FOWKHGHJ.js';
7
- import './chunk-34CKZLNN.js';
7
+ import './chunk-KVZTQHFG.js';
8
8
  import './chunk-PSYIXRU7.js';
9
9
  import './chunk-HVNLAQA6.js';
10
10
  import './chunk-HW7AZG2V.js';
@@ -18,7 +18,7 @@ import './chunk-XKE3VK6Z.js';
18
18
  import './chunk-7Q6OMA2A.js';
19
19
  import './chunk-RTRHNOTP.js';
20
20
  import './chunk-XABECXZS.js';
21
- import './chunk-FPXEE5TC.js';
21
+ import './chunk-IJV4UGKJ.js';
22
22
  import './chunk-XXP5K6Y4.js';
23
23
  import './chunk-LWTESXND.js';
24
24
  import './chunk-LIXVY47P.js';
@@ -1,4 +1,4 @@
1
- export { a as default } from '../chunk-FPXEE5TC.js';
1
+ export { a as default } from '../chunk-IJV4UGKJ.js';
2
2
  import '../chunk-R3QJRZTP.js';
3
3
  import '../chunk-6LHL364H.js';
4
4
  import '../chunk-Z4LPO673.js';
@@ -1,10 +1,10 @@
1
- export { d as FilePicker } from '../chunk-AF5UAXRO.js';
1
+ export { d as FilePicker } from '../chunk-YOAHY5KX.js';
2
2
  import '../chunk-DBTCX3TP.js';
3
3
  import '../chunk-YZ2YZSNQ.js';
4
4
  import '../chunk-GVNUAH45.js';
5
5
  import '../chunk-JAR3LP2K.js';
6
6
  import '../chunk-FOWKHGHJ.js';
7
- import '../chunk-34CKZLNN.js';
7
+ import '../chunk-KVZTQHFG.js';
8
8
  import '../chunk-PSYIXRU7.js';
9
9
  import '../chunk-HVNLAQA6.js';
10
10
  import '../chunk-HW7AZG2V.js';
@@ -18,7 +18,7 @@ import '../chunk-XKE3VK6Z.js';
18
18
  import '../chunk-7Q6OMA2A.js';
19
19
  import '../chunk-RTRHNOTP.js';
20
20
  import '../chunk-XABECXZS.js';
21
- import '../chunk-FPXEE5TC.js';
21
+ import '../chunk-IJV4UGKJ.js';
22
22
  import '../chunk-XXP5K6Y4.js';
23
23
  import '../chunk-LWTESXND.js';
24
24
  import '../chunk-LIXVY47P.js';
package/dist/index.js CHANGED
@@ -1,10 +1,10 @@
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-AF5UAXRO.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-YOAHY5KX.js';
2
2
  export { a as TableHeader } from './chunk-DBTCX3TP.js';
3
3
  export { b as ToastProvider, c as useToast } from './chunk-YZ2YZSNQ.js';
4
4
  export { a as NBUI_Footer } from './chunk-GVNUAH45.js';
5
5
  export { a as NBUI_Page_Layout } from './chunk-JAR3LP2K.js';
6
6
  export { a as Pagination } from './chunk-FOWKHGHJ.js';
7
- import './chunk-34CKZLNN.js';
7
+ import './chunk-KVZTQHFG.js';
8
8
  export { a as Search } from './chunk-PSYIXRU7.js';
9
9
  export { b as Sidebar } from './chunk-HVNLAQA6.js';
10
10
  export { a as Sort } from './chunk-HW7AZG2V.js';
@@ -18,7 +18,7 @@ export { a as NBUI_Card } from './chunk-XKE3VK6Z.js';
18
18
  export { a as NBUI_Container } from './chunk-7Q6OMA2A.js';
19
19
  export { a as StaffPickCard } from './chunk-RTRHNOTP.js';
20
20
  export { a as FeaturePageGroup } from './chunk-XABECXZS.js';
21
- import './chunk-FPXEE5TC.js';
21
+ import './chunk-IJV4UGKJ.js';
22
22
  export { a as Navbar } from './chunk-XXP5K6Y4.js';
23
23
  export { a as NBUI_Card_Form } from './chunk-LWTESXND.js';
24
24
  export { a as VideoDashboardNotification } from './chunk-LIXVY47P.js';
@@ -1,10 +1,10 @@
1
- export { b as Layout } from '../chunk-AF5UAXRO.js';
1
+ export { b as Layout } from '../chunk-YOAHY5KX.js';
2
2
  import '../chunk-DBTCX3TP.js';
3
3
  import '../chunk-YZ2YZSNQ.js';
4
4
  import '../chunk-GVNUAH45.js';
5
5
  import '../chunk-JAR3LP2K.js';
6
6
  import '../chunk-FOWKHGHJ.js';
7
- import '../chunk-34CKZLNN.js';
7
+ import '../chunk-KVZTQHFG.js';
8
8
  import '../chunk-PSYIXRU7.js';
9
9
  import '../chunk-HVNLAQA6.js';
10
10
  import '../chunk-HW7AZG2V.js';
@@ -18,7 +18,7 @@ import '../chunk-XKE3VK6Z.js';
18
18
  import '../chunk-7Q6OMA2A.js';
19
19
  import '../chunk-RTRHNOTP.js';
20
20
  import '../chunk-XABECXZS.js';
21
- import '../chunk-FPXEE5TC.js';
21
+ import '../chunk-IJV4UGKJ.js';
22
22
  import '../chunk-XXP5K6Y4.js';
23
23
  import '../chunk-LWTESXND.js';
24
24
  import '../chunk-LIXVY47P.js';
@@ -1,4 +1,4 @@
1
- export { a as Listing } from '../chunk-34CKZLNN.js';
1
+ export { a as Listing } from '../chunk-KVZTQHFG.js';
2
2
  import '../chunk-PGRADSYH.js';
3
3
  import '../chunk-TJMI4DH2.js';
4
4
  import '../chunk-6LHL364H.js';
@@ -1,10 +1,10 @@
1
- export { f as ProductPicker } from '../chunk-AF5UAXRO.js';
1
+ export { f as ProductPicker } from '../chunk-YOAHY5KX.js';
2
2
  import '../chunk-DBTCX3TP.js';
3
3
  import '../chunk-YZ2YZSNQ.js';
4
4
  import '../chunk-GVNUAH45.js';
5
5
  import '../chunk-JAR3LP2K.js';
6
6
  import '../chunk-FOWKHGHJ.js';
7
- import '../chunk-34CKZLNN.js';
7
+ import '../chunk-KVZTQHFG.js';
8
8
  import '../chunk-PSYIXRU7.js';
9
9
  import '../chunk-HVNLAQA6.js';
10
10
  import '../chunk-HW7AZG2V.js';
@@ -18,7 +18,7 @@ import '../chunk-XKE3VK6Z.js';
18
18
  import '../chunk-7Q6OMA2A.js';
19
19
  import '../chunk-RTRHNOTP.js';
20
20
  import '../chunk-XABECXZS.js';
21
- import '../chunk-FPXEE5TC.js';
21
+ import '../chunk-IJV4UGKJ.js';
22
22
  import '../chunk-XXP5K6Y4.js';
23
23
  import '../chunk-LWTESXND.js';
24
24
  import '../chunk-LIXVY47P.js';
@@ -1,10 +1,10 @@
1
- export { a as StackedListItem } from './chunk-AF5UAXRO.js';
1
+ export { a as StackedListItem } from './chunk-YOAHY5KX.js';
2
2
  import './chunk-DBTCX3TP.js';
3
3
  import './chunk-YZ2YZSNQ.js';
4
4
  import './chunk-GVNUAH45.js';
5
5
  import './chunk-JAR3LP2K.js';
6
6
  import './chunk-FOWKHGHJ.js';
7
- import './chunk-34CKZLNN.js';
7
+ import './chunk-KVZTQHFG.js';
8
8
  import './chunk-PSYIXRU7.js';
9
9
  import './chunk-HVNLAQA6.js';
10
10
  import './chunk-HW7AZG2V.js';
@@ -18,7 +18,7 @@ import './chunk-XKE3VK6Z.js';
18
18
  import './chunk-7Q6OMA2A.js';
19
19
  import './chunk-RTRHNOTP.js';
20
20
  import './chunk-XABECXZS.js';
21
- import './chunk-FPXEE5TC.js';
21
+ import './chunk-IJV4UGKJ.js';
22
22
  import './chunk-XXP5K6Y4.js';
23
23
  import './chunk-LWTESXND.js';
24
24
  import './chunk-LIXVY47P.js';
@@ -1,10 +1,10 @@
1
- export { e as TableResultBlock } from './chunk-AF5UAXRO.js';
1
+ export { e as TableResultBlock } from './chunk-YOAHY5KX.js';
2
2
  import './chunk-DBTCX3TP.js';
3
3
  import './chunk-YZ2YZSNQ.js';
4
4
  import './chunk-GVNUAH45.js';
5
5
  import './chunk-JAR3LP2K.js';
6
6
  import './chunk-FOWKHGHJ.js';
7
- import './chunk-34CKZLNN.js';
7
+ import './chunk-KVZTQHFG.js';
8
8
  import './chunk-PSYIXRU7.js';
9
9
  import './chunk-HVNLAQA6.js';
10
10
  import './chunk-HW7AZG2V.js';
@@ -18,7 +18,7 @@ import './chunk-XKE3VK6Z.js';
18
18
  import './chunk-7Q6OMA2A.js';
19
19
  import './chunk-RTRHNOTP.js';
20
20
  import './chunk-XABECXZS.js';
21
- import './chunk-FPXEE5TC.js';
21
+ import './chunk-IJV4UGKJ.js';
22
22
  import './chunk-XXP5K6Y4.js';
23
23
  import './chunk-LWTESXND.js';
24
24
  import './chunk-LIXVY47P.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ekm-ui",
3
- "version": "0.4.79",
3
+ "version": "0.4.80",
4
4
  "sideEffects": [
5
5
  "**/*.css"
6
6
  ],
@@ -1,6 +1,6 @@
1
1
  // @ts-nocheck
2
2
  import PropTypes from "prop-types";
3
- import { useEffect, useRef } from "react";
3
+ import { useEffect, useRef, useState } from "react";
4
4
  import { Radio } from "../radio";
5
5
 
6
6
  // FOR USE WITH THE FILE PICKER COMPONENT - ONLY
@@ -15,25 +15,27 @@ export default function Listing({
15
15
  callback,
16
16
  }) {
17
17
  const scrollRef = useRef();
18
+ const [showLoader, setShowLoader] = useState(false);
18
19
 
19
20
  useEffect(() => {
20
- const element = document.querySelector("#img-file-list");
21
- if (element && !element.hasAttribute("scroll"))
22
- scrollRef.current.addEventListener("scroll", handleScroll);
23
21
  if (scrollRef.current != null) scrollRef.current.scrollTop = 0;
24
- return () => {
25
- const element = document.querySelector("#img-file-list");
26
- if (element && element.hasAttribute("scroll"))
27
- scrollRef.current.removeEventListener("scroll", handleScroll);
28
- };
29
22
  }, []);
30
23
 
24
+ useEffect(() => {
25
+ if(showLoader) setShowLoader(false)
26
+ }, [files])
27
+
28
+ const isMoreRef = useRef(isMore);
29
+ const showLoaderRef = useRef(showLoader);
30
+ useEffect(() => { isMoreRef.current = isMore; }, [isMore]);
31
+ useEffect(() => { showLoaderRef.current = showLoader; }, [showLoader]);
32
+
31
33
  const handleScroll = () => {
32
- if (!isMore) return;
33
- const offset =
34
- scrollRef.current.scrollHeight - scrollRef.current.offsetHeight;
35
- const scroll = Math.floor(scrollRef.current.scrollTop);
36
- if (scroll > offset) {
34
+ if (!isMoreRef.current) return;
35
+ const { scrollHeight, offsetHeight, scrollTop } = scrollRef.current;
36
+ const offset = scrollHeight - offsetHeight;
37
+ if (Math.floor(scrollTop) >= Math.floor(offset) && !showLoaderRef.current) {
38
+ setShowLoader(true);
37
39
  callback({ type: "FETCH_DATA", payload: true });
38
40
  }
39
41
  };
@@ -49,6 +51,7 @@ export default function Listing({
49
51
  <div
50
52
  id="img-file-list"
51
53
  ref={scrollRef}
54
+ onScroll={handleScroll}
52
55
  className={`${border} overflow-y-auto overflow-x-auto lg:overflow-x-hidden rounded-md border`}
53
56
  >
54
57
  {(files || []).map((f) => {
@@ -61,7 +64,7 @@ export default function Listing({
61
64
  />
62
65
  );
63
66
  })}
64
- {isMore && page < pages && <InfiniteLoader />}
67
+ {isMore && page < pages && showLoader && <InfiniteLoader />}
65
68
  </div>
66
69
  );
67
70
  }
@@ -21,27 +21,23 @@ export function Listing({
21
21
  const [showLoader, setShowLoader] = useState(false);
22
22
 
23
23
  useEffect(() => {
24
- const element = document.querySelector("#product-list");
25
- if (element && !element.hasAttribute("scroll"))
26
- scrollRef.current.addEventListener("scroll", handleScroll);
27
24
  if (scrollRef.current != null) scrollRef.current.scrollTop = 0;
28
- return () => {
29
- const element = document.querySelector("#product-list");
30
- if (element && element.hasAttribute("scroll"))
31
- scrollRef.current.removeEventListener("scroll", handleScroll);
32
- };
33
25
  }, []);
34
26
 
35
27
  useEffect(() => {
36
28
  if(showLoader) setShowLoader(false)
37
29
  }, [products])
38
30
 
31
+ const isMoreRef = useRef(isMore);
32
+ const showLoaderRef = useRef(showLoader);
33
+ useEffect(() => { isMoreRef.current = isMore; }, [isMore]);
34
+ useEffect(() => { showLoaderRef.current = showLoader; }, [showLoader]);
35
+
39
36
  const handleScroll = () => {
40
- if (!isMore) return;
41
- const offset =
42
- scrollRef.current.scrollHeight - scrollRef.current.offsetHeight;
43
- const scroll = Math.floor(scrollRef.current.scrollTop);
44
- if (scroll > offset && !showLoader) {
37
+ if (!isMoreRef.current) return;
38
+ const { scrollHeight, offsetHeight, scrollTop } = scrollRef.current;
39
+ const offset = scrollHeight - offsetHeight;
40
+ if (Math.floor(scrollTop) >= Math.floor(offset) && !showLoaderRef.current) {
45
41
  setShowLoader(true);
46
42
  callback({ type: "FETCH_DATA", payload: true });
47
43
  }
@@ -55,6 +51,7 @@ export function Listing({
55
51
  <div
56
52
  id="product-list"
57
53
  ref={scrollRef}
54
+ onScroll={handleScroll}
58
55
  className={`h-[500px] overflow-y-auto rounded-md border`}
59
56
  >
60
57
  {(products || []).map((p) => {
@@ -1,12 +0,0 @@
1
- import { a as a$1 } from './chunk-PGRADSYH.js';
2
- import { a } from './chunk-6LHL364H.js';
3
- import { e } from './chunk-Z4LPO673.js';
4
- import x from 'pluralize';
5
- import { useRef, useState, useEffect } from 'react';
6
- import { jsxs, jsx } from 'react/jsx-runtime';
7
-
8
- var s=e(a(),1);function h(e){var o,l;return `${((o=window.resourceSettings)==null?void 0:o.imageBasePath)||""}${e}?v=${((l=window.resourceSettings)==null?void 0:l.version)||""}`}function P({products:e,isMore:o,selected:l,page:g,pages:u,callback:c}){let r=useRef(),[n,d]=useState(!1);useEffect(()=>{let a=document.querySelector("#product-list");return a&&!a.hasAttribute("scroll")&&r.current.addEventListener("scroll",i),r.current!=null&&(r.current.scrollTop=0),()=>{let f=document.querySelector("#product-list");f&&f.hasAttribute("scroll")&&r.current.removeEventListener("scroll",i);}},[]),useEffect(()=>{n&&d(!1);},[e]);let i=()=>{if(!o)return;let a=r.current.scrollHeight-r.current.offsetHeight;Math.floor(r.current.scrollTop)>a&&!n&&(d(!0),c({type:"FETCH_DATA",payload:!0}));},y=a=>{c({type:"SELECTION",payload:a});};return jsxs("div",{id:"product-list",ref:r,className:"h-[500px] overflow-y-auto rounded-md border",children:[(e||[]).map(a=>jsx(p,{product:a,selected:l.has(a.ProductId),callback:y},`product-row-${a.ProductId}`)),o&&g<u&&n&&jsx(k,{})]})}function p({product:e,selected:o,callback:l}){var u,c,r,n,d;let g=i=>{l(e.ProductId);};return jsxs("div",{className:`mb-1 mt-1 flex items-center pb-4 pt-4 ${o&&"bg-blue-50"} cursor-pointer justify-between border-b border-gray-100 st-productRow`,onClick:g,children:[jsxs("div",{className:"ml-3 flex items-center",children:[jsx("div",{className:"flex-shrink-0",children:jsx(a$1,{id:`cb-prod-${e.ProductId}`,name:e.Name,checked:o,onChange:()=>{}})}),jsx("div",{className:"ml-4 st-image",children:e.ImagePath&&e.ImageName!=="[URL-DownloadRequested]"?jsx("img",{className:"h-10 w-10 rounded-sm",src:e.ImagePath,alt:e.Name,onError:i=>{i.target.onerror=null,i.target.src=`${h("/admin/Content/images/no-image-discount.png")}`;}}):jsx("img",{src:h("/admin/Content/images/no-image-discount.png"),alt:e.Name,className:"h-10 w-10 rounded-sm"})}),jsxs("div",{className:"ml-4",children:[jsx("div",{className:" font-medium text-gray-900 st-name",children:e.Name}),((u=e.Categories)==null?void 0:u.length)>0?jsx("div",{className:"text-xs text-gray-500 st-category",children:`${e.CategoryName} & ${x("other",e.Categories.length,!0)}`}):jsx("div",{className:"text-xs text-gray-500 st-category",children:e.CategoryName})]})]}),jsx("div",{className:"ml-4 flex-shrink-0 st-price",children:jsx("span",{className:"mr-3 text-sm text-gray-500",children:`${(r=(c=globalThis.globalSettings)==null?void 0:c.CurrencySymbol)!=null?r:"\xA3"}${e.Price.toFixed((d=(n=globalThis.globalSettings)==null?void 0:n.CurrencyExponent)!=null?d:2)}`})})]})}P.propTypes={products:s.default.array,isMore:s.default.bool,selected:s.default.instanceOf(Set),page:s.default.number,pages:s.default.number,callback:s.default.func};p.propTypes={product:s.default.object,selected:s.default.bool,callback:s.default.func};function k(){return jsx("div",{className:"mb-1 mt-1 flex justify-center pb-4 pt-4",children:jsx("div",{role:"status",children:jsxs("svg",{"aria-hidden":"true",className:"inline-block h-8 w-8 animate-spin fill-gray-600 text-gray-200 dark:fill-gray-300 dark:text-gray-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),jsx("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]})})})}
9
-
10
- export { P as a };
11
- //# sourceMappingURL=out.js.map
12
- //# sourceMappingURL=chunk-34CKZLNN.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/product-picker/product-listing.tsx"],"names":["import_prop_types","pluralize","useEffect","useRef","useState","jsx","jsxs","BuildImageUrl","imageUrl","_a","_b","Listing","products","isMore","selected","page","pages","callback","scrollRef","showLoader","setShowLoader","element","handleScroll","offset","handleProductSelection","id","p","ProductRow","InfiniteLoader","product","_c","_d","_e","e","Checkbox","PropTypes"],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport pluralize from \"pluralize\";\nimport PropTypes from \"prop-types\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { Checkbox } from \"../checkbox\";\n// FOR USE WITH THE PRODUCT PICKER COMPONENT - ONLY\n\nfunction BuildImageUrl(imageUrl) {\n return `${window.resourceSettings?.imageBasePath || ''}${imageUrl}?v=${window.resourceSettings?.version || ''}`;\n}\n\nexport function Listing({\n products,\n isMore,\n selected,\n page,\n pages,\n callback,\n}) {\n const scrollRef = useRef();\n const [showLoader, setShowLoader] = useState(false);\n\n useEffect(() => {\n const element = document.querySelector(\"#product-list\");\n if (element && !element.hasAttribute(\"scroll\"))\n scrollRef.current.addEventListener(\"scroll\", handleScroll);\n if (scrollRef.current != null) scrollRef.current.scrollTop = 0;\n return () => {\n const element = document.querySelector(\"#product-list\");\n if (element && element.hasAttribute(\"scroll\"))\n scrollRef.current.removeEventListener(\"scroll\", handleScroll);\n };\n }, []);\n\n useEffect(() => {\n if(showLoader) setShowLoader(false)\n }, [products])\n\n const handleScroll = () => {\n if (!isMore) return;\n const offset =\n scrollRef.current.scrollHeight - scrollRef.current.offsetHeight;\n const scroll = Math.floor(scrollRef.current.scrollTop);\n if (scroll > offset && !showLoader) {\n setShowLoader(true);\n callback({ type: \"FETCH_DATA\", payload: true });\n }\n };\n\n const handleProductSelection = (id) => {\n callback({ type: \"SELECTION\", payload: id });\n };\n\n return (\n <div\n id=\"product-list\"\n ref={scrollRef}\n className={`h-[500px] overflow-y-auto rounded-md border`}\n >\n {(products || []).map((p) => {\n return (\n <ProductRow\n key={`product-row-${p.ProductId}`}\n product={p}\n selected={selected.has(p.ProductId)}\n callback={handleProductSelection}\n />\n );\n })}\n {isMore && page < pages && showLoader && <InfiniteLoader />}\n </div>\n );\n}\n\nfunction ProductRow({ product, selected, callback }) {\n const handleProductSelection = (e) => {\n callback(product.ProductId);\n };\n return (\n <div\n className={`mb-1 mt-1 flex items-center pb-4 pt-4 ${\n selected && \"bg-blue-50\"\n } cursor-pointer justify-between border-b border-gray-100 st-productRow`}\n onClick={handleProductSelection}\n >\n <div className=\"ml-3 flex items-center\">\n <div className=\"flex-shrink-0\">\n <Checkbox\n id={`cb-prod-${product.ProductId}`}\n name={product.Name}\n checked={selected}\n onChange={() => {}}\n />\n </div>\n <div className=\"ml-4 st-image\">\n {product.ImagePath && product.ImageName !== \"[URL-DownloadRequested]\" ? (\n <img\n className=\"h-10 w-10 rounded-sm\"\n src={product.ImagePath}\n alt={product.Name}\n onError={(e) => {\n e.target.onerror = null;\n e.target.src = `${BuildImageUrl(\n \"/admin/Content/images/no-image-discount.png\"\n )}`;\n }}\n />\n ) : (\n <img\n src={BuildImageUrl(\"/admin/Content/images/no-image-discount.png\")}\n alt={product.Name}\n className=\"h-10 w-10 rounded-sm\"\n />\n )}\n </div>\n <div className=\"ml-4\">\n <div className=\" font-medium text-gray-900 st-name\">{product.Name}</div>\n {product.Categories?.length > 0 ? (\n <div className=\"text-xs text-gray-500 st-category\">{`${\n product.CategoryName\n } & ${pluralize(\"other\", product.Categories.length, true)}`}</div>\n ) : (\n <div className=\"text-xs text-gray-500 st-category\">{product.CategoryName}</div>\n )}\n </div>\n </div>\n <div className=\"ml-4 flex-shrink-0 st-price\">\n <span className=\"mr-3 text-sm text-gray-500\">{`${\n globalThis.globalSettings?.CurrencySymbol ?? '£'\n }${product.Price.toFixed(\n globalThis.globalSettings?.CurrencyExponent ?? 2\n )}`}</span>\n </div>\n </div>\n );\n}\n\nListing.propTypes = {\n /** Array of products to list */\n products: PropTypes.array,\n /** Boolean to indicate if there are more products to load */\n isMore: PropTypes.bool,\n /** Set of selected ids */\n selected: PropTypes.instanceOf(Set),\n /** Current page */\n page: PropTypes.number,\n /** Total number of pages */\n pages: PropTypes.number,\n /** Callback function to handle events */\n callback: PropTypes.func,\n};\n\nProductRow.propTypes = {\n /** Product object to display */\n product: PropTypes.object,\n /** Boolean to indicate if the file is selected */\n selected: PropTypes.bool,\n /** Callback function to handle events */\n callback: PropTypes.func,\n};\n\nfunction InfiniteLoader() {\n return (\n <div className=\"mb-1 mt-1 flex justify-center pb-4 pt-4\">\n <div role=\"status\">\n <svg\n aria-hidden=\"true\"\n className=\"inline-block h-8 w-8 animate-spin fill-gray-600 text-gray-200 dark:fill-gray-300 dark:text-gray-600\"\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n </div>\n </div>\n );\n}\n"]}
@@ -1,11 +0,0 @@
1
- import { a as a$1 } from './chunk-R3QJRZTP.js';
2
- import { a } from './chunk-6LHL364H.js';
3
- import { e } from './chunk-Z4LPO673.js';
4
- import { useRef, useEffect } from 'react';
5
- import { jsxs, jsx } from 'react/jsx-runtime';
6
-
7
- var l=e(a(),1);function f({border:r,files:s,isMore:o,selected:c,page:v,pages:g,callback:m}){let a=useRef();useEffect(()=>{let t=document.querySelector("#img-file-list");return t&&!t.hasAttribute("scroll")&&a.current.addEventListener("scroll",d),a.current!=null&&(a.current.scrollTop=0),()=>{let n=document.querySelector("#img-file-list");n&&n.hasAttribute("scroll")&&a.current.removeEventListener("scroll",d);}},[]);let d=()=>{if(!o)return;let t=a.current.scrollHeight-a.current.offsetHeight;Math.floor(a.current.scrollTop)>t&&m({type:"FETCH_DATA",payload:!0});},y=t=>{m({type:"SELECTION",payload:c===t?"":t});};return jsxs("div",{id:"img-file-list",ref:a,className:`${r} overflow-y-auto overflow-x-auto lg:overflow-x-hidden rounded-md border`,children:[(s||[]).map(t=>jsx(p,{file:t,selected:c===t.Name,callback:y},`file-row-${t.Name}`)),o&&v<g&&jsx(x,{})]})}function p({file:r,selected:s=!1,callback:o}){return jsxs("div",{className:`mb-1 mt-1 flex items-center pb-4 pt-4 ${s&&"bg-blue-50"} cursor-pointer justify-between border-b border-gray-100`,onClick:()=>{o(r);},children:[jsxs("div",{className:"ml-3 flex items-center",children:[jsx("div",{className:"flex-shrink-0",children:jsx(a$1,{id:r.Name,name:r.Name,checked:s,readOnly:!0})}),jsx("div",{className:"ml-4",children:jsx("img",{className:"h-10 w-10 rounded-md",src:`https://files.ekmcdn.com/${r.Uri}`,alt:""})}),jsxs("div",{className:"ml-4",children:[jsx("div",{className:" font-medium text-gray-900",children:r.Name}),r.Size&&jsx("div",{className:"text-xs text-gray-500",children:r.Size})]})]}),jsx("div",{className:"ml-4 flex-shrink-0",children:jsx("span",{className:"mr-3 text-sm text-gray-500",children:w(r.LastWriteTime)})})]})}f.propTypes={border:l.default.string,files:l.default.array,isMore:l.default.bool,selected:l.default.string,page:l.default.number,pages:l.default.number,callback:l.default.func};p.propTypes={file:l.default.object,selected:l.default.bool,callback:l.default.func};function x(){return jsx("div",{className:"mb-1 mt-1 flex justify-center pb-4 pt-4",children:jsx("div",{role:"status",children:jsxs("svg",{"aria-hidden":"true",className:"inline-block h-8 w-8 animate-spin fill-gray-600 text-gray-200 dark:fill-gray-300 dark:text-gray-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[jsx("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),jsx("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]})})})}function w(r){try{let s=new Date(r),o=["January","February","March","April","May","June","July","August","September","October","November","December"];return s.getDate()+" "+o[s.getMonth()]+" "+s.getFullYear()}catch(s){return "Unknown"}}
8
-
9
- export { f as a };
10
- //# sourceMappingURL=out.js.map
11
- //# sourceMappingURL=chunk-FPXEE5TC.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/file-picker/file-listing.tsx"],"names":["import_prop_types","useEffect","useRef","jsx","jsxs","Listing","border","files","isMore","selected","page","pages","callback","scrollRef","element","handleScroll","offset","handleImageSelection","fileName","f","FileRow","InfiniteLoader","file","Radio","writeDate","PropTypes","date","d","months","err"],"mappings":"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","sourcesContent":["// @ts-nocheck\nimport PropTypes from \"prop-types\";\nimport { useEffect, useRef } from \"react\";\nimport { Radio } from \"../radio\";\n\n// FOR USE WITH THE FILE PICKER COMPONENT - ONLY\n\nexport default function Listing({\n border,\n files,\n isMore,\n selected,\n page,\n pages,\n callback,\n}) {\n const scrollRef = useRef();\n\n useEffect(() => {\n const element = document.querySelector(\"#img-file-list\");\n if (element && !element.hasAttribute(\"scroll\"))\n scrollRef.current.addEventListener(\"scroll\", handleScroll);\n if (scrollRef.current != null) scrollRef.current.scrollTop = 0;\n return () => {\n const element = document.querySelector(\"#img-file-list\");\n if (element && element.hasAttribute(\"scroll\"))\n scrollRef.current.removeEventListener(\"scroll\", handleScroll);\n };\n }, []);\n\n const handleScroll = () => {\n if (!isMore) return;\n const offset =\n scrollRef.current.scrollHeight - scrollRef.current.offsetHeight;\n const scroll = Math.floor(scrollRef.current.scrollTop);\n if (scroll > offset) {\n callback({ type: \"FETCH_DATA\", payload: true });\n }\n };\n\n const handleImageSelection = (fileName) => {\n callback({\n type: \"SELECTION\",\n payload: selected === fileName ? \"\" : fileName,\n });\n };\n\n return (\n <div\n id=\"img-file-list\"\n ref={scrollRef}\n className={`${border} overflow-y-auto overflow-x-auto lg:overflow-x-hidden rounded-md border`}\n >\n {(files || []).map((f) => {\n return (\n <FileRow\n key={`file-row-${f.Name}`}\n file={f}\n selected={selected === f.Name}\n callback={handleImageSelection}\n />\n );\n })}\n {isMore && page < pages && <InfiniteLoader />}\n </div>\n );\n}\n\nfunction FileRow({ file, selected = false, callback }) {\n return (\n <div\n className={`mb-1 mt-1 flex items-center pb-4 pt-4 ${\n selected && \"bg-blue-50\"\n } cursor-pointer justify-between border-b border-gray-100`}\n onClick={() => {\n callback(file);\n }}\n >\n <div className=\"ml-3 flex items-center\">\n <div className=\"flex-shrink-0\">\n <Radio id={file.Name} name={file.Name} checked={selected} readOnly />\n </div>\n <div className=\"ml-4\">\n <img\n className=\"h-10 w-10 rounded-md\"\n src={`https://files.ekmcdn.com/${file.Uri}`}\n alt=\"\"\n />\n </div>\n <div className=\"ml-4\">\n <div className=\" font-medium text-gray-900\">{file.Name}</div>\n {file.Size && (\n <div className=\"text-xs text-gray-500\">{file.Size}</div>\n )}\n </div>\n </div>\n <div className=\"ml-4 flex-shrink-0\">\n <span className=\"mr-3 text-sm text-gray-500\">\n {writeDate(file.LastWriteTime)}\n </span>\n </div>\n </div>\n );\n}\n\nListing.propTypes = {\n /** Border style to use*/\n border: PropTypes.string,\n /** Array of files to list */\n files: PropTypes.array,\n /** Boolean to indicate if there are more files to load */\n isMore: PropTypes.bool,\n /** Name of the selected file */\n selected: PropTypes.string,\n /** Current page */\n page: PropTypes.number,\n /** Total number of pages */\n pages: PropTypes.number,\n /** Callback function to handle events */\n callback: PropTypes.func,\n};\n\nFileRow.propTypes = {\n /** File object to display */\n file: PropTypes.object,\n /** Boolean to indicate if the file is selected */\n selected: PropTypes.bool,\n /** Callback function to handle events */\n callback: PropTypes.func,\n};\n\nfunction InfiniteLoader() {\n return (\n <div className=\"mb-1 mt-1 flex justify-center pb-4 pt-4\">\n <div role=\"status\">\n <svg\n aria-hidden=\"true\"\n className=\"inline-block h-8 w-8 animate-spin fill-gray-600 text-gray-200 dark:fill-gray-300 dark:text-gray-600\"\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z\"\n fill=\"currentFill\"\n />\n </svg>\n </div>\n </div>\n );\n}\n\nfunction writeDate(date) {\n try {\n const d = new Date(date);\n const 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 return d.getDate() + \" \" + months[d.getMonth()] + \" \" + d.getFullYear();\n } catch (err) {\n return \"Unknown\";\n }\n}\n"]}