@speakeasy-api/moonshine 1.25.1 → 1.26.1

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 (30) hide show
  1. package/dist/components/Button/index.d.ts +15 -4
  2. package/dist/components/Combobox/index.d.ts +1 -1
  3. package/dist/components/Icon/names.d.ts +1 -1
  4. package/dist/components/IconButton/index.d.ts +14 -0
  5. package/dist/{createCustomLucideIcon-BnDZSGDP.mjs → createCustomLucideIcon-DPRP9xWN.mjs} +2 -2
  6. package/dist/{createCustomLucideIcon-BnDZSGDP.mjs.map → createCustomLucideIcon-DPRP9xWN.mjs.map} +1 -1
  7. package/dist/{gems-IbyyAS35.mjs → gems-DEYnrHKR.mjs} +2 -2
  8. package/dist/{gems-IbyyAS35.mjs.map → gems-DEYnrHKR.mjs.map} +1 -1
  9. package/dist/{go-DU7D1LUe.mjs → go-rWu11zw8.mjs} +2 -2
  10. package/dist/{go-DU7D1LUe.mjs.map → go-rWu11zw8.mjs.map} +1 -1
  11. package/dist/{index-G1NsYS9G.mjs → index-OQUdtV1S.mjs} +10995 -10794
  12. package/dist/index-OQUdtV1S.mjs.map +1 -0
  13. package/dist/{maven-BRVzLedX.mjs → maven-CahLtj1P.mjs} +2 -2
  14. package/dist/{maven-BRVzLedX.mjs.map → maven-CahLtj1P.mjs.map} +1 -1
  15. package/dist/moonshine.es.js +1 -1
  16. package/dist/{npm-CJcK5-ya.mjs → npm-B3OoOEv0.mjs} +2 -2
  17. package/dist/{npm-CJcK5-ya.mjs.map → npm-B3OoOEv0.mjs.map} +1 -1
  18. package/dist/{nuget-3R1WH78p.mjs → nuget-DrOHsHi8.mjs} +2 -2
  19. package/dist/{nuget-3R1WH78p.mjs.map → nuget-DrOHsHi8.mjs.map} +1 -1
  20. package/dist/{packagist-XGEZhK5Z.mjs → packagist-BusJa-jY.mjs} +2 -2
  21. package/dist/{packagist-XGEZhK5Z.mjs.map → packagist-BusJa-jY.mjs.map} +1 -1
  22. package/dist/{pypi-WSPnwFpp.mjs → pypi-CPtv4mGM.mjs} +2 -2
  23. package/dist/{pypi-WSPnwFpp.mjs.map → pypi-CPtv4mGM.mjs.map} +1 -1
  24. package/dist/style.css +1 -1
  25. package/dist/types.d.ts +4 -2
  26. package/package.json +1 -1
  27. package/src/base.css +9 -9
  28. package/src/utilities.css +336 -6
  29. package/types/utilities.d.ts +43 -1
  30. package/dist/index-G1NsYS9G.mjs.map +0 -1
package/dist/types.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- export declare const buttonVariants: readonly ["default", "destructive", "outline", "secondary", "ghost", "link"];
1
+ export declare const buttonVariants: readonly ["brand", "primary", "secondary", "tertiary", "destructive-primary", "destructive-secondary"];
2
2
  export type ButtonVariant = (typeof buttonVariants)[number];
3
- export declare const buttonSizes: readonly ["default", "sm", "lg", "icon"];
3
+ export declare const buttonSizes: readonly ["xs", "sm", "md", "lg"];
4
4
  export type ButtonSize = (typeof buttonSizes)[number];
5
+ export declare const buttonContexts: readonly ["product", "marketing"];
6
+ export type ButtonContext = (typeof buttonContexts)[number];
5
7
  export type Orientation = 'horizontal' | 'vertical';
6
8
  export declare const sizes: readonly ["small", "medium", "large", "xl", "2xl"];
7
9
  export type Size = (typeof sizes)[number];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speakeasy-api/moonshine",
3
- "version": "1.25.1",
3
+ "version": "1.26.1",
4
4
  "packageManager": "pnpm@9.0.0",
