@bagelink/vue 1.12.67 → 1.12.74

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 (85) hide show
  1. package/dist/components/Dropdown.vue.d.ts.map +1 -1
  2. package/dist/components/FilterQuery.types.d.ts +19 -0
  3. package/dist/components/FilterQuery.types.d.ts.map +1 -0
  4. package/dist/components/FilterQuery.vue.d.ts.map +1 -1
  5. package/dist/components/analytics/PieChart.vue.d.ts.map +1 -1
  6. package/dist/components/form/inputs/ArrayInput.vue.d.ts.map +1 -1
  7. package/dist/components/form/inputs/CheckInput.vue.d.ts.map +1 -1
  8. package/dist/components/form/inputs/CodeEditor/Index.vue.d.ts.map +1 -1
  9. package/dist/components/form/inputs/ColorInput.vue.d.ts.map +1 -1
  10. package/dist/components/form/inputs/DateInput.vue.d.ts.map +1 -1
  11. package/dist/components/form/inputs/EmailInput.vue.d.ts.map +1 -1
  12. package/dist/components/form/inputs/JSONInput.vue.d.ts.map +1 -1
  13. package/dist/components/form/inputs/MarkdownEditor.vue.d.ts.map +1 -1
  14. package/dist/components/form/inputs/NumberInput.vue.d.ts.map +1 -1
  15. package/dist/components/form/inputs/OTP.vue.d.ts.map +1 -1
  16. package/dist/components/form/inputs/PasswordInput.vue.d.ts.map +1 -1
  17. package/dist/components/form/inputs/RadioGroup.vue.d.ts.map +1 -1
  18. package/dist/components/form/inputs/RangeInput.vue.d.ts.map +1 -1
  19. package/dist/components/form/inputs/RichText/index.vue.d.ts.map +1 -1
  20. package/dist/components/form/inputs/SelectBtn.vue.d.ts.map +1 -1
  21. package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
  22. package/dist/components/form/inputs/SignaturePad.vue.d.ts.map +1 -1
  23. package/dist/components/form/inputs/TableField.vue.d.ts.map +1 -1
  24. package/dist/components/form/inputs/TelInput.vue.d.ts.map +1 -1
  25. package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
  26. package/dist/components/form/inputs/ToggleInput.vue.d.ts.map +1 -1
  27. package/dist/components/form/inputs/Upload/UploadInput.vue.d.ts.map +1 -1
  28. package/dist/components/form/inputs/bagelInputShell.d.ts +21 -0
  29. package/dist/components/form/inputs/bagelInputShell.d.ts.map +1 -0
  30. package/dist/components/form/inputs/index.d.ts.map +1 -1
  31. package/dist/components/index.d.ts.map +1 -1
  32. package/dist/components/layout/AppSidebar.vue.d.ts.map +1 -1
  33. package/dist/dialog/Dialog.vue.d.ts.map +1 -1
  34. package/dist/dialog/useDialog.d.ts.map +1 -1
  35. package/dist/form-flow/FormFlow.vue.d.ts.map +1 -1
  36. package/dist/i18n/index.d.ts.map +1 -1
  37. package/dist/index.cjs +135 -135
  38. package/dist/index.mjs +14829 -14450
  39. package/dist/style.css +1 -1
  40. package/dist/types/BagelForm.d.ts.map +1 -1
  41. package/dist/utils/BagelFormUtils.d.ts.map +1 -1
  42. package/package.json +1 -1
  43. package/src/components/Dropdown.vue +2 -1
  44. package/src/components/FilterQuery.types.ts +21 -0
  45. package/src/components/FilterQuery.vue +112 -15
  46. package/src/components/form/inputs/ArrayInput.vue +10 -2
  47. package/src/components/form/inputs/CheckInput.vue +28 -9
  48. package/src/components/form/inputs/CodeEditor/Index.vue +15 -2
  49. package/src/components/form/inputs/ColorInput.vue +77 -9
  50. package/src/components/form/inputs/DateInput.vue +10 -3
  51. package/src/components/form/inputs/EmailInput.vue +90 -54
  52. package/src/components/form/inputs/JSONInput.vue +12 -4
  53. package/src/components/form/inputs/MarkdownEditor.vue +12 -4
  54. package/src/components/form/inputs/NumberInput.vue +154 -89
  55. package/src/components/form/inputs/OTP.vue +46 -7
  56. package/src/components/form/inputs/PasswordInput.vue +32 -21
  57. package/src/components/form/inputs/RadioGroup.vue +18 -7
  58. package/src/components/form/inputs/RangeInput.vue +23 -7
  59. package/src/components/form/inputs/RichText/index.vue +21 -12
  60. package/src/components/form/inputs/SelectBtn.vue +34 -6
  61. package/src/components/form/inputs/SelectInput.vue +19 -25
  62. package/src/components/form/inputs/SignaturePad.vue +39 -14
  63. package/src/components/form/inputs/TableField.vue +6 -2
  64. package/src/components/form/inputs/TelInput.vue +52 -4
  65. package/src/components/form/inputs/TextInput.vue +23 -31
  66. package/src/components/form/inputs/ToggleInput.vue +27 -4
  67. package/src/components/form/inputs/Upload/UploadInput.vue +47 -11
  68. package/src/components/form/inputs/Upload/upload.css +23 -0
  69. package/src/components/form/inputs/bagelInputShell.ts +43 -0
  70. package/src/components/form/inputs/index.ts +1 -0
  71. package/src/components/index.ts +1 -0
  72. package/src/dialog/Dialog.vue +12 -1
  73. package/src/dialog/useDialog.ts +2 -1
  74. package/src/form-flow/FormFlow.vue +3 -1
  75. package/src/i18n/locales/en.json +4 -1
  76. package/src/i18n/locales/es.json +4 -1
  77. package/src/i18n/locales/fr.json +4 -1
  78. package/src/i18n/locales/he.json +4 -1
  79. package/src/i18n/locales/it.json +4 -1
  80. package/src/i18n/locales/ru.json +4 -1
  81. package/src/styles/input-variants.css +12 -13
  82. package/src/styles/inputs.css +134 -15
  83. package/src/styles/text.css +534 -528
  84. package/src/types/BagelForm.ts +13 -1
  85. package/src/utils/BagelFormUtils.ts +1 -0
