@merchi/product-form 1.19.52 → 1.19.53

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.
@@ -204,6 +204,170 @@
204
204
  }
205
205
  }
206
206
 
207
+ &_file-upload-box {
208
+ display: flex;
209
+ flex-direction: column;
210
+ gap: 0.5rem;
211
+ padding: 0.75rem;
212
+ border: 1px dashed #c7d2e0;
213
+ border-radius: 0.75rem;
214
+
215
+ .merchi-embed-form_dropzone {
216
+ padding: 0.75rem 0.5rem;
217
+ border: none;
218
+ border-radius: 0;
219
+ background-color: transparent;
220
+ box-shadow: none;
221
+
222
+ &:hover {
223
+ box-shadow: none;
224
+ scale: 1;
225
+ }
226
+ }
227
+
228
+ .merchi-embed-form_dropzone-text-container {
229
+ align-items: center;
230
+ gap: 1.25rem;
231
+ text-align: left;
232
+
233
+ > div:last-child {
234
+ font-size: 1rem;
235
+ line-height: 1.4;
236
+ color: #3f3f46;
237
+
238
+ > div:last-child {
239
+ margin-top: 0.25rem;
240
+ font-size: 0.9375rem;
241
+ color: #94a3b8;
242
+ }
243
+ }
244
+ }
245
+
246
+ .merchi-embed-form_dropzone-icon-container {
247
+ flex-shrink: 0;
248
+ width: 4.5rem;
249
+ height: 4.5rem;
250
+ margin-right: 0;
251
+ }
252
+ }
253
+
254
+ &_uploaded-files-list {
255
+ display: flex;
256
+ flex-direction: column;
257
+ gap: 0.5rem;
258
+ margin: 0;
259
+ padding: 0;
260
+ list-style: none;
261
+ }
262
+
263
+ &_uploaded-file-row {
264
+ display: flex;
265
+ align-items: center;
266
+ gap: 1rem;
267
+ padding: 0.625rem 1rem 0.625rem 0.75rem;
268
+ border: 1px solid #e4e4e7;
269
+ border-radius: 0.625rem;
270
+ }
271
+
272
+ &_uploaded-file-meta {
273
+ display: flex;
274
+ flex: 1 1 auto;
275
+ flex-direction: column;
276
+ gap: 0.125rem;
277
+ min-width: 0;
278
+ }
279
+
280
+ &_uploaded-file-name {
281
+ overflow: hidden;
282
+ text-overflow: ellipsis;
283
+ white-space: nowrap;
284
+ font-size: 1rem;
285
+ font-weight: 500;
286
+ line-height: 1.4;
287
+ color: #18181b;
288
+ }
289
+
290
+ &_uploaded-file-size {
291
+ font-size: 0.875rem;
292
+ line-height: 1.3;
293
+ color: #71717a;
294
+ }
295
+
296
+ &_uploaded-file-actions {
297
+ display: flex;
298
+ flex-shrink: 0;
299
+ align-items: center;
300
+ gap: 0.25rem;
301
+ margin-left: auto;
302
+ }
303
+
304
+ &_uploaded-file-action {
305
+ display: inline-flex;
306
+ flex-shrink: 0;
307
+ align-items: center;
308
+ justify-content: center;
309
+ width: 2rem;
310
+ height: 2rem;
311
+ padding: 0;
312
+ border: none;
313
+ border-radius: 0.375rem;
314
+ background: transparent;
315
+ color: #64748b;
316
+ font-size: 1.125rem;
317
+ cursor: pointer;
318
+ transition: color 0.15s ease-in-out;
319
+
320
+ &:hover {
321
+ color: #18181b;
322
+ }
323
+
324
+ &:disabled {
325
+ cursor: not-allowed;
326
+ opacity: 0.5;
327
+ }
328
+ }
329
+
330
+ &_uploaded-file-thumb {
331
+ display: inline-flex;
332
+ flex-shrink: 0;
333
+ align-items: center;
334
+ justify-content: center;
335
+ width: 3.75rem;
336
+ height: 3rem;
337
+ border-radius: 0.375rem;
338
+ overflow: hidden;
339
+ color: #52525b;
340
+
341
+ &--image {
342
+ background-size: cover;
343
+ background-position: center;
344
+ background-repeat: no-repeat;
345
+ }
346
+
347
+ &--icon {
348
+ font-size: 1.75rem;
349
+ }
350
+
351
+ &--pdf {
352
+ color: #e5252a;
353
+ }
354
+
355
+ &--ai {
356
+ width: 3rem;
357
+ margin: 0 0.375rem;
358
+ background: #330000;
359
+ color: #ff9a00;
360
+ font-size: 1.125rem;
361
+ font-weight: 700;
362
+ font-family: system-ui, -apple-system, 'Segoe UI', sans-serif;
363
+ letter-spacing: -0.02em;
364
+ }
365
+
366
+ &--loading {
367
+ font-size: 1.25rem;
368
+ }
369
+ }
370
+
207
371
  /* variation image select */