5
5
  "description": "Speakeasy's design system Moonshine",
6
6
  "main": "dist/moonshine.cjs.js",
package/src/base.css CHANGED
@@ -70,15 +70,15 @@
70
70
 
71
71
  --gradient-brand-red: radial-gradient(
72
72
  138.34% 138.34% at 0% 4.4%,
73
- var(--color-destructive-900) 0%,
74
- var(--color-destructive-800) 12.5%,
75
- var(--color-destructive-700) 25%,
76
- var(--color-destructive-600) 37.5%,
77
- var(--color-destructive-500) 50%,
78
- var(--color-destructive-400) 62.5%,
79
- var(--color-destructive-300) 75%,
80
- var(--color-destructive-200) 87.5%,
81
- var(--color-destructive-100) 100%
73
+ var(--color-brand-red-900) 0%,
74
+ var(--color-brand-red-800) 12.5%,
75
+ var(--color-brand-red-700) 25%,
76
+ var(--color-brand-red-600) 37.5%,
77
+ var(--color-brand-red-500) 50%,
78
+ var(--color-brand-red-400) 62.5%,
79
+ var(--color-brand-red-300) 75%,
80
+ var(--color-brand-red-200) 87.5%,
81
+ var(--color-brand-red-100) 100%
82
82
  );
83
83
 
84
84
  /* Brand green */
package/src/utilities.css CHANGED
@@ -312,7 +312,7 @@
312
312
  }
313
313
 
314
314
  @utility text-muted {
315
- color: var(--text-muted)!important;
315
+ color: var(--text-muted) !important;
316
316
  }
317
317
 
318
318
  @utility text-placeholder {
@@ -362,7 +362,6 @@
362
362
  color: var(--text-muted-inverse);
363
363
  }
364
364
 
365
-
366
365
  /* Link colors */
367
366
  @utility text-link-primary {
368
367
  color: var(--text-link-primary);
@@ -412,11 +411,207 @@
412
411
  color: var(--text-link-warning);
413
412
  }
414
413
 
