@infosoftas/s4-orders-js-sdk 0.1.20 → 0.1.21-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 (56) hide show
  1. package/README.md +471 -444
  2. package/build/postcss-scope-tailwind.cjs +66 -0
  3. package/components.json +21 -0
  4. package/package.json +59 -50
  5. package/src/App.css +409 -0
  6. package/src/App.tsx +639 -594
  7. package/src/components/Alert/Alert.tsx +23 -22
  8. package/src/components/Button/Button.tsx +18 -22
  9. package/src/components/EHFForm/EHFForm.tsx +253 -235
  10. package/src/components/FormFields/AddressField.tsx +55 -62
  11. package/src/components/FormFields/EmailField.tsx +53 -58
  12. package/src/components/FormFields/InputField.tsx +52 -53
  13. package/src/components/FormFields/NameField.tsx +52 -53
  14. package/src/components/FormFields/PhoneField.tsx +53 -58
  15. package/src/components/FormFields/TermsCheckbox.tsx +70 -58
  16. package/src/components/FormFields/ToggleFiled.tsx +52 -63
  17. package/src/components/FormFields/fieldValidators.ts +71 -0
  18. package/src/components/OIOForm/OIOForm.tsx +130 -69
  19. package/src/components/OrderDenialModal/OrderDenialModal.tsx +102 -89
  20. package/src/components/OrderForm/ContactDetailsSection.tsx +71 -0
  21. package/src/components/OrderForm/OrderForm.tsx +173 -232
  22. package/src/components/OrderForm/PaymentMethodContent.tsx +62 -0
  23. package/src/components/OrderForm/PaymentMethodSection.tsx +79 -0
  24. package/src/components/OrderForm/SubmitConfirmationDialog.tsx +55 -0
  25. package/src/components/OrderForm/orderFormState.ts +171 -0
  26. package/src/components/OrderForm/useSlotElement.tsx +89 -0
  27. package/src/components/ui/alert-dialog.tsx +185 -0
  28. package/src/components/ui/alert.tsx +75 -0
  29. package/src/components/ui/button.tsx +55 -0
  30. package/src/components/ui/card.tsx +99 -0
  31. package/src/components/ui/checkbox.tsx +28 -0
  32. package/src/components/ui/field.tsx +238 -0
  33. package/src/components/ui/input.tsx +19 -0
  34. package/src/components/ui/label.tsx +19 -0
  35. package/src/components/ui/radio-group.tsx +37 -0
  36. package/src/components/ui/separator.tsx +24 -0
  37. package/src/components/ui/skeleton.tsx +13 -0
  38. package/src/components/ui/spinner.tsx +10 -0
  39. package/src/components/ui/switch.tsx +29 -0
  40. package/src/components/ui/textarea.tsx +17 -0
  41. package/src/constants/index.ts +0 -2
  42. package/src/custom.d.ts +4 -4
  43. package/src/index.tsx +2 -0
  44. package/src/lib/utils.ts +1 -0
  45. package/src/types/general.ts +136 -122
  46. package/tsconfig.json +37 -38
  47. package/src/App.scss +0 -23
  48. package/src/assets/styles/forms.scss +0 -164
  49. package/src/assets/styles/general.scss +0 -46
  50. package/src/assets/styles/variables.scss +0 -29
  51. package/src/components/Alert/alert.scss +0 -21
  52. package/src/components/Button/button.scss +0 -48
  53. package/src/components/Loader/Loader.tsx +0 -22
  54. package/src/components/Loader/loader.scss +0 -37
  55. package/src/components/OrderDenialModal/orderDenialModal.scss +0 -42
  56. package/src/components/OrderForm/orderForm.scss +0 -10
