@epicbagel/saas-kit 1.0.0 → 1.1.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.
- package/README.md +38 -1
- package/THIRD_PARTY_NOTICES.md +13 -7
- package/dist/chunk-2AU7ZRGX.cjs +96 -0
- package/dist/chunk-2BTDBZYN.cjs +154 -0
- package/dist/chunk-2HV2KKOE.cjs +38 -0
- package/dist/chunk-2KFZQJH5.cjs +29 -0
- package/dist/chunk-32Q4XOTU.cjs +204 -0
- package/dist/chunk-42RTTHND.js +29 -0
- package/dist/chunk-6FC65AZQ.js +38 -0
- package/dist/chunk-6V4XMQ6D.js +118 -0
- package/dist/chunk-B765DSRG.cjs +66 -0
- package/dist/chunk-ELPV44S6.cjs +44 -0
- package/dist/chunk-EOUO3ORO.cjs +244 -0
- package/dist/chunk-EZCKWTH7.js +204 -0
- package/dist/chunk-F366BHWH.js +116 -0
- package/dist/chunk-GFG2R5BZ.js +132 -0
- package/dist/chunk-HAC32ALJ.js +244 -0
- package/dist/chunk-I5UQSBBZ.cjs +118 -0
- package/dist/chunk-INNGGLMZ.js +44 -0
- package/dist/chunk-IW4ZIXXG.js +66 -0
- package/dist/chunk-JZOBIPFC.js +96 -0
- package/dist/chunk-KENBU3NV.cjs +27 -0
- package/dist/chunk-MHYAVXOE.js +159 -0
- package/dist/chunk-RIWLAMME.cjs +159 -0
- package/dist/chunk-SUB4BAYE.cjs +73 -0
- package/dist/chunk-THWIJG5C.js +73 -0
- package/dist/chunk-V4YWTRLD.cjs +116 -0
- package/dist/chunk-VY5U4VGV.js +27 -0
- package/dist/chunk-XABXUP6L.cjs +132 -0
- package/dist/chunk-Z45YKVAM.js +154 -0
- package/dist/primitives/action-dock.cjs +8 -0
- package/dist/primitives/action-dock.d.cts +10 -0
- package/dist/primitives/action-dock.d.ts +10 -0
- package/dist/primitives/action-dock.js +8 -0
- package/dist/primitives/alert.d.cts +1 -1
- package/dist/primitives/alert.d.ts +1 -1
- package/dist/primitives/attachment.cjs +25 -203
- package/dist/primitives/attachment.d.cts +1 -1
- package/dist/primitives/attachment.d.ts +1 -1
- package/dist/primitives/attachment.js +12 -190
- package/dist/primitives/badge.d.cts +1 -1
- package/dist/primitives/badge.d.ts +1 -1
- package/dist/primitives/board-view.cjs +3 -3
- package/dist/primitives/board-view.js +2 -2
- package/dist/primitives/bubble.cjs +14 -0
- package/dist/primitives/bubble.d.cts +21 -0
- package/dist/primitives/bubble.d.ts +21 -0
- package/dist/primitives/bubble.js +14 -0
- package/dist/primitives/button.d.cts +2 -2
- package/dist/primitives/button.d.ts +2 -2
- package/dist/primitives/chat.cjs +864 -0
- package/dist/primitives/chat.d.cts +326 -0
- package/dist/primitives/chat.d.ts +326 -0
- package/dist/primitives/chat.js +864 -0
- package/dist/primitives/connection.cjs +6 -6
- package/dist/primitives/connection.js +7 -7
- package/dist/primitives/file-dropzone.cjs +7 -113
- package/dist/primitives/file-dropzone.js +6 -112
- package/dist/primitives/input-group.cjs +21 -0
- package/dist/primitives/input-group.d.cts +20 -0
- package/dist/primitives/input-group.d.ts +20 -0
- package/dist/primitives/input-group.js +21 -0
- package/dist/primitives/item.cjs +197 -0
- package/dist/primitives/item.d.cts +28 -0
- package/dist/primitives/item.d.ts +28 -0
- package/dist/primitives/item.js +197 -0
- package/dist/primitives/lazy-markdown.cjs +10 -0
- package/dist/primitives/lazy-markdown.d.cts +20 -0
- package/dist/primitives/lazy-markdown.d.ts +20 -0
- package/dist/primitives/lazy-markdown.js +10 -0
- package/dist/primitives/markdown.cjs +17 -0
- package/dist/primitives/markdown.d.cts +32 -0
- package/dist/primitives/markdown.d.ts +32 -0
- package/dist/primitives/markdown.js +17 -0
- package/dist/primitives/marker.cjs +14 -0
- package/dist/primitives/marker.d.cts +15 -0
- package/dist/primitives/marker.d.ts +15 -0
- package/dist/primitives/marker.js +14 -0
- package/dist/primitives/message-scroller.cjs +26 -0
- package/dist/primitives/message-scroller.d.cts +16 -0
- package/dist/primitives/message-scroller.d.ts +16 -0
- package/dist/primitives/message-scroller.js +26 -0
- package/dist/primitives/message.cjs +7 -84
- package/dist/primitives/message.js +8 -85
- package/dist/primitives/resource-list.cjs +3 -3
- package/dist/primitives/resource-list.js +2 -2
- package/dist/primitives/rich-text.cjs +3 -38
- package/dist/primitives/rich-text.js +3 -38
- package/dist/primitives/section-header.d.cts +1 -1
- package/dist/primitives/section-header.d.ts +1 -1
- package/dist/primitives/spinner.cjs +23 -0
- package/dist/primitives/spinner.d.cts +6 -0
- package/dist/primitives/spinner.d.ts +6 -0
- package/dist/primitives/spinner.js +23 -0
- package/dist/primitives/suggestion.cjs +11 -0
- package/dist/primitives/suggestion.d.cts +19 -0
- package/dist/primitives/suggestion.d.ts +19 -0
- package/dist/primitives/suggestion.js +11 -0
- package/dist/primitives/switch-field.cjs +2 -2
- package/dist/primitives/switch-field.js +3 -3
- package/dist/primitives/textarea.cjs +4 -33
- package/dist/primitives/textarea.js +3 -32
- package/dist/primitives/toggle-group.d.cts +2 -2
- package/dist/primitives/toggle-group.d.ts +2 -2
- package/dist/primitives/toggle.d.cts +2 -2
- package/dist/primitives/toggle.d.ts +2 -2
- package/dist/primitives/trace.cjs +23 -0
- package/dist/primitives/trace.d.cts +22 -0
- package/dist/primitives/trace.d.ts +22 -0
- package/dist/primitives/trace.js +23 -0
- package/dist/primitives/voice-dictation-button.cjs +5 -239
- package/dist/primitives/voice-dictation-button.js +4 -238
- package/package.json +125 -2
- package/src/styles/components/bubble.css +81 -0
- package/src/styles/components/marker.css +27 -0
- package/src/styles/components/message-scroller.css +11 -0
- package/src/styles/components.css +3 -0
- package/src/styles/utilities.css +3 -2
- package/dist/{chunk-UGF2K6NR.js → chunk-HRLP4BHJ.js} +6 -6
- package/dist/{chunk-RWWOFWLP.cjs → chunk-IH3COANJ.cjs} +3 -3
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@epicbagel/saas-kit",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Accessible React primitives, layout components and design tokens for SaaS apps, built on Radix UI and Tailwind CSS v4.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"keywords": [
|
|
@@ -20,6 +20,16 @@
|
|
|
20
20
|
"access": "public"
|
|
21
21
|
},
|
|
22
22
|
"exports": {
|
|
23
|
+
"./primitives/action-dock": {
|
|
24
|
+
"import": {
|
|
25
|
+
"types": "./dist/primitives/action-dock.d.ts",
|
|
26
|
+
"default": "./dist/primitives/action-dock.js"
|
|
27
|
+
},
|
|
28
|
+
"require": {
|
|
29
|
+
"types": "./dist/primitives/action-dock.d.cts",
|
|
30
|
+
"default": "./dist/primitives/action-dock.cjs"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
23
33
|
"./primitives/activity-feed": {
|
|
24
34
|
"import": {
|
|
25
35
|
"types": "./dist/primitives/activity-feed.d.ts",
|
|
@@ -160,6 +170,16 @@
|
|
|
160
170
|
"default": "./dist/primitives/browser-preview.cjs"
|
|
161
171
|
}
|
|
162
172
|
},
|
|
173
|
+
"./primitives/bubble": {
|
|
174
|
+
"import": {
|
|
175
|
+
"types": "./dist/primitives/bubble.d.ts",
|
|
176
|
+
"default": "./dist/primitives/bubble.js"
|
|
177
|
+
},
|
|
178
|
+
"require": {
|
|
179
|
+
"types": "./dist/primitives/bubble.d.cts",
|
|
180
|
+
"default": "./dist/primitives/bubble.cjs"
|
|
181
|
+
}
|
|
182
|
+
},
|
|
163
183
|
"./primitives/button": {
|
|
164
184
|
"import": {
|
|
165
185
|
"types": "./dist/primitives/button.d.ts",
|
|
@@ -210,6 +230,16 @@
|
|
|
210
230
|
"default": "./dist/primitives/card.cjs"
|
|
211
231
|
}
|
|
212
232
|
},
|
|
233
|
+
"./primitives/chat": {
|
|
234
|
+
"import": {
|
|
235
|
+
"types": "./dist/primitives/chat.d.ts",
|
|
236
|
+
"default": "./dist/primitives/chat.js"
|
|
237
|
+
},
|
|
238
|
+
"require": {
|
|
239
|
+
"types": "./dist/primitives/chat.d.cts",
|
|
240
|
+
"default": "./dist/primitives/chat.cjs"
|
|
241
|
+
}
|
|
242
|
+
},
|
|
213
243
|
"./primitives/checkbox": {
|
|
214
244
|
"import": {
|
|
215
245
|
"types": "./dist/primitives/checkbox.d.ts",
|
|
@@ -540,6 +570,16 @@
|
|
|
540
570
|
"default": "./dist/primitives/inline-code.cjs"
|
|
541
571
|
}
|
|
542
572
|
},
|
|
573
|
+
"./primitives/input-group": {
|
|
574
|
+
"import": {
|
|
575
|
+
"types": "./dist/primitives/input-group.d.ts",
|
|
576
|
+
"default": "./dist/primitives/input-group.js"
|
|
577
|
+
},
|
|
578
|
+
"require": {
|
|
579
|
+
"types": "./dist/primitives/input-group.d.cts",
|
|
580
|
+
"default": "./dist/primitives/input-group.cjs"
|
|
581
|
+
}
|
|
582
|
+
},
|
|
543
583
|
"./primitives/input": {
|
|
544
584
|
"import": {
|
|
545
585
|
"types": "./dist/primitives/input.d.ts",
|
|
@@ -570,6 +610,16 @@
|
|
|
570
610
|
"default": "./dist/primitives/interactive-card.cjs"
|
|
571
611
|
}
|
|
572
612
|
},
|
|
613
|
+
"./primitives/item": {
|
|
614
|
+
"import": {
|
|
615
|
+
"types": "./dist/primitives/item.d.ts",
|
|
616
|
+
"default": "./dist/primitives/item.js"
|
|
617
|
+
},
|
|
618
|
+
"require": {
|
|
619
|
+
"types": "./dist/primitives/item.d.cts",
|
|
620
|
+
"default": "./dist/primitives/item.cjs"
|
|
621
|
+
}
|
|
622
|
+
},
|
|
573
623
|
"./primitives/label": {
|
|
574
624
|
"import": {
|
|
575
625
|
"types": "./dist/primitives/label.d.ts",
|
|
@@ -580,6 +630,16 @@
|
|
|
580
630
|
"default": "./dist/primitives/label.cjs"
|
|
581
631
|
}
|
|
582
632
|
},
|
|
633
|
+
"./primitives/lazy-markdown": {
|
|
634
|
+
"import": {
|
|
635
|
+
"types": "./dist/primitives/lazy-markdown.d.ts",
|
|
636
|
+
"default": "./dist/primitives/lazy-markdown.js"
|
|
637
|
+
},
|
|
638
|
+
"require": {
|
|
639
|
+
"types": "./dist/primitives/lazy-markdown.d.cts",
|
|
640
|
+
"default": "./dist/primitives/lazy-markdown.cjs"
|
|
641
|
+
}
|
|
642
|
+
},
|
|
583
643
|
"./primitives/line-break": {
|
|
584
644
|
"import": {
|
|
585
645
|
"types": "./dist/primitives/line-break.d.ts",
|
|
@@ -620,6 +680,36 @@
|
|
|
620
680
|
"default": "./dist/primitives/loading.cjs"
|
|
621
681
|
}
|
|
622
682
|
},
|
|
683
|
+
"./primitives/markdown": {
|
|
684
|
+
"import": {
|
|
685
|
+
"types": "./dist/primitives/markdown.d.ts",
|
|
686
|
+
"default": "./dist/primitives/markdown.js"
|
|
687
|
+
},
|
|
688
|
+
"require": {
|
|
689
|
+
"types": "./dist/primitives/markdown.d.cts",
|
|
690
|
+
"default": "./dist/primitives/markdown.cjs"
|
|
691
|
+
}
|
|
692
|
+
},
|
|
693
|
+
"./primitives/marker": {
|
|
694
|
+
"import": {
|
|
695
|
+
"types": "./dist/primitives/marker.d.ts",
|
|
696
|
+
"default": "./dist/primitives/marker.js"
|
|
697
|
+
},
|
|
698
|
+
"require": {
|
|
699
|
+
"types": "./dist/primitives/marker.d.cts",
|
|
700
|
+
"default": "./dist/primitives/marker.cjs"
|
|
701
|
+
}
|
|
702
|
+
},
|
|
703
|
+
"./primitives/message-scroller": {
|
|
704
|
+
"import": {
|
|
705
|
+
"types": "./dist/primitives/message-scroller.d.ts",
|
|
706
|
+
"default": "./dist/primitives/message-scroller.js"
|
|
707
|
+
},
|
|
708
|
+
"require": {
|
|
709
|
+
"types": "./dist/primitives/message-scroller.d.cts",
|
|
710
|
+
"default": "./dist/primitives/message-scroller.cjs"
|
|
711
|
+
}
|
|
712
|
+
},
|
|
623
713
|
"./primitives/message": {
|
|
624
714
|
"import": {
|
|
625
715
|
"types": "./dist/primitives/message.d.ts",
|
|
@@ -900,6 +990,16 @@
|
|
|
900
990
|
"default": "./dist/primitives/spacer.cjs"
|
|
901
991
|
}
|
|
902
992
|
},
|
|
993
|
+
"./primitives/spinner": {
|
|
994
|
+
"import": {
|
|
995
|
+
"types": "./dist/primitives/spinner.d.ts",
|
|
996
|
+
"default": "./dist/primitives/spinner.js"
|
|
997
|
+
},
|
|
998
|
+
"require": {
|
|
999
|
+
"types": "./dist/primitives/spinner.d.cts",
|
|
1000
|
+
"default": "./dist/primitives/spinner.cjs"
|
|
1001
|
+
}
|
|
1002
|
+
},
|
|
903
1003
|
"./primitives/split-action-button": {
|
|
904
1004
|
"import": {
|
|
905
1005
|
"types": "./dist/primitives/split-action-button.d.ts",
|
|
@@ -960,6 +1060,16 @@
|
|
|
960
1060
|
"default": "./dist/primitives/status-panel.cjs"
|
|
961
1061
|
}
|
|
962
1062
|
},
|
|
1063
|
+
"./primitives/suggestion": {
|
|
1064
|
+
"import": {
|
|
1065
|
+
"types": "./dist/primitives/suggestion.d.ts",
|
|
1066
|
+
"default": "./dist/primitives/suggestion.js"
|
|
1067
|
+
},
|
|
1068
|
+
"require": {
|
|
1069
|
+
"types": "./dist/primitives/suggestion.d.cts",
|
|
1070
|
+
"default": "./dist/primitives/suggestion.cjs"
|
|
1071
|
+
}
|
|
1072
|
+
},
|
|
963
1073
|
"./primitives/switch-field": {
|
|
964
1074
|
"import": {
|
|
965
1075
|
"types": "./dist/primitives/switch-field.d.ts",
|
|
@@ -1070,6 +1180,16 @@
|
|
|
1070
1180
|
"default": "./dist/primitives/tooltip.cjs"
|
|
1071
1181
|
}
|
|
1072
1182
|
},
|
|
1183
|
+
"./primitives/trace": {
|
|
1184
|
+
"import": {
|
|
1185
|
+
"types": "./dist/primitives/trace.d.ts",
|
|
1186
|
+
"default": "./dist/primitives/trace.js"
|
|
1187
|
+
},
|
|
1188
|
+
"require": {
|
|
1189
|
+
"types": "./dist/primitives/trace.d.cts",
|
|
1190
|
+
"default": "./dist/primitives/trace.cjs"
|
|
1191
|
+
}
|
|
1192
|
+
},
|
|
1073
1193
|
"./primitives/voice-dictation-button": {
|
|
1074
1194
|
"import": {
|
|
1075
1195
|
"types": "./dist/primitives/voice-dictation-button.d.ts",
|
|
@@ -1177,7 +1297,7 @@
|
|
|
1177
1297
|
"react": "^18.0.0 || ^19.0.0",
|
|
1178
1298
|
"react-dom": "^18.0.0 || ^19.0.0",
|
|
1179
1299
|
"react-icons": "^5.0.0",
|
|
1180
|
-
"tailwindcss": "^4.
|
|
1300
|
+
"tailwindcss": "^4.3.0"
|
|
1181
1301
|
},
|
|
1182
1302
|
"dependencies": {
|
|
1183
1303
|
"@radix-ui/react-alert-dialog": "^1.1.14",
|
|
@@ -1200,6 +1320,7 @@
|
|
|
1200
1320
|
"@radix-ui/react-toggle": "^1.1.9",
|
|
1201
1321
|
"@radix-ui/react-toggle-group": "^1.1.10",
|
|
1202
1322
|
"@radix-ui/react-tooltip": "^1.2.7",
|
|
1323
|
+
"@shadcn/react": "^0.3.1",
|
|
1203
1324
|
"class-variance-authority": "^0.7.1",
|
|
1204
1325
|
"clsx": "^2.1.1",
|
|
1205
1326
|
"date-fns": "^4.1.0",
|
|
@@ -1208,7 +1329,9 @@
|
|
|
1208
1329
|
"libphonenumber-js": "^1.11.0",
|
|
1209
1330
|
"radix-ui": "^1.6.0",
|
|
1210
1331
|
"react-day-picker": "^9.7.0",
|
|
1332
|
+
"react-markdown": "^10.1.0",
|
|
1211
1333
|
"react-responsive": "^10.0.1",
|
|
1334
|
+
"remark-gfm": "^4.0.1",
|
|
1212
1335
|
"tailwind-merge": "^2.4.0",
|
|
1213
1336
|
"tw-animate-css": "^1.4.0",
|
|
1214
1337
|
"vaul": "^1.1.2"
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/* Bubble — shadcn's cn-bubble classes (registry item "bubble", style
|
|
2
|
+
* radix-sera, registry/styles/style-sera.css, vendored 2026-06-29; colours
|
|
3
|
+
* and radii re-checked against the radix-nova / radix-vega items,
|
|
4
|
+
* https://ui.shadcn.com/r/styles/radix-vega/bubble.json, 2026-10-26), as
|
|
5
|
+
* @apply rules over the kit's semantic tokens so they follow the active
|
|
6
|
+
* palette. Part of utilities.css.
|
|
7
|
+
*
|
|
8
|
+
* Radii are vega's (the same as nova's), not sera's square corners: the
|
|
9
|
+
* content is rounded-xl and the reactions pill rounded-full, so a bubble
|
|
10
|
+
* follows --radius as the kit's buttons do. The ghost variant stays
|
|
11
|
+
* rounded-none, as in every style.
|
|
12
|
+
*
|
|
13
|
+
* Upstream mixes colours from the palette variables (var(--primary),
|
|
14
|
+
* var(--secondary)…), which hold whole colours in shadcn. The kit's palette
|
|
15
|
+
* variables are bare `H S% L%` triplets, so color-mix() and
|
|
16
|
+
* oklch(from …) over them are invalid and the browser drops the whole
|
|
17
|
+
* declaration: the tinted bubble had no background and the hover tints did
|
|
18
|
+
* nothing. Every colour function here reads the --color-* tokens instead,
|
|
19
|
+
* which are complete hsl() colours in every palette. */
|
|
20
|
+
@layer components {
|
|
21
|
+
/* MARK: Bubble */
|
|
22
|
+
.cn-bubble {
|
|
23
|
+
@apply gap-1 data-[align=end]:self-end max-w-[80%] data-[variant=ghost]:max-w-full group-data-[align=end]/message:self-end;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.cn-bubble-content {
|
|
27
|
+
@apply rounded-xl border border-transparent px-4 py-3 text-sm leading-relaxed [button,a]:outline-none [button,a]:focus-visible:border-ring [button,a]:focus-visible:ring-2 [button,a]:focus-visible:ring-ring/30 group-data-[align=end]/bubble:self-end;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.cn-bubble-variant-default {
|
|
31
|
+
@apply *:data-[slot=bubble-content]:bg-primary *:data-[slot=bubble-content]:text-primary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-primary/80;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.cn-bubble-variant-secondary {
|
|
35
|
+
@apply *:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--color-secondary),var(--color-foreground)_5%)];
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.cn-bubble-variant-muted {
|
|
39
|
+
@apply *:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--color-muted),var(--color-foreground)_5%)];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.cn-bubble-variant-tinted {
|
|
43
|
+
@apply *:data-[slot=bubble-content]:bg-[oklch(from_var(--color-primary)_0.93_calc(c*0.4)_h)] dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--color-primary)_0.3_calc(c*0.4)_h)] *:data-[slot=bubble-content]:text-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--color-primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--color-primary)_0.35_calc(c*0.5)_h)];
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.cn-bubble-variant-outline {
|
|
47
|
+
@apply *:data-[slot=bubble-content]:bg-background *:data-[slot=bubble-content]:border-border [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-input/30;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.cn-bubble-variant-ghost {
|
|
51
|
+
@apply *:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-muted/50 border-none;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.cn-bubble-variant-destructive {
|
|
55
|
+
@apply *:data-[slot=bubble-content]:bg-destructive/10 dark:*:data-[slot=bubble-content]:bg-destructive/20 *:data-[slot=bubble-content]:text-destructive [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.cn-bubble-reactions {
|
|
59
|
+
@apply rounded-full ring-3 ring-card bg-muted shrink-0 gap-1 px-2 py-0.5 has-[button]:p-0 text-sm;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.cn-bubble-reactions-side-top {
|
|
63
|
+
@apply top-0 -translate-y-3/4;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.cn-bubble-reactions-side-bottom {
|
|
67
|
+
@apply bottom-0 translate-y-3/4;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.cn-bubble-reactions-align-start {
|
|
71
|
+
@apply left-3;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.cn-bubble-reactions-align-end {
|
|
75
|
+
@apply right-3;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.cn-bubble-group {
|
|
79
|
+
@apply gap-2;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* Marker — shadcn's cn-marker classes (registry item "marker", style
|
|
2
|
+
* radix-sera, https://ui.shadcn.com/r/styles/radix-sera/marker.json and
|
|
3
|
+
* registry/styles/style-sera.css), vendored 2026-06-29 and moved into the
|
|
4
|
+
* public kit 2026-10-26, as @apply rules over the kit's semantic tokens so
|
|
5
|
+
* they follow the active palette. Part of utilities.css. */
|
|
6
|
+
@layer components {
|
|
7
|
+
/* MARK: Marker */
|
|
8
|
+
.cn-marker {
|
|
9
|
+
@apply gap-2 text-xs text-muted-foreground [a]:hover:text-foreground [a]:underline-offset-3 [a]:underline [&_svg:not([class*='size-'])]:size-4 min-h-4 text-left uppercase tracking-wide;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.cn-marker-variant-separator {
|
|
13
|
+
@apply before:h-px before:min-w-0 before:flex-1 before:bg-border after:h-px after:min-w-0 after:flex-1 after:bg-border before:mr-1 after:ml-1;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.cn-marker-variant-border {
|
|
17
|
+
@apply border-b border-border pb-2;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.cn-marker-icon {
|
|
21
|
+
@apply size-4 [&_svg:not([class*='size-'])]:size-4;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.cn-marker-content {
|
|
25
|
+
@apply group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:hover:text-foreground *:[a]:underline *:[a]:underline-offset-3;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* Message scroller — shadcn's cn-message-scroller classes (registry item
|
|
2
|
+
* "message-scroller", style radix-sera,
|
|
3
|
+
* https://ui.shadcn.com/r/styles/radix-sera/message-scroller.json and
|
|
4
|
+
* registry/styles/style-sera.css), synced 2026-10-26 against @shadcn/react
|
|
5
|
+
* 0.3.1. Part of utilities.css. */
|
|
6
|
+
@layer components {
|
|
7
|
+
/* MARK: Message Scroller */
|
|
8
|
+
.cn-message-scroller-content {
|
|
9
|
+
@apply gap-8;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
/* Public component classes, one file per item. Part of utilities.css. */
|
|
2
2
|
@import "./components/attachment.css";
|
|
3
|
+
@import "./components/bubble.css";
|
|
4
|
+
@import "./components/marker.css";
|
|
3
5
|
@import "./components/message.css";
|
|
6
|
+
@import "./components/message-scroller.css";
|
package/src/styles/utilities.css
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* Palette-free utilities and component classes: shadcn's data-* variants,
|
|
2
|
-
* no-scrollbar, scroll-fade and shimmer; the cn-attachment
|
|
3
|
-
* classes; and the kit's
|
|
2
|
+
* no-scrollbar, scroll-fade and shimmer; the cn-attachment, cn-bubble,
|
|
3
|
+
* cn-marker, cn-message and cn-message-scroller classes; and the kit's
|
|
4
|
+
* keyframes. Defines no palette and no @source.
|
|
4
5
|
* The component classes @apply the semantic colours (bg-muted,
|
|
5
6
|
* text-muted-foreground, ring-ring, …), so the host's @theme must define
|
|
6
7
|
* them — tokens.css does. */
|
|
@@ -5,18 +5,18 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
LoadMoreButton
|
|
7
7
|
} from "./chunk-J3GQXM37.js";
|
|
8
|
-
import {
|
|
9
|
-
Tooltip,
|
|
10
|
-
TooltipContent,
|
|
11
|
-
TooltipProvider,
|
|
12
|
-
TooltipTrigger
|
|
13
|
-
} from "./chunk-ZRLUUZHK.js";
|
|
14
8
|
import {
|
|
15
9
|
FilterBar
|
|
16
10
|
} from "./chunk-MLHNYRFX.js";
|
|
17
11
|
import {
|
|
18
12
|
Heading
|
|
19
13
|
} from "./chunk-H2O6NMLZ.js";
|
|
14
|
+
import {
|
|
15
|
+
Tooltip,
|
|
16
|
+
TooltipContent,
|
|
17
|
+
TooltipProvider,
|
|
18
|
+
TooltipTrigger
|
|
19
|
+
} from "./chunk-ZRLUUZHK.js";
|
|
20
20
|
import {
|
|
21
21
|
BoardColumnComponent,
|
|
22
22
|
MobileBoardView
|
|
@@ -7,16 +7,16 @@ var _chunkPNWNU6JWcjs = require('./chunk-PNWNU6JW.cjs');
|
|
|
7
7
|
var _chunkFNDBM67Kcjs = require('./chunk-FNDBM67K.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
|
+
var _chunkSGW4FWBXcjs = require('./chunk-SGW4FWBX.cjs');
|
|
10
11
|
|
|
11
12
|
|
|
13
|
+
var _chunkLELBCBDTcjs = require('./chunk-LELBCBDT.cjs');
|
|
12
14
|
|
|
13
|
-
var _chunkU2NES7VRcjs = require('./chunk-U2NES7VR.cjs');
|
|
14
15
|
|
|
15
16
|
|
|
16
|
-
var _chunkSGW4FWBXcjs = require('./chunk-SGW4FWBX.cjs');
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _chunkU2NES7VRcjs = require('./chunk-U2NES7VR.cjs');
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|