@vuecs/forms 4.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 (90) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +43 -0
  3. package/dist/components/constants.d.ts +5 -0
  4. package/dist/components/constants.d.ts.map +1 -0
  5. package/dist/components/form-checkbox/FormCheckbox.vue.d.ts +205 -0
  6. package/dist/components/form-checkbox/FormCheckbox.vue.d.ts.map +1 -0
  7. package/dist/components/form-checkbox/index.d.ts +5 -0
  8. package/dist/components/form-checkbox/index.d.ts.map +1 -0
  9. package/dist/components/form-checkbox-group/FormCheckboxGroup.vue.d.ts +170 -0
  10. package/dist/components/form-checkbox-group/FormCheckboxGroup.vue.d.ts.map +1 -0
  11. package/dist/components/form-checkbox-group/index.d.ts +5 -0
  12. package/dist/components/form-checkbox-group/index.d.ts.map +1 -0
  13. package/dist/components/form-group/FormGroup.vue.d.ts +218 -0
  14. package/dist/components/form-group/FormGroup.vue.d.ts.map +1 -0
  15. package/dist/components/form-group/index.d.ts +5 -0
  16. package/dist/components/form-group/index.d.ts.map +1 -0
  17. package/dist/components/form-input/FormInput.vue.d.ts +195 -0
  18. package/dist/components/form-input/FormInput.vue.d.ts.map +1 -0
  19. package/dist/components/form-input/index.d.ts +5 -0
  20. package/dist/components/form-input/index.d.ts.map +1 -0
  21. package/dist/components/form-number/FormNumber.vue.d.ts +268 -0
  22. package/dist/components/form-number/FormNumber.vue.d.ts.map +1 -0
  23. package/dist/components/form-number/index.d.ts +5 -0
  24. package/dist/components/form-number/index.d.ts.map +1 -0
  25. package/dist/components/form-pin/FormPin.vue.d.ts +221 -0
  26. package/dist/components/form-pin/FormPin.vue.d.ts.map +1 -0
  27. package/dist/components/form-pin/index.d.ts +5 -0
  28. package/dist/components/form-pin/index.d.ts.map +1 -0
  29. package/dist/components/form-radio/FormRadio.vue.d.ts +170 -0
  30. package/dist/components/form-radio/FormRadio.vue.d.ts.map +1 -0
  31. package/dist/components/form-radio/index.d.ts +5 -0
  32. package/dist/components/form-radio/index.d.ts.map +1 -0
  33. package/dist/components/form-radio-group/FormRadioGroup.vue.d.ts +172 -0
  34. package/dist/components/form-radio-group/FormRadioGroup.vue.d.ts.map +1 -0
  35. package/dist/components/form-radio-group/index.d.ts +5 -0
  36. package/dist/components/form-radio-group/index.d.ts.map +1 -0
  37. package/dist/components/form-select/FormSelect.vue.d.ts +172 -0
  38. package/dist/components/form-select/FormSelect.vue.d.ts.map +1 -0
  39. package/dist/components/form-select/index.d.ts +5 -0
  40. package/dist/components/form-select/index.d.ts.map +1 -0
  41. package/dist/components/form-select-search/FormSelectSearch.vue.d.ts +272 -0
  42. package/dist/components/form-select-search/FormSelectSearch.vue.d.ts.map +1 -0
  43. package/dist/components/form-select-search/FormSelectSearchEntry.vue.d.ts +40 -0
  44. package/dist/components/form-select-search/FormSelectSearchEntry.vue.d.ts.map +1 -0
  45. package/dist/components/form-select-search/index.d.ts +6 -0
  46. package/dist/components/form-select-search/index.d.ts.map +1 -0
  47. package/dist/components/form-select-search/type.d.ts +10 -0
  48. package/dist/components/form-select-search/type.d.ts.map +1 -0
  49. package/dist/components/form-slider/FormSlider.vue.d.ts +227 -0
  50. package/dist/components/form-slider/FormSlider.vue.d.ts.map +1 -0
  51. package/dist/components/form-slider/index.d.ts +5 -0
  52. package/dist/components/form-slider/index.d.ts.map +1 -0
  53. package/dist/components/form-switch/FormSwitch.vue.d.ts +204 -0
  54. package/dist/components/form-switch/FormSwitch.vue.d.ts.map +1 -0
  55. package/dist/components/form-switch/index.d.ts +5 -0
  56. package/dist/components/form-switch/index.d.ts.map +1 -0
  57. package/dist/components/form-tags/FormTags.vue.d.ts +255 -0
  58. package/dist/components/form-tags/FormTags.vue.d.ts.map +1 -0
  59. package/dist/components/form-tags/index.d.ts +5 -0
  60. package/dist/components/form-tags/index.d.ts.map +1 -0
  61. package/dist/components/form-textarea/FormTextarea.vue.d.ts +89 -0
  62. package/dist/components/form-textarea/FormTextarea.vue.d.ts.map +1 -0
  63. package/dist/components/form-textarea/index.d.ts +5 -0
  64. package/dist/components/form-textarea/index.d.ts.map +1 -0
  65. package/dist/components/index.d.ts +18 -0
  66. package/dist/components/index.d.ts.map +1 -0
  67. package/dist/components/type.d.ts +17 -0
  68. package/dist/components/type.d.ts.map +1 -0
  69. package/dist/components/validation-group/ValidationGroup.vue.d.ts +119 -0
  70. package/dist/components/validation-group/ValidationGroup.vue.d.ts.map +1 -0
  71. package/dist/components/validation-group/index.d.ts +5 -0
  72. package/dist/components/validation-group/index.d.ts.map +1 -0
  73. package/dist/composables/index.d.ts +2 -0
  74. package/dist/composables/index.d.ts.map +1 -0
  75. package/dist/composables/use-submit-button.d.ts +63 -0
  76. package/dist/composables/use-submit-button.d.ts.map +1 -0
  77. package/dist/index.d.ts +24 -0
  78. package/dist/index.d.ts.map +1 -0
  79. package/dist/index.mjs +1764 -0
  80. package/dist/index.mjs.map +1 -0
  81. package/dist/style.css +791 -0
  82. package/dist/type.d.ts +3 -0
  83. package/dist/type.d.ts.map +1 -0
  84. package/dist/types/index.d.ts +2 -0
  85. package/dist/types/index.d.ts.map +1 -0
  86. package/dist/types/option.d.ts +40 -0
  87. package/dist/types/option.d.ts.map +1 -0
  88. package/dist/vue.d.ts +20 -0
  89. package/dist/vue.d.ts.map +1 -0
  90. package/package.json +68 -0