414
+ /* Button Text Colors */
415
+ @utility text-btn-brand {
416
+ color: var(--color-neutral-900);
417
+
418
+ @variant dark {
419
+ color: var(--color-neutral-100);
420
+ }
421
+ }
422
+
423
+ @utility text-btn-brand-hover {
424
+ color: var(--color-base-black);
425
+
426
+ @variant dark {
427
+ color: var(--color-base-white);
428
+ }
429
+ }
430
+
431
+ @utility text-btn-brand-active {
432
+ color: var(--color-base-black);
433
+
434
+ @variant dark {
435
+ color: var(--color-base-white);
436
+ }
437
+ }
438
+
439
+ @utility text-btn-brand-disabled {
440
+ color: var(--color-neutral-900);
441
+ opacity: 0.4;
442
+
443
+ @variant dark {
444
+ color: var(--color-neutral-100);
445
+ opacity: 0.4;
446
+ }
447
+ }
448
+
449
+ @utility text-btn-primary {
450
+ color: var(--color-neutral-900);
451
+
452
+ @variant dark {
453
+ color: var(--color-neutral-100);
454
+ }
455
+ }
456
+
457
+ @utility text-btn-primary-hover {
458
+ color: var(--color-base-white);
459
+
460
+ @variant dark {
461
+ color: var(--color-base-black);
462
+ }
463
+ }
464
+
465
+ @utility text-btn-primary-active {
466
+ color: var(--color-base-white);
467
+
468
+ @variant dark {
469
+ color: var(--color-base-black);
470
+ }
471
+ }
472
+
473
+ @utility text-btn-primary-disabled {
474
+ color: var(--color-neutral-900);
475
+ opacity: 0.4;
476
+
477
+ @variant dark {
478
+ color: var(--color-neutral-100);
479
+ opacity: 0.4;
480
+ }
481
+ }
482
+
483
+ @utility text-btn-secondary {
484
+ color: var(--color-neutral-900);
485
+
486
+ @variant dark {
487
+ color: var(--color-neutral-100);
488
+ }
489
+ }
490
+
491
+ @utility text-btn-secondary-hover {
492
+ color: var(--color-base-black);
493
+
494
+ @variant dark {
495
+ color: var(--color-base-white);
496
+ }
497
+ }
498
+
499
+ @utility text-btn-secondary-active {
500
+ color: var(--color-base-black);
501
+
502
+ @variant dark {
503
+ color: var(--color-base-white);
504
+ }
505
+ }
506
+
507
+ @utility text-btn-secondary-disabled {
508
+ color: var(--color-neutral-900);
509
+ opacity: 0.4;
510
+
511
+ @variant dark {
512
+ color: var(--color-neutral-100);
513
+ opacity: 0.4;
514
+ }
515
+ }
516
+
517
+ @utility text-btn-tertiary {
518
+ color: var(--color-neutral-900);
519
+
520
+ @variant dark {
521
+ color: var(--color-neutral-100);
522
+ }
523
+ }
524
+
525
+ @utility text-btn-tertiary-hover {
526
+ color: var(--color-base-black);
527
+
528
+ @variant dark {
529
+ color: var(--color-base-white);
530
+ }
531
+ }
532
+
533
+ @utility text-btn-tertiary-active {
534
+ color: var(--color-base-black);
535
+
536
+ @variant dark {
537
+ color: var(--color-base-white);
538
+ }
539
+ }
540
+
541
+ @utility text-btn-tertiary-disabled {
542
+ color: var(--color-neutral-900);
543
+ opacity: 0.4;
544
+
545
+ @variant dark {
546
+ color: var(--color-neutral-100);
547
+ opacity: 0.4;
548
+ }
549
+ }
550
+
551
+ @utility text-btn-destructive-primary {
552
+ color: var(--color-base-white);
553
+ }
554
+
555
+ @utility text-btn-destructive-primary-hover {
556
+ color: var(--color-base-white);
557
+ }
558
+
559
+ @utility text-btn-destructive-primary-active {
560
+ color: var(--color-base-white);
561
+ }
562
+
563
+ @utility text-btn-destructive-primary-disabled {
564
+ color: var(--color-base-white);
565
+ opacity: 0.4;
566
+ }
567
+
568
+ @utility text-btn-destructive-secondary {
569
+ color: var(--color-feedback-red-600);
570
+
571
+ @variant dark {
572
+ color: var(--color-feedback-red-400);
573
+ }
574
+ }
575
+
576
+ @utility text-btn-destructive-secondary-hover {
577
+ color: var(--color-feedback-red-700);
578
+
579
+ @variant dark {
580
+ color: var(--color-feedback-red-500);
581
+ }
582
+ }
583
+
584
+ @utility text-btn-destructive-secondary-active {
585
+ color: var(--color-feedback-red-800);
586
+
587
+ @variant dark {
588
+ color: var(--color-feedback-red-600);
589
+ }
590
+ }
591
+
592
+ @utility text-btn-destructive-secondary-disabled {
593
+ color: var(--color-feedback-red-600);
594
+ opacity: 0.4;
595
+
596
+ @variant dark {
597
+ color: var(--color-feedback-red-400);
598
+ opacity: 0.4;
599
+ }
600
+ }
415
601
 
416
602
  @utility bg-gradient-primary {
417
603
  background: var(--gradient-brand-primary);
418
604
  }
419
605
 
606
+ /* TODO: check with others on the naming convention for brand gradient utilities */
607
+ @utility bg-gradient-green {
608
+ background: var(--gradient-brand-green);
609
+ }
610
+
611
+ @utility bg-gradient-red {
612
+ background: var(--gradient-brand-red);
613
+ }
614
+
420
615
  @utility border-gradient-primary {
421
616
  border-image: var(--gradient-brand-primary) 1;
422
617
  }
@@ -451,7 +646,6 @@
451
646
  border-style: solid;
452
647
  }
453
648
 
454
-
455
649
  /* Link underline utilities */
