@bagelink/vue 1.15.80 → 1.15.86

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 (54) hide show
  1. package/dist/components/Alert.vue.d.ts +6 -1
  2. package/dist/components/Alert.vue.d.ts.map +1 -1
  3. package/dist/components/Avatar.vue.d.ts +3 -1
  4. package/dist/components/Avatar.vue.d.ts.map +1 -1
  5. package/dist/components/Badge.vue.d.ts +4 -0
  6. package/dist/components/Badge.vue.d.ts.map +1 -1
  7. package/dist/components/Card.vue.d.ts +8 -0
  8. package/dist/components/Card.vue.d.ts.map +1 -1
  9. package/dist/components/EmptyState.vue.d.ts.map +1 -1
  10. package/dist/components/Image.vue.d.ts.map +1 -1
  11. package/dist/components/calendar/CalendarPopover.vue.d.ts +18 -0
  12. package/dist/components/calendar/CalendarPopover.vue.d.ts.map +1 -1
  13. package/dist/components/form/inputs/ArrayInput.vue.d.ts.map +1 -1
  14. package/dist/components/form/inputs/RangeInput.vue.d.ts.map +1 -1
  15. package/dist/components/form/inputs/RichText/index.vue.d.ts.map +1 -1
  16. package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
  17. package/dist/components/index.d.ts +2 -0
  18. package/dist/components/index.d.ts.map +1 -1
  19. package/dist/components/kanban/KanbanBoard.vue.d.ts +42 -0
  20. package/dist/components/kanban/KanbanBoard.vue.d.ts.map +1 -0
  21. package/dist/components/kanban/kanbanTypes.d.ts +64 -0
  22. package/dist/components/kanban/kanbanTypes.d.ts.map +1 -0
  23. package/dist/composables/useGradientVariant.d.ts.map +1 -1
  24. package/dist/index.cjs +165 -138
  25. package/dist/index.mjs +35455 -41290
  26. package/dist/style.css +1 -2
  27. package/package.json +1 -1
  28. package/src/components/Alert.vue +40 -9
  29. package/src/components/Avatar.vue +8 -5
  30. package/src/components/Badge.vue +30 -0
  31. package/src/components/Card.vue +22 -2
  32. package/src/components/Dropdown.vue +1 -1
  33. package/src/components/EmptyState.vue +5 -1
  34. package/src/components/Image.vue +18 -4
  35. package/src/components/form/inputs/ArrayInput.vue +2 -2
  36. package/src/components/form/inputs/RangeInput.vue +0 -2
  37. package/src/components/form/inputs/RichText/components/TableGridSelector.vue +1 -1
  38. package/src/components/form/inputs/RichText/editor.css +14 -8
  39. package/src/components/form/inputs/RichText/index.vue +1 -1
  40. package/src/components/form/inputs/TextInput.vue +6 -2
  41. package/src/components/form/inputs/Upload/upload.css +7 -1
  42. package/src/components/index.ts +2 -0
  43. package/src/components/kanban/KanbanBoard.vue +231 -0
  44. package/src/components/kanban/kanbanTypes.ts +72 -0
  45. package/src/composables/useGradientVariant.ts +20 -3
  46. package/src/styles/appearance.css +108 -0
  47. package/src/styles/base-colors.css +830 -1
  48. package/src/styles/buttons.css +44 -2
  49. package/src/styles/color-variants.css +13 -0
  50. package/src/styles/colors.css +1115 -1
  51. package/src/styles/mobileColors.css +1156 -0
  52. package/src/styles/motion.css +107 -19
  53. package/src/styles/theme.css +84 -1
  54. package/vite.config.ts +2 -2
@@ -11,7 +11,8 @@
11
11
  :root {
12
12
  --bgl-reveal-distance: 24px;
13
13
  --bgl-reveal-duration: 0.6s;
14
- --bgl-reveal-ease: cubic-bezier(0.16, 1, 0.3, 1); /* gentle "out-expo" */
14
+ --bgl-reveal-ease: cubic-bezier(0.16, 1, 0.3, 1);
15
+ /* gentle "out-expo" */
15
16
  }
16
17
 
