@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.
- package/dist/components/Alert.vue.d.ts +6 -1
- package/dist/components/Alert.vue.d.ts.map +1 -1
- package/dist/components/Avatar.vue.d.ts +3 -1
- package/dist/components/Avatar.vue.d.ts.map +1 -1
- package/dist/components/Badge.vue.d.ts +4 -0
- package/dist/components/Badge.vue.d.ts.map +1 -1
- package/dist/components/Card.vue.d.ts +8 -0
- package/dist/components/Card.vue.d.ts.map +1 -1
- package/dist/components/EmptyState.vue.d.ts.map +1 -1
- package/dist/components/Image.vue.d.ts.map +1 -1
- package/dist/components/calendar/CalendarPopover.vue.d.ts +18 -0
- package/dist/components/calendar/CalendarPopover.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/ArrayInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RangeInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText/index.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/TextInput.vue.d.ts.map +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/kanban/KanbanBoard.vue.d.ts +42 -0
- package/dist/components/kanban/KanbanBoard.vue.d.ts.map +1 -0
- package/dist/components/kanban/kanbanTypes.d.ts +64 -0
- package/dist/components/kanban/kanbanTypes.d.ts.map +1 -0
- package/dist/composables/useGradientVariant.d.ts.map +1 -1
- package/dist/index.cjs +165 -138
- package/dist/index.mjs +35455 -41290
- package/dist/style.css +1 -2
- package/package.json +1 -1
- package/src/components/Alert.vue +40 -9
- package/src/components/Avatar.vue +8 -5
- package/src/components/Badge.vue +30 -0
- package/src/components/Card.vue +22 -2
- package/src/components/Dropdown.vue +1 -1
- package/src/components/EmptyState.vue +5 -1
- package/src/components/Image.vue +18 -4
- package/src/components/form/inputs/ArrayInput.vue +2 -2
- package/src/components/form/inputs/RangeInput.vue +0 -2
- package/src/components/form/inputs/RichText/components/TableGridSelector.vue +1 -1
- package/src/components/form/inputs/RichText/editor.css +14 -8
- package/src/components/form/inputs/RichText/index.vue +1 -1
- package/src/components/form/inputs/TextInput.vue +6 -2
- package/src/components/form/inputs/Upload/upload.css +7 -1
- package/src/components/index.ts +2 -0
- package/src/components/kanban/KanbanBoard.vue +231 -0
- package/src/components/kanban/kanbanTypes.ts +72 -0
- package/src/composables/useGradientVariant.ts +20 -3
- package/src/styles/appearance.css +108 -0
- package/src/styles/base-colors.css +830 -1
- package/src/styles/buttons.css +44 -2
- package/src/styles/color-variants.css +13 -0
- package/src/styles/colors.css +1115 -1
- package/src/styles/mobileColors.css +1156 -0
- package/src/styles/motion.css +107 -19
- package/src/styles/theme.css +84 -1
- package/vite.config.ts +2 -2
package/src/styles/motion.css
CHANGED
|
@@ -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);
|
|
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"]
|
|
32
|
-
|
|
33
|
-
|
|
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 {
|
|
48
|
-
|
|
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.
|
|
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
|
|
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 {
|
|
62
|
-
|
|
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 {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
100
|
+
@keyframes bgl-fade-in {
|
|
101
|
+
from {
|
|
102
|
+
opacity: 0;
|
|
103
|
+
}
|
|
69
104
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
+
}
|
package/src/styles/theme.css
CHANGED
|
@@ -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
|
+
})
|