456
650
  @utility underline-link-primary {
457
651
  color: var(--underline-link-primary);
@@ -831,6 +1025,145 @@
831
1025
  /* ============================================
832
1026
  * BACKGROUNDS
833
1027
  * ============================================ */
1028
+
1029
+ /* Button Background utilities
1030
+ * Figma: Surface/Button/{Variant}/bg-{state} → Code: bg-btn-{variant}-{state}
1031
+ * Follows Tailwind conventions: bg-*, rest state has no suffix */
1032
+ @utility bg-btn-brand {
1033
+ background-color: var(--color-base-white);
1034
+
1035
+ @variant dark {
1036
+ background-color: var(--color-base-black);
1037
+ }
1038
+ }
1039
+
1040
+ @utility bg-btn-brand-hover {
1041
+ background-color: var(--color-neutral-100);
1042
+
1043
+ @variant dark {
1044
+ background-color: var(--color-neutral-900);
1045
+ }
1046
+ }
1047
+
1048
+ @utility bg-btn-brand-active {
1049
+ background-color: var(--color-neutral-200);
1050
+
1051
+ @variant dark {
1052
+ background-color: var(--color-neutral-800);
1053
+ }
1054
+ }
1055
+
1056
+ @utility bg-btn-brand-disabled {
1057
+ background-color: var(--color-base-white);
1058
+
1059
+ @variant dark {
1060
+ background-color: var(--color-base-black);
1061
+ }
1062
+ }
1063
+
1064
+ @utility bg-btn-primary {
1065
+ background-color: var(--color-neutral-800);
1066
+
1067
+ @variant dark {
1068
+ background-color: var(--color-neutral-200);
1069
+ }
1070
+ }
1071
+
1072
+ @utility bg-btn-primary-hover {
1073
+ background-color: var(--color-neutral-900);
1074
+
1075
+ @variant dark {
1076
+ background-color: var(--color-neutral-100);
1077
+ }
1078
+ }
1079
+
1080
+ @utility bg-btn-primary-active {
1081
+ background-color: var(--color-base-black);
1082
+
1083
+ @variant dark {
1084
+ background-color: var(--color-base-white);
1085
+ }
1086
+ }
1087
+
1088
+ @utility bg-btn-primary-disabled {
1089
+ background-color: var(--color-neutral-800);
1090
+ opacity: 0.4;
1091
+
1092
+ @variant dark {
1093
+ background-color: var(--color-neutral-200);
1094
+ opacity: 0.4;
1095
+ }
1096
+ }
1097
+
1098
+ @utility bg-btn-secondary {
1099
+ background-color: var(--color-neutral-200);
1100
+
1101
+ @variant dark {
1102
+ background-color: var(--color-neutral-800);
1103
+ }
1104
+ }
1105
+
1106
+ @utility bg-btn-secondary-hover {
1107
+ background-color: var(--color-neutral-300);
1108
+
1109
+ @variant dark {
1110
+ background-color: var(--color-neutral-700);
1111
+ }
1112
+ }
1113
+
1114
+ @utility bg-btn-secondary-active {
1115
+ background-color: var(--color-neutral-400);
1116
+
1117
+ @variant dark {
1118
+ background-color: var(--color-neutral-600);
1119
+ }
1120
+ }
1121
+
1122
+ @utility bg-btn-secondary-disabled {
1123
+ background-color: var(--color-neutral-200);
1124
+ opacity: 0.4;
1125
+
1126
+ @variant dark {
1127
+ background-color: var(--color-neutral-800);
1128
+ opacity: 0.4;
1129
+ }
1130
+ }
1131
+
1132
+ @utility bg-btn-destructive {
1133
+ background-color: var(--color-feedback-red-600);
1134
+
1135
+ @variant dark {
1136
+ background-color: var(--color-feedback-red-400);
1137
+ }
1138
+ }
1139
+
1140
+ @utility bg-btn-destructive-hover {
1141
+ background-color: var(--color-feedback-red-700);
1142
+
1143
+ @variant dark {
1144
+ background-color: var(--color-feedback-red-500);
1145
+ }
1146
+ }
1147
+
1148
+ @utility bg-btn-destructive-active {
1149
+ background-color: var(--color-feedback-red-800);
1150
+
1151
+ @variant dark {
1152
+ background-color: var(--color-feedback-red-600);
1153
+ }
1154
+ }
1155
+
1156
+ @utility bg-btn-destructive-disabled {
1157
+ background-color: var(--color-feedback-red-600);
1158
+ opacity: 0.4;
1159
+
1160
+ @variant dark {
1161
+ background-color: var(--color-feedback-red-400);
1162
+ opacity: 0.4;
1163
+ }
1164
+ }
1165
+
1166
+ /* Surface Background utilities */
834
1167
  @utility bg-surface-primary-default {
835
1168
  background-color: var(--bg-surface-primary-default);
836
1169
  }
@@ -970,7 +1303,6 @@
970
1303
  background-color: var(--bg-warning-softest);
971
1304
  }
