@bagelink/vue 1.4.81 → 1.4.85

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.
@@ -21,17 +21,52 @@ export type Tab = {
21
21
  icon?: IconType
22
22
  } | string
23
23
 
24
- export type ThemeType = |
25
- 'light'
26
- | 'white'
27
- | 'red'
28
- | 'gray'
29
- | 'gray-light'
30
- | 'black'
31
- | 'green'
32
- | 'yellow'
33
- | 'primary'
34
- | 'blue' // ! blue does nothing
24
+ export type ThemeType =
25
+ | 'blue' | 'green' | 'red' | 'yellow' | 'purple' | 'brown' | 'orange' | 'turquoise' | 'gray' | 'black' | 'pink'
26
+ | 'primary' | 'white'
27
+ | 'blue-light' | 'green-light' | 'red-light' | 'yellow-light' | 'purple-light' | 'brown-light'
28
+ | 'orange-light' | 'turquoise-light' | 'pink-light' | 'gray-light' | 'primary-light'
29
+ | 'blue-tint' | 'red-tint' | 'primary-tint' | 'black-tint' | 'blue-dark'
30
+ | 'light'
31
+
32
+ // Extended theme type with all percentage variations
33
+ export type ExtendedThemeType =
34
+ // Base colors
35
+ | 'blue' | 'green' | 'red' | 'yellow' | 'purple' | 'brown' | 'orange' | 'turquoise' | 'gray' | 'black' | 'pink'
36
+ | 'primary' | 'white'
37
+ // Legacy light variants
38
+ | 'blue-light' | 'green-light' | 'red-light' | 'yellow-light' | 'purple-light' | 'brown-light'
39
+ | 'orange-light' | 'turquoise-light' | 'pink-light' | 'gray-light' | 'primary-light'
40
+ // Legacy tint variants
41
+ | 'blue-tint' | 'red-tint' | 'primary-tint' | 'black-tint' | 'blue-dark' | 'light'
42
+ // 10% variants (lightest)
43
+ | 'blue-10' | 'green-10' | 'red-10' | 'yellow-10' | 'purple-10' | 'brown-10' | 'orange-10' | 'turquoise-10' | 'gray-10' | 'black-10' | 'pink-10'
44
+ // 20% variants
45
+ | 'blue-20' | 'green-20' | 'red-20' | 'yellow-20' | 'purple-20' | 'brown-20' | 'orange-20' | 'turquoise-20' | 'gray-20' | 'black-20' | 'pink-20'
46
+ // 30% variants
47
+ | 'blue-30' | 'green-30' | 'red-30' | 'yellow-30' | 'purple-30' | 'brown-30' | 'orange-30' | 'turquoise-30' | 'gray-30' | 'black-30' | 'pink-30'
48
+ // 40% variants
49
+ | 'blue-40' | 'green-40' | 'red-40' | 'yellow-40' | 'purple-40' | 'brown-40' | 'orange-40' | 'turquoise-40' | 'gray-40' | 'black-40' | 'pink-40'
50
+ // 50% variants
51
+ | 'blue-50' | 'green-50' | 'red-50' | 'yellow-50' | 'purple-50' | 'brown-50' | 'orange-50' | 'turquoise-50' | 'gray-50' | 'black-50' | 'pink-50'
52
+ // 60% variants
53
+ | 'blue-60' | 'green-60' | 'red-60' | 'yellow-60' | 'purple-60' | 'brown-60' | 'orange-60' | 'turquoise-60' | 'gray-60' | 'black-60' | 'pink-60'
54
+ // 70% variants
55
+ | 'blue-70' | 'green-70' | 'red-70' | 'yellow-70' | 'purple-70' | 'brown-70' | 'orange-70' | 'turquoise-70' | 'gray-70' | 'black-70' | 'pink-70'
56
+ // 80% variants
57
+ | 'blue-80' | 'green-80' | 'red-80' | 'yellow-80' | 'purple-80' | 'brown-80' | 'orange-80' | 'turquoise-80' | 'gray-80' | 'black-80' | 'pink-80'
58
+ // 90% variants
59
+ | 'blue-90' | 'green-90' | 'red-90' | 'yellow-90' | 'purple-90' | 'brown-90' | 'orange-90' | 'turquoise-90' | 'gray-90' | 'black-90' | 'pink-90'
60
+ // 100% variants (same as base)
61
+ | 'blue-100' | 'green-100' | 'red-100' | 'yellow-100' | 'purple-100' | 'brown-100' | 'orange-100' | 'turquoise-100' | 'gray-100' | 'black-100' | 'pink-100'
62
+ // 110% variants (darker)
63
+ | 'blue-110' | 'green-110' | 'red-110' | 'yellow-110' | 'purple-110' | 'brown-110' | 'orange-110' | 'turquoise-110' | 'gray-110' | 'black-110' | 'pink-110'
64
+ // 120% variants
65
+ | 'blue-120' | 'green-120' | 'red-120' | 'yellow-120' | 'purple-120' | 'brown-120' | 'orange-120' | 'turquoise-120' | 'gray-120' | 'black-120' | 'pink-120'
66
+ // 130% variants (darkest)
67
+ | 'blue-130' | 'green-130' | 'red-130' | 'yellow-130' | 'purple-130' | 'brown-130' | 'orange-130' | 'turquoise-130' | 'gray-130' | 'black-130' | 'pink-130'
68
+ // Status colors
69
+ | 'Error' | 'Paid' | 'Active'
35
70
 