@@ -41,8 +41,22 @@ select {
41
41
  color: var(--placeholder-color);
42
42
  }
43
43
 
44
- .bagel-input label {
45
- color: var(--label-color);
44
+ .bagel-input {
45
+ --bgl-input-label-color: var(--label-color);
46
+ --bgl-input-label-active-color: var(--bgl-primary);
47
+ }
48
+
49
+ .bagel-input label,
50
+ .bagel-input .label-text,
51
+ .bagel-input > .label {
52
+ color: var(--bgl-input-label-color);
53
+ }
54
+
55
+ .bagel-input:focus-within label,
56
+ .bagel-input:focus-within .label-text,
57
+ .bagel-input.open label,
58
+ .bagel-input.open .label-text {
59
+ color: var(--bgl-input-label-active-color);
46
60
  }
47
61
 
48
62
  .bagel-input input,
@@ -65,9 +79,26 @@ select {
65
79
  width: 100%;
66
80
  }
67
81
 
82
+ .bagel-input input[type="radio"],
83
+ .bagel-input input[type="checkbox"] {
84
+ min-width: unset;
85
+ width: auto;
86
+ height: auto;
87
+ padding: 0;
88
+ background: none;
89
+ border-radius: 0;
90
+ }
91
+
92
+ /* ─── RadioGroup: frame/outline — transparent item background ────────────── */
93
+
94
+ .bagel-input.frame .active-list-item,
95
+ .bagel-input.bgl-outline .active-list-item {
96
+ background-color: transparent !important;
97
+ }
98
+
68
99
  /* ─── Variant: frame ──────────────────────────────────────────────────────── */
69
100
 
70
- .bagel-input.frame input,
101
+ .bagel-input.frame input:not([type="radio"]):not([type="checkbox"]):not([type="color"]),
71
102
  .bagel-input.frame textarea,
72
103
  .bagel-input.frame select,
73
104
  .custom-select.frame .input {
@@ -79,11 +110,37 @@ select {
79
110
  box-shadow 0.2s ease;
80
111
  }
81
112
 
82
- .bagel-input.frame input:focus,
113
+ .bagel-input.frame input:not([type="radio"]):not([type="checkbox"]):not([type="color"]):not(.colorInputPick):focus,
83
114
  .bagel-input.frame textarea:focus,
84
115
  .bagel-input.frame select:focus {
85
- outline-color: var(--bgl-primary) !important;
86
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--bgl-primary) 12%, transparent) !important;
116
+ outline-color: var(--bgl-input-label-active-color, var(--bgl-primary)) !important;
117
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--bgl-input-label-active-color, var(--bgl-primary)) 12%, transparent) !important;
118
+ }
119
+
120
+ /* tel-input and colorInputPick: focus handled by wrapper — suppress inner focus ring */
121
+ .bagel-input.frame .tel-input input:focus,
122
+ .bagel-input.frame .colorInputPick:focus,
123
+ .bagel-input.frame .colorInputPick:focus-visible {
124
+ outline: none !important;
125
+ box-shadow: none !important;
126
+ }
127
+
128
+ /* ─── Variant: underlined — transparent background ───────────────────────── */
129
+
130
+ .bagel-input.underlined input:not([type="radio"]):not([type="checkbox"]):not([type="color"]),
131
+ .bagel-input.underlined textarea,
132
+ .bagel-input.underlined select {
133
+ background: transparent;
134
+ }
135
+
136
+ /* ─── Variant: bgl-outline ────────────────────────────────────────────────── */
137
+
138
+ .bagel-input.bgl-outline input:not([type="radio"]):not([type="checkbox"]):not([type="color"]),
139
+ .bagel-input.bgl-outline textarea,
140
+ .bagel-input.bgl-outline select,
141
+ .custom-select.bgl-outline .input {
142
+ outline: 1.5px solid var(--border-color);
143
+ outline-offset: -1px;
87
144
  }