208
372
  &_image-select-option {
209
373
  &-container {
@@ -331,6 +495,10 @@
331
495
  }
332
496
  }
333
497
 
498
+ &_option-count {
499
+ display: none;
500
+ }
501
+
334
502
  /* variation checkbox and radio */
335
503
  &_checkbox_radio {
336
504
  &-container {
@@ -2190,3 +2358,107 @@
2190
2358
  font-weight: 600;
2191
2359
  line-height: 1.2;
2192
2360
  }
2361
+
2362
+ @media (max-width: 767px) {
2363
+ .d-flex:has(> .merchi-embed-form_option-count) {
2364
+ display: flex !important;
2365
+ flex-wrap: nowrap !important;
2366
+ align-items: center !important;
2367
+ gap: 0.75rem !important;
2368
+ width: 100% !important;
2369
+ }
2370
+
2371
+ .d-flex:has(> .merchi-embed-form_option-count) > :first-child {
2372
+ flex: 1 1 auto !important;
2373
+ min-width: 0 !important;
2374
+ }
2375
+
2376
+ .d-flex > .merchi-embed-form_option-count {
2377
+ display: inline;
2378
+ flex: 0 0 auto;
2379
+ margin-left: auto;
2380
+ font-size: 0.8125rem;
2381
+ font-weight: 400;
2382
+ line-height: 1.25rem;
2383
+ color: #71717a;
2384
+ white-space: nowrap;
2385
+ }
2386
+
2387
+ .merchi-embed-form_image-select-option-container.merchi-embed-form_options--grid[data-option-layout='grid'][data-option-count] {
2388
+ display: grid !important;
2389
+ flex-wrap: unset !important;
2390
+ gap: 0.5rem !important;
2391
+ width: 100% !important;
2392
+ }
2393
+
2394
+ .merchi-embed-form_image-select-option-container.merchi-embed-form_options--grid[data-option-layout='grid'][data-option-count='1'] {
2395
+ grid-template-columns: minmax(0, 1fr) !important;
2396
+ }
2397
+
2398
+ .merchi-embed-form_image-select-option-container.merchi-embed-form_options--grid[data-option-layout='grid'][data-option-count='2'] {
2399
+ grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
2400
+ }
2401
+
2402
+ .merchi-embed-form_image-select-option-container.merchi-embed-form_options--grid[data-option-layout='grid'][data-option-count='3'] {
2403
+ grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
2404
+ }
2405
+
2406
+ .merchi-embed-form_image-select-option-container.merchi-embed-form_options--grid[data-option-layout='grid'][data-option-count] > .merchi-embed-form_image-select-option-item-container {
2407
+ flex: unset !important;
2408
+ width: 100% !important;
2409
+ min-width: 0 !important;
2410
+ max-width: none !important;
2411
+ }
2412
+
2413
+ .merchi-embed-form_image-select-option-container.merchi-embed-form_options--scroll[data-option-layout='scroll'][data-option-count],
2414
+ .merchi-embed-form_color-select-container.merchi-embed-form_options--scroll[data-option-layout='scroll'][data-option-count] {
2415
+ display: flex !important;
2416
+ flex-wrap: nowrap !important;
2417
+ justify-content: flex-start !important;
2418
+ justify-items: unset !important;
2419
+ width: 100% !important;
2420
+ max-width: 100% !important;
2421
+ overflow-x: auto !important;
2422
+ overflow-y: hidden !important;
2423
+ overscroll-behavior-x: contain;
2424
+ -webkit-overflow-scrolling: touch;
2425
+ scroll-snap-type: x proximity;
2426
+ scroll-padding-inline: 0.5rem;
2427
+ scrollbar-width: none;
2428
+ }
2429
+
2430
+ .merchi-embed-form_image-select-option-container.merchi-embed-form_options--scroll[data-option-layout='scroll'][data-option-count]::-webkit-scrollbar,
2431
+ .merchi-embed-form_color-select-container.merchi-embed-form_options--scroll[data-option-layout='scroll'][data-option-count]::-webkit-scrollbar {
2432
+ display: none;
2433
+ }
2434
+
2435
+ .merchi-embed-form_image-select-option-container.merchi-embed-form_options--scroll[data-option-layout='scroll'][data-option-count] {
2436
+ align-items: stretch !important;
2437
+ gap: 0.5rem !important;
2438
+ }
2439
+
2440
+ .merchi-embed-form_image-select-option-container.merchi-embed-form_options--scroll[data-option-layout='scroll'][data-option-count] > .merchi-embed-form_image-select-option-item-container {
2441
+ flex: 0 0 38% !important;
2442
+ width: 38% !important;
2443
+ min-width: 38% !important;
2444
+ max-width: none !important;
2445
+ scroll-snap-align: start;
2446
+ }
2447
+
2448
+ .merchi-embed-form_color-select-container.merchi-embed-form_options--scroll[data-option-layout='scroll'][data-option-count] {
2449
+ align-items: flex-start !important;
2450
+ gap: 0.375rem !important;
2451
+ }
2452
+
2453
+ .merchi-embed-form_color-select-container.merchi-embed-form_options--scroll[data-option-layout='scroll'][data-option-count] > .merchi-embed-form_color-select-item {
2454
+ flex: 0 0 calc((100% - 4 * 0.375rem) / 4.5) !important;
2455
+ width: calc((100% - 4 * 0.375rem) / 4.5) !important;
2456
+ min-width: 3.5rem !important;
2457
+ max-width: none !important;
2458
+ scroll-snap-align: start;
2459
+ }
2460
+
2461
+ .merchi-embed-form_color-select-container.merchi-embed-form_options--scroll[data-option-layout='scroll'][data-option-count] > .merchi-embed-form_color-select-item svg {
2462
+ right: 0.375rem !important;
2463
+ }
2464
+ }
@@ -0,0 +1,5 @@
1
+ export declare function formatUploadFileSize(file: {
2
+ size?: number;
3
+ fileSize?: number;
4
+ bytes?: number;
5
+ } | null | undefined): string;
@@ -0,0 +1,12 @@
1
+ export function formatUploadFileSize(file) {
2
+ var _ref, _file$size;
3
+ var bytes = Number((_ref = (_file$size = file === null || file === void 0 ? void 0 : file.size) !== null && _file$size !== void 0 ? _file$size : file === null || file === void 0 ? void 0 : file.fileSize) !== null && _ref !== void 0 ? _ref : file === null || file === void 0 ? void 0 : file.bytes);
4
+ if (!Number.isFinite(bytes) || bytes <= 0) return null;
5
+ if (bytes < 1024) return "".concat(bytes, " B");
6
+ if (bytes < 1024 * 1024) {
7
+ var kb = bytes / 1024;
8
+ return kb < 10 ? "".concat(kb.toFixed(1), " KB") : "".concat(Math.round(kb), " KB");
9
+ }
10
+ return "".concat((bytes / (1024 * 1024)).toFixed(1), " MB");
11
+ }
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3JtYXRVcGxvYWRGaWxlU2l6ZSIsImZpbGUiLCJfcmVmIiwiX2ZpbGUkc2l6ZSIsImJ5dGVzIiwiTnVtYmVyIiwic2l6ZSIsImZpbGVTaXplIiwiaXNGaW5pdGUiLCJjb25jYXQiLCJrYiIsInRvRml4ZWQiLCJNYXRoIiwicm91bmQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZm9ybWF0VXBsb2FkRmlsZVNpemUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFVwbG9hZEZpbGVTaXplKGZpbGU6IHsgc2l6ZT86IG51bWJlcjsgZmlsZVNpemU/OiBudW1iZXI7IGJ5dGVzPzogbnVtYmVyIH0gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gIGNvbnN0IGJ5dGVzID0gTnVtYmVyKGZpbGU/LnNpemUgPz8gZmlsZT8uZmlsZVNpemUgPz8gZmlsZT8uYnl0ZXMpO1xuICBpZiAoIU51bWJlci5pc0Zpbml0ZShieXRlcykgfHwgYnl0ZXMgPD0gMCkgcmV0dXJuIG51bGw7XG5cbiAgaWYgKGJ5dGVzIDwgMTAyNCkgcmV0dXJuIGAke2J5dGVzfSBCYDtcbiAgaWYgKGJ5dGVzIDwgMTAyNCAqIDEwMjQpIHtcbiAgICBjb25zdCBrYiA9IGJ5dGVzIC8gMTAyNDtcbiAgICByZXR1cm4ga2IgPCAxMCA/IGAke2tiLnRvRml4ZWQoMSl9IEtCYCA6IGAke01hdGgucm91bmQoa2IpfSBLQmA7XG4gIH1cblxuICByZXR1cm4gYCR7KGJ5dGVzIC8gKDEwMjQgKiAxMDI0KSkudG9GaXhlZCgxKX0gTUJgO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFNBQVNBLG9CQUFvQkEsQ0FBQ0MsSUFBNkUsRUFBRTtFQUFBLElBQUFDLElBQUEsRUFBQUMsVUFBQTtFQUNsSCxJQUFNQyxLQUFLLEdBQUdDLE1BQU0sRUFBQUgsSUFBQSxJQUFBQyxVQUFBLEdBQUNGLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFSyxJQUFJLGNBQUFILFVBQUEsY0FBQUEsVUFBQSxHQUFJRixJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRU0sUUFBUSxjQUFBTCxJQUFBLGNBQUFBLElBQUEsR0FBSUQsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVHLEtBQUssQ0FBQztFQUNqRSxJQUFJLENBQUNDLE1BQU0sQ0FBQ0csUUFBUSxDQUFDSixLQUFLLENBQUMsSUFBSUEsS0FBSyxJQUFJLENBQUMsRUFBRSxPQUFPLElBQUk7RUFFdEQsSUFBSUEsS0FBSyxHQUFHLElBQUksRUFBRSxVQUFBSyxNQUFBLENBQVVMLEtBQUs7RUFDakMsSUFBSUEsS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLEVBQUU7SUFDdkIsSUFBTU0sRUFBRSxHQUFHTixLQUFLLEdBQUcsSUFBSTtJQUN2QixPQUFPTSxFQUFFLEdBQUcsRUFBRSxNQUFBRCxNQUFBLENBQU1DLEVBQUUsQ0FBQ0MsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFBRixNQUFBLENBQVdHLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxFQUFFLENBQUMsUUFBSztFQUNqRTtFQUVBLFVBQUFELE1BQUEsQ0FBVSxDQUFDTCxLQUFLLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFTyxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQzlDIiwiaWdub3JlTGlzdCI6W119
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merchi/product-form",
3
- "version": "1.19.52",
3
+ "version": "1.19.53",
4
4
  "description": "A React component for Merchi product forms",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.js",