@syncfusion/ej2-react-form-renderer 0.1.2-beta → 34.2.2

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 (181) hide show
  1. package/README.md +88 -105
  2. package/diConfig.json +85 -0
  3. package/dist/ej2-react-form-renderer.min.js +10 -0
  4. package/dist/ej2-react-form-renderer.umd.min.js +11 -0
  5. package/dist/ej2-react-form-renderer.umd.min.js.map +1 -0
  6. package/dist/es6/ej2-react-form-renderer.es2015.js +37 -0
  7. package/dist/es6/ej2-react-form-renderer.es2015.js.map +1 -0
  8. package/form-renderer.d.ts +4 -0
  9. package/form-renderer.js +4 -0
  10. package/index.d.ts +2 -4
  11. package/index.js +2 -4
  12. package/license +6 -13
  13. package/package.json +19 -38
  14. package/src/form-renderer/formrenderer.component.d.ts +34 -0
  15. package/src/form-renderer/formrenderer.component.js +49 -0
  16. package/src/form-renderer/index.d.ts +1 -0
  17. package/src/form-renderer/index.js +1 -0
  18. package/src/global.js +1 -0
  19. package/src/index.d.ts +2 -6
  20. package/src/index.js +2 -6
  21. package/styles/bds-lite.css +1 -0
  22. package/styles/bds-lite.scss +1 -0
  23. package/styles/bds.css +1 -0
  24. package/styles/bds.scss +1 -0
  25. package/styles/bootstrap-dark-lite.css +1 -0
  26. package/styles/bootstrap-dark-lite.scss +1 -0
  27. package/styles/bootstrap-dark.css +1 -26
  28. package/styles/bootstrap-dark.scss +1 -0
  29. package/styles/bootstrap-lite.css +1 -0
  30. package/styles/bootstrap-lite.scss +1 -0
  31. package/styles/bootstrap.css +1 -26
  32. package/styles/bootstrap.scss +1 -0
  33. package/styles/bootstrap4-lite.css +1 -0
  34. package/styles/bootstrap4-lite.scss +1 -0
  35. package/styles/bootstrap4.css +1 -26
  36. package/styles/bootstrap4.scss +1 -0
  37. package/styles/bootstrap5-dark-lite.css +1 -0
  38. package/styles/bootstrap5-dark-lite.scss +1 -0
  39. package/styles/bootstrap5-dark.css +1 -26
  40. package/styles/bootstrap5-dark.scss +1 -0
  41. package/styles/bootstrap5-lite.css +1 -0
  42. package/styles/bootstrap5-lite.scss +1 -0
  43. package/styles/bootstrap5.3-lite.css +1 -0
  44. package/styles/bootstrap5.3-lite.scss +1 -0
  45. package/styles/bootstrap5.3.css +1 -26
  46. package/styles/bootstrap5.3.scss +1 -0
  47. package/styles/bootstrap5.css +1 -26
  48. package/styles/bootstrap5.scss +1 -0
  49. package/styles/fabric-dark-lite.css +1 -0
  50. package/styles/fabric-dark-lite.scss +1 -0
  51. package/styles/fabric-dark.css +1 -0
  52. package/styles/fabric-dark.scss +1 -0
  53. package/styles/fabric-lite.css +1 -0
  54. package/styles/fabric-lite.scss +1 -0
  55. package/styles/fabric.css +1 -0
  56. package/styles/fabric.scss +1 -0
  57. package/styles/fluent-dark-lite.css +1 -0
  58. package/styles/fluent-dark-lite.scss +1 -0
  59. package/styles/fluent-dark.css +1 -26
  60. package/styles/fluent-dark.scss +1 -0
  61. package/styles/fluent-lite.css +1 -0
  62. package/styles/fluent-lite.scss +1 -0
  63. package/styles/fluent.css +1 -26
  64. package/styles/fluent.scss +1 -0
  65. package/styles/fluent2-lite.css +1 -0
  66. package/styles/fluent2-lite.scss +1 -0
  67. package/styles/fluent2.css +1 -26
  68. package/styles/fluent2.scss +1 -0
  69. package/styles/form-renderer/bds.css +1 -0
  70. package/styles/form-renderer/bds.scss +1 -0
  71. package/styles/form-renderer/bootstrap-dark.css +1 -0
  72. package/styles/form-renderer/bootstrap-dark.scss +1 -0
  73. package/styles/form-renderer/bootstrap.css +1 -0
  74. package/styles/form-renderer/bootstrap.scss +1 -0
  75. package/styles/form-renderer/bootstrap4.css +1 -0
  76. package/styles/form-renderer/bootstrap4.scss +1 -0
  77. package/styles/form-renderer/bootstrap5-dark.css +1 -0
  78. package/styles/form-renderer/bootstrap5-dark.scss +1 -0
  79. package/styles/form-renderer/bootstrap5.3.css +1 -0
  80. package/styles/form-renderer/bootstrap5.3.scss +1 -0
  81. package/styles/form-renderer/bootstrap5.css +1 -0
  82. package/styles/form-renderer/bootstrap5.scss +1 -0
  83. package/styles/form-renderer/fabric-dark.css +1 -0
  84. package/styles/form-renderer/fabric-dark.scss +1 -0
  85. package/styles/form-renderer/fabric.css +1 -0
  86. package/styles/form-renderer/fabric.scss +1 -0
  87. package/styles/form-renderer/fluent-dark.css +1 -0
  88. package/styles/form-renderer/fluent-dark.scss +1 -0
  89. package/styles/form-renderer/fluent.css +1 -0
  90. package/styles/form-renderer/fluent.scss +1 -0
  91. package/styles/form-renderer/fluent2.css +1 -0
  92. package/styles/form-renderer/fluent2.scss +1 -0
  93. package/styles/form-renderer/highcontrast-light.css +1 -0
  94. package/styles/form-renderer/highcontrast-light.scss +1 -0
  95. package/styles/form-renderer/highcontrast.css +1 -0
  96. package/styles/form-renderer/highcontrast.scss +1 -0
  97. package/styles/form-renderer/material-dark.css +1 -0
  98. package/styles/form-renderer/material-dark.scss +1 -0
  99. package/styles/form-renderer/material.css +1 -0
  100. package/styles/form-renderer/material.scss +1 -0
  101. package/styles/form-renderer/material3-dark.css +1 -0
  102. package/styles/form-renderer/material3-dark.scss +1 -0
  103. package/styles/form-renderer/material3.css +1 -0
  104. package/styles/form-renderer/material3.scss +1 -0
  105. package/styles/form-renderer/tailwind-dark.css +1 -0
  106. package/styles/form-renderer/tailwind-dark.scss +1 -0
  107. package/styles/form-renderer/tailwind.css +1 -0
  108. package/styles/form-renderer/tailwind.scss +1 -0
  109. package/styles/form-renderer/tailwind3.css +1 -0
  110. package/styles/form-renderer/tailwind3.scss +1 -0
  111. package/styles/highcontrast-light-lite.css +1 -0
  112. package/styles/highcontrast-light-lite.scss +1 -0
  113. package/styles/highcontrast-light.css +1 -0
  114. package/styles/highcontrast-light.scss +1 -0
  115. package/styles/highcontrast-lite.css +1 -0
  116. package/styles/highcontrast-lite.scss +1 -0
  117. package/styles/highcontrast.css +1 -0
  118. package/styles/highcontrast.scss +1 -0
  119. package/styles/material-dark-lite.css +1 -0
  120. package/styles/material-dark-lite.scss +1 -0
  121. package/styles/material-dark.css +1 -26
  122. package/styles/material-dark.scss +1 -0
  123. package/styles/material-lite.css +1 -0
  124. package/styles/material-lite.scss +1 -0
  125. package/styles/material.css +1 -26
  126. package/styles/material.scss +1 -0
  127. package/styles/material3-dark-lite.css +1 -0
  128. package/styles/material3-dark-lite.scss +1 -0
  129. package/styles/material3-dark.css +1 -26
  130. package/styles/material3-dark.scss +1 -0
  131. package/styles/material3-lite.css +1 -0
  132. package/styles/material3-lite.scss +1 -0
  133. package/styles/material3.css +1 -26
  134. package/styles/material3.scss +1 -0
  135. package/styles/tailwind-dark-lite.css +1 -0
  136. package/styles/tailwind-dark-lite.scss +1 -0
  137. package/styles/tailwind-dark.css +1 -26
  138. package/styles/tailwind-dark.scss +1 -0
  139. package/styles/tailwind-lite.css +1 -0
  140. package/styles/tailwind-lite.scss +1 -0
  141. package/styles/tailwind.css +1 -26
  142. package/styles/tailwind.scss +1 -0
  143. package/styles/tailwind3-lite.css +1 -0
  144. package/styles/tailwind3-lite.scss +1 -0
  145. package/styles/tailwind3.css +1 -26
  146. package/styles/tailwind3.scss +1 -0
  147. package/src/CheckboxGroup.d.ts +0 -12
  148. package/src/CheckboxGroup.js +0 -49
  149. package/src/ConditionalRuleEngine.d.ts +0 -295
  150. package/src/ConditionalRuleEngine.js +0 -566
  151. package/src/CustomTabComponent.d.ts +0 -13
  152. package/src/CustomTabComponent.js +0 -35
  153. package/src/DataGridComponent.d.ts +0 -28
  154. package/src/DataGridComponent.js +0 -147
  155. package/src/FormRenderer.d.ts +0 -84
  156. package/src/FormRenderer.js +0 -707
  157. package/src/FormValidator.d.ts +0 -479
  158. package/src/FormValidator.js +0 -579
  159. package/src/MinMaxRuleEngine.d.ts +0 -95
  160. package/src/MinMaxRuleEngine.js +0 -361
  161. package/src/StaticHtmlRenderer.d.ts +0 -8
  162. package/src/StaticHtmlRenderer.js +0 -21
  163. package/src/expressions/DependencyTracker.d.ts +0 -30
  164. package/src/expressions/DependencyTracker.js +0 -128
  165. package/src/expressions/ExpressionEngine.d.ts +0 -81
  166. package/src/expressions/ExpressionEngine.js +0 -503
  167. package/src/expressions/ExpressionParser.d.ts +0 -39
  168. package/src/expressions/ExpressionParser.js +0 -270
  169. package/src/json-converter.d.ts +0 -171
  170. package/src/json-converter.js +0 -1209
  171. package/src/parser.d.ts +0 -99
  172. package/src/parser.js +0 -753
  173. package/src/renderFormField.d.ts +0 -21
  174. package/src/renderFormField.js +0 -226
  175. package/src/types/FormSchema.d.ts +0 -211
  176. package/src/types/FormSchema.js +0 -1
  177. package/src/utils.js +0 -408
  178. package/styles/bootstrap5.3-dark.css +0 -26
  179. package/styles/fluent2-dark.css +0 -26
  180. package/styles/form-renderer.base.css +0 -499
  181. package/styles/tailwind3-dark.css +0 -10