88
145
 
89
146
  .bagel-input input::-webkit-input-placeholder,
@@ -158,10 +215,6 @@ select {
158
215
  width: fit-content;
159
216
  }
160
217
 
161
- .bagel-input:focus-within label {
162
- color: var(--bgl-primary);
163
- }
164
-
165
218
  .bagel-input select.no-edit,
166
219
  .bagel-input input.no-edit,
167
220
  .bagel-input textarea.no-edit,
@@ -172,9 +225,74 @@ select {
172
225
  }
173
226
 
174
227
  .bagel-input label.active {
175
- color: var(--bgl-primary);
228
+ color: var(--bgl-input-label-active-color);
229
+ }
230
+
231
+ /* ─── Variant: frame (outline) — select, OTP, signature, etc. ─────────────── */
232
+
233
+ .bagel-input.frame .selectinput-btn {
234
+ background: transparent;
235
+ outline: 1.5px solid var(--border-color);
236
+ outline-offset: -1px;
237
+ transition:
238
+ outline-color 0.2s ease,
239
+ box-shadow 0.2s ease;
176
240
  }
177
241
 
242
+ .bagel-input.frame:focus-within .selectinput-btn,
243
+ .bagel-input.frame.open .selectinput-btn {
244
+ outline-color: var(--bgl-input-label-active-color, var(--bgl-primary)) !important;
245
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--bgl-input-label-active-color, var(--bgl-primary)) 12%, transparent) !important;
246
+ }
247
+
248
+ /* digit-box frame/outline styles live in OTP.vue */
249
+
250
+ .bagel-input.frame.bgl_input.signature-pad .canvas,
251
+ .bagel-input.frame .signature-pad-canvas-wrap .canvas {
252
+ outline: 1.5px solid var(--border-color);
253
+ outline-offset: -1px;
254
+ border-radius: var(--input-border-radius);
255
+ transition: outline-color 0.2s ease, box-shadow 0.2s ease;
256
+ }
257
+
258
+ .bagel-input.frame:focus-within.bgl_input.signature-pad .canvas,
259
+ .bagel-input.frame:focus-within .signature-pad-canvas-wrap .canvas {
260
+ outline-color: var(--bgl-input-label-active-color, var(--bgl-primary));
261
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--bgl-input-label-active-color, var(--bgl-primary)) 12%, transparent);
262
+ }
263
+
264
+ .bagel-input.bgl-outline.bgl_input.signature-pad .canvas {
265
+ outline: 1.5px solid var(--border-color);
266
+ outline-offset: -1px;
267
+ border-radius: var(--input-border-radius);
268
+ }
269
+
270
+ /* colorInputPickWrap variants handled in ColorInput.vue */
271
+
272
+ .bagel-input.frame .code-editor-grandpa {
273
+ outline: 1.5px solid var(--border-color);
274
+ outline-offset: -1px;
275
+ border-radius: var(--input-border-radius);
276
+ }
277
+
278
+ .bagel-input.frame:focus-within .code-editor-grandpa {
279
+ outline-color: var(--bgl-input-label-active-color, var(--bgl-primary));
280
+ }
281
+
282
+ .bagel-input.frame .rich-text-editor {
283
+ outline: 1.5px solid var(--border-color);
284
+ outline-offset: -1px;
285
+ border: none;
286
+ border-radius: var(--input-border-radius);
287
+ transition: outline-color 0.2s ease, box-shadow 0.2s ease;
288
+ }
289
+
290
+ .bagel-input.frame:focus-within .rich-text-editor {
291
+ outline-color: var(--bgl-input-label-active-color, var(--bgl-primary));
292
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--bgl-input-label-active-color, var(--bgl-primary)) 12%, transparent);
293
+ }
294
+
295
+
178
296
  .inline-80 {
179
297
  display: inline-block;
180
298
  width: 80%;
@@ -237,11 +355,11 @@ select {
237
355
  .bagel-input textarea:focus-visible,
238
356
  .bagel-input button:focus-visible,
239
357
  .bgl_btn:focus-visible {
240
- outline-color: var(--bgl-primary-tint);
358
+ outline-color: var(--bgl-input-label-active-color, var(--bgl-primary-tint));
241
359
  box-shadow: inset 0 0 10px #00000012;
242
360
  }
243
361
 
244
- .bagel-input input:focus,
362
+ .bagel-input input:not([type="radio"]):not([type="checkbox"]):focus,
245
363
  .bagel-input select:focus,
246
364
  .bagel-input textarea:focus {
247
365
  outline-color: rgba(0, 0, 0, 0.05);
@@ -249,6 +367,7 @@ select {
249
367
  outline-color: var(--input-bg);
250
368
  }
251
369
 
370
+
252
371
  .bagel-input .bgl_btn:focus,
253
372
  .bagel-input button:focus {
254
373
  outline-color: rgba(0, 0, 0, 0.05);
@@ -278,8 +397,8 @@ select {
278
397
  .bagel-input.light-input textarea:focus-visible {
279
398
  box-shadow:
280
399
  0 2px 8px 0 rgba(0, 0, 0, 0.15),
281
- 0 0 0 3px color-mix(in srgb, var(--bgl-primary) 15%, transparent) !important;
282
- outline-color: var(--bgl-primary) !important;
400
+ 0 0 0 3px color-mix(in srgb, var(--bgl-input-label-active-color, var(--bgl-primary)) 15%, transparent) !important;
401
+ outline-color: var(--bgl-input-label-active-color, var(--bgl-primary)) !important;
283
402
  }
284
403
 
285
404
  .bagel-input input[type='number']::-webkit-inner-spin-button,