@spartan-ng/cli 1.2.0-beta.2 → 1.2.0-beta.3

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 (50) hide show
  1. package/package.json +1 -1
  2. package/src/generators/ui/libs/attachment/files/index.ts.template +31 -0
  3. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-action.ts.template +15 -0
  4. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-actions.ts.template +15 -0
  5. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-content.ts.template +12 -0
  6. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-description.ts.template +15 -0
  7. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-group.ts.template +15 -0
  8. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-media.ts.template +35 -0
  9. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-title.ts.template +15 -0
  10. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-trigger.ts.template +23 -0
  11. package/src/generators/ui/libs/attachment/files/lib/hlm-attachment.ts.template +47 -0
  12. package/src/generators/ui/libs/attachment/generator.d.ts +3 -0
  13. package/src/generators/ui/libs/attachment/generator.js +9 -0
  14. package/src/generators/ui/libs/attachment/generator.js.map +1 -0
  15. package/src/generators/ui/libs/bubble/files/index.ts.template +11 -0
  16. package/src/generators/ui/libs/bubble/files/lib/hlm-bubble-content.ts.template +15 -0
  17. package/src/generators/ui/libs/bubble/files/lib/hlm-bubble-group.ts.template +12 -0
  18. package/src/generators/ui/libs/bubble/files/lib/hlm-bubble-reactions.ts.template +43 -0
  19. package/src/generators/ui/libs/bubble/files/lib/hlm-bubble.ts.template +46 -0
  20. package/src/generators/ui/libs/bubble/generator.d.ts +3 -0
  21. package/src/generators/ui/libs/bubble/generator.js +9 -0
  22. package/src/generators/ui/libs/bubble/generator.js.map +1 -0
  23. package/src/generators/ui/libs/marker/files/index.ts.template +9 -0
  24. package/src/generators/ui/libs/marker/files/lib/hlm-marker-content.ts.template +15 -0
  25. package/src/generators/ui/libs/marker/files/lib/hlm-marker-icon.ts.template +15 -0
  26. package/src/generators/ui/libs/marker/files/lib/hlm-marker.ts.template +36 -0
  27. package/src/generators/ui/libs/marker/generator.d.ts +3 -0
  28. package/src/generators/ui/libs/marker/generator.js +9 -0
  29. package/src/generators/ui/libs/marker/generator.js.map +1 -0
  30. package/src/generators/ui/libs/message/files/index.ts.template +22 -0
  31. package/src/generators/ui/libs/message/files/lib/hlm-message-avatar.ts.template +15 -0
  32. package/src/generators/ui/libs/message/files/lib/hlm-message-content.ts.template +15 -0
  33. package/src/generators/ui/libs/message/files/lib/hlm-message-footer.ts.template +15 -0
  34. package/src/generators/ui/libs/message/files/lib/hlm-message-group.ts.template +12 -0
  35. package/src/generators/ui/libs/message/files/lib/hlm-message-header.ts.template +14 -0
  36. package/src/generators/ui/libs/message/files/lib/hlm-message.ts.template +21 -0
  37. package/src/generators/ui/libs/message/generator.d.ts +3 -0
  38. package/src/generators/ui/libs/message/generator.js +9 -0
  39. package/src/generators/ui/libs/message/generator.js.map +1 -0
  40. package/src/generators/ui/libs/spinner/files/lib/hlm-spinner.ts.template +1 -0
  41. package/src/generators/ui/primitive-deps.js +4 -0
  42. package/src/generators/ui/primitive-deps.js.map +1 -1
  43. package/src/generators/ui/primitives.d.ts +1 -1
  44. package/src/generators/ui/style-luma.css +152 -0
  45. package/src/generators/ui/style-lyra.css +152 -0
  46. package/src/generators/ui/style-maia.css +152 -0
  47. package/src/generators/ui/style-mira.css +152 -0
  48. package/src/generators/ui/style-nova.css +152 -0
  49. package/src/generators/ui/style-vega.css +152 -0
  50. package/src/generators/ui/supported-ui-libraries.json +68 -41