17
18
  /* Hidden initial state — set by v-reveal on mount. We animate the entrance with
@@ -28,9 +29,19 @@
28
29
  will-change: opacity, transform;
29
30
  }
30
31
 
31
- .bgl-reveal[data-reveal-dir="down"] { --bgl-reveal-y: calc(-1 * var(--bgl-reveal-distance)); }
32
- .bgl-reveal[data-reveal-dir="left"] { --bgl-reveal-x: var(--bgl-reveal-distance); --bgl-reveal-y: 0px; }
33
- .bgl-reveal[data-reveal-dir="right"] { --bgl-reveal-x: calc(-1 * var(--bgl-reveal-distance)); --bgl-reveal-y: 0px; }
32
+ .bgl-reveal[data-reveal-dir="down"] {
33
+ --bgl-reveal-y: calc(-1 * var(--bgl-reveal-distance));
34
+ }
35
+
36
+ .bgl-reveal[data-reveal-dir="left"] {
37
+ --bgl-reveal-x: var(--bgl-reveal-distance);
38
+ --bgl-reveal-y: 0px;
39
+ }
40
+
41
+ .bgl-reveal[data-reveal-dir="right"] {
42
+ --bgl-reveal-x: calc(-1 * var(--bgl-reveal-distance));
43
+ --bgl-reveal-y: 0px;
44
+ }
34
45
 
35
46
  /* Revealed: run a fade+move keyframe, then settle at the resting state (the
36
47
  declared opacity/transform below) so a `transition` utility like .hover-lift
@@ -44,36 +55,113 @@
44
55
  }
45
56
 
46
57
  @keyframes bgl-reveal-enter {
47
- from { opacity: 0; transform: translate3d(var(--bgl-reveal-x), var(--bgl-reveal-y), 0); }
48
- to { opacity: 1; transform: none; }
58
+ from {
59
+ opacity: 0;
60
+ transform: translate3d(var(--bgl-reveal-x), var(--bgl-reveal-y), 0);
61
+ }
62
+
63
+ to {
64
+ opacity: 1;
65
+ transform: none;
66
+ }
49
67
  }
50
68
 
51
69
  /* ---- Hover lift: standardize the "card floats up on hover" pattern. -------- */
52
70
  .hover-lift {
53
- transition: transform 0.2s var(--bgl-reveal-ease), box-shadow 0.2s var(--bgl-reveal-ease);
71
+ transition: transform 0.4s var(--bgl-reveal-ease), box-shadow 0.2s var(--bgl-reveal-ease), filter 0.2s var(--bgl-reveal-ease);
54
72
  }
73
+
55
74
  .hover-lift:hover {
56
75
  transform: translateY(-4px);
57
- box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.18);
76
+ box-shadow: 0 12px 28px -8px var(--bgl-shadow);
77
+ }
78
+
79
+ .hover-lift:active {
80
+ transform: translateY(-2px);
81
+ filter: var(--bgl-hover-filter);
58
82
  }
59
83
 
60
84
  /* Hover grow — for thumbnails/media inside an overflow-hidden frame. */
61
- .hover-grow { transition: transform 0.4s var(--bgl-reveal-ease); }
62
- .hover-grow:hover { transform: scale(1.04); }
85
+ .hover-grow {
86
+ transition: transform 0.4s var(--bgl-reveal-ease);
87
+ filter: var(--bgl-hover-filter);
88
+ }
89
+
90
+ .hover-grow:hover {
91
+ transform: scale(1.04);
92
+ }
93
+
94
+ .hover-grow:active {
95
+ transform: scale(1.02);
96
+ filter: var(--bgl-hover-filter);
97
+ }
63
98
 
64
99
  /* ---- One-shot entrance animations (no scroll trigger needed). ------------- */