972
1305
 
973
-
974
1306
  @layer utilities {
975
1307
  .devicon-devicon-plain {
976
1308
  max-width: 2em;
@@ -1114,5 +1446,3 @@
1114
1446
  --ease-out-expo: var(--ease-out-expo);
1115
1447
  --ease-out-circ: var(--ease-out-circ);
1116
1448
  }
1117
-
1118
-
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Auto-generated TypeScript definitions for Moonshine utilities
3
- * Generated on: 2025-09-04T14:27:18.280Z
3
+ * Generated on: 2025-09-11T13:02:12.681Z
4
4
  *
5
5
  * DO NOT EDIT THIS FILE DIRECTLY
6
6
  * Run 'pnpm generate:docs' to update
@@ -68,7 +68,33 @@ export type MoonshineUtilities =
68
68
  | 'text-link-success'
69
69
  | 'text-default-warning'
70
70
  | 'text-link-warning'
71
+ | 'text-btn-brand'
72
+ | 'text-btn-brand-hover'
73
+ | 'text-btn-brand-active'
74
+ | 'text-btn-brand-disabled'
75
+ | 'text-btn-primary'
76
+ | 'text-btn-primary-hover'
77
+ | 'text-btn-primary-active'
78
+ | 'text-btn-primary-disabled'
79
+ | 'text-btn-secondary'
80
+ | 'text-btn-secondary-hover'
81
+ | 'text-btn-secondary-active'
82
+ | 'text-btn-secondary-disabled'
83
+ | 'text-btn-tertiary'
84
+ | 'text-btn-tertiary-hover'
85
+ | 'text-btn-tertiary-active'
86
+ | 'text-btn-tertiary-disabled'
87
+ | 'text-btn-destructive-primary'
88
+ | 'text-btn-destructive-primary-hover'
89
+ | 'text-btn-destructive-primary-active'
90
+ | 'text-btn-destructive-primary-disabled'
91
+ | 'text-btn-destructive-secondary'
92
+ | 'text-btn-destructive-secondary-hover'
93
+ | 'text-btn-destructive-secondary-active'
94
+ | 'text-btn-destructive-secondary-disabled'
71
95
  | 'bg-gradient-primary'
96
+ | 'bg-gradient-green'
97
+ | 'bg-gradient-red'
72
98
  | 'border-gradient-primary'
73
99
  | 'bg-surface-primary'
74
100
  | 'bg-surface-secondary'
@@ -158,6 +184,22 @@ export type MoonshineUtilities =
158
184
  | 'stroke-warning-highlight'
159
185
  | 'stroke-warning-default'
160
186
  | 'stroke-warning-muted'
187
+ | 'bg-btn-brand'
188
+ | 'bg-btn-brand-hover'
189
+ | 'bg-btn-brand-active'
190
+ | 'bg-btn-brand-disabled'
191
+ | 'bg-btn-primary'
192
+ | 'bg-btn-primary-hover'
193
+ | 'bg-btn-primary-active'
194
+ | 'bg-btn-primary-disabled'
195
+ | 'bg-btn-secondary'
196
+ | 'bg-btn-secondary-hover'
197
+ | 'bg-btn-secondary-active'
198
+ | 'bg-btn-secondary-disabled'
199
+ | 'bg-btn-destructive'
200
+ | 'bg-btn-destructive-hover'
201
+ | 'bg-btn-destructive-active'
202
+ | 'bg-btn-destructive-disabled'
161
203
  | 'bg-surface-primary-default'
162
204
  | 'bg-surface-primary-inverse'
163
205
  | 'bg-surface-secondary-default'