@@ -0,0 +1,3 @@
1
+ import type { Tree } from '@nx/devkit';
2
+ import type { HlmBaseGeneratorSchema } from '../../../base/schema';
3
+ export declare function generator(tree: Tree, options: HlmBaseGeneratorSchema): Promise<import("@nx/devkit").GeneratorCallback>;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generator = generator;
4
+ const tslib_1 = require("tslib");
5
+ const generator_1 = tslib_1.__importDefault(require("../../../base/generator"));
6
+ async function generator(tree, options) {
7
+ return await (0, generator_1.default)(tree, { ...options, name: 'message' });
8
+ }
9
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../../libs/cli/src/generators/ui/libs/message/generator.ts"],"names":[],"mappings":";;AAIA,8BAEC;;AALD,gFAAuD;AAGhD,KAAK,UAAU,SAAS,CAAC,IAAU,EAAE,OAA+B;IAC1E,OAAO,MAAM,IAAA,mBAAgB,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;AACtE,CAAC"}
@@ -9,6 +9,7 @@ import { classes } from '<%- importAlias %>/utils';
9
9
  providers: [provideIcons({ lucideLoader2 })],
10
10
  changeDetection: ChangeDetectionStrategy.OnPush,
11
11
  host: {
12
+ 'data-slot': 'spinner',
12
13
  role: 'status',
13
14
  '[attr.aria-label]': 'ariaLabel()',
14
15
  },