65
- @keyframes bgl-fade-in { from { opacity: 0; } to { opacity: 1; } }
66
- @keyframes bgl-rise-in { from { opacity: 0; transform: translateY(var(--bgl-reveal-distance)); } to { opacity: 1; transform: none; } }
67
- @keyframes bgl-pop-in { 0% { opacity: 0; transform: scale(0.92); } 100% { opacity: 1; transform: scale(1); } }
68
- @keyframes bgl-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
100
+ @keyframes bgl-fade-in {
101
+ from {
102
+ opacity: 0;
103
+ }
69
104
 
70
- .animate-fade-in { animation: bgl-fade-in var(--bgl-reveal-duration) var(--bgl-reveal-ease) both; }
71
- .animate-rise-in { animation: bgl-rise-in var(--bgl-reveal-duration) var(--bgl-reveal-ease) both; }
72
- .animate-pop-in { animation: bgl-pop-in 0.4s var(--bgl-reveal-ease) both; }
73
- .animate-float { animation: bgl-float 4s ease-in-out infinite; }
105
+ to {
106
+ opacity: 1;
107
+ }
108
+ }
109
+
110
+ @keyframes bgl-rise-in {
111
+ from {
112
+ opacity: 0;
113
+ transform: translateY(var(--bgl-reveal-distance));
114
+ }
115
+
116
+ to {
117
+ opacity: 1;
118
+ transform: none;
119
+ }
120
+ }
121
+
122
+ @keyframes bgl-pop-in {
123
+ 0% {
124
+ opacity: 0;
125
+ transform: scale(0.92);
126
+ }
127
+
128
+ 100% {
129
+ opacity: 1;
130
+ transform: scale(1);
131
+ }
132
+ }
133
+
134
+ @keyframes bgl-float {
135
+
136
+ 0%,
137
+ 100% {
138
+ transform: translateY(0);
139
+ }
140
+
141
+ 50% {
142
+ transform: translateY(-8px);
143
+ }
144
+ }
145
+
146
+ .animate-fade-in {
147
+ animation: bgl-fade-in var(--bgl-reveal-duration) var(--bgl-reveal-ease) both;
148
+ }
149
+
150
+ .animate-rise-in {
151
+ animation: bgl-rise-in var(--bgl-reveal-duration) var(--bgl-reveal-ease) both;
152
+ }
153
+
154
+ .animate-pop-in {
155
+ animation: bgl-pop-in 0.4s var(--bgl-reveal-ease) both;
156
+ }
157
+
158
+ .animate-float {
159
+ animation: bgl-float 4s ease-in-out infinite;
160
+ }
74
161
 
75
162
  /* Respect user motion preferences — kill all of the above. */
76
163
  @media (prefers-reduced-motion: reduce) {
164
+
77
165
  .bgl-reveal,
78
166
  .bgl-reveal-in,
79
167
  .bgl-reveal[data-reveal-dir],
@@ -88,4 +176,4 @@
88
176
  animation: none !important;
89
177
  transition: none !important;
90
178
  }
91
- }
179
+ }
@@ -362,4 +362,87 @@
362
362
  background: var(--bgl-selection-bg);
363
363
  }
364
364
 