@@ -1,499 +0,0 @@
1
- /**
2
- * Form Renderer Styles
3
- * Clean production-ready styles without drag/drop UI elements
4
- */
5
-
6
- /* Form Container */
7
- .form-renderer-container {
8
- padding: 2rem;
9
- background-color: var(--sf-bg-color);
10
- }
11
-
12
- /* Form */
13
- .form-renderer {
14
- display: flex;
15
- flex-direction: column;
16
- gap: 1.5rem;
17
- }
18
-
19
- /* ============================================================
20
- TEMPLATE-BASED LAYOUT SYSTEM
21
- Only applies when UI schema is NOT provided (auto-generated)
22
- ============================================================ */
23
-
24
- /* Two-Column Layout */
25
- .form-renderer.twolayout {
26
- display: grid;
27
- grid-template-columns: repeat(2, 1fr);
28
- gap: 1.5rem;
29
- }
30
-
31
- /* Three-Column Layout */
32
- .form-renderer.threelayout {
33
- display: grid;
34
- grid-template-columns: repeat(3, 1fr);
35
- gap: 1.5rem;
36
- }
37
-
38
- /* Four-Column Layout */
39
- .form-renderer.fourlayout {
40
- display: grid;
41
- grid-template-columns: repeat(4, 1fr);
42
- gap: 1.5rem;
43
- }
44
-
45
- .form-renderer.twolayout > .form-group:has(.e-btn),
46
- .form-renderer.threelayout > .form-group:has(.e-btn),
47
- .form-renderer.fourlayout > .form-group:has(.e-btn) {
48
- align-self: flex-end;
49
- }
50
-
51
- .form-renderer.twolayout > .form-group:has(.e-message),
52
- .form-renderer.threelayout > .form-group:has(.e-message),
53
- .form-renderer.fourlayout > .form-group:has(.e-message) {
54
- align-self: flex-end;
55
- }
56
-
57
- .form-renderer.twolayout > .form-group:has(.e-checkbox),
58
- .form-renderer.threelayout > .form-group:has(.e-checkbox),
59
- .form-renderer.fourlayout > .form-group:has(.e-checkbox) {
60
- align-self: flex-end;
61
- }
62
-
63
- .form-renderer.twolayout > .form-group:has(.e-switch),
64
- .form-renderer.threelayout > .form-group:has(.e-switch),
65
- .form-renderer.fourlayout > .form-group:has(.e-switch) {
66
- align-self: flex-end;
67
- }
68
-
69
- /* Submit/Reset buttons handling:
70
- - If they're at the end, display side by side
71
- - If not at the end, display normally
72
- */
73
- /* When submit button is the only button at the end */
74
- .form-renderer.twolayout > .form-group:last-child:has(.form-submit-type):not(:has(.form-reset-type)),
75
- .form-renderer.threelayout > .form-group:last-child:has(.form-submit-type):not(:has(.form-reset-type)),
76
- .form-renderer.fourlayout > .form-group:last-child:has(.form-submit-type):not(:has(.form-reset-type)) {
77
- grid-column: 1 / -1;
78
- }
79
-
80
- /* When both reset and submit are the last two children, display them in adjacent cells side by side */
81
- .form-renderer.twolayout > .form-group:nth-last-child(2):has(.form-reset-type),
82
- .form-renderer.twolayout > .form-group:nth-last-child(2):has(.form-reset-type) ~ .form-group:last-child:has(.form-submit-type),
83
- .form-renderer.threelayout > .form-group:nth-last-child(2):has(.form-reset-type),
84
- .form-renderer.threelayout > .form-group:nth-last-child(2):has(.form-reset-type) ~ .form-group:last-child:has(.form-submit-type),
85
- .form-renderer.fourlayout > .form-group:nth-last-child(2):has(.form-reset-type),
86
- .form-renderer.fourlayout > .form-group:nth-last-child(2):has(.form-reset-type) ~ .form-group:last-child:has(.form-submit-type) {
87
- grid-column: auto;
88
- }
89
-
90
- /* Responsive: Collapse to fewer columns on tablets */
91
- @media (max-width: 1024px) {
92
- .form-renderer.fourlayout {
93
- grid-template-columns: repeat(2, 1fr);
94
- }
95
-
96
- .form-renderer.threelayout {
97
- grid-template-columns: repeat(2, 1fr);
98
- }
99
- }
100
-
101
- /* Responsive: Single column on mobile */
102
- @media (max-width: 768px) {
103
- .form-renderer.twolayout,
104
- .form-renderer.threelayout,
105
- .form-renderer.fourlayout {
106
- grid-template-columns: 1fr;
107
- }
108
- }
109
-
110
- /* Form Group */
111
- .form-group {
112
- display: flex;
113
- flex-direction: column;
114
- gap: 0.5rem;
115
- }
116
-
117
- /* Field Wrapper */
118
- .field-wrapper {
119
- display: flex;
120
- width: 100%;
121
- }
122
-
123
- .field-wrapper.label-top {
124
- flex-direction: column;
125
- gap: 0.5rem;
126
- }
127
-
128
- .field-wrapper.label-bottom {
129
- flex-direction: column-reverse;
130
- gap: 0.5rem;
131
- }
132
-
133
- .field-wrapper.label-left {
134
- flex-direction: row;
135
- align-items: center;
136
- gap: 1rem;
137
- }
138
-
139
- .field-wrapper.label-right {
140
- flex-direction: row-reverse;
141
- align-items: center;
142
- gap: 1rem;
143
- justify-content: flex-end;
144
- }
145
-
146
- /* Input grows in left/right label layouts */
147
- .field-wrapper.label-left .field-input,
148
- .field-wrapper.label-right .field-input {
149
- flex: 1;
150
- min-width: 0;
151
- }
152
-
153
- .field-wrapper:has(.e-small) .field-label {
154
- font-size: .75rem;
155
- }
156
-
157
- .field-wrapper:has(.e-small) .field-description {
158
- font-size: 0.625rem;
159
- }
160
-
161
- .field-wrapper:has(.e-bigger) .field-label {
162
- font-size: 1rem;
163
- }
164
-
165
- .field-wrapper:has(.e-bigger) .field-description {
166
- font-size: 0.875rem;
167
- }
168
-
169
- /* Label */
170
- .field-label {
171
- font-size: 0.875rem;
172
- font-weight: 500;
173
- color: var(--sf-text-color);
174
- margin: 0;
175
- display: flex;
176
- align-items: center;
177
- gap: 4px;
178
- flex-shrink: 0;
179
- font-family: var(--sf-font-family);
180
- }
181
-
182
- .field-label .required-asterisk {
183
- color: #ef4444;
184
- margin-left: 2px;
185
- }
186
-
187
- .field-label .tooltip-icon {
188
- cursor: help;
189
- color: var(--sf-tooltip-text-color);
190
- font-size: 0.875rem;
191
- }
192
-
193
- /* Input Field */
194
- .field-input {
195
- width: 100%;
196
- }
197
-
198
- .field-input .e-image-editor {
199
- min-height: 250px;
200
- }
201
-
202
- .field-input .e-switch-wrapper,
203
- .field-input .e-checkbox-wrapper {
204
- margin: 5px 0;
205
- }
206
-
207
- /* Error Message */
208
- .field-error {
209
- color: #ef4444;
210
- font-size: 0.75rem;
211
- margin-top: 0.25rem;
212
- display: block;
213
- }
214
-
215
- /* Radio Button Group */
216
- .e-radio-group {
217
- display: flex;
218
- flex-direction: column;
219
- }
220
-
221
- .e-radio-group .e-radio + label {
222
- margin-left: 0.5rem;
223
- }
224
-
225
- /* Layout Components - Clean Styles */
226
-
227
- /* Panel (Fieldset) */
228
- .form-panel-renderer {
229
- border: none;
230
- border-radius: 8px;
231
- padding: 0;
232
- }
233
-
234
- .form-panel-renderer:has(.panel-legend) {
235
- border: 1px solid var(--sf-layout-border-color);
236
- padding: 1.5rem;
237
- font-family: var(--sf-font-family)
238
- }
239
-
240
- .form-panel-renderer legend {
241
- font-size: 1.5rem;
242
- font-weight: 600;
243
- padding-bottom: 1.5rem;
244
- }
245
-
246
- .form-panel-renderer .panel-legend {
247
- font-size: 1.5rem;
248
- font-weight: 600;
249
- padding: 0 0.5rem;
250
- }
251
-
252
-
253
- .panel-content {
254
- display: flex;
255
- flex-direction: column;
256
- gap: 1rem;
257
- width: 100%;
258
- }
259
-
260
- .card-content {
261
- display: flex;
262
- flex-direction: column;
263
- gap: 1rem;
264
- }
265
-
266
- /* Table Layout */
267
- .form-table-renderer {
268
- width: 100%;
269
- border-radius: 8px;
270
- overflow: hidden;
271
- }
272
-
273
- .form-table-renderer.table-border {
274
- border: 1px solid var(--sf-layout-border-color);
275
- }
276
-
277
- .form-table-renderer {
278
- display: table;
279
- width: 100%;
280
- border-collapse: separate;
281
- border-spacing: 0px;
282
- overflow-x: auto;
283
- overflow-y: hidden;
284
- }
285
-
286
- .form-table-renderer .e-form-table-row {
287
- display: table-row;
288
- background: transparent;
289
- }
290
-
291
- .form-table-renderer .e-form-table-cell {
292
- display: table-cell;
293
- padding: 12px;
294
- vertical-align: top;
295
- }
296
-
297
- .table-border .e-form-table-cell {
298
- border-bottom: 1px solid var(--sf-layout-border-color);
299
- border-right: 1px solid var(--sf-layout-border-color);
300
- }
301
-
302
- .e-form-table-cell:last-child {
303
- border-right: none;
304
- }
305
-
306
- .form-table-renderer .e-form-table-row:last-child .e-form-table-cell {
307
- border-bottom: none;
308
- }
309
-
310
- .e-form-table-cell > .form-table-renderer,
311
- .e-form-table-cell > .form-tabs-renderer,
312
- .e-form-table-cell > .form-card-renderer,
313
- .e-form-table-cell > .form-panel-renderer,
314
- .e-form-table-cell > .form-group
315
- {
316
- margin-bottom: 1.5rem;
317
- }
318
-
319
-
320
- .e-form-table-cell > .form-table-renderer:last-child,
321
- .e-form-table-cell > .form-tabs-renderer:last-child,
322
- .e-form-table-cell > .form-card-renderer:last-child,
323
- .e-form-table-cell > .form-panel-renderer:last-child,
324
- .e-form-table-cell > .form-group:last-child
325
- {
326
- margin-bottom: 0;
327
- }
328
-
329
-
330
- /* Column helper classes (col, col-1..col-12) — copied from preview styles
331
- Scoped under .form-table-renderer so renderer respects `col-{n}` classes
332
- without changing the renderer's flex-based layout. These only set widths.
333
- */
334
- .form-table-renderer .col,
335
- .form-table-renderer [class^="col-"] {
336
- min-height: 100%;
337
- vertical-align: top;
338
- }
339
-
340
- .form-table-renderer .col { width: auto; }
341
- .form-table-renderer .col-1 { width: 8.33333333%; }
342
- .form-table-renderer .col-2 { width: 16.66666667%; }
343
- .form-table-renderer .col-3 { width: 25%; }
344
- .form-table-renderer .col-4 { width: 33.33333333%; }
345
- .form-table-renderer .col-5 { width: 41.66666667%; }
346
- .form-table-renderer .col-6 { width: 50%; }
347
- .form-table-renderer .col-7 { width: 58.33333333%; }
348
- .form-table-renderer .col-8 { width: 66.66666667%; }
349
- .form-table-renderer .col-9 { width: 75%; }
350
- .form-table-renderer .col-10 { width: 83.33333333%; }
351
- .form-table-renderer .col-11 { width: 91.66666667%; }
352
- .form-table-renderer .col-12 { width: auto; }
353
-
354
- /* Tabs Layout */
355
- .form-tabs-renderer {
356
- width: 100%;
357
- }
358
-
359
- .tab-content-renderer {
360
- padding-top: 10px;
361
- display: flex;
362
- flex-direction: column;
363
- gap: 1rem;
364
- }
365
-
366
- /* Submit Button */
367
- .form-submit-button {
368
- margin-top: 1.5rem;
369
- align-self: flex-start;
370
- }
371
-
372
- /* Syncfusion Component Overrides */
373
- .field-input .e-input-group,
374
- .field-input .e-control-wrapper {
375
- width: 100%;
376
- }
377
-
378
- .field-input .e-float-input {
379
- width: 100%;
380
- }
381
-
382
- /* Unsupported Component */
383
- .unsupported-component {
384
- padding: 1rem;
385
- background-color: #fff3cd;
386
- border: 1px solid #ffc107;
387
- border-radius: 4px;
388
- color: #856404;
389
- font-size: 0.875rem;
390
- }
391
-
392
- /* Dark Mode Support */
393
- [data-theme="dark"] .form-renderer-container {
394
- background-color: #1e1e1e;
395
- }
396
-
397
- [data-theme="dark"] .field-label {
398
- color: #e0e0e0;
399
- }
400
-
401
- [data-theme="dark"] .form-panel-renderer,
402
- [data-theme="dark"] .form-table-renderer {
403
- border-color: #3d3d3d;
404
- }
405
-
406
- [data-theme="dark"] .e-form-table-row {
407
- border-color: #3d3d3d;
408
- }
409
-
410
- [data-theme="dark"] .e-form-table-cell {
411
- border-color: #3d3d3d;
412
- }
413
-
414
- .e-tooltip .e-msg-icon::before {
415
- content: "\e800";
416
- font-family: "e-icons";
417
- color: var(--color-sf-msg-icon-color);
418
- font-size: 16px;
419
- height: 16px;
420
- margin: 3px 4px;
421
- display: flex;
422
- line-height: 16px;
423
- }
424
-
425
- .form-title h1,
426
- .form-title h2,
427
- .form-title h3 {
428
- margin-top: 0;
429
- }
430
-
431
- .form-title {
432
- text-align: center;
433
- }
434
-
435
- .e-card .e-card-content {
436
- padding: 12px 18px 12px 18px;
437
- }
438
-
439
- /* Responsive */
440
- @media (max-width: 768px) {
441
- .form-renderer-container {
442
- padding: 1rem;
443
- }
444
-
445
- .field-wrapper.label-left,
446
- .field-wrapper.label-right {
447
- flex-direction: column;
448
- align-items: stretch;
449
- }
450
-
451
- .field-wrapper.label-left .field-input,
452
- .field-wrapper.label-right .field-input {
453
- width: 100%;
454
- }
455
-
456
- /* Convert table layout to flex layout for mobile */
457
- .form-table-renderer .table-grid {
458
- display: flex;
459
- flex-direction: column;
460
- border-spacing: 0;
461
- gap: 0.75rem;
462
- }
463
-
464
- .form-table-renderer .row {
465
- display: flex;
466
- flex-wrap: wrap;
467
- gap: 0.75rem;
468
- width: 100%;
469
- }
470
-
471
- .form-table-renderer .e-form-table-cell {
472
- display: block;
473
- flex: 1 1 auto;
474
- min-width: 250px; /* minimum width before wrapping to next row */
475
- padding: 12px;
476
- }
477
-
478
- /* Override column width classes on mobile - let content flow naturally */
479
- .form-table-renderer .col,
480
- .form-table-renderer [class^="col-"] {
481
- width: auto !important;
482
- min-width: 250px;
483
- flex: 1 1 auto;
484
- }
485
-
486
- .table-border .e-form-table-cell {
487
- border-right: none;
488
- border-bottom: 1px solid var(--sf-layout-border-color);
489
- border-radius: 4px;
490
- }
491
-
492
- .form-table-renderer .e-form-table-cell:last-child {
493
- border-bottom: 1px solid var(--sf-layout-border-color);
494
- }
495
-
496
- .form-table-renderer .row:last-child .e-form-table-cell {
497
- border-bottom: none;
498
- }
499
- }
@@ -1,10 +0,0 @@
1
- @import '@syncfusion/ej2-tailwind3-dark-theme/styles/tailwind3-dark.css';
2
- @import 'form-renderer.base.css';
3
-
4
- :root {
5
- --sf-bg-color: rgba(17, 24, 39);
6
- --sf-font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', arial, 'Noto Sans', 'Liberation Sans', sans-serif, 'apple color emoji', 'Segoe UI emoji', 'Segoe UI Symbol', 'Noto color emoji';
7
- --sf-text-color: #fff;
8
- --sf-tooltip-text-color: #d1d5db;
9
- --sf-layout-border-color: #282f3c;
10
- }