36
71
  export type Option =
37
72
  | string
@@ -5,24 +5,22 @@ export type PathsOptions = Record<string, any>
5
5
 
6
6
  export interface BaseElementField<
7
7
  T,
8
- P extends Path<T, PO>,
9
8
  PO extends PathsOptions = DefaultPathsOptions
10
- > extends Partial<BaseBagelField<T, P, PO>> {
9
+ > extends Partial<BaseBagelField<T, any, PO>> {
11
10
  $el: string
12
- id?: P
11
+ id?: any
13
12
  class?: string
14
13
  vIf?: boolean | (() => boolean)
15
14
  style?: Record<string, any>
16
15
  attrs?: Record<string, any>
17
16
  onClick?: () => void
18
- children?: BaseElementField<T, any>[]
17
+ children?: BaseElementField<T, PO>[]
19
18
  }
20
19
 
21
20
  export interface BtnElementOptions<
22
21
  T = any,
23
- P extends Path<T, PO> = any,
24
22
  PO extends PathsOptions = DefaultPathsOptions
25
- > extends Partial<BaseElementField<T, P, PO>> {
23
+ > extends Partial<BaseElementField<T, PO>> {
26
24
  text?: string
27
25
  variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger'
28
26
  size?: 'sm' | 'md' | 'lg'
@@ -36,9 +34,8 @@ export interface BtnElementOptions<
36
34
 
37
35
  export interface TxtElementOptions<
38
36
  T = any,
39
- P extends Path<T, PO> = any,
40
37
  PO extends PathsOptions = DefaultPathsOptions
41
- > extends Partial<BaseElementField<T, P, PO>> {
38
+ > extends Partial<BaseElementField<T, PO>> {
42
39
  text?: string
43
40
  tag?: 'p' | 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'div'
44
41
  size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'
@@ -49,9 +46,8 @@ export interface TxtElementOptions<
49
46
 
50
47
  export interface ImgElementOptions<
51
48
  T = any,
52
- P extends Path<T, PO> = any,
53
49
  PO extends PathsOptions = DefaultPathsOptions
54
- > extends Partial<BaseElementField<T, P, PO>> {
50
+ > extends Partial<BaseElementField<T, PO>> {
55
51
  src?: string
56
52
  alt?: string
57
53
  width?: number | string
@@ -64,9 +60,8 @@ export interface ImgElementOptions<
64
60
 
65
61
  export interface DropdownElementOptions<
66
62
  T = any,
67
- P extends Path<T, PO> = any,
68
63
  PO extends PathsOptions = DefaultPathsOptions
69
- > extends Partial<BaseElementField<T, P, PO>> {
64
+ > extends Partial<BaseElementField<T, PO>> {
70
65
  options?: Option[] | (() => Option[])
71
66
  placeholder?: string
72
67
  searchable?: boolean
@@ -78,9 +73,8 @@ export interface DropdownElementOptions<
78
73
 
79
74
  export interface ListItemElementOptions<
80
75
  T = any,
81
- P extends Path<T, PO> = any,
82
76
  PO extends PathsOptions = DefaultPathsOptions
83
- > extends Partial<BaseElementField<T, P, PO>> {
77
+ > extends Partial<BaseElementField<T, PO>> {
84
78
  title?: string
85
79
  subtitle?: string
86
80
  icon?: IconType
@@ -94,24 +88,23 @@ export interface ListItemElementOptions<
94
88
  // Magical button overloads with schema support
95
89
  export function btn<
96
90
  T = any,
97
- P extends Path<T, PO> = any,
98
91
  PO extends PathsOptions = DefaultPathsOptions
99
- >(options: BtnElementOptions<T, P, PO>): BaseElementField<T, P, PO>
92
+ >(options: BtnElementOptions<T, PO>): BaseElementField<T, PO>
100
93
  export function btn<
101
94
  T = any,
102
95
  P extends Path<T, PO> = any,
103
96
  PO extends PathsOptions = DefaultPathsOptions
104
- >(id: P): BaseElementField<T, P, PO>
97
+ >(id: P): BaseElementField<T, PO>
105
98
  export function btn<
106
99
  T = any,
107
100
  P extends Path<T, PO> = any,
108
101
  PO extends PathsOptions = DefaultPathsOptions
109
- >(id: P, text: string): BaseElementField<T, P, PO>
102
+ >(id: P, text: string): BaseElementField<T, PO>
110
103
  export function btn<
111
104
  T = any,
112
105
  P extends Path<T, PO> = any,
113
106
  PO extends PathsOptions = DefaultPathsOptions
114
- >(id: P, icon: IconType): BaseElementField<T, P, PO>
107
+ >(id: P, icon: IconType): BaseElementField<T, PO>
115
108
  export function btn<
116
109
  T = any,
117
110
  P extends Path<T, PO> = any,
@@ -119,8 +112,8 @@ export function btn<
119
112
  >(
120
113
  id: P,
121
114
  text: string,
122
- options: BtnElementOptions<T, P, PO>
123
- ): BaseElementField<T, P, PO>
115
+ options: BtnElementOptions<T, PO>
116
+ ): BaseElementField<T, PO>
124
117
  export function btn<
125
118
  T = any,
126
119
  P extends Path<T, PO> = any,
@@ -128,8 +121,8 @@ export function btn<
128
121
  >(
129
122
  id: P,
130
123
  icon: IconType,
131
- options: BtnElementOptions<T, P, PO>
132
- ): BaseElementField<T, P, PO>
124
+ options: BtnElementOptions<T, PO>
125
+ ): BaseElementField<T, PO>
133
126
  export function btn<
134
127
  T = any,
135
128
  P extends Path<T, PO> = any,
@@ -137,22 +130,22 @@ export function btn<
137
130
  >(
138
131
  id: P,
139
132
  textOrIcon: string | IconType,
140
- options: BtnElementOptions<T, P, PO>
141
- ): BaseElementField<T, P, PO>
133
+ options: BtnElementOptions<T, PO>
134
+ ): BaseElementField<T, PO>
142
135
  export function btn<
143
136
  T = any,
144
137
  P extends Path<T, PO> = any,
145
138
  PO extends PathsOptions = DefaultPathsOptions
146
139
  >(
147
- idOrOptions?: P | BtnElementOptions<T, P, PO>,
140
+ idOrOptions?: P | BtnElementOptions<T, PO>,
148
141
  textOrIcon?: string | IconType,
149
- options?: BtnElementOptions<T, P, PO>,
150
- ): BaseElementField<T, P, PO> {
142
+ options?: BtnElementOptions<T, PO>,
143
+ ): BaseElementField<T, PO> {
151
144
  // Handle different overload patterns
152
- let id: P | undefined
145
+ let id: Path<T, PO> | undefined
153
146
  let text: string = ''
154
147
  let icon: IconType | undefined
155
- let finalOptions: BtnElementOptions<T, P, PO> = {}
148
+ let finalOptions: BtnElementOptions<T, PO> = {}
156
149
 
157
150
  if (typeof idOrOptions === 'object' && idOrOptions !== null) {
158
151
  // btn(options)
@@ -212,13 +205,12 @@ export function btn<
212
205
 
213
206
  export function getBaseElementField<
214
207
  T = any,
215
- P extends Path<T, PO> = any,
216
208
  PO extends PathsOptions = DefaultPathsOptions
217
209
  >(
218
210
  elementType: string,
219
- id?: P,
220
- options: Partial<BaseElementField<T, P, PO>> = {}
221
- ): BaseElementField<T, P, PO> {
211
+ id?: Path<T, PO>,
212
+ options: Partial<BaseElementField<T, PO>> = {}
213
+ ): BaseElementField<T, PO> {
222
214
  return {
223
215
  $el: elementType,
224
216
  id,
@@ -238,30 +230,29 @@ export function iconBtn<
238
230
  >(
239
231
  id?: P,
240
232
  icon?: IconType,
241
- options?: BtnElementOptions<T, P, PO>,
242
- ): BaseElementField<T, P, PO> {
233
+ options?: BtnElementOptions<T, PO>,
234
+ ): BaseElementField<T, PO> {
243
235
  if (icon != null && id != null) {
244
236
  return btn(id, icon, options || {})
245
237
  }
246
- return btn({ id, icon, ...options } as BtnElementOptions<T, P, PO>)
238
+ return btn({ id, icon, ...options } as BtnElementOptions<T, PO>)
247
239
  }
248
240
 
249
241
  // Magical text overloads with schema support
250
242
  export function txt<
251
243
  T = any,
252
- P extends Path<T, PO> = any,
253
244
  PO extends PathsOptions = DefaultPathsOptions
254
- >(options: TxtElementOptions<T, P, PO>): BaseElementField<T, P, PO>
245
+ >(options: TxtElementOptions<T, PO>): BaseElementField<T, PO>
255
246
  export function txt<
256
247
  T = any,
257
248
  P extends Path<T, PO> = any,
258
249
  PO extends PathsOptions = DefaultPathsOptions
259
- >(id: P): BaseElementField<T, P, PO>
250
+ >(id: P): BaseElementField<T, PO>
260
251
  export function txt<
261
252
  T = any,
262
253
  P extends Path<T, PO> = any,
263
254
  PO extends PathsOptions = DefaultPathsOptions
264
- >(id: P, text: string): BaseElementField<T, P, PO>
255
+ >(id: P, text: string): BaseElementField<T, PO>
265
256
  export function txt<
266
257
  T = any,
267
258
  P extends Path<T, PO> = any,
@@ -270,24 +261,24 @@ export function txt<
270
261
  id: P,
271
262
  text: string,
272
263
  tag: 'p' | 'span' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'div'
273
- ): BaseElementField<T, P, PO>
264
+ ): BaseElementField<T, PO>
274
265
  export function txt<
275
266
  T = any,
276
267
  P extends Path<T, PO> = any,
277
268
  PO extends PathsOptions = DefaultPathsOptions
278
- >(id: P, text: string, options: TxtElementOptions<T, P, PO>): BaseElementField<T, P, PO>
269
+ >(id: P, text: string, options: TxtElementOptions<T, PO>): BaseElementField<T, PO>
279
270
  export function txt<
280
271
  T = any,
281
272
  P extends Path<T, PO> = any,
282
273
  PO extends PathsOptions = DefaultPathsOptions
283
274
  >(
284
- idOrOptions?: P | TxtElementOptions<T, P, PO>,
275
+ idOrOptions?: P | TxtElementOptions<T, PO>,
285
276
  text?: string,
286
- tagOrOptions?: string | TxtElementOptions<T, P, PO>,
287
- ): BaseElementField<T, P, PO> {
277
+ tagOrOptions?: string | TxtElementOptions<T, PO>,
278
+ ): BaseElementField<T, PO> {
288
279
  // Handle different overload patterns
289
- let id: P | undefined
290
- let finalOptions: TxtElementOptions<T, P, PO> = {}
280
+ let id: Path<T, PO> | undefined
281
+ let finalOptions: TxtElementOptions<T, PO> = {}
291
282
 
292
283
  if (typeof idOrOptions === 'object' && idOrOptions !== null) {
293
284
  // txt(options)
@@ -329,42 +320,41 @@ export function txt<
329
320
  // Magical image overloads with schema support
330
321
  export function img<
331
322
  T = any,
332
- P extends Path<T, PO> = any,
333
323
  PO extends PathsOptions = DefaultPathsOptions
334
- >(options: ImgElementOptions<T, P, PO>): BaseElementField<T, P, PO>
324
+ >(options: ImgElementOptions<T, PO>): BaseElementField<T, PO>
335
325
  export function img<
336
326
  T = any,
337
327
  P extends Path<T, PO> = any,
338
328
  PO extends PathsOptions = DefaultPathsOptions
339
- >(id: P): BaseElementField<T, P, PO>
329
+ >(id: P): BaseElementField<T, PO>
340
330
  export function img<
341
331
  T = any,
342
332
  P extends Path<T, PO> = any,
343
333
  PO extends PathsOptions = DefaultPathsOptions
344
- >(id: P, src: string): BaseElementField<T, P, PO>
334
+ >(id: P, src: string): BaseElementField<T, PO>
345
335
  export function img<
346
336
  T = any,
347
337
  P extends Path<T, PO> = any,
348
338
  PO extends PathsOptions = DefaultPathsOptions
349
- >(id: P, src: string, alt: string): BaseElementField<T, P, PO>
339
+ >(id: P, src: string, alt: string): BaseElementField<T, PO>
350
340
  export function img<
351
341
  T = any,
352
342
  P extends Path<T, PO> = any,
353
343
  PO extends PathsOptions = DefaultPathsOptions
354
- >(id: P, src: string, options: ImgElementOptions<T, P, PO>): BaseElementField<T, P, PO>
344
+ >(id: P, src: string, options: ImgElementOptions<T, PO>): BaseElementField<T, PO>
355
345
  export function img<
356
346
  T = any,
357
347
  P extends Path<T, PO> = any,
358
348
  PO extends PathsOptions = DefaultPathsOptions
359
349
  >(
360
- idOrOptions?: P | ImgElementOptions<T, P, PO>,
350
+ idOrOptions?: P | ImgElementOptions<T, PO>,
361
351
  src?: string,
362
- altOrOptions?: string | ImgElementOptions<T, P, PO>,
363
- ): BaseElementField<T, P, PO> {
352
+ altOrOptions?: string | ImgElementOptions<T, PO>,
353
+ ): BaseElementField<T, PO> {
364
354
  // Handle different overload patterns
365
- let id: P | undefined
355
+ let id: Path<T, PO> | undefined
366
356
  let finalSrc: string = ''
367
- let finalOptions: ImgElementOptions<T, P, PO> = {}
357
+ let finalOptions: ImgElementOptions<T, PO> = {}
368
358
 
369
359
  if (typeof idOrOptions === 'object' && idOrOptions !== null) {
370
360
  // img(options)
@@ -409,13 +399,12 @@ export function img<
409
399
  // Dropdown element function following BagelForm pattern
410
400
  export function dropdownElement<
411
401
  T = any,
412
- P extends Path<T, PO> = any,
413
402
  PO extends PathsOptions = DefaultPathsOptions
414
403
  >(
415
- id?: P,
404
+ id?: Path<T, PO>,
416
405
  options?: Option[] | (() => Option[]),
417
- config?: DropdownElementOptions<T, P, PO>,
418
- ): BaseElementField<T, P, PO> {
406
+ config?: DropdownElementOptions<T, PO>,
407
+ ): BaseElementField<T, PO> {
419
408
  return {
420
409
  $el: 'dropdown',
421
410
  id,
@@ -437,13 +426,12 @@ export function dropdownElement<
437
426
  // ListItem element function following BagelForm pattern
438
427
  export function listItemElement<
439
428
  T = any,
440
- P extends Path<T, PO> = any,
441
429
  PO extends PathsOptions = DefaultPathsOptions
442
430
  >(
443
- id?: P,
431
+ id?: Path<T, PO>,
444
432
  title?: string,
445
- options?: ListItemElementOptions<T, P, PO>,
446
- ): BaseElementField<T, P, PO> {
433
+ options?: ListItemElementOptions<T, PO>,
434
+ ): BaseElementField<T, PO> {
447
435
  return {
448
436
  $el: 'listItem',
449
437
  id,
@@ -467,13 +455,12 @@ export function listItemElement<
467
455
  // Container element function following BagelForm pattern
468
456
  export function containerElement<
469
457
  T = any,
470
- P extends Path<T, PO> = any,
471
458
  PO extends PathsOptions = DefaultPathsOptions
472
459
  >(
473
- id?: P,
460
+ id?: Path<T, PO>,
474
461
  children?: BaseElementField<T, any>[],
475
- options?: Partial<BaseElementField<T, P, PO>>,
476
- ): BaseElementField<T, P, PO> {
462
+ options?: Partial<BaseElementField<T, PO>>,
463
+ ): BaseElementField<T, PO> {
477
464
  return {
478
465
  $el: 'div',
479
466
  id,
@@ -501,9 +488,9 @@ export function findElementById<T>(
501
488
 
502
489
  export function column<T = any, P extends Path<T, PO> = any, PO extends PathsOptions = DefaultPathsOptions>(
503
490
  id?: P,
504
- labelOrOptions?: string | Partial<BaseElementField<T, P, PO>>,
505
- options?: Partial<BaseElementField<T, P, PO>>,
506
- ): BaseElementField<T, P, PO> {
491
+ labelOrOptions?: string | Partial<BaseElementField<T, PO>>,
492
+ options?: Partial<BaseElementField<T, PO>>,
493
+ ): BaseElementField<T, PO> {
507
494
  let label: string | undefined
508
495
  if (typeof labelOrOptions === 'string') {
509
496
  label = labelOrOptions