365
- /* App-level layout rules moved to app-layout.css (June 2026) */
365
+ /* App-level layout rules moved to app-layout.css (June 2026) */
366
+
367
+ /* New role colors: secondary / tertiary / quaternary */
368
+ /* New role colors — sensible blue-family defaults, override per project */
369
+ :root {
370
+ --bgl-secondary: #00d8c0; /* turquoise-leaning accent */
371
+ --bgl-tertiary: #8a4baf; /* purple-leaning accent */
372
+ --bgl-quaternary: #0091ff; /* sky-blue accent */
373
+ }
374
+
375
+ :root {
376
+ --bgl-secondary-light: color-mix(in oklab, white 92%, var(--bgl-secondary));
377
+ --bgl-tertiary-light: color-mix(in oklab, white 92%, var(--bgl-tertiary));
378
+ --bgl-quaternary-light: color-mix(in oklab, white 92%, var(--bgl-quaternary));
379
+ --bgl-secondary-tint: color-mix(in srgb, var(--bgl-secondary) 20%, transparent);
380
+ --bgl-tertiary-tint: color-mix(in srgb, var(--bgl-tertiary) 20%, transparent);
381
+ --bgl-quaternary-tint: color-mix(in srgb, var(--bgl-quaternary) 20%, transparent);
382
+ }
383
+
384
+ :root {
385
+ --bgl-secondary-10: color-mix(in oklab, white 90%, var(--bgl-secondary));
386
+ --bgl-tertiary-10: color-mix(in oklab, white 90%, var(--bgl-tertiary));
387
+ --bgl-quaternary-10: color-mix(in oklab, white 90%, var(--bgl-quaternary));
388
+ }
389
+ :root {
390
+ --bgl-secondary-20: color-mix(in oklab, white 80%, var(--bgl-secondary));
391
+ --bgl-tertiary-20: color-mix(in oklab, white 80%, var(--bgl-tertiary));
392
+ --bgl-quaternary-20: color-mix(in oklab, white 80%, var(--bgl-quaternary));
393
+ }
394
+ :root {
395
+ --bgl-secondary-30: color-mix(in oklab, white 70%, var(--bgl-secondary));
396
+ --bgl-tertiary-30: color-mix(in oklab, white 70%, var(--bgl-tertiary));
397
+ --bgl-quaternary-30: color-mix(in oklab, white 70%, var(--bgl-quaternary));
398
+ }
399
+ :root {
400
+ --bgl-secondary-40: color-mix(in oklab, white 60%, var(--bgl-secondary));
401
+ --bgl-tertiary-40: color-mix(in oklab, white 60%, var(--bgl-tertiary));
402
+ --bgl-quaternary-40: color-mix(in oklab, white 60%, var(--bgl-quaternary));
403
+ }
404
+ :root {
405
+ --bgl-secondary-50: color-mix(in oklab, white 50%, var(--bgl-secondary));
406
+ --bgl-tertiary-50: color-mix(in oklab, white 50%, var(--bgl-tertiary));
407
+ --bgl-quaternary-50: color-mix(in oklab, white 50%, var(--bgl-quaternary));
408
+ }
409
+ :root {
410
+ --bgl-secondary-60: color-mix(in oklab, white 40%, var(--bgl-secondary));
411
+ --bgl-tertiary-60: color-mix(in oklab, white 40%, var(--bgl-tertiary));
412
+ --bgl-quaternary-60: color-mix(in oklab, white 40%, var(--bgl-quaternary));
413
+ }
414
+ :root {
415
+ --bgl-secondary-70: color-mix(in oklab, white 30%, var(--bgl-secondary));
416
+ --bgl-tertiary-70: color-mix(in oklab, white 30%, var(--bgl-tertiary));
417
+ --bgl-quaternary-70: color-mix(in oklab, white 30%, var(--bgl-quaternary));
418
+ }
419
+ :root {
420
+ --bgl-secondary-80: color-mix(in oklab, white 20%, var(--bgl-secondary));
421
+ --bgl-tertiary-80: color-mix(in oklab, white 20%, var(--bgl-tertiary));
422
+ --bgl-quaternary-80: color-mix(in oklab, white 20%, var(--bgl-quaternary));
423
+ }
424
+ :root {
425
+ --bgl-secondary-90: color-mix(in oklab, white 10%, var(--bgl-secondary));
426
+ --bgl-tertiary-90: color-mix(in oklab, white 10%, var(--bgl-tertiary));
427
+ --bgl-quaternary-90: color-mix(in oklab, white 10%, var(--bgl-quaternary));
428
+ }
429
+ :root {
430
+ --bgl-secondary-100: var(--bgl-secondary);
431
+ --bgl-tertiary-100: var(--bgl-tertiary);
432
+ --bgl-quaternary-100: var(--bgl-quaternary);
433
+ }
434
+ :root {
435
+ --bgl-secondary-110: color-mix(in oklab, black 10%, var(--bgl-secondary));
436
+ --bgl-tertiary-110: color-mix(in oklab, black 10%, var(--bgl-tertiary));
437
+ --bgl-quaternary-110: color-mix(in oklab, black 10%, var(--bgl-quaternary));
438
+ }
439
+ :root {
440
+ --bgl-secondary-120: color-mix(in oklab, black 20%, var(--bgl-secondary));
441
+ --bgl-tertiary-120: color-mix(in oklab, black 20%, var(--bgl-tertiary));
442
+ --bgl-quaternary-120: color-mix(in oklab, black 20%, var(--bgl-quaternary));
443
+ }
444
+ :root {
445
+ --bgl-secondary-130: color-mix(in oklab, black 30%, var(--bgl-secondary));
446
+ --bgl-tertiary-130: color-mix(in oklab, black 30%, var(--bgl-tertiary));
447
+ --bgl-quaternary-130: color-mix(in oklab, black 30%, var(--bgl-quaternary));
448
+ }
package/vite.config.ts CHANGED
@@ -7,7 +7,7 @@ import tsconfigPaths from 'vite-tsconfig-paths'
7
7
 
8
8
  const indexDir = resolve(import.meta.dirname, 'src')
9
9
 
10
- export default defineConfig(() => ({
10
+ export default defineConfig({
11
11
  plugins: [
12
12
  tsconfigPaths({ root: indexDir, }),
13
13
  vue(),
@@ -49,4 +49,4 @@ export default defineConfig(() => ({
49
49
  },
50
50
  emptyOutDir: true, // types are emitted by vite-plugin-dts in this same build; stale files must not survive
51
51
  },
52
- }))
52
+ })