@@ -6,10 +6,12 @@ exports.primitiveDependencies = {
6
6
  alert: ['utils'],
7
7
  'alert-dialog': ['utils', 'button'],
8
8
  'aspect-ratio': ['utils'],
9
+ attachment: ['utils', 'button'],
9
10
  autocomplete: ['utils', 'popover', 'input-group'],
10
11
  avatar: ['utils'],
11
12
  badge: ['utils'],
12
13
  breadcrumb: ['utils'],
14
+ bubble: ['utils'],
13
15
  button: ['utils'],
14
16
  'button-group': ['utils', 'button'],
15
17
  calendar: ['utils', 'button', 'select'],
@@ -33,7 +35,9 @@ exports.primitiveDependencies = {
33
35
  item: ['utils', 'separator'],
34
36
  kbd: ['utils'],
35
37
  label: ['utils'],
38
+ marker: ['utils'],
36
39
  menubar: ['utils', 'dropdown-menu'],
40
+ message: ['utils'],
37
41
  'native-select': ['utils'],
38
42
  'navigation-menu': ['utils'],
39
43
  pagination: ['utils', 'button', 'select'],
@@ -1 +1 @@
1
- {"version":3,"file":"primitive-deps.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/generators/ui/primitive-deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitive-deps.js","sourceRoot":"","sources":["../../../../../../libs/cli/src/generators/ui/primitive-deps.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export type Primitive = 'accordion' | 'alert' | 'alert-dialog' | 'aspect-ratio' | 'autocomplete' | 'avatar' | 'badge' | 'breadcrumb' | 'button' | 'button-group' | 'calendar' | 'card' | 'carousel' | 'checkbox' | 'collapsible' | 'combobox' | 'command' | 'context-menu' | 'date-picker' | 'dialog' | 'drawer' | 'dropdown-menu' | 'empty' | 'field' | 'hover-card' | 'input' | 'input-group' | 'input-otp' | 'item' | 'kbd' | 'label' | 'menubar' | 'native-select' | 'navigation-menu' | 'pagination' | 'popover' | 'progress' | 'radio-group' | 'resizable' | 'scroll-area' | 'select' | 'separator' | 'sheet' | 'sidebar' | 'skeleton' | 'slider' | 'sonner' | 'spinner' | 'switch' | 'table' | 'tabs' | 'textarea' | 'toggle' | 'toggle-group' | 'tooltip' | 'typography' | 'utils';
1
+ export type Primitive = 'accordion' | 'alert' | 'alert-dialog' | 'aspect-ratio' | 'attachment' | 'autocomplete' | 'avatar' | 'badge' | 'breadcrumb' | 'bubble' | 'button' | 'button-group' | 'calendar' | 'card' | 'carousel' | 'checkbox' | 'collapsible' | 'combobox' | 'command' | 'context-menu' | 'date-picker' | 'dialog' | 'drawer' | 'dropdown-menu' | 'empty' | 'field' | 'hover-card' | 'input' | 'input-group' | 'input-otp' | 'item' | 'kbd' | 'label' | 'marker' | 'menubar' | 'message' | 'native-select' | 'navigation-menu' | 'pagination' | 'popover' | 'progress' | 'radio-group' | 'resizable' | 'scroll-area' | 'select' | 'separator' | 'sheet' | 'sidebar' | 'skeleton' | 'slider' | 'sonner' | 'spinner' | 'switch' | 'table' | 'tabs' | 'textarea' | 'toggle' | 'toggle-group' | 'tooltip' | 'typography' | 'utils';
@@ -1219,6 +1219,158 @@
1219
1219
  @apply gap-4 text-sm;
1220
1220
  }
1221
1221
 
1222
+ /* MARK: Marker */
1223
+ .spartan-marker {
1224
+ @apply text-muted-foreground gap-2.5 text-sm;
1225
+ }
1226
+
1227
+ .spartan-marker-variant-separator {
1228
+ @apply before:bg-border after:bg-border before:me-1.5 before:h-px before:min-w-0 before:flex-1 after:ms-1.5 after:h-px after:min-w-0 after:flex-1;
1229
+ }
1230
+
1231
+ .spartan-marker-variant-border {
1232
+ @apply border-border border-b pb-3;
1233
+ }
1234
+
1235
+ .spartan-marker-icon {
1236
+ @apply size-4 shrink-0;
1237
+ }
1238
+
1239
+ .spartan-marker-content {
1240
+ @apply min-w-0;
1241
+ }
1242
+
1243
+ /* MARK: Message */
1244
+ .spartan-message {
1245
+ @apply gap-3 text-sm;
1246
+ }
1247
+
1248
+ .spartan-message-group {
1249
+ @apply gap-3;
1250
+ }
1251
+
1252
+ .spartan-message-avatar {
1253
+ @apply bg-muted min-w-9 rounded-full;
1254
+ }
1255
+
1256
+ .spartan-message-content {
1257
+ @apply gap-3;
1258
+ }
1259
+
1260
+ .spartan-message-header {
1261
+ @apply text-muted-foreground px-4 text-xs font-medium;
1262
+ }
1263
+
1264
+ .spartan-message-footer {
1265
+ @apply text-muted-foreground px-4 text-xs font-medium;
1266
+ }
1267
+
1268
+ /* MARK: Bubble */
1269
+ .spartan-bubble {
1270
+ @apply max-w-[80%] gap-1.5;
1271
+ }
1272
+
1273
+ .spartan-bubble-group {
1274
+ @apply gap-3;
1275
+ }
1276
+
1277
+ .spartan-bubble-content {
1278
+ @apply rounded-4xl px-4 py-2.5 text-sm leading-relaxed;
1279
+ }
1280
+
1281
+ .spartan-bubble-reactions {
1282
+ @apply bg-muted ring-card gap-1 rounded-3xl px-2 py-0.5 text-xs shadow-sm ring-3;
1283
+ }
1284
+
1285
+ .spartan-bubble-variant-default {
1286
+ @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;
1287
+ }
1288
+
1289
+ .spartan-bubble-variant-secondary {
1290
+ @apply *:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-secondary/80;
1291
+ }
1292
+
1293
+ .spartan-bubble-variant-muted {
1294
+ @apply *:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--muted),var(--foreground)_5%)];
1295
+ }
1296
+
1297
+ .spartan-bubble-variant-tinted {
1298
+ @apply *:data-[slot=bubble-content]:text-foreground *:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.93_calc(c*0.4)_h)] dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.3_calc(c*0.4)_h)] [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.35_calc(c*0.5)_h)];
1299
+ }
1300
+
1301
+ .spartan-bubble-variant-outline {
1302
+ @apply *:data-[slot=bubble-content]:border-border *:data-[slot=bubble-content]:bg-background [&>[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 *:data-[slot=bubble-content]:border dark:*:data-[slot=bubble-content]:bg-transparent;
1303
+ }
1304
+
1305
+ .spartan-bubble-variant-ghost {
1306
+ @apply [&>[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 *:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0;
1307
+ }
1308
+
1309
+ .spartan-bubble-variant-destructive {
1310
+ @apply *:data-[slot=bubble-content]:bg-destructive/10 *:data-[slot=bubble-content]:text-destructive dark:*:data-[slot=bubble-content]:bg-destructive/20 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30;
1311
+ }
1312
+
1313
+ /* MARK: Attachment */
1314
+ .spartan-attachment {
1315
+ @apply bg-card text-card-foreground ring-foreground/5 dark:ring-foreground/10 rounded-4xl border shadow-md ring-1;
1316
+ }
1317
+
1318
+ .spartan-attachment-size-default {
1319
+ @apply gap-2.5 text-sm has-data-[slot=attachment-content]:px-3.5 has-data-[slot=attachment-content]:py-3 has-data-[slot=attachment-media]:p-3;
1320
+ }
1321
+
1322
+ .spartan-attachment-size-sm {
1323
+ @apply gap-2.5 text-xs has-data-[slot=attachment-content]:px-3 has-data-[slot=attachment-content]:py-2 has-data-[slot=attachment-media]:p-2;
1324
+ }
1325
+
1326
+ .spartan-attachment-size-xs {
1327
+ @apply gap-2 rounded-2xl text-xs has-data-[slot=attachment-content]:px-2.5 has-data-[slot=attachment-content]:py-1.5 has-data-[slot=attachment-media]:p-1.5;
1328
+ }
1329
+
1330
+ .spartan-attachment-orientation-horizontal {
1331
+ @apply min-w-44 items-center;
1332
+ }
1333
+
1334
+ .spartan-attachment-orientation-vertical {
1335
+ @apply w-28 flex-col has-data-[slot=attachment-content]:w-32;
1336
+ }
1337
+
1338
+ .spartan-attachment-media {
1339
+ @apply bg-muted text-foreground w-10 rounded-2xl;
1340
+ }
1341
+
1342
+ .spartan-attachment-media-variant-icon {
1343
+ @apply bg-muted;
1344
+ }
1345
+
1346
+ .spartan-attachment-media-variant-image {
1347
+ @apply opacity-60 group-data-[state=done]/attachment:opacity-100 group-data-[state=idle]/attachment:opacity-100;
1348
+ }
1349
+
1350
+ .spartan-attachment-content {
1351
+ @apply min-w-0 flex-1 leading-snug;
1352
+ }
1353
+
1354
+ .spartan-attachment-title {
1355
+ @apply truncate text-sm font-medium;
1356
+ }
1357
+
1358
+ .spartan-attachment-description {
1359
+ @apply text-muted-foreground mt-0.5 truncate text-xs;
1360
+ }
1361
+
1362
+ .spartan-attachment-actions {
1363
+ @apply shrink-0 items-center;
1364
+ }
1365
+
1366
+ .spartan-attachment-trigger {
1367
+ @apply absolute inset-0 z-10 outline-none;
1368
+ }
1369
+
1370
+ .spartan-attachment-group {
1371
+ @apply gap-3.5 py-1.5;
1372
+ }
1373
+
1222
1374
  /* MARK: Calendar */
1223
1375
  .spartan-calendar {
1224
1376
  @apply p-3 [--cell-radius:var(--radius-4xl)] [--cell-size:--spacing(8)];
@@ -542,6 +542,158 @@
542
542
  @apply gap-2.5 text-xs;
543
543
  }
544
544
 
545
+ /* MARK: Marker */
546
+ .spartan-marker {
547
+ @apply text-muted-foreground gap-2 text-xs;
548
+ }
549
+
550
+ .spartan-marker-variant-separator {
551
+ @apply before:bg-border after:bg-border before:me-1 before:h-px before:min-w-0 before:flex-1 after:ms-1 after:h-px after:min-w-0 after:flex-1;
552
+ }
553
+
554
+ .spartan-marker-variant-border {
555
+ @apply border-border border-b pb-2;
556
+ }
557
+
558
+ .spartan-marker-icon {
559
+ @apply size-4 shrink-0;
560
+ }
561
+
562
+ .spartan-marker-content {
563
+ @apply min-w-0;
564
+ }
565
+
566
+ /* MARK: Message */
567
+ .spartan-message {
568
+ @apply gap-2 text-xs;
569
+ }
570
+
571
+ .spartan-message-group {
572
+ @apply gap-2;
573
+ }
574
+
575
+ .spartan-message-avatar {
576
+ @apply bg-muted min-w-8 rounded-none;
577
+ }
578
+
579
+ .spartan-message-content {
580
+ @apply gap-2.5;
581
+ }
582
+
583
+ .spartan-message-header {
584
+ @apply text-muted-foreground px-3 text-xs font-medium;
585
+ }
586
+
587
+ .spartan-message-footer {
588
+ @apply text-muted-foreground px-3 text-xs font-medium;
589
+ }
590
+
591
+ /* MARK: Bubble */
592
+ .spartan-bubble {
593
+ @apply max-w-[80%] gap-1;
594
+ }
595
+
596
+ .spartan-bubble-group {
597
+ @apply gap-2;
598
+ }
599
+
600
+ .spartan-bubble-content {
601
+ @apply rounded-none px-3 py-2 text-xs leading-relaxed;
602
+ }
603
+
604
+ .spartan-bubble-reactions {
605
+ @apply bg-muted ring-card gap-1 rounded-none px-1.5 py-0.5 text-xs ring-1;
606
+ }
607
+
608
+ .spartan-bubble-variant-default {
609
+ @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;
610
+ }
611
+
612
+ .spartan-bubble-variant-secondary {
613
+ @apply *:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-secondary/80;
614
+ }
615
+
616
+ .spartan-bubble-variant-muted {
617
+ @apply *:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--muted),var(--foreground)_5%)];
618
+ }
619
+
620
+ .spartan-bubble-variant-tinted {
621
+ @apply *:data-[slot=bubble-content]:text-foreground *:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.93_calc(c*0.4)_h)] dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.3_calc(c*0.4)_h)] [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.35_calc(c*0.5)_h)];
622
+ }
623
+
624
+ .spartan-bubble-variant-outline {
625
+ @apply *:data-[slot=bubble-content]:border-border *:data-[slot=bubble-content]:bg-background [&>[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 *:data-[slot=bubble-content]:border;
626
+ }
627
+
628
+ .spartan-bubble-variant-ghost {
629
+ @apply [&>[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 *:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0;
630
+ }
631
+
632
+ .spartan-bubble-variant-destructive {
633
+ @apply *:data-[slot=bubble-content]:bg-destructive/10 *:data-[slot=bubble-content]:text-destructive dark:*:data-[slot=bubble-content]:bg-destructive/20 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30;
634
+ }
635
+
636
+ /* MARK: Attachment */
637
+ .spartan-attachment {
638
+ @apply bg-card text-card-foreground rounded-none border;
639
+ }
640
+
641
+ .spartan-attachment-size-default {
642
+ @apply gap-2 text-xs has-data-[slot=attachment-content]:px-2.5 has-data-[slot=attachment-content]:py-2 has-data-[slot=attachment-media]:p-2;
643
+ }
644
+
645
+ .spartan-attachment-size-sm {
646
+ @apply gap-2 text-xs has-data-[slot=attachment-content]:px-2 has-data-[slot=attachment-content]:py-1.5 has-data-[slot=attachment-media]:p-1.5;
647
+ }
648
+
649
+ .spartan-attachment-size-xs {
650
+ @apply gap-1.5 rounded-none text-xs has-data-[slot=attachment-content]:px-1.5 has-data-[slot=attachment-content]:py-1 has-data-[slot=attachment-media]:p-1;
651
+ }
652
+
653
+ .spartan-attachment-orientation-horizontal {
654
+ @apply min-w-40 items-center;
655
+ }
656
+
657
+ .spartan-attachment-orientation-vertical {
658
+ @apply w-24 flex-col has-data-[slot=attachment-content]:w-30;
659
+ }
660
+
661
+ .spartan-attachment-media {
662
+ @apply bg-muted text-foreground w-10 rounded-none;
663
+ }
664
+
665
+ .spartan-attachment-media-variant-icon {
666
+ @apply bg-muted;
667
+ }
668
+
669
+ .spartan-attachment-media-variant-image {
670
+ @apply opacity-60 group-data-[state=done]/attachment:opacity-100 group-data-[state=idle]/attachment:opacity-100;
671
+ }
672
+
673
+ .spartan-attachment-content {
674
+ @apply min-w-0 flex-1 leading-tight;
675
+ }
676
+
677
+ .spartan-attachment-title {
678
+ @apply truncate text-xs font-medium;
679
+ }
680
+
681
+ .spartan-attachment-description {
682
+ @apply text-muted-foreground mt-0.5 truncate text-xs/relaxed;
683
+ }
684
+
685
+ .spartan-attachment-actions {
686
+ @apply shrink-0 items-center;
687
+ }
688
+
689
+ .spartan-attachment-trigger {
690
+ @apply absolute inset-0 z-10 outline-none;
691
+ }
692
+
693
+ .spartan-attachment-group {
694
+ @apply gap-2.5 py-1;
695
+ }
696
+
545
697
  /* MARK: Field */
546
698
  .spartan-field-set {
547
699
  @apply gap-4 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3;
@@ -564,6 +564,158 @@
564
564
  @apply gap-4 text-sm;
565
565
  }
566
566
 
567
+ /* MARK: Marker */
568
+ .spartan-marker {
569
+ @apply text-muted-foreground gap-2.5 text-sm;
570
+ }
571
+
572
+ .spartan-marker-variant-separator {
573
+ @apply before:bg-border after:bg-border before:me-1.5 before:h-px before:min-w-0 before:flex-1 after:ms-1.5 after:h-px after:min-w-0 after:flex-1;
574
+ }
575
+
576
+ .spartan-marker-variant-border {
577
+ @apply border-border border-b pb-2.5;
578
+ }
579
+
580
+ .spartan-marker-icon {
581
+ @apply size-4 shrink-0;
582
+ }
583
+
584
+ .spartan-marker-content {
585
+ @apply min-w-0;
586
+ }
587
+
588
+ /* MARK: Message */
589
+ .spartan-message {
590
+ @apply gap-2.5 text-sm;
591
+ }
592
+
593
+ .spartan-message-group {
594
+ @apply gap-2.5;
595
+ }
596
+
597
+ .spartan-message-avatar {
598
+ @apply bg-muted min-w-9 rounded-full;
599
+ }
600
+
601
+ .spartan-message-content {
602
+ @apply gap-3;
603
+ }
604
+
605
+ .spartan-message-header {
606
+ @apply text-muted-foreground px-3.5 text-xs font-medium;
607
+ }
608
+
609
+ .spartan-message-footer {
610
+ @apply text-muted-foreground px-3.5 text-xs font-medium;
611
+ }
612
+
613
+ /* MARK: Bubble */
614
+ .spartan-bubble {
615
+ @apply max-w-[80%] gap-1.5;
616
+ }
617
+
618
+ .spartan-bubble-group {
619
+ @apply gap-2.5;
620
+ }
621
+
622
+ .spartan-bubble-content {
623
+ @apply rounded-2xl px-3.5 py-2.5 text-sm leading-relaxed;
624
+ }
625
+
626
+ .spartan-bubble-reactions {
627
+ @apply bg-muted ring-card gap-1 rounded-4xl px-2 py-0.5 text-xs ring-3;
628
+ }
629
+
630
+ .spartan-bubble-variant-default {
631
+ @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;
632
+ }
633
+
634
+ .spartan-bubble-variant-secondary {
635
+ @apply *:data-[slot=bubble-content]:bg-secondary *:data-[slot=bubble-content]:text-secondary-foreground [&>[data-slot=bubble-content]:is(button,a):hover]:bg-secondary/80;
636
+ }
637
+
638
+ .spartan-bubble-variant-muted {
639
+ @apply *:data-[slot=bubble-content]:bg-muted [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[color-mix(in_oklch,var(--muted),var(--foreground)_5%)];
640
+ }
641
+
642
+ .spartan-bubble-variant-tinted {
643
+ @apply *:data-[slot=bubble-content]:text-foreground *:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.93_calc(c*0.4)_h)] dark:*:data-[slot=bubble-content]:bg-[oklch(from_var(--primary)_0.3_calc(c*0.4)_h)] [&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.88_calc(c*0.5)_h)] dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-[oklch(from_var(--primary)_0.35_calc(c*0.5)_h)];
644
+ }
645
+
646
+ .spartan-bubble-variant-outline {
647
+ @apply *:data-[slot=bubble-content]:border-border *:data-[slot=bubble-content]:bg-input/30 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-input/50 [&>[data-slot=bubble-content]:is(button,a):hover]:text-foreground *:data-[slot=bubble-content]:border;
648
+ }
649
+
650
+ .spartan-bubble-variant-ghost {
651
+ @apply [&>[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 *:data-[slot=bubble-content]:rounded-none *:data-[slot=bubble-content]:bg-transparent *:data-[slot=bubble-content]:p-0;
652
+ }
653
+
654
+ .spartan-bubble-variant-destructive {
655
+ @apply *:data-[slot=bubble-content]:bg-destructive/10 *:data-[slot=bubble-content]:text-destructive dark:*:data-[slot=bubble-content]:bg-destructive/20 [&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/20 dark:[&>[data-slot=bubble-content]:is(button,a):hover]:bg-destructive/30;
656
+ }
657
+
658
+ /* MARK: Attachment */
659
+ .spartan-attachment {
660
+ @apply bg-card text-card-foreground rounded-2xl border;
661
+ }
662
+
663
+ .spartan-attachment-size-default {
664
+ @apply gap-2.5 text-sm has-data-[slot=attachment-content]:px-3 has-data-[slot=attachment-content]:py-2.5 has-data-[slot=attachment-media]:p-2.5;
665
+ }
666
+
667
+ .spartan-attachment-size-sm {
668
+ @apply gap-2.5 text-xs has-data-[slot=attachment-content]:px-2.5 has-data-[slot=attachment-content]:py-2 has-data-[slot=attachment-media]:p-2;
669
+ }
670
+
671
+ .spartan-attachment-size-xs {
672
+ @apply gap-2 rounded-xl text-xs has-data-[slot=attachment-content]:px-2 has-data-[slot=attachment-content]:py-1.5 has-data-[slot=attachment-media]:p-1.5;
673
+ }
674
+
675
+ .spartan-attachment-orientation-horizontal {
676
+ @apply min-w-44 items-center;
677
+ }
678
+
679
+ .spartan-attachment-orientation-vertical {
680
+ @apply w-28 flex-col has-data-[slot=attachment-content]:w-32;
681
+ }
682
+
683
+ .spartan-attachment-media {
684
+ @apply bg-muted text-foreground w-10 rounded-xl;
685
+ }
686
+
687
+ .spartan-attachment-media-variant-icon {
688
+ @apply bg-muted;
689
+ }
690
+
691
+ .spartan-attachment-media-variant-image {
692
+ @apply opacity-60 group-data-[state=done]/attachment:opacity-100 group-data-[state=idle]/attachment:opacity-100;
693
+ }
694
+
695
+ .spartan-attachment-content {
696
+ @apply min-w-0 flex-1 leading-snug;
697
+ }
698
+
699
+ .spartan-attachment-title {
700
+ @apply truncate text-sm font-medium;
701
+ }
702
+
703
+ .spartan-attachment-description {
704
+ @apply text-muted-foreground mt-0.5 truncate text-xs;
705
+ }
706
+
707
+ .spartan-attachment-actions {
708
+ @apply shrink-0 items-center;
709
+ }
710
+
711
+ .spartan-attachment-trigger {
712
+ @apply absolute inset-0 z-10 outline-none;
713
+ }
714
+
715
+ .spartan-attachment-group {
716
+ @apply gap-3.5 py-1.5;
717
+ }
718
+
567
719
  /* MARK: Field */
568
720
  .spartan-field-set {
569
721
  @apply gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3;