@ecomiq/storefront 1.1.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/README.md +26 -417
  2. package/bin/ecomiq.mjs +154 -0
  3. package/package.json +72 -84
  4. package/src/api-proxy.ts +194 -0
  5. package/src/auth/create-storefront-auth.ts +35 -0
  6. package/src/auth/ecomiq-oauth-password-client.ts +26 -0
  7. package/src/auth/ecomiq-oauth-password-constants.ts +26 -0
  8. package/src/auth/ecomiq-oauth-password-plugin.ts +299 -0
  9. package/src/auth/ecomiq-oauth-password-types.ts +25 -0
  10. package/src/auth/ecomiq-storefront-sign-in.ts +47 -0
  11. package/src/auth/env.ts +7 -0
  12. package/src/cart-session.ts +241 -0
  13. package/src/client.ts +48 -0
  14. package/src/codegen.mjs +603 -0
  15. package/src/components/checkout/cart-sync.ts +143 -0
  16. package/src/components/checkout/checkout-external-update-banner.tsx +15 -0
  17. package/src/components/checkout/checkout-form-controls.tsx +139 -0
  18. package/src/components/checkout/checkout-line-items.tsx +43 -0
  19. package/src/components/checkout/checkout-order-summary.tsx +156 -0
  20. package/src/components/checkout/checkout-payment-section.tsx +215 -0
  21. package/src/components/checkout/checkout-session-view.tsx +240 -0
  22. package/src/components/checkout/checkout-shipping-address-section.tsx +266 -0
  23. package/src/components/checkout/checkout-shipping-section.tsx +90 -0
  24. package/src/components/checkout/checkout-states.tsx +73 -0
  25. package/src/components/checkout/form-schema.ts +229 -0
  26. package/src/components/checkout/format.ts +27 -0
  27. package/src/components/checkout/index.ts +51 -0
  28. package/src/components/checkout/types.ts +43 -0
  29. package/src/components/checkout/use-checkout-geo.ts +50 -0
  30. package/src/components/checkout/use-checkout-session.ts +583 -0
  31. package/src/components/hero.tsx +291 -0
  32. package/src/config.d.ts +69 -0
  33. package/src/config.mjs +165 -0
  34. package/src/index.ts +274 -0
  35. package/src/link.tsx +2 -0
  36. package/src/pages/checkout.$checkoutId.tsx +60 -0
  37. package/src/pages/checkout.tsx +31 -0
  38. package/src/pages/thank-you.tsx +53 -0
  39. package/src/providers/auth.tsx +69 -0
  40. package/src/providers/cart.tsx +275 -0
  41. package/src/providers/ecomiq.ts +137 -0
  42. package/src/providers/index.ts +26 -0
  43. package/src/public-config.ts +44 -0
  44. package/src/review-submission.ts +89 -0
  45. package/src/runtime/context.ts +1 -0
  46. package/src/runtime/default-layout.tsx +80 -0
  47. package/src/runtime/head.ts +126 -0
  48. package/src/runtime/page.tsx +82 -0
  49. package/src/runtime/postcss-browser-stub.mjs +5 -0
  50. package/src/server-config-store.ts +26 -0
  51. package/src/server.ts +279 -0
  52. package/src/styles.css +76 -0
  53. package/src/ui/badge.tsx +32 -0
  54. package/src/ui/button.tsx +31 -0
  55. package/src/ui/card.tsx +31 -0
  56. package/src/ui/carousel.tsx +218 -0
  57. package/src/ui/cn.ts +6 -0
  58. package/src/ui/index.ts +8 -0
  59. package/src/ui/separator.tsx +6 -0
  60. package/src/ui/skeleton.tsx +6 -0
  61. package/src/ui/storefront-error.tsx +49 -0
  62. package/src/utils.ts +36 -0
  63. package/src/vite-inline.mjs +95 -0
  64. package/templates/__root.tsx +77 -0
  65. package/templates/router.tsx +19 -0
  66. package/dist/chunk-3QGB55R6.js +0 -157
  67. package/dist/chunk-3QGB55R6.js.map +0 -1
  68. package/dist/chunk-64GLOWMJ.js +0 -216
  69. package/dist/chunk-64GLOWMJ.js.map +0 -1
  70. package/dist/chunk-ASFU32ZM.js +0 -236
  71. package/dist/chunk-ASFU32ZM.js.map +0 -1
  72. package/dist/chunk-Q4U5OEUT.js +0 -21
  73. package/dist/chunk-Q4U5OEUT.js.map +0 -1
  74. package/dist/chunk-QRR7EPCH.js +0 -176
  75. package/dist/chunk-QRR7EPCH.js.map +0 -1
  76. package/dist/chunk-S7CPZ4UE.js +0 -6
  77. package/dist/chunk-S7CPZ4UE.js.map +0 -1
  78. package/dist/chunk-ZG2XUYGZ.js +0 -1281
  79. package/dist/chunk-ZG2XUYGZ.js.map +0 -1
  80. package/dist/chunks/client.css +0 -984
  81. package/dist/chunks/client.css.map +0 -1
  82. package/dist/chunks/client.d.ts +0 -10041
  83. package/dist/chunks/client.js +0 -5363
  84. package/dist/chunks/client.js.map +0 -1
  85. package/dist/chunks/config.d.ts +0 -31
  86. package/dist/chunks/config.js +0 -5
  87. package/dist/chunks/config.js.map +0 -1
  88. package/dist/chunks/core-public.d.ts +0 -130
  89. package/dist/chunks/core-public.js +0 -92
  90. package/dist/chunks/core-public.js.map +0 -1
  91. package/dist/chunks/server-nextjs.d.ts +0 -33
  92. package/dist/chunks/server-nextjs.js +0 -47
  93. package/dist/chunks/server-nextjs.js.map +0 -1
  94. package/dist/chunks/server-tanstack.d.ts +0 -22
  95. package/dist/chunks/server-tanstack.js +0 -34
  96. package/dist/chunks/server-tanstack.js.map +0 -1
  97. package/dist/collection-C6bWDLiw.d.ts +0 -3926
  98. package/dist/ecomiq-oauth-password-plugin-J5wDFqzL.d.ts +0 -3629
  99. package/dist/ecomiq-shell-ui-SWIFLQVM.js +0 -8
  100. package/dist/ecomiq-shell-ui-SWIFLQVM.js.map +0 -1
  101. package/dist/index.d.ts +0 -9
  102. package/dist/index.js +0 -1
  103. package/dist/index.js.map +0 -1
  104. package/dist/index.server.d.ts +0 -9
  105. package/dist/index.server.js +0 -8
  106. package/dist/index.server.js.map +0 -1
  107. package/dist/nextjs/api.d.ts +0 -45
  108. package/dist/nextjs/api.js +0 -32
  109. package/dist/nextjs/api.js.map +0 -1
  110. package/dist/nextjs/globals.css +0 -13
  111. package/dist/nextjs.d.ts +0 -2
  112. package/dist/nextjs.js +0 -2
  113. package/dist/nextjs.js.map +0 -1
  114. package/dist/nextjs.server.d.ts +0 -1
  115. package/dist/nextjs.server.js +0 -1
  116. package/dist/nextjs.server.js.map +0 -1
  117. package/dist/postcss.config.mjs +0 -6
  118. package/dist/react/checkout-page.css +0 -855
  119. package/dist/react/client.css +0 -984
  120. package/dist/react/payment-provider.css +0 -91
  121. package/dist/react/thank-you-page.css +0 -105
  122. package/dist/react.d.ts +0 -1
  123. package/dist/react.js +0 -2
  124. package/dist/react.js.map +0 -1
  125. package/dist/store-proxy-handler-CNzKlTFA.d.ts +0 -10
  126. package/dist/tanstack/api.d.ts +0 -41
  127. package/dist/tanstack/api.js +0 -30
  128. package/dist/tanstack/api.js.map +0 -1
  129. package/dist/tanstack.d.ts +0 -2
  130. package/dist/tanstack.js +0 -2
  131. package/dist/tanstack.js.map +0 -1
  132. package/dist/tanstack.server.d.ts +0 -1
  133. package/dist/tanstack.server.js +0 -1
  134. package/dist/tanstack.server.js.map +0 -1