package/dist/style.css ADDED
@@ -0,0 +1,791 @@
1
+ .vc-form-checkbox-wrapper {
2
+ align-items: center;
3
+ gap: .5rem;
4
+ display: inline-flex;
5
+ }
6
+
7
+ .vc-form-checkbox-label {
8
+ cursor: pointer;
9
+ user-select: none;
10
+ color: var(--vc-color-fg, #111827);
11
+ font-size: .875rem;
12
+ line-height: 1.25;
13
+ }
14
+
15
+ .vc-form-checkbox {
16
+ -webkit-appearance: none;
17
+ appearance: none;
18
+ box-sizing: border-box;
19
+ border: 1px solid var(--vc-color-border, #d1d5db);
20
+ border-radius: var(--vc-radius-sm, .125rem);
21
+ background-color: var(--vc-color-bg, #fff);
22
+ cursor: pointer;
23
+ flex-shrink: 0;
24
+ justify-content: center;
25
+ align-items: center;
26
+ width: 1rem;
27
+ height: 1rem;
28
+ padding: 0;
29
+ transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
30
+ display: inline-flex;
31
+ }
32
+
33
+ .vc-form-checkbox:hover {
34
+ border-color: var(--vc-color-primary-500, #3b82f6);
35
+ }
36
+
37
+ .vc-form-checkbox:focus-visible {
38
+ outline: 2px solid var(--vc-color-primary-500, #3b82f6);
39
+ outline-offset: 2px;
40
+ }
41
+
42
+ .vc-form-checkbox[data-state="checked"], .vc-form-checkbox[data-state="indeterminate"] {
43
+ background-color: var(--vc-color-primary-600, #2563eb) !important;
44
+ border-color: var(--vc-color-primary-600, #2563eb) !important;
45
+ }
46
+
47
+ .vc-form-checkbox[data-disabled], .vc-form-checkbox:disabled {
48
+ cursor: not-allowed;
49
+ opacity: .5;
50
+ }
51
+
52
+ .vc-form-checkbox-sm {
53
+ width: .75rem;
54
+ height: .75rem;
55
+ }
56
+
57
+ .vc-form-checkbox-sm .vc-form-checkbox-indicator:before {
58
+ width: .5rem;
59
+ height: .5rem;
60
+ }
61
+
62
+ .vc-form-checkbox-lg {
63
+ width: 1.25rem;
64
+ height: 1.25rem;
65
+ }
66
+
67
+ .vc-form-checkbox-lg .vc-form-checkbox-indicator:before {
68
+ width: .875rem;
69
+ height: .875rem;
70
+ }
71
+
72
+ .vc-form-checkbox-indicator {
73
+ width: 100%;
74
+ height: 100%;
75
+ color: var(--vc-color-on-primary, #fff);
76
+ justify-content: center;
77
+ align-items: center;
78
+ display: inline-flex;
79
+ }
80
+
81
+ .vc-form-checkbox[data-state="checked"] .vc-form-checkbox-indicator:before, .vc-form-checkbox[data-state="indeterminate"] .vc-form-checkbox-indicator:before {
82
+ content: "";
83
+ background-color: currentColor;
84
+ width: .75rem;
85
+ height: .75rem;
86
+ display: block;
87
+ -webkit-mask-position: center;
88
+ mask-position: center;
89
+ -webkit-mask-size: contain;
90
+ mask-size: contain;
91
+ -webkit-mask-repeat: no-repeat;
92
+ mask-repeat: no-repeat;
93
+ }
94
+
95
+ .vc-form-checkbox[data-state="checked"] .vc-form-checkbox-indicator:before {
96
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E");
97
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E");
98
+ }
99
+
100
+ .vc-form-checkbox[data-state="indeterminate"] .vc-form-checkbox-indicator:before {
101
+ -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='3' y='7' width='10' height='2' rx='1' fill='black'/%3E%3C/svg%3E");
102
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='3' y='7' width='10' height='2' rx='1' fill='black'/%3E%3C/svg%3E");
103
+ }
104
+ .vc-form-checkbox-group {
105
+ flex-direction: column;
106
+ gap: .5rem;
107
+ display: flex;
108
+ }
109
+
110
+ .vc-form-checkbox-group[data-orientation="horizontal"] {
111
+ flex-direction: row;
112
+ align-items: center;
113
+ }
114
+ .vc-form-input-group > .vc-form-input {
115
+ box-shadow: none;
116
+ flex: auto;
117
+ min-width: 0;
118
+ }
119
+
120
+ .vc-form-input-group > .vc-form-input:not(:first-child) {
121
+ border-left: 0;
122
+ border-top-left-radius: 0;
123
+ border-bottom-left-radius: 0;
124
+ }
125
+
126
+ .vc-form-input-group > .vc-form-input:not(:last-child) {
127
+ border-right: 0;
128
+ border-top-right-radius: 0;
129
+ border-bottom-right-radius: 0;
130
+ }
131
+
132
+ .vc-form-input-group > .vc-form-input:focus, .vc-form-input-group > .vc-form-input:focus-visible {
133
+ border-color: var(--vc-color-border, #d1d5db);
134
+ box-shadow: none;
135
+ outline: 0;
136
+ }
137
+ .vc-form-number {
138
+ border: 1px solid var(--vc-color-border, #d1d5db);
139
+ border-radius: var(--vc-radius-md, .375rem);
140
+ background-color: var(--vc-color-bg, #fff);
141
+ align-self: flex-start;
142
+ align-items: stretch;
143
+ width: fit-content;
144
+ display: inline-flex;
145
+ overflow: hidden;
146
+ }
147
+
148
+ .vc-form-number:focus-within {
149
+ border-color: var(--vc-color-primary-500, #3b82f6);
150
+ box-shadow: 0 0 0 1px var(--vc-color-primary-500, #3b82f6);
151
+ }
152
+
153
+ .vc-form-number-input {
154
+ -webkit-appearance: none;
155
+ appearance: none;
156
+ box-sizing: border-box;
157
+ color: var(--vc-color-fg, #111827);
158
+ text-align: center;
159
+ font-variant-numeric: tabular-nums;
160
+ field-sizing: content;
161
+ background-color: #0000;
162
+ border: 0;
163
+ outline: none;
164
+ min-width: 4rem;
165
+ padding: .5rem .75rem;
166
+ font-size: .875rem;
167
+ }
168
+
169
+ .vc-form-number-input::-webkit-outer-spin-button, .vc-form-number-input::-webkit-inner-spin-button {
170
+ -webkit-appearance: none;
171
+ margin: 0;
172
+ }
173
+
174
+ .vc-form-number-input[type="number"] {
175
+ -moz-appearance: textfield;
176
+ appearance: textfield;
177
+ }
178
+
179
+ .vc-form-number-decrement, .vc-form-number-increment {
180
+ -webkit-appearance: none;
181
+ appearance: none;
182
+ box-sizing: border-box;
183
+ width: 2rem;
184
+ color: var(--vc-color-fg, #111827);
185
+ background-color: var(--vc-color-bg-muted, #f3f4f6);
186
+ cursor: pointer;
187
+ border: 0;
188
+ justify-content: center;
189
+ align-items: center;
190
+ padding: 0;
191
+ font-size: 1rem;
192
+ transition: background-color .15s ease-in-out;
193
+ display: inline-flex;
194
+ }
195
+
196
+ .vc-form-number-decrement:hover, .vc-form-number-increment:hover {
197
+ background-color: var(--vc-color-bg-elevated, #e5e7eb);
198
+ }
199
+
200
+ .vc-form-number-decrement:focus-visible, .vc-form-number-increment:focus-visible {
201
+ outline: 2px solid var(--vc-color-primary-500, #3b82f6);
202
+ outline-offset: -2px;
203
+ }
204
+
205
+ .vc-form-number-decrement:disabled, .vc-form-number-decrement[data-disabled], .vc-form-number-increment:disabled, .vc-form-number-increment[data-disabled] {
206
+ cursor: not-allowed;
207
+ opacity: .5;
208
+ }
209
+ .vc-form-pin {
210
+ align-items: center;
211
+ gap: .5rem;
212
+ display: inline-flex;
213
+ }
214
+
215
+ .vc-form-pin-input {
216
+ -webkit-appearance: none;
217
+ appearance: none;
218
+ box-sizing: border-box;
219
+ text-align: center;
220
+ font-variant-numeric: tabular-nums;
221
+ width: 2.5rem;
222
+ height: 2.5rem;
223
+ color: var(--vc-color-fg, #111827);
224
+ background-color: var(--vc-color-bg, #fff);
225
+ border: 1px solid var(--vc-color-border, #d1d5db);
226
+ border-radius: var(--vc-radius-md, .375rem);
227
+ padding: 0;
228
+ font-size: 1.125rem;
229
+ transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
230
+ }
231
+
232
+ .vc-form-pin-input:focus {
233
+ border-color: var(--vc-color-primary-500, #3b82f6);
234
+ box-shadow: 0 0 0 1px var(--vc-color-primary-500, #3b82f6);
235
+ outline: none;
236
+ }
237
+
238
+ .vc-form-pin-input:disabled, .vc-form-pin-input[data-disabled] {
239
+ cursor: not-allowed;
240
+ opacity: .5;
241
+ }
242
+ .vc-form-radio-group {
243
+ flex-direction: column;
244
+ gap: .5rem;
245
+ display: flex;
246
+ }
247
+
248
+ .vc-form-radio-group[data-orientation="horizontal"] {
249
+ flex-direction: row;
250
+ align-items: center;
251
+ }
252
+
253
+ .vc-form-radio-wrapper {
254
+ align-items: center;
255
+ gap: .5rem;
256
+ display: inline-flex;
257
+ }
258
+
259
+ .vc-form-radio-label {
260
+ cursor: pointer;
261
+ user-select: none;
262
+ color: var(--vc-color-fg, #111827);
263
+ font-size: .875rem;
264
+ line-height: 1.25;
265
+ }
266
+
267
+ .vc-form-radio {
268
+ -webkit-appearance: none;
269
+ appearance: none;
270
+ box-sizing: border-box;
271
+ border: 1px solid var(--vc-color-border, #d1d5db);
272
+ background-color: var(--vc-color-bg, #fff);
273
+ cursor: pointer;
274
+ border-radius: 9999px;
275
+ flex-shrink: 0;
276
+ width: 1rem;
277
+ height: 1rem;
278
+ padding: 0;
279
+ transition: border-color .15s ease-in-out;
280
+ display: inline-block;
281
+ position: relative;
282
+ }
283
+
284
+ .vc-form-radio:hover {
285
+ border-color: var(--vc-color-primary-500, #3b82f6);
286
+ }
287
+
288
+ .vc-form-radio:focus-visible {
289
+ outline: 2px solid var(--vc-color-primary-500, #3b82f6);
290
+ outline-offset: 2px;
291
+ }
292
+
293
+ .vc-form-radio[data-state="checked"] {
294
+ border-color: var(--vc-color-primary-600, #2563eb) !important;
295
+ }
296
+
297
+ .vc-form-radio[data-disabled], .vc-form-radio:disabled {
298
+ cursor: not-allowed;
299
+ opacity: .5;
300
+ }
301
+
302
+ .vc-form-radio-indicator {
303
+ background-color: var(--vc-color-primary-600, #2563eb);
304
+ border-radius: 9999px;
305
+ width: .5rem;
306
+ height: .5rem;
307
+ position: absolute;
308
+ top: 50%;
309
+ left: 50%;
310
+ transform: translate(-50%, -50%);
311
+ }
312
+
313
+ .vc-form-radio-sm {
314
+ width: .75rem;
315
+ height: .75rem;
316
+ }
317
+
318
+ .vc-form-radio-sm .vc-form-radio-indicator {
319
+ width: .375rem;
320
+ height: .375rem;
321
+ }
322
+
323
+ .vc-form-radio-lg {
324
+ width: 1.25rem;
325
+ height: 1.25rem;
326
+ }
327
+
328
+ .vc-form-radio-lg .vc-form-radio-indicator {
329
+ width: .625rem;
330
+ height: .625rem;
331
+ }
332
+ .vc-form-select-trigger {
333
+ box-sizing: border-box;
334
+ border: 1px solid var(--vc-color-border, #d1d5db);
335
+ border-radius: var(--vc-radius-md, .375rem);
336
+ background-color: var(--vc-color-bg, #fff);
337
+ width: 100%;
338
+ color: var(--vc-color-fg, #111827);
339
+ cursor: pointer;
340
+ text-align: left;
341
+ -webkit-appearance: none;
342
+ appearance: none;
343
+ justify-content: space-between;
344
+ align-items: center;
345
+ gap: .5rem;
346
+ padding: .375rem .625rem;
347
+ font-size: .875rem;
348
+ line-height: 1.25rem;
349
+ display: inline-flex;
350
+ }
351
+
352
+ .vc-form-select-trigger:focus-visible {
353
+ outline: 2px solid var(--vc-color-primary-500, #3b82f6);
354
+ outline-offset: 1px;
355
+ }
356
+
357
+ .vc-form-select-trigger[data-disabled] {
358
+ cursor: not-allowed;
359
+ opacity: .5;
360
+ }
361
+
362
+ .vc-form-select-trigger[data-placeholder] .vc-form-select-value {
363
+ color: var(--vc-color-fg-muted, #6b7280);
364
+ }
365
+
366
+ .vc-form-select-value {
367
+ flex: 1;
368
+ min-width: 0;
369
+ overflow: hidden;
370
+ }
371
+
372
+ .vc-form-select-icon {
373
+ color: var(--vc-color-fg-muted, #6b7280);
374
+ flex-shrink: 0;
375
+ justify-content: center;
376
+ align-items: center;
377
+ display: inline-flex;
378
+ }
379
+
380
+ .vc-form-select-content {
381
+ z-index: 50;
382
+ min-width: var(--reka-select-trigger-width);
383
+ max-height: var(--reka-select-content-available-height, 18rem);
384
+ border: 1px solid var(--vc-color-border, #d1d5db);
385
+ border-radius: var(--vc-radius-md, .375rem);
386
+ background-color: var(--vc-color-bg, #fff);
387
+ color: var(--vc-color-fg, #111827);
388
+ overflow: hidden;
389
+ box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
390
+ }
391
+
392
+ .vc-form-select-viewport {
393
+ padding: .25rem;
394
+ }
395
+
396
+ .vc-form-select-item {
397
+ border-radius: var(--vc-radius-sm, .125rem);
398
+ cursor: pointer;
399
+ user-select: none;
400
+ outline: none;
401
+ align-items: center;
402
+ gap: .5rem;
403
+ padding: .375rem .625rem .375rem 1.75rem;
404
+ font-size: .875rem;
405
+ line-height: 1.25rem;
406
+ display: flex;
407
+ position: relative;
408
+ }
409
+
410
+ .vc-form-select-item[data-highlighted] {
411
+ background-color: var(--vc-color-bg-muted, #f3f4f6);
412
+ }
413
+
414
+ .vc-form-select-item[data-disabled] {
415
+ cursor: not-allowed;
416
+ opacity: .5;
417
+ pointer-events: none;
418
+ }
419
+
420
+ .vc-form-select-item-indicator {
421
+ width: 1rem;
422
+ height: 1rem;
423
+ color: var(--vc-color-primary-600, #2563eb);
424
+ justify-content: center;
425
+ align-items: center;
426
+ display: inline-flex;
427
+ position: absolute;
428
+ left: .375rem;
429
+ }
430
+
431
+ .vc-form-select-group-label {
432
+ color: var(--vc-color-fg-muted, #6b7280);
433
+ text-transform: uppercase;
434
+ letter-spacing: .05em;
435
+ padding: .375rem .625rem;
436
+ font-size: .75rem;
437
+ font-weight: 600;
438
+ display: block;
439
+ }
440
+
441
+ .vc-form-select-separator {
442
+ background-color: var(--vc-color-border, #d1d5db);
443
+ height: 1px;
444
+ margin: .25rem 0;
445
+ }
446
+
447
+ .vc-form-select-trigger-sm {
448
+ padding: .25rem .5rem;
449
+ font-size: .75rem;
450
+ line-height: 1rem;
451
+ }
452
+
453
+ .vc-form-select-trigger-lg {
454
+ padding: .5rem .875rem;
455
+ font-size: 1rem;
456
+ line-height: 1.5rem;
457
+ }
458
+ .vc-form-select-search {
459
+ display: block;
460
+ position: relative;
461
+ }
462
+
463
+ .vc-form-select-search .vc-form-select-search-input {
464
+ width: 100%;
465
+ color: var(--vc-color-fg, #111827);
466
+ background-color: var(--vc-color-bg, #fff);
467
+ border: 1px solid var(--vc-color-border, #d1d5db);
468
+ border-radius: var(--vc-radius-md, .375rem);
469
+ cursor: pointer;
470
+ appearance: none;
471
+ padding: .5rem .75rem;
472
+ font-size: .875rem;
473
+ line-height: 1.25rem;
474
+ transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
475
+ display: block;
476
+ box-shadow: 0 1px 2px #0000000d;
477
+ }
478
+
479
+ .vc-form-select-search .vc-form-select-search-input:focus {
480
+ border-color: var(--vc-color-primary-500, #3b82f6);
481
+ box-shadow: 0 0 0 1px var(--vc-color-primary-500, #3b82f6);
482
+ outline: 0;
483
+ }
484
+
485
+ .vc-form-select-search .vc-form-select-search-input:disabled {
486
+ cursor: not-allowed;
487
+ background-color: var(--vc-color-bg-muted, #f9fafb);
488
+ opacity: 1;
489
+ }
490
+
491
+ .vc-form-select-search .vc-form-select-search-content {
492
+ inset-inline: 0;
493
+ z-index: 50;
494
+ background-color: var(--vc-color-bg, #fff);
495
+ border: 1px solid var(--vc-color-border, #d1d5db);
496
+ border-radius: var(--vc-radius-md, .375rem);
497
+ scrollbar-width: none;
498
+ -ms-overflow-style: none;
499
+ max-height: 15rem;
500
+ display: block;
501
+ position: absolute;
502
+ top: calc(100% + .25rem);
503
+ overflow-y: auto;
504
+ box-shadow: 0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;
505
+ }
506
+
507
+ .vc-form-select-search .vc-form-select-search-content::-webkit-scrollbar {
508
+ display: none;
509
+ }
510
+
511
+ .vc-form-select-search .vc-form-select-search-item {
512
+ color: var(--vc-color-fg, #111827);
513
+ cursor: pointer;
514
+ padding: .5rem .75rem;
515
+ font-size: .875rem;
516
+ line-height: 1.25rem;
517
+ display: block;
518
+ }
519
+
520
+ .vc-form-select-search .vc-form-select-search-item:hover, .vc-form-select-search .vc-form-select-search-item.current {
521
+ background-color: var(--vc-color-bg-elevated, #f3f4f6);
522
+ }
523
+
524
+ .vc-form-select-search .vc-form-select-search-item.active {
525
+ background-color: var(--vc-color-bg-elevated, #f3f4f6);
526
+ color: var(--vc-color-fg, #111827);
527
+ font-weight: 600;
528
+ }
529
+
530
+ .vc-form-select-search .vc-form-select-search-selected {
531
+ flex-wrap: wrap;
532
+ gap: .25rem;
533
+ margin-top: .5rem;
534
+ display: flex;
535
+ }
536
+
537
+ .vc-form-select-search .vc-form-select-search-selected-item {
538
+ color: var(--vc-color-fg, #111827);
539
+ background-color: var(--vc-color-bg-muted, #f3f4f6);
540
+ border: 1px solid var(--vc-color-border, #d1d5db);
541
+ border-radius: var(--vc-radius-sm, .125rem);
542
+ cursor: pointer;
543
+ appearance: none;
544
+ align-items: center;
545
+ gap: .25rem;
546
+ padding: .125rem .5rem;
547
+ font-size: .75rem;
548
+ line-height: 1rem;
549
+ display: inline-flex;
550
+ }
551
+
552
+ .vc-form-select-search .vc-form-select-search-selected-item:hover {
553
+ background-color: var(--vc-color-bg-elevated, #e5e7eb);
554
+ }
555
+
556
+ .vc-form-select-search .vc-form-select-search-selected-item-remove {
557
+ color: var(--vc-color-fg-muted, #6b7280);
558
+ font-weight: 600;
559
+ line-height: 1;
560
+ }
561
+ .vc-form-slider {
562
+ user-select: none;
563
+ touch-action: none;
564
+ align-items: center;
565
+ width: 100%;
566
+ height: 1.25rem;
567
+ display: flex;
568
+ position: relative;
569
+ }
570
+
571
+ .vc-form-slider[data-orientation="vertical"] {
572
+ flex-direction: column;
573
+ width: 1.25rem;
574
+ height: 8rem;
575
+ }
576
+
577
+ .vc-form-slider-track {
578
+ background-color: var(--vc-color-bg-muted, #f3f4f6);
579
+ border-radius: 9999px;
580
+ flex-grow: 1;
581
+ height: .25rem;
582
+ position: relative;
583
+ }
584
+
585
+ .vc-form-slider[data-orientation="vertical"] .vc-form-slider-track {
586
+ width: .25rem;
587
+ height: 100%;
588
+ }
589
+
590
+ .vc-form-slider-range {
591
+ background-color: var(--vc-color-primary-600, #2563eb);
592
+ border-radius: 9999px;
593
+ height: 100%;
594
+ position: absolute;
595
+ }
596
+
597
+ .vc-form-slider[data-orientation="vertical"] .vc-form-slider-range {
598
+ width: 100%;
599
+ }
600
+
601
+ .vc-form-slider-thumb {
602
+ background-color: var(--vc-color-bg, #fff);
603
+ border: 2px solid var(--vc-color-primary-600, #2563eb);
604
+ cursor: pointer;
605
+ border-radius: 9999px;
606
+ width: 1rem;
607
+ height: 1rem;
608
+ transition: box-shadow .15s ease-in-out;
609
+ display: block;
610
+ box-shadow: 0 1px 2px #0000001a;
611
+ }
612
+
613
+ .vc-form-slider-thumb:hover {
614
+ box-shadow: 0 2px 4px #00000026;
615
+ }
616
+
617
+ .vc-form-slider-thumb:focus-visible {
618
+ outline: 2px solid var(--vc-color-primary-500, #3b82f6);
619
+ outline-offset: 2px;
620
+ }
621
+
622
+ .vc-form-slider[data-disabled] .vc-form-slider-thumb {
623
+ cursor: not-allowed;
624
+ opacity: .5;
625
+ }
626
+ .vc-form-switch-wrapper {
627
+ align-items: center;
628
+ gap: .5rem;
629
+ display: inline-flex;
630
+ }
631
+
632
+ .vc-form-switch-label {
633
+ cursor: pointer;
634
+ user-select: none;
635
+ color: var(--vc-color-fg, #111827);
636
+ font-size: .875rem;
637
+ line-height: 1.25;
638
+ }
639
+
640
+ .vc-form-switch {
641
+ -webkit-appearance: none;
642
+ appearance: none;
643
+ box-sizing: border-box;
644
+ border: 1px solid var(--vc-color-border, #d1d5db);
645
+ background-color: var(--vc-color-bg-muted, #f3f4f6);
646
+ cursor: pointer;
647
+ border-radius: 9999px;
648
+ flex-shrink: 0;
649
+ align-items: center;
650
+ width: 2.25rem;
651
+ height: 1.25rem;
652
+ padding: .125rem;
653
+ transition: background-color .15s ease-in-out, border-color .15s ease-in-out;
654
+ display: inline-flex;
655
+ }
656
+
657
+ .vc-form-switch:hover {
658
+ border-color: var(--vc-color-primary-500, #3b82f6);
659
+ }
660
+
661
+ .vc-form-switch:focus-visible {
662
+ outline: 2px solid var(--vc-color-primary-500, #3b82f6);
663
+ outline-offset: 2px;
664
+ }
665
+
666
+ .vc-form-switch[data-state="checked"] {
667
+ background-color: var(--vc-color-primary-600, #2563eb) !important;
668
+ border-color: var(--vc-color-primary-600, #2563eb) !important;
669
+ }
670
+
671
+ .vc-form-switch[data-disabled], .vc-form-switch:disabled {
672
+ cursor: not-allowed;
673
+ opacity: .5;
674
+ }
675
+
676
+ .vc-form-switch-thumb {
677
+ background-color: var(--vc-color-bg, #fff);
678
+ will-change: translate;
679
+ border-radius: 9999px;
680
+ width: .875rem;
681
+ height: .875rem;
682
+ transition: translate .18s ease-in-out;
683
+ display: block;
684
+ translate: 0;
685
+ box-shadow: 0 1px 2px #0000001a;
686
+ }
687
+
688
+ .vc-form-switch[data-state="checked"] .vc-form-switch-thumb {
689
+ translate: 1rem;
690
+ }
691
+
692
+ .vc-form-switch-sm {
693
+ width: 1.75rem;
694
+ height: 1rem;
695
+ }
696
+
697
+ .vc-form-switch-sm .vc-form-switch-thumb {
698
+ width: .625rem;
699
+ height: .625rem;
700
+ }
701
+
702
+ .vc-form-switch-sm[data-state="checked"] .vc-form-switch-thumb {
703
+ translate: .75rem;
704
+ }
705
+
706
+ .vc-form-switch-lg {
707
+ width: 2.75rem;
708
+ height: 1.5rem;
709
+ }
710
+
711
+ .vc-form-switch-lg .vc-form-switch-thumb {
712
+ width: 1.125rem;
713
+ height: 1.125rem;
714
+ }
715
+
716
+ .vc-form-switch-lg[data-state="checked"] .vc-form-switch-thumb {
717
+ translate: 1.25rem;
718
+ }
719
+ .vc-form-tags {
720
+ border: 1px solid var(--vc-color-border, #d1d5db);
721
+ border-radius: var(--vc-radius-md, .375rem);
722
+ background-color: var(--vc-color-bg, #fff);
723
+ cursor: text;
724
+ flex-wrap: wrap;
725
+ align-items: center;
726
+ gap: .375rem;
727
+ min-height: 2.5rem;
728
+ padding: .375rem .5rem;
729
+ display: flex;
730
+ }
731
+
732
+ .vc-form-tags:focus-within {
733
+ border-color: var(--vc-color-primary-500, #3b82f6);
734
+ box-shadow: 0 0 0 1px var(--vc-color-primary-500, #3b82f6);
735
+ }
736
+
737
+ .vc-form-tags[data-disabled] {
738
+ cursor: not-allowed;
739
+ opacity: .6;
740
+ background-color: var(--vc-color-bg-muted, #f3f4f6);
741
+ }
742
+
743
+ .vc-form-tags-item {
744
+ color: var(--vc-color-on-primary, #fff);
745
+ background-color: var(--vc-color-primary-600, #2563eb);
746
+ border-radius: 9999px;
747
+ align-items: center;
748
+ gap: .25rem;
749
+ padding: .125rem .5rem;
750
+ font-size: .75rem;
751
+ line-height: 1.25;
752
+ display: inline-flex;
753
+ }
754
+
755
+ .vc-form-tags-item-text {
756
+ user-select: none;
757
+ }
758
+
759
+ .vc-form-tags-item-delete {
760
+ -webkit-appearance: none;
761
+ appearance: none;
762
+ width: 1rem;
763
+ height: 1rem;
764
+ color: inherit;
765
+ cursor: pointer;
766
+ background-color: #0000;
767
+ border: 0;
768
+ border-radius: 9999px;
769
+ justify-content: center;
770
+ align-items: center;
771
+ padding: 0;
772
+ line-height: 1;
773
+ display: inline-flex;
774
+ }
775
+
776
+ .vc-form-tags-item-delete:hover {
777
+ background-color: #0000001a;
778
+ }
779
+
780
+ .vc-form-tags-input {
781
+ -webkit-appearance: none;
782
+ appearance: none;
783
+ min-width: 6rem;
784
+ color: var(--vc-color-fg, #111827);
785
+ background-color: #0000;
786
+ border: 0;
787
+ outline: none;
788
+ flex: 1 0 6rem;
789
+ padding: .125rem 0;
790
+ font-size: .875rem;
791
+ }