@@ -0,0 +1,66 @@
1
+ const postcss = require('postcss');
2
+
3
+ const DEFAULT_SCOPE = '.sdk-scope';
4
+ const DEFAULT_LAYERS = ['utilities'];
5
+
6
+ const plugin = (opts = {}) => {
7
+ const scope = opts.scope || DEFAULT_SCOPE;
8
+ const layers = opts.layers || DEFAULT_LAYERS;
9
+ const required = opts.required !== false;
10
+
11
+ return {
12
+ postcssPlugin: 'scope-tailwind',
13
+
14
+ OnceExit(root, { result }) {
15
+ const wrapped = [];
16
+
17
+ root.walkAtRules('layer', (atRule) => {
18
+ const name = atRule.params.trim();
19
+ if (!layers.includes(name)) return;
20
+ if (!atRule.nodes || atRule.nodes.length === 0) return;
21
+ if (
22
+ atRule.nodes.length === 1 &&
23
+ atRule.first.type === 'atrule' &&
24
+ atRule.first.name === 'scope'
25
+ ) {
26
+ return;
27
+ }
28
+
29
+ const scoped = postcss.atRule({
30
+ name: 'scope',
31
+ params: `(${scope})`,
32
+ nodes: [],
33
+ raws: { before: '\n', after: '\n', between: ' ' },
34
+ });
35
+
36
+ const children = atRule.nodes;
37
+ atRule.removeAll();
38
+ scoped.append(children);
39
+ atRule.append(scoped);
40
+
41
+ wrapped.push(name);
42
+ });
43
+
44
+ if (required && wrapped.length === 0) {
45
+ throw root.error(
46
+ `scope-tailwind: none of the layers [${layers.join(
47
+ ', '
48
+ )}] were found, so nothing was scoped. Tailwind's utilities ` +
49
+ `would ship as global selectors and could restyle the ` +
50
+ `host page. Check that this plugin runs after ` +
51
+ `@tailwindcss/postcss.`
52
+ );
53
+ }
54
+
55
+ result.messages.push({
56
+ type: 'scope-tailwind',
57
+ plugin: 'scope-tailwind',
58
+ scopedLayers: wrapped,
59
+ });
60
+ },
61
+ };
62
+ };
63
+
64
+ plugin.postcss = true;
65
+
66
+ module.exports = plugin;
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "base-luma",
4
+ "rsc": false,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "",
8
+ "css": "src/App.css",
9
+ "baseColor": "zinc",
10
+ "cssVariables": true,
11
+ "prefix": ""
12
+ },
13
+ "aliases": {
14
+ "components": "@/components",
15
+ "utils": "@/lib/utils",
16
+ "ui": "@/components/ui",
17
+ "lib": "@/lib",
18
+ "hooks": "@/hooks"
19
+ },
20
+ "iconLibrary": "lucide"
21
+ }
package/package.json CHANGED
@@ -1,50 +1,59 @@
1
- {
2
- "name": "@infosoftas/s4-orders-js-sdk",
3
- "version": "0.1.20",
4
- "scripts": {
5
- "build": "rimraf lib && webpack --mode production",
6
- "release": "release-it"
7
- },
8
- "eslintConfig": {
9
- "extends": [
10
- "react-app"
11
- ]
12
- },
13
- "dependencies": {
14
- "react": "^19.2.8",
15
- "react-dom": "^19.2.8",
16
- "react-hook-form": "^7.85.0"
17
- },
18
- "devDependencies": {
19
- "@babel/core": "^8.0.1",
20
- "@babel/preset-env": "^8.0.2",
21
- "@babel/preset-react": "^8.0.1",
22
- "@babel/preset-typescript": "^8.0.1",
23
- "@types/react": "^19.2.18",
24
- "@types/react-dom": "^19.2.4",
25
- "babel-loader": "^10.0.0",
26
- "copy-webpack-plugin": "^14.0.0",
27
- "css-loader": "^7.1.2",
28
- "mini-css-extract-plugin": "^2.9.4",
29
- "release-it": "^21.0.2",
30
- "rimraf": "^6.1.2",
31
- "sass": "^1.102.0",
32
- "sass-loader": "^17.0.0",
33
- "style-loader": "^4.0.0",
34
- "ts-loader": "^9.6.2",
35
- "typescript": "^6.0.2",
36
- "webpack": "^5.109.2",
37
- "webpack-cli": "^7.2.2"
38
- },
39
- "publishConfig": {
40
- "access": "public"
41
- },
42
- "engines": {
43
- "node": "^22.21.0 || >=24.11.0"
44
- },
45
- "browserslist": [
46
- "> 0.5%",
47
- "last 2 versions",
48
- "not dead"
49
- ]
50
- }
1
+ {
2
+ "name": "@infosoftas/s4-orders-js-sdk",
3
+ "version": "0.1.21-0",
4
+ "scripts": {
5
+ "build": "webpack --mode production",
6
+ "release": "release-it"
7
+ },
8
+ "eslintConfig": {
9
+ "extends": [
10
+ "react-app"
11
+ ]
12
+ },
13
+ "dependencies": {
14
+ "@base-ui/react": "^1.0.0",
15
+ "@hookform/resolvers": "^5.9.1",
16
+ "class-variance-authority": "^0.7.1",
17
+ "cn": "^0.4.0",
18
+ "lucide-react": "^1.47.0",
19
+ "react": "^19.2.8",
20
+ "react-dom": "^19.2.8",
21
+ "react-hook-form": "^7.85.0",
22
+ "shadcn": "^4.21.0",
23
+ "tw-animate-css": "^1.4.0",
24
+ "zod": "^4.6.5"
25
+ },
26
+ "devDependencies": {
27
+ "@babel/core": "^8.0.1",
28
+ "@babel/preset-env": "^8.0.2",
29
+ "@babel/preset-react": "^8.0.1",
30
+ "@babel/preset-typescript": "^8.0.1",
31
+ "@tailwindcss/postcss": "^4.1.14",
32
+ "@types/react": "^19.2.18",
33
+ "@types/react-dom": "^19.2.4",
34
+ "babel-loader": "^10.0.0",
35
+ "copy-webpack-plugin": "^14.0.0",
36
+ "css-loader": "^7.1.2",
37
+ "mini-css-extract-plugin": "^2.9.4",
38
+ "postcss": "^8.5.6",
39
+ "postcss-loader": "^8.2.0",
40
+ "release-it": "^21.0.2",
41
+ "style-loader": "^4.0.0",
42
+ "tailwindcss": "^4.1.14",
43
+ "ts-loader": "^9.6.2",
44
+ "typescript": "^6.0.2",
45
+ "webpack": "^5.109.2",
46
+ "webpack-cli": "^7.2.2"
47
+ },
48
+ "publishConfig": {
49
+ "access": "public"
50
+ },
51
+ "engines": {
52
+ "node": "^22.21.0 || >=24.11.0"
53
+ },
54
+ "browserslist": [
55
+ "> 0.5%",
56
+ "last 2 versions",
57
+ "not dead"
58
+ ]
59
+ }
package/src/App.css ADDED
@@ -0,0 +1,409 @@
1
+ @layer theme, base, components, utilities;
2
+ @import 'tailwindcss/theme.css' layer(theme);
3
+ @import 'tailwindcss/utilities.css' layer(utilities);
4
+ @import url('tw-animate-css');
5
+ @import 'shadcn/tailwind.css';
6
+
7
+ @custom-variant dark (&:is(.dark *));
8
+
9
+ .sdk-scope {
10
+ --background: oklch(0.975 0.002 286.32);
11
+ --foreground: oklch(0.141 0.005 285.823);
12
+ --card: oklch(1 0 0);
13
+ --card-foreground: oklch(0.141 0.005 285.823);
14
+ --popover: oklch(1 0 0);
15
+ --popover-foreground: oklch(0.141 0.005 285.823);
16
+ --primary: oklch(0.527 0.154 150.069);
17
+ --primary-foreground: oklch(0.982 0.018 155.826);
18
+ --secondary: oklch(0.967 0.001 286.375);
19
+ --secondary-foreground: oklch(0.21 0.006 285.885);
20
+ --muted: oklch(0.967 0.001 286.375);
21
+ --muted-foreground: oklch(0.552 0.016 285.938);
22
+ --accent: oklch(0.967 0.001 286.375);
23
+ --accent-foreground: oklch(0.21 0.006 285.885);
24
+ --destructive: oklch(0.577 0.245 27.325);
25
+ --warning: var(--color-amber-700);
26
+ --success: var(--color-green-600);
27
+ --border: oklch(0.92 0.004 286.32);
28
+ --input: oklch(0.92 0.004 286.32);
29
+ --ring: oklch(0.705 0.015 286.067);
30
+ --chart-1: oklch(0.871 0.006 286.286);
31
+ --chart-2: oklch(0.552 0.016 285.938);
32
+ --chart-3: oklch(0.442 0.017 285.786);
33
+ --chart-4: oklch(0.37 0.013 285.805);
34
+ --chart-5: oklch(0.274 0.006 286.033);
35
+ --radius: 0.625rem;
36
+ --sidebar: oklch(0.985 0 0);
37
+ --sidebar-foreground: oklch(0.141 0.005 285.823);
38
+ --sidebar-primary: oklch(0.627 0.194 149.214);
39
+ --sidebar-primary-foreground: oklch(0.982 0.018 155.826);
40
+ --sidebar-accent: oklch(0.967 0.001 286.375);
41
+ --sidebar-accent-foreground: oklch(0.21 0.006 285.885);
42
+ --sidebar-border: oklch(0.92 0.004 286.32);
43
+ --sidebar-ring: oklch(0.705 0.015 286.067);
44
+ }
45
+
46
+ .sdk-scope:is(.dark *),
47
+ .sdk-scope.dark {
48
+ --background: oklch(0.17 0.006 285.885);
49
+ --foreground: oklch(0.985 0 0);
50
+ --card: oklch(0.21 0.006 285.885);
51
+ --card-foreground: oklch(0.985 0 0);
52
+ --popover: oklch(0.21 0.006 285.885);
53
+ --popover-foreground: oklch(0.985 0 0);
54
+ --primary: oklch(0.448 0.119 151.328);
55
+ --primary-foreground: oklch(0.982 0.018 155.826);
56
+ --secondary: oklch(0.274 0.006 286.033);
57
+ --secondary-foreground: oklch(0.985 0 0);
58
+ --muted: oklch(0.274 0.006 286.033);
59
+ --muted-foreground: oklch(0.705 0.015 286.067);
60
+ --accent: oklch(0.274 0.006 286.033);
61
+ --accent-foreground: oklch(0.985 0 0);
62
+ --destructive: oklch(0.704 0.191 22.216);
63
+ --warning: var(--color-amber-400);
64
+ --success: var(--color-green-400);
65
+ --border: oklch(1 0 0 / 10%);
66
+ --input: oklch(1 0 0 / 15%);
67
+ --ring: oklch(0.552 0.016 285.938);
68
+ --chart-1: oklch(0.871 0.006 286.286);
69
+ --chart-2: oklch(0.552 0.016 285.938);
70
+ --chart-3: oklch(0.442 0.017 285.786);
71
+ --chart-4: oklch(0.37 0.013 285.805);
72
+ --chart-5: oklch(0.274 0.006 286.033);
73
+ --sidebar: oklch(0.21 0.006 285.885);
74
+ --sidebar-foreground: oklch(0.985 0 0);
75
+ --sidebar-primary: oklch(0.723 0.219 149.579);
76
+ --sidebar-primary-foreground: oklch(0.982 0.018 155.826);
77
+ --sidebar-accent: oklch(0.274 0.006 286.033);
78
+ --sidebar-accent-foreground: oklch(0.985 0 0);
79
+ --sidebar-border: oklch(1 0 0 / 10%);
80
+ --sidebar-ring: oklch(0.552 0.016 285.938);
81
+ }
82
+
83
+ @theme inline {
84
+ --font-sans: inherit;
85
+ --font-heading: inherit;
86
+ --color-sidebar-ring: var(--sidebar-ring);
87
+ --color-sidebar-border: var(--sidebar-border);
88
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
89
+ --color-sidebar-accent: var(--sidebar-accent);
90
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
91
+ --color-sidebar-primary: var(--sidebar-primary);
92
+ --color-sidebar-foreground: var(--sidebar-foreground);
93
+ --color-sidebar: var(--sidebar);
94
+ --color-chart-5: var(--chart-5);
95
+ --color-chart-4: var(--chart-4);
96
+ --color-chart-3: var(--chart-3);
97
+ --color-chart-2: var(--chart-2);
98
+ --color-chart-1: var(--chart-1);
99
+ --color-ring: var(--ring);
100
+ --color-input: var(--input);
101
+ --color-border: var(--border);
102
+ --color-destructive: var(--destructive);
103
+ --color-warning: var(--warning);
104
+ --color-success: var(--success);
105
+ --color-accent-foreground: var(--accent-foreground);
106
+ --color-accent: var(--accent);
107
+ --color-muted-foreground: var(--muted-foreground);
108
+ --color-muted: var(--muted);
109
+ --color-secondary-foreground: var(--secondary-foreground);
110
+ --color-secondary: var(--secondary);
111
+ --color-primary-foreground: var(--primary-foreground);
112
+ --color-primary: var(--primary);
113
+ --color-popover-foreground: var(--popover-foreground);
114
+ --color-popover: var(--popover);
115
+ --color-card-foreground: var(--card-foreground);
116
+ --color-card: var(--card);
117
+ --color-foreground: var(--foreground);
118
+ --color-background: var(--background);
119
+ --radius-sm: calc(var(--radius) * 0.6);
120
+ --radius-md: calc(var(--radius) * 0.8);
121
+ --radius-lg: var(--radius);
122
+ --radius-xl: calc(var(--radius) * 1.4);
123
+ --radius-2xl: calc(var(--radius) * 1.8);
124
+ --radius-3xl: calc(var(--radius) * 2.2);
125
+ --radius-4xl: calc(var(--radius) * 2.6);
126
+ }
127
+
128
+ @layer base {
129
+ .sdk-scope,
130
+ .sdk-scope *,
131
+ .sdk-scope ::after,
132
+ .sdk-scope ::before,
133
+ .sdk-scope ::backdrop,
134
+ .sdk-scope ::file-selector-button {
135
+ box-sizing: border-box;
136
+ margin: 0;
137
+ padding: 0;
138
+ border: 0 solid;
139
+ }
140
+
141
+ .sdk-scope {
142
+ line-height: 1.5;
143
+ -webkit-text-size-adjust: 100%;
144
+ tab-size: 4;
145
+ font-family: --theme(
146
+ --default-font-family,
147
+ -apple-system,
148
+ BlinkMacSystemFont,
149
+ 'Segoe UI',
150
+ Roboto,
151
+ 'Helvetica Neue',
152
+ 'Noto Sans',
153
+ Arial,
154
+ sans-serif,
155
+ 'Apple Color Emoji',
156
+ 'Segoe UI Emoji',
157
+ 'Segoe UI Symbol',
158
+ 'Noto Color Emoji'
159
+ );
160
+ font-feature-settings: --theme(--default-font-feature-settings, normal);
161
+ font-variation-settings: --theme(--default-font-variation-settings, normal);
162
+ -webkit-tap-highlight-color: transparent;
163
+ }
164
+
165
+ .sdk-scope hr {
166
+ height: 0;
167
+ color: inherit;
168
+ border-top-width: 1px;
169
+ }
170
+
171
+ .sdk-scope abbr:where([title]) {
172
+ -webkit-text-decoration: underline dotted;
173
+ text-decoration: underline dotted;
174
+ }
175
+
176
+ .sdk-scope h1,
177
+ .sdk-scope h2,
178
+ .sdk-scope h3,
179
+ .sdk-scope h4,
180
+ .sdk-scope h5,
181
+ .sdk-scope h6 {
182
+ font-size: inherit;
183
+ font-weight: inherit;
184
+ }
185
+
186
+ .sdk-scope a {
187
+ color: inherit;
188
+ -webkit-text-decoration: inherit;
189
+ text-decoration: inherit;
190
+ }
191
+
192
+ .sdk-scope b,
193
+ .sdk-scope strong {
194
+ font-weight: bolder;
195
+ }
196
+
197
+ .sdk-scope code,
198
+ .sdk-scope kbd,
199
+ .sdk-scope samp,
200
+ .sdk-scope pre {
201
+ font-family: --theme(
202
+ --default-mono-font-family,
203
+ ui-monospace,
204
+ SFMono-Regular,
205
+ Menlo,
206
+ Monaco,
207
+ Consolas,
208
+ 'Liberation Mono',
209
+ 'Courier New',
210
+ monospace
211
+ );
212
+ font-feature-settings: --theme(--default-mono-font-feature-settings, normal);
213
+ font-variation-settings: --theme(--default-mono-font-variation-settings, normal);
214
+ font-size: 1em;
215
+ }
216
+
217
+ .sdk-scope small {
218
+ font-size: 80%;
219
+ }
220
+
221
+ .sdk-scope sub,
222
+ .sdk-scope sup {
223
+ font-size: 75%;
224
+ line-height: 0;
225
+ position: relative;
226
+ vertical-align: baseline;
227
+ }
228
+
229
+ .sdk-scope sub {
230
+ bottom: -0.25em;
231
+ }
232
+
233
+ .sdk-scope sup {
234
+ top: -0.5em;
235
+ }
236
+
237
+ .sdk-scope table {
238
+ text-indent: 0;
239
+ border-color: inherit;
240
+ border-collapse: collapse;
241
+ }
242
+
243
+ .sdk-scope :-moz-focusring:where(:not(iframe)) {
244
+ outline: auto;
245
+ }
246
+
247
+ .sdk-scope progress {
248
+ vertical-align: baseline;
249
+ }
250
+
251
+ .sdk-scope summary {
252
+ display: list-item;
253
+ }
254
+
255
+ .sdk-scope ol,
256
+ .sdk-scope ul,
257
+ .sdk-scope menu {
258
+ list-style: none;
259
+ }
260
+
261
+ .sdk-scope img,
262
+ .sdk-scope svg,
263
+ .sdk-scope video,
264
+ .sdk-scope canvas,
265
+ .sdk-scope audio,
266
+ .sdk-scope iframe,
267
+ .sdk-scope embed,
268
+ .sdk-scope object {
269
+ display: block;
270
+ vertical-align: middle;
271
+ }
272
+
273
+ .sdk-scope img,
274
+ .sdk-scope video {
275
+ max-width: 100%;
276
+ height: auto;
277
+ }
278
+
279
+ .sdk-scope button,
280
+ .sdk-scope input,
281
+ .sdk-scope select,
282
+ .sdk-scope optgroup,
283
+ .sdk-scope textarea,
284
+ .sdk-scope ::file-selector-button {
285
+ font: inherit;
286
+ font-feature-settings: inherit;
287
+ font-variation-settings: inherit;
288
+ letter-spacing: inherit;
289
+ color: inherit;
290
+ border-radius: 0;
291
+ background-color: transparent;
292
+ opacity: 1;
293
+ }
294
+
295
+ .sdk-scope :where(select:is([multiple], [size])) optgroup {
296
+ font-weight: bolder;
297
+ }
298
+
299
+ .sdk-scope :where(select:is([multiple], [size])) optgroup option {
300
+ padding-inline-start: 20px;
301
+ }
302
+
303
+ .sdk-scope ::file-selector-button {
304
+ margin-inline-end: 4px;
305
+ }
306
+
307
+ .sdk-scope ::placeholder {
308
+ opacity: 1;
309
+ }
310
+
311
+ @supports (not (-webkit-appearance: -apple-pay-button)) or
312
+ (contain-intrinsic-size: 1px) {
313
+ .sdk-scope ::placeholder {
314
+ color: color-mix(in oklab, currentcolor 50%, transparent);
315
+ }
316
+ }
317
+
318
+ .sdk-scope textarea {
319
+ resize: vertical;
320
+ }
321
+
322
+ .sdk-scope ::-webkit-search-decoration {
323
+ -webkit-appearance: none;
324
+ }
325
+
326
+ .sdk-scope ::-webkit-date-and-time-value {
327
+ min-height: 1lh;
328
+ text-align: inherit;
329
+ }
330
+
331
+ .sdk-scope ::-webkit-datetime-edit {
332
+ display: inline-flex;
333
+ }
334
+
335
+ .sdk-scope ::-webkit-datetime-edit-fields-wrapper {
336
+ padding: 0;
337
+ }
338
+
339
+ .sdk-scope ::-webkit-datetime-edit,
340
+ .sdk-scope ::-webkit-datetime-edit-year-field,
341
+ .sdk-scope ::-webkit-datetime-edit-month-field,
342
+ .sdk-scope ::-webkit-datetime-edit-day-field,
343
+ .sdk-scope ::-webkit-datetime-edit-hour-field,
344
+ .sdk-scope ::-webkit-datetime-edit-minute-field,
345
+ .sdk-scope ::-webkit-datetime-edit-second-field,
346
+ .sdk-scope ::-webkit-datetime-edit-millisecond-field,
347
+ .sdk-scope ::-webkit-datetime-edit-meridiem-field {
348
+ padding-block: 0;
349
+ }
350
+
351
+ .sdk-scope ::-webkit-calendar-picker-indicator {
352
+ line-height: 1;
353
+ }
354
+
355
+ .sdk-scope :-moz-ui-invalid {
356
+ box-shadow: none;
357
+ }
358
+
359
+ .sdk-scope button,
360
+ .sdk-scope input:where([type='button'], [type='reset'], [type='submit']),
361
+ .sdk-scope ::file-selector-button {
362
+ appearance: button;
363
+ }
364
+
365
+ .sdk-scope ::-webkit-inner-spin-button,
366
+ .sdk-scope ::-webkit-outer-spin-button {
367
+ height: auto;
368
+ }
369
+
370
+ .sdk-scope [hidden]:where(:not([hidden='until-found'])) {
371
+ display: none !important;
372
+ }
373
+
374
+ .sdk-scope {
375
+ font-family: inherit;
376
+ @apply text-foreground;
377
+ }
378
+
379
+ .sdk-scope,
380
+ .sdk-scope * {
381
+ @apply border-border outline-ring/50;
382
+ }
383
+
384
+ .sdk-scope button:not(:disabled),
385
+ .sdk-scope [role='button']:not(:disabled) {
386
+ cursor: pointer;
387
+ }
388
+ }
389
+
390
+ .sdk-order-container {
391
+ *,
392
+ *::before,
393
+ *::after {
394
+ box-sizing: border-box;
395
+ }
396
+
397
+ .sdk-iframe-wrapper {
398
+ display: flex;
399
+ flex-direction: column;
400
+ align-items: center;
401
+ }
402
+
403
+ iframe {
404
+ max-width: 640px;
405
+ border: none;
406
+ background: transparent;
407
+ border-radius: calc(var(--radius) * 2);
408
+ }
409
+ }