@@ -1,984 +0,0 @@
1
- /* src/react/components/checkout/payment-providers/payment-provider.css */
2
- .ecomiq-payment-provider__panel {
3
- border: 1px solid #d9d9d9;
4
- border-radius: 5px;
5
- padding: 1rem;
6
- display: flex;
7
- flex-direction: column;
8
- gap: 0.75rem;
9
- }
10
- .ecomiq-payment-provider__title {
11
- margin: 0;
12
- font-size: 0.875rem;
13
- font-weight: 600;
14
- }
15
- .ecomiq-payment-provider__hint {
16
- margin: 0;
17
- font-size: 0.875rem;
18
- color: #6d6d6d;
19
- }
20
- .ecomiq-payment-provider__hint--sm {
21
- font-size: 0.75rem;
22
- }
23
- .ecomiq-payment-provider__redirect {
24
- display: inline-flex;
25
- align-items: center;
26
- justify-content: center;
27
- width: 100%;
28
- max-width: 100%;
29
- padding: 0.65rem 1.25rem;
30
- border: none;
31
- border-radius: 5px;
32
- background: #121212;
33
- color: #fff;
34
- font-size: 0.875rem;
35
- font-weight: 600;
36
- text-decoration: none;
37
- cursor: pointer;
38
- }
39
- .ecomiq-payment-provider__redirect:hover {
40
- opacity: 0.9;
41
- }
42
- .ecomiq-payment-provider__qr-wrap {
43
- display: flex;
44
- justify-content: center;
45
- padding-top: 0.5rem;
46
- }
47
- .ecomiq-payment-provider__qr {
48
- max-width: 220px;
49
- border: 1px solid #d9d9d9;
50
- border-radius: 5px;
51
- background: #fff;
52
- padding: 0.5rem;
53
- }
54
- .ecomiq-payment-provider__mono {
55
- font-family: ui-monospace, monospace;
56
- font-size: 0.75rem;
57
- word-break: break-all;
58
- }
59
- .ecomiq-payment-provider__details {
60
- border: 1px dashed #d9d9d9;
61
- border-radius: 5px;
62
- padding: 0.5rem;
63
- font-size: 0.75rem;
64
- }
65
- .ecomiq-payment-provider__details summary {
66
- cursor: pointer;
67
- font-weight: 500;
68
- color: #6d6d6d;
69
- }
70
- .ecomiq-payment-provider__details pre {
71
- margin: 0.5rem 0 0;
72
- max-height: 12rem;
73
- overflow: auto;
74
- border-radius: 4px;
75
- background: #f5f5f5;
76
- padding: 0.5rem;
77
- font-size: 0.6875rem;
78
- line-height: 1.35;
79
- }
80
-
81
- /* src/react/pages/checkout-page/checkout-page.css */
82
- .ecomiq-payment-provider__panel {
83
- border: 1px solid #d9d9d9;
84
- border-radius: 5px;
85
- padding: 1rem;
86
- display: flex;
87
- flex-direction: column;
88
- gap: 0.75rem;
89
- }
90
- .ecomiq-payment-provider__title {
91
- margin: 0;
92
- font-size: 0.875rem;
93
- font-weight: 600;
94
- }
95
- .ecomiq-payment-provider__hint {
96
- margin: 0;
97
- font-size: 0.875rem;
98
- color: #6d6d6d;
99
- }
100
- .ecomiq-payment-provider__hint--sm {
101
- font-size: 0.75rem;
102
- }
103
- .ecomiq-payment-provider__redirect {
104
- display: inline-flex;
105
- align-items: center;
106
- justify-content: center;
107
- width: 100%;
108
- max-width: 100%;
109
- padding: 0.65rem 1.25rem;
110
- border: none;
111
- border-radius: 5px;
112
- background: #121212;
113
- color: #fff;
114
- font-size: 0.875rem;
115
- font-weight: 600;
116
- text-decoration: none;
117
- cursor: pointer;
118
- }
119
- .ecomiq-payment-provider__redirect:hover {
120
- opacity: 0.9;
121
- }
122
- .ecomiq-payment-provider__qr-wrap {
123
- display: flex;
124
- justify-content: center;
125
- padding-top: 0.5rem;
126
- }
127
- .ecomiq-payment-provider__qr {
128
- max-width: 220px;
129
- border: 1px solid #d9d9d9;
130
- border-radius: 5px;
131
- background: #fff;
132
- padding: 0.5rem;
133
- }
134
- .ecomiq-payment-provider__mono {
135
- font-family: ui-monospace, monospace;
136
- font-size: 0.75rem;
137
- word-break: break-all;
138
- }
139
- .ecomiq-payment-provider__details {
140
- border: 1px dashed #d9d9d9;
141
- border-radius: 5px;
142
- padding: 0.5rem;
143
- font-size: 0.75rem;
144
- }
145
- .ecomiq-payment-provider__details summary {
146
- cursor: pointer;
147
- font-weight: 500;
148
- color: #6d6d6d;
149
- }
150
- .ecomiq-payment-provider__details pre {
151
- margin: 0.5rem 0 0;
152
- max-height: 12rem;
153
- overflow: auto;
154
- border-radius: 4px;
155
- background: #f5f5f5;
156
- padding: 0.5rem;
157
- font-size: 0.6875rem;
158
- line-height: 1.35;
159
- }
160
- .ecomiq-checkout-page {
161
- --ecp-bg: #ffffff;
162
- --ecp-summary-bg: #f5f5f5;
163
- --ecp-border: #d9d9d9;
164
- --ecp-text: #121212;
165
- --ecp-muted: #6d6d6d;
166
- --ecp-accent: #121212;
167
- min-height: 100dvh;
168
- background: var(--ecp-bg);
169
- color: var(--ecp-text);
170
- font-family:
171
- -apple-system,
172
- BlinkMacSystemFont,
173
- "Segoe UI",
174
- Roboto,
175
- Helvetica,
176
- Arial,
177
- sans-serif;
178
- font-size: 14px;
179
- line-height: 1.4;
180
- }
181
- .ecomiq-checkout-page__top {
182
- border-bottom: 1px solid var(--ecp-border);
183
- padding: 1.25rem 1.5rem;
184
- text-align: center;
185
- background: var(--ecp-bg);
186
- display: flex;
187
- justify-content: center;
188
- }
189
- .ecomiq-checkout-page__logo {
190
- font-size: 1.5rem;
191
- font-weight: 700;
192
- letter-spacing: 0.2em;
193
- text-transform: uppercase;
194
- text-decoration: none;
195
- color: inherit;
196
- }
197
- .ecomiq-checkout-page__logo img {
198
- max-height: 2.5rem;
199
- width: auto;
200
- }
201
- .ecomiq-checkout-page__layout {
202
- display: grid;
203
- grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
204
- min-height: calc(100dvh - 73px);
205
- }
206
- @media (max-width: 999px) {
207
- .ecomiq-checkout-page__layout {
208
- grid-template-columns: 1fr;
209
- }
210
- .ecomiq-checkout-page__summary-wrap {
211
- order: -1;
212
- border-bottom: 1px solid var(--ecp-border);
213
- }
214
- }
215
- .ecomiq-checkout-page__main-wrap {
216
- box-sizing: border-box;
217
- justify-self: end;
218
- max-width: 36rem;
219
- width: 100%;
220
- padding: 2.5rem clamp(1.5rem, 5vw, 4.5rem) 2.5rem clamp(1.5rem, 5vw, 4.5rem);
221
- }
222
- .ecomiq-checkout-page__summary-wrap {
223
- box-sizing: border-box;
224
- width: 100%;
225
- min-height: 100%;
226
- background: var(--ecp-summary-bg);
227
- border-left: 1px solid var(--ecp-border);
228
- padding: 2.5rem clamp(1.5rem, 5vw, 4.5rem);
229
- display: flex;
230
- justify-content: flex-start;
231
- }
232
- .ecomiq-checkout-page__summary-wrap > * {
233
- flex: 0 1 24rem;
234
- max-width: 24rem;
235
- width: 100%;
236
- }
237
- @media (min-width: 1000px) {
238
- .ecomiq-checkout-page__summary-wrap > * {
239
- align-self: flex-start;
240
- }
241
- .ecomiq-checkout-page__summary {
242
- position: sticky;
243
- top: 1.5rem;
244
- max-height: calc(100dvh - 3rem);
245
- overflow-y: auto;
246
- padding-top: 5px;
247
- }
248
- }
249
- @media (max-width: 999px) {
250
- .ecomiq-checkout-page__main-wrap {
251
- justify-self: stretch;
252
- max-width: 36rem;
253
- margin-inline: auto;
254
- }
255
- .ecomiq-checkout-page__summary-wrap {
256
- border-left: none;
257
- justify-content: center;
258
- }
259
- .ecomiq-checkout-page__summary-wrap > * {
260
- flex-basis: 36rem;
261
- max-width: 36rem;
262
- }
263
- }
264
- .ecomiq-checkout-page__section {
265
- margin-bottom: 2rem;
266
- }
267
- .ecomiq-checkout-page__section h2 {
268
- margin: 0 0 1rem;
269
- font-size: 1.125rem;
270
- font-weight: 600;
271
- }
272
- .ecomiq-checkout-page__section-head {
273
- display: flex;
274
- align-items: center;
275
- justify-content: space-between;
276
- margin-bottom: 1rem;
277
- }
278
- .ecomiq-checkout-page__section-head h2 {
279
- margin: 0;
280
- }
281
- .ecomiq-checkout-page__link {
282
- color: var(--ecp-accent);
283
- text-decoration: underline;
284
- font-size: 0.875rem;
285
- }
286
- .ecomiq-checkout-page__field {
287
- display: block;
288
- margin-bottom: 0.75rem;
289
- }
290
- .ecomiq-checkout-page__field--half {
291
- flex: 1;
292
- min-width: 0;
293
- }
294
- .ecomiq-checkout-page__label {
295
- display: block;
296
- font-size: 0.8125rem;
297
- color: var(--ecp-muted);
298
- margin-bottom: 0.35rem;
299
- }
300
- .ecomiq-checkout-page__input,
301
- .ecomiq-checkout-page__field select {
302
- width: 100%;
303
- box-sizing: border-box;
304
- padding: 0.7rem 0.75rem;
305
- border: 1px solid var(--ecp-border);
306
- border-radius: 5px;
307
- font-size: 0.9375rem;
308
- background: #fff;
309
- color: var(--ecp-text);
310
- }
311
- .ecomiq-checkout-page__input:focus,
312
- .ecomiq-checkout-page__field select:focus {
313
- outline: 2px solid #1773b0;
314
- outline-offset: 1px;
315
- border-color: #1773b0;
316
- }
317
- .ecomiq-checkout-page__row {
318
- display: flex;
319
- gap: 0.75rem;
320
- }
321
- .ecomiq-checkout-page__row--3 {
322
- display: grid;
323
- grid-template-columns: repeat(3, minmax(0, 1fr));
324
- gap: 0.75rem;
325
- }
326
- @media (max-width: 640px) {
327
- .ecomiq-checkout-page__row--3 {
328
- grid-template-columns: 1fr;
329
- }
330
- }
331
- .ecomiq-checkout-page__checkbox {
332
- display: flex;
333
- align-items: center;
334
- gap: 0.5rem;
335
- margin-top: 0.5rem;
336
- font-size: 0.875rem;
337
- }
338
- .ecomiq-checkout-page__hint {
339
- color: var(--ecp-muted);
340
- font-size: 0.875rem;
341
- margin: 0 0 0.75rem;
342
- }
343
- .ecomiq-checkout-page__field-error {
344
- color: #c62828;
345
- font-size: 0.875rem;
346
- margin: 0 0 1rem;
347
- }
348
- .ecomiq-checkout-page__field-error-inline {
349
- color: #c62828;
350
- font-size: 0.8125rem;
351
- display: block;
352
- margin-top: 0.35rem;
353
- }
354
- .ecomiq-checkout-page__input--error {
355
- border-color: #c62828;
356
- }
357
- .ecomiq-checkout-page__input--error:focus {
358
- outline-color: #c62828;
359
- border-color: #c62828;
360
- }
361
- .ecomiq-checkout-page__options--error {
362
- border-color: #c62828;
363
- }
364
- .ecomiq-checkout-page__options {
365
- border: 1px solid var(--ecp-border);
366
- border-radius: 5px;
367
- overflow: hidden;
368
- background: #fff;
369
- }
370
- .ecomiq-checkout-page__option {
371
- display: flex;
372
- align-items: flex-start;
373
- gap: 0.75rem;
374
- padding: 1rem;
375
- border-bottom: 1px solid var(--ecp-border);
376
- cursor: pointer;
377
- margin: 0;
378
- }
379
- .ecomiq-checkout-page__option:last-child {
380
- border-bottom: none;
381
- }
382
- .ecomiq-checkout-page__option.is-selected {
383
- background: #f0f5ff;
384
- box-shadow: inset 0 0 0 1px #1773b0;
385
- }
386
- .ecomiq-checkout-page__option input {
387
- margin-top: 0.2rem;
388
- flex-shrink: 0;
389
- }
390
- .ecomiq-checkout-page__option-body {
391
- flex: 1;
392
- min-width: 0;
393
- }
394
- .ecomiq-checkout-page__option-title {
395
- display: block;
396
- font-weight: 500;
397
- }
398
- .ecomiq-checkout-page__option-sub {
399
- display: block;
400
- font-size: 0.8125rem;
401
- color: var(--ecp-muted);
402
- margin-top: 0.15rem;
403
- }
404
- .ecomiq-checkout-page__option-price {
405
- font-weight: 500;
406
- white-space: nowrap;
407
- }
408
- .ecomiq-checkout-page__pay {
409
- width: 100%;
410
- margin-top: 0.5rem;
411
- padding: 1.1rem 1.5rem;
412
- border: none;
413
- border-radius: 5px;
414
- background: var(--ecp-accent);
415
- color: #fff;
416
- font-size: 0.9375rem;
417
- font-weight: 600;
418
- cursor: pointer;
419
- }
420
- .ecomiq-checkout-page__pay:disabled {
421
- opacity: 0.6;
422
- cursor: not-allowed;
423
- }
424
- .ecomiq-checkout-page__manual-payment {
425
- margin-top: 1rem;
426
- border: 1px solid var(--ecp-border);
427
- border-radius: 5px;
428
- background: #fafafa;
429
- padding: 1rem;
430
- }
431
- .ecomiq-checkout-page__manual-payment-body {
432
- display: flex;
433
- flex-direction: column;
434
- gap: 1rem;
435
- }
436
- @media (min-width: 640px) {
437
- .ecomiq-checkout-page__manual-payment-body {
438
- flex-direction: row;
439
- }
440
- }
441
- .ecomiq-checkout-page__manual-payment-qr {
442
- width: 9rem;
443
- height: 9rem;
444
- flex-shrink: 0;
445
- display: grid;
446
- place-items: center;
447
- border: 1px solid var(--ecp-border);
448
- border-radius: 5px;
449
- background: #fff;
450
- padding: 0.5rem;
451
- }
452
- .ecomiq-checkout-page__manual-payment-qr img {
453
- width: 100%;
454
- height: 100%;
455
- -o-object-fit: contain;
456
- object-fit: contain;
457
- }
458
- .ecomiq-checkout-page__manual-payment-info {
459
- flex: 1;
460
- min-width: 0;
461
- }
462
- .ecomiq-checkout-page__manual-payment-title {
463
- font-weight: 600;
464
- margin: 0 0 0.35rem;
465
- }
466
- .ecomiq-checkout-page__manual-payment-row {
467
- display: grid;
468
- grid-template-columns: 7rem 1fr;
469
- gap: 0.5rem;
470
- font-size: 0.875rem;
471
- margin: 0.35rem 0 0;
472
- }
473
- .ecomiq-checkout-page__manual-payment-row span {
474
- color: var(--ecp-muted);
475
- }
476
- .ecomiq-checkout-page__receipt-upload {
477
- margin-top: 0.75rem;
478
- padding-top: 0.75rem;
479
- border-top: 1px solid var(--ecp-border);
480
- }
481
- .ecomiq-checkout-page__receipt-label {
482
- display: flex;
483
- align-items: center;
484
- gap: 0.5rem;
485
- margin-top: 0.35rem;
486
- padding: 0.65rem 0.75rem;
487
- border: 1px solid var(--ecp-border);
488
- border-radius: 5px;
489
- background: #fff;
490
- font-size: 0.875rem;
491
- cursor: pointer;
492
- }
493
- .ecomiq-checkout-page__receipt-input {
494
- position: absolute;
495
- width: 1px;
496
- height: 1px;
497
- padding: 0;
498
- margin: -1px;
499
- overflow: hidden;
500
- clip: rect(0, 0, 0, 0);
501
- border: 0;
502
- }
503
- .ecomiq-checkout-page__receipt-preview {
504
- display: block;
505
- margin-top: 0.5rem;
506
- max-height: 7rem;
507
- max-width: 100%;
508
- border: 1px solid var(--ecp-border);
509
- border-radius: 5px;
510
- -o-object-fit: contain;
511
- object-fit: contain;
512
- }
513
- .ecomiq-checkout-page__payment-provider {
514
- margin-top: 1rem;
515
- display: flex;
516
- flex-direction: column;
517
- gap: 1rem;
518
- }
519
- .ecomiq-checkout-page__provider-confirm {
520
- width: 100%;
521
- padding: 0.85rem 1.25rem;
522
- border: none;
523
- border-radius: 5px;
524
- background: var(--ecp-accent);
525
- color: #fff;
526
- font-size: 0.875rem;
527
- font-weight: 600;
528
- cursor: pointer;
529
- }
530
- .ecomiq-checkout-page__provider-confirm:disabled {
531
- opacity: 0.6;
532
- cursor: not-allowed;
533
- }
534
- .ecomiq-checkout-page__policies {
535
- display: flex;
536
- flex-wrap: wrap;
537
- gap: 0.75rem 1rem;
538
- justify-content: center;
539
- margin-top: 1.25rem;
540
- font-size: 0.75rem;
541
- }
542
- .ecomiq-checkout-page__policies a {
543
- color: var(--ecp-muted);
544
- text-decoration: underline;
545
- }
546
- .ecomiq-checkout-page__summary-items {
547
- list-style: none;
548
- margin: 0 0 1.25rem;
549
- padding: 0;
550
- }
551
- .ecomiq-checkout-page__summary-item {
552
- display: flex;
553
- gap: 1rem;
554
- align-items: flex-start;
555
- margin-bottom: 1rem;
556
- }
557
- .ecomiq-checkout-page__summary-thumb {
558
- position: relative;
559
- width: 64px;
560
- height: 64px;
561
- flex-shrink: 0;
562
- border-radius: 8px;
563
- border: 1px solid rgb(0 0 0 / 0.08);
564
- background: #fff;
565
- }
566
- .ecomiq-checkout-page__summary-thumb-image {
567
- overflow: hidden;
568
- border-radius: 8px;
569
- }
570
- .ecomiq-checkout-page__summary-thumb img {
571
- width: 100%;
572
- height: 100%;
573
- -o-object-fit: cover;
574
- object-fit: cover;
575
- }
576
- .ecomiq-checkout-page__summary-thumb-ph {
577
- display: block;
578
- width: 100%;
579
- height: 100%;
580
- background: #e5e5e5;
581
- }
582
- .ecomiq-checkout-page__summary-qty {
583
- position: absolute;
584
- top: -6px;
585
- right: -6px;
586
- min-width: 1.25rem;
587
- height: 1.25rem;
588
- padding: 0 0.25rem;
589
- border-radius: 999px;
590
- background: rgb(0 0 0 / 0.7);
591
- color: #fff;
592
- font-size: 0.6875rem;
593
- font-weight: 600;
594
- display: flex;
595
- align-items: center;
596
- justify-content: center;
597
- }
598
- .ecomiq-checkout-page__summary-item-body {
599
- flex: 1;
600
- min-width: 0;
601
- }
602
- .ecomiq-checkout-page__summary-item-title {
603
- margin: 0;
604
- font-weight: 500;
605
- font-size: 0.875rem;
606
- }
607
- .ecomiq-checkout-page__summary-item-meta {
608
- margin: 0.2rem 0 0;
609
- font-size: 0.8125rem;
610
- color: var(--ecp-muted);
611
- }
612
- .ecomiq-checkout-page__summary-item-price {
613
- margin: 0;
614
- font-weight: 500;
615
- font-size: 0.875rem;
616
- }
617
- .ecomiq-checkout-page__discount {
618
- display: flex;
619
- gap: 0.5rem;
620
- margin-bottom: 1rem;
621
- }
622
- .ecomiq-checkout-page__discount .ecomiq-checkout-page__input {
623
- flex: 1;
624
- }
625
- .ecomiq-checkout-page__discount-apply {
626
- padding: 0 1rem;
627
- border: 1px solid var(--ecp-border);
628
- border-radius: 5px;
629
- background: #f0f0f0;
630
- color: var(--ecp-muted);
631
- font-size: 0.875rem;
632
- cursor: pointer;
633
- }
634
- .ecomiq-checkout-page__discount-apply:not(:disabled) {
635
- background: #fff;
636
- color: var(--ecp-text);
637
- cursor: pointer;
638
- }
639
- .ecomiq-checkout-page__coupon-tags {
640
- list-style: none;
641
- margin: 0 0 1rem;
642
- padding: 0;
643
- display: flex;
644
- flex-wrap: wrap;
645
- gap: 0.5rem;
646
- }
647
- .ecomiq-checkout-page__coupon-tags li {
648
- display: flex;
649
- align-items: center;
650
- gap: 0.35rem;
651
- padding: 0.25rem 0.5rem;
652
- background: #fff;
653
- border: 1px solid var(--ecp-border);
654
- border-radius: 4px;
655
- font-size: 0.8125rem;
656
- }
657
- .ecomiq-checkout-page__coupon-tags button {
658
- border: none;
659
- background: none;
660
- cursor: pointer;
661
- padding: 0;
662
- line-height: 1;
663
- }
664
- .ecomiq-checkout-page__totals {
665
- margin: 0;
666
- }
667
- .ecomiq-checkout-page__totals-row {
668
- display: flex;
669
- justify-content: space-between;
670
- align-items: baseline;
671
- margin-bottom: 0.5rem;
672
- font-size: 0.875rem;
673
- }
674
- .ecomiq-checkout-page__totals-row dt {
675
- color: var(--ecp-muted);
676
- }
677
- .ecomiq-checkout-page__totals-row dd {
678
- margin: 0;
679
- }
680
- .ecomiq-checkout-page__totals-row--total {
681
- margin-top: 1rem;
682
- padding-top: 1rem;
683
- border-top: 1px solid var(--ecp-border);
684
- font-size: 1.125rem;
685
- font-weight: 600;
686
- }
687
- .ecomiq-checkout-page__totals-row--total dt {
688
- color: var(--ecp-text);
689
- }
690
- .ecomiq-checkout-page__total-currency {
691
- font-size: 0.75rem;
692
- font-weight: 400;
693
- color: var(--ecp-muted);
694
- margin-right: 0.35rem;
695
- }
696
- .ecomiq-checkout-page__state {
697
- padding: 3rem 1.5rem;
698
- text-align: center;
699
- max-width: 24rem;
700
- margin: 0 auto;
701
- }
702
- .ecomiq-checkout-page__state h1 {
703
- font-size: 1.25rem;
704
- margin: 0 0 0.5rem;
705
- }
706
- .ecomiq-checkout-page__state p {
707
- color: var(--ecp-muted);
708
- margin: 0 0 1rem;
709
- }
710
- .ecomiq-checkout-page__external-cart-banner {
711
- display: flex;
712
- flex-wrap: wrap;
713
- align-items: center;
714
- justify-content: space-between;
715
- gap: 0.75rem 1rem;
716
- margin: 0;
717
- padding: 0.4rem 1.25rem;
718
- background: #fff8e6;
719
- border-bottom: 1px solid #f0d590;
720
- color: #5c4a12;
721
- font-size: 0.875rem;
722
- }
723
- .ecomiq-checkout-page__external-cart-banner p {
724
- margin: 0;
725
- flex: 1 1 16rem;
726
- }
727
- .ecomiq-checkout-page__external-cart-reload {
728
- flex-shrink: 0;
729
- padding: 0.4rem 0.75rem;
730
- border: 1px solid #5c4a12;
731
- border-radius: 6px;
732
- background: #5c4a12;
733
- color: #fff;
734
- font-size: 0.75rem;
735
- font-weight: 600;
736
- cursor: pointer;
737
- }
738
- .ecomiq-checkout-page__external-cart-reload:hover {
739
- background: #46380e;
740
- border-color: #46380e;
741
- }
742
- @keyframes ecomiq-checkout-skeleton-shimmer {
743
- 0% {
744
- background-position: 200% 0;
745
- }
746
- 100% {
747
- background-position: -200% 0;
748
- }
749
- }
750
- .ecomiq-checkout-page--skeleton .ecomiq-checkout-page__skeleton-block {
751
- background:
752
- linear-gradient(
753
- 90deg,
754
- rgb(0 0 0 / 0.06) 0%,
755
- rgb(0 0 0 / 0.1) 50%,
756
- rgb(0 0 0 / 0.06) 100%);
757
- background-size: 200% 100%;
758
- animation: ecomiq-checkout-skeleton-shimmer 1.4s ease-in-out infinite;
759
- border-radius: 6px;
760
- }
761
- .ecomiq-checkout-page__skeleton-title {
762
- height: 1.125rem;
763
- width: 6rem;
764
- margin-bottom: 1rem;
765
- }
766
- .ecomiq-checkout-page__section-head .ecomiq-checkout-page__skeleton-title {
767
- margin-bottom: 0;
768
- }
769
- .ecomiq-checkout-page__skeleton-link {
770
- height: 0.875rem;
771
- width: 3.5rem;
772
- border-radius: 4px;
773
- }
774
- .ecomiq-checkout-page__skeleton-field {
775
- height: 2.75rem;
776
- width: 100%;
777
- margin-bottom: 0.75rem;
778
- }
779
- .ecomiq-checkout-page__skeleton-field--half {
780
- flex: 1;
781
- min-width: 0;
782
- }
783
- .ecomiq-checkout-page__skeleton-field--third {
784
- flex: 1;
785
- min-width: 0;
786
- }
787
- .ecomiq-checkout-page__skeleton-row {
788
- display: flex;
789
- gap: 0.75rem;
790
- margin-bottom: 0.75rem;
791
- }
792
- .ecomiq-checkout-page__skeleton-row .ecomiq-checkout-page__skeleton-field {
793
- margin-bottom: 0;
794
- }
795
- .ecomiq-checkout-page__skeleton-checkbox {
796
- height: 1.25rem;
797
- width: 14rem;
798
- margin-top: 0.25rem;
799
- }
800
- .ecomiq-checkout-page__skeleton-option {
801
- height: 3.5rem;
802
- width: 100%;
803
- margin-bottom: 0.5rem;
804
- border-radius: 8px;
805
- }
806
- .ecomiq-checkout-page__skeleton-button {
807
- height: 3rem;
808
- width: 100%;
809
- margin-top: 0.5rem;
810
- border-radius: 8px;
811
- }
812
- .ecomiq-checkout-page__skeleton-summary-item {
813
- display: flex;
814
- gap: 1rem;
815
- align-items: flex-start;
816
- margin-bottom: 1.25rem;
817
- }
818
- .ecomiq-checkout-page__skeleton-thumb {
819
- width: 64px;
820
- height: 64px;
821
- flex-shrink: 0;
822
- border-radius: 8px;
823
- }
824
- .ecomiq-checkout-page__skeleton-summary-body {
825
- flex: 1;
826
- min-width: 0;
827
- display: flex;
828
- flex-direction: column;
829
- gap: 0.5rem;
830
- padding-top: 0.25rem;
831
- }
832
- .ecomiq-checkout-page__skeleton-line {
833
- height: 0.875rem;
834
- width: 100%;
835
- }
836
- .ecomiq-checkout-page__skeleton-line--short {
837
- width: 55%;
838
- }
839
- .ecomiq-checkout-page__skeleton-line--xs {
840
- width: 3rem;
841
- }
842
- .ecomiq-checkout-page__skeleton-line--price {
843
- width: 4.5rem;
844
- height: 1.125rem;
845
- }
846
- .ecomiq-checkout-page__skeleton-price {
847
- width: 3.5rem;
848
- height: 0.875rem;
849
- flex-shrink: 0;
850
- }
851
- .ecomiq-checkout-page__skeleton-coupon {
852
- display: flex;
853
- gap: 0.5rem;
854
- margin-bottom: 1.25rem;
855
- }
856
- .ecomiq-checkout-page__skeleton-coupon-input {
857
- flex: 1;
858
- height: 2.75rem;
859
- border-radius: 8px;
860
- }
861
- .ecomiq-checkout-page__skeleton-coupon-btn {
862
- width: 4.5rem;
863
- height: 2.75rem;
864
- border-radius: 8px;
865
- flex-shrink: 0;
866
- }
867
- .ecomiq-checkout-page__skeleton-totals {
868
- display: flex;
869
- flex-direction: column;
870
- gap: 0.65rem;
871
- }
872
- .ecomiq-checkout-page__skeleton-total-row {
873
- display: flex;
874
- justify-content: space-between;
875
- align-items: center;
876
- gap: 1rem;
877
- }
878
- .ecomiq-checkout-page__skeleton-total-row--final {
879
- margin-top: 0.75rem;
880
- padding-top: 1rem;
881
- border-top: 1px solid var(--ecp-border);
882
- }
883
- .ecomiq-checkout-page--skeleton .ecomiq-checkout-page__summary-wrap {
884
- pointer-events: none;
885
- }
886
- .ecomiq-checkout-page--skeleton .ecomiq-checkout-page__main-wrap {
887
- pointer-events: none;
888
- }
889
-
890
- /* src/react/pages/thank-you-page/thank-you-page.css */
891
- .ecomiq-thank-you-page {
892
- --ty-bg: #ffffff;
893
- --ty-border: #d9d9d9;
894
- --ty-text: #121212;
895
- --ty-muted: #6d6d6d;
896
- --ty-success: #177245;
897
- min-height: 100dvh;
898
- background: #f6f6f6;
899
- color: var(--ty-text);
900
- font-family:
901
- -apple-system,
902
- BlinkMacSystemFont,
903
- "Segoe UI",
904
- Roboto,
905
- Helvetica,
906
- Arial,
907
- sans-serif;
908
- font-size: 14px;
909
- line-height: 1.5;
910
- }
911
- .ecomiq-thank-you-page__top {
912
- border-bottom: 1px solid var(--ty-border);
913
- padding: 1.25rem 1.5rem;
914
- text-align: center;
915
- background: var(--ty-bg);
916
- display: flex;
917
- justify-content: center;
918
- }
919
- .ecomiq-thank-you-page__logo {
920
- font-size: 1.5rem;
921
- font-weight: 700;
922
- letter-spacing: 0.2em;
923
- text-transform: uppercase;
924
- text-decoration: none;
925
- color: inherit;
926
- }
927
- .ecomiq-thank-you-page__logo img {
928
- max-height: 2.5rem;
929
- width: auto;
930
- }
931
- .ecomiq-thank-you-page__main {
932
- display: flex;
933
- justify-content: center;
934
- padding: 3rem 1.5rem 4rem;
935
- }
936
- .ecomiq-thank-you-page__card {
937
- width: 100%;
938
- max-width: 32rem;
939
- text-align: center;
940
- }
941
- .ecomiq-thank-you-page__icon {
942
- display: inline-flex;
943
- align-items: center;
944
- justify-content: center;
945
- width: 3.25rem;
946
- height: 3.25rem;
947
- margin: 0 auto 1.5rem;
948
- border-radius: 50%;
949
- background: var(--ty-success);
950
- color: #fff;
951
- }
952
- .ecomiq-thank-you-page__icon svg {
953
- width: 1.65rem;
954
- height: 1.65rem;
955
- }
956
- .ecomiq-thank-you-page__title {
957
- margin: 0 0 1.25rem;
958
- font-size: clamp(1.5rem, 4vw, 1.875rem);
959
- font-weight: 600;
960
- letter-spacing: -0.02em;
961
- }
962
- .ecomiq-thank-you-page__text {
963
- margin: 0 0 0.75rem;
964
- font-size: 0.9375rem;
965
- color: var(--ty-text);
966
- }
967
- .ecomiq-thank-you-page__text strong {
968
- font-weight: 600;
969
- }
970
- .ecomiq-thank-you-page__text--muted {
971
- color: var(--ty-muted);
972
- }
973
- .ecomiq-thank-you-page__actions {
974
- margin-top: 2rem;
975
- }
976
- .ecomiq-thank-you-page__link {
977
- display: inline-block;
978
- font-size: 0.875rem;
979
- color: var(--ty-text);
980
- text-decoration: underline;
981
- text-underline-offset: 2px;
982
- }
983
- /*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
984
- /*# sourceMappingURL=client.css.map */