@speakeasy-api/moonshine 1.25.1 → 1.26.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.
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 -0
  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.0",
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
@@ -412,11 +412,208 @@
412
412
  color: var(--text-link-warning);
413
413
  }
414
414
 
415
+ /* Button Text Colors */
416
+ @utility text-btn-brand {
417
+ color: var(--color-neutral-900);
418
+
419
+ @variant dark {
420
+ color: var(--color-neutral-100);
421
+ }
422
+ }
423
+
424
+ @utility text-btn-brand-hover {
425
+ color: var(--color-base-black);
426
+
427
+ @variant dark {
428
+ color: var(--color-base-white);
429
+ }
430
+ }
431
+
432
+ @utility text-btn-brand-active {
433
+ color: var(--color-base-black);
434
+
435
+ @variant dark {
436
+ color: var(--color-base-white);
437
+ }
438
+ }
439
+
440
+ @utility text-btn-brand-disabled {
441
+ color: var(--color-neutral-900);
442
+ opacity: 0.4;
443
+
444
+ @variant dark {
445
+ color: var(--color-neutral-100);
446
+ opacity: 0.4;
447
+ }
448
+ }
449
+
450
+ @utility text-btn-primary {
451
+ color: var(--color-base-white);
452
+
453
+ @variant dark {
454
+ color: var(--color-base-black);
455
+ }
456
+ }
457
+
458
+ @utility text-btn-primary-hover {
459
+ color: var(--color-base-white);
460
+
461
+ @variant dark {
462
+ color: var(--color-base-black);
463
+ }
464
+ }
465
+
466
+ @utility text-btn-primary-active {
467
+ color: var(--color-base-white);
468
+
469
+ @variant dark {
470
+ color: var(--color-base-black);
471
+ }
472
+ }
473
+
474
+ @utility text-btn-primary-disabled {
475
+ color: var(--color-base-white);
476
+ opacity: 0.4;
477
+
478
+ @variant dark {
479
+ color: var(--color-base-black);
480
+ opacity: 0.4;
481
+ }
482
+ }
483
+
484
+ @utility text-btn-secondary {
485
+ color: var(--color-neutral-900);
486
+
487
+ @variant dark {
488
+ color: var(--color-neutral-100);
489
+ }
490
+ }
491
+
492
+ @utility text-btn-secondary-hover {
493
+ color: var(--color-base-black);
494
+
495
+ @variant dark {
496
+ color: var(--color-base-white);
497
+ }
498
+ }
499
+
500
+ @utility text-btn-secondary-active {
501
+ color: var(--color-base-black);
502
+
503
+ @variant dark {
504
+ color: var(--color-base-white);
505
+ }
506
+ }
507
+
508
+ @utility text-btn-secondary-disabled {
509
+ color: var(--color-neutral-900);
510
+ opacity: 0.4;
511
+
512
+ @variant dark {
513
+ color: var(--color-neutral-100);
514
+ opacity: 0.4;
515
+ }
516
+ }
517
+
518
+ @utility text-btn-tertiary {
519
+ color: var(--color-neutral-900);
520
+
521
+ @variant dark {
522
+ color: var(--color-neutral-100);
523
+ }
524
+ }
525
+
526
+ @utility text-btn-tertiary-hover {
527
+ color: var(--color-base-black);
528
+
529
+ @variant dark {
530
+ color: var(--color-base-white);
531
+ }
532
+ }
533
+
534
+ @utility text-btn-tertiary-active {
535
+ color: var(--color-base-black);
536
+
537
+ @variant dark {
538
+ color: var(--color-base-white);
539
+ }
540
+ }
541
+
542
+ @utility text-btn-tertiary-disabled {
543
+ color: var(--color-neutral-900);
544
+ opacity: 0.4;
545
+
546
+ @variant dark {
547
+ color: var(--color-neutral-100);
548
+ opacity: 0.4;
549
+ }
550
+ }
551
+
552
+ @utility text-btn-destructive-primary {
553
+ color: var(--color-base-white);
554
+ }
555
+
556
+ @utility text-btn-destructive-primary-hover {
557
+ color: var(--color-base-white);
558
+ }
559
+
560
+ @utility text-btn-destructive-primary-active {
561
+ color: var(--color-base-white);
562
+ }
563
+
564
+ @utility text-btn-destructive-primary-disabled {
565
+ color: var(--color-base-white);
566
+ opacity: 0.4;
567
+ }
568
+
569
+ @utility text-btn-destructive-secondary {
570
+ color: var(--color-feedback-red-600);
571
+
572
+ @variant dark {
573
+ color: var(--color-feedback-red-400);
574
+ }
575
+ }
576
+
577
+ @utility text-btn-destructive-secondary-hover {
578
+ color: var(--color-feedback-red-700);
579
+
580
+ @variant dark {
581
+ color: var(--color-feedback-red-500);
582
+ }
583
+ }
584
+
585
+ @utility text-btn-destructive-secondary-active {
586
+ color: var(--color-feedback-red-800);
587
+
588
+ @variant dark {
589
+ color: var(--color-feedback-red-600);
590
+ }
591
+ }
592
+
593
+ @utility text-btn-destructive-secondary-disabled {
594
+ color: var(--color-feedback-red-600);
595
+ opacity: 0.4;
596
+
597
+ @variant dark {
598
+ color: var(--color-feedback-red-400);
599
+ opacity: 0.4;
600
+ }
601
+ }
602
+
415
603
 
416
604
  @utility bg-gradient-primary {
417
605
  background: var(--gradient-brand-primary);
418
606
  }
419
607
 
608
+ /* TODO: check with others on the naming convention for brand gradient utilities */
609
+ @utility bg-gradient-green {
610
+ background: var(--gradient-brand-green);
611
+ }
612
+
613
+ @utility bg-gradient-red {
614
+ background: var(--gradient-brand-red);
615
+ }
616
+
420
617
  @utility border-gradient-primary {
421
618
  border-image: var(--gradient-brand-primary) 1;
422
619
  }
@@ -831,6 +1028,145 @@
831
1028
  /* ============================================
832
1029
  * BACKGROUNDS
833
1030
  * ============================================ */
1031
+
1032
+ /* Button Background utilities
1033
+ * Figma: Surface/Button/{Variant}/bg-{state} → Code: bg-btn-{variant}-{state}
1034
+ * Follows Tailwind conventions: bg-*, rest state has no suffix */
1035
+ @utility bg-btn-brand {
1036
+ background-color: var(--color-base-white);
1037
+
1038
+ @variant dark {
1039
+ background-color: var(--color-base-black);
1040
+ }
1041
+ }
1042
+
1043
+ @utility bg-btn-brand-hover {
1044
+ background-color: var(--color-neutral-100);
1045
+
1046
+ @variant dark {
1047
+ background-color: var(--color-neutral-900);
1048
+ }
1049
+ }
1050
+
1051
+ @utility bg-btn-brand-active {
1052
+ background-color: var(--color-neutral-200);
1053
+
1054
+ @variant dark {
1055
+ background-color: var(--color-neutral-800);
1056
+ }
1057
+ }
1058
+
1059
+ @utility bg-btn-brand-disabled {
1060
+ background-color: var(--color-base-white);
1061
+
1062
+ @variant dark {
1063
+ background-color: var(--color-base-black);
1064
+ }
1065
+ }
1066
+
1067
+ @utility bg-btn-primary {
1068
+ background-color: var(--color-neutral-700);
1069
+
1070
+ @variant dark {
1071
+ background-color: var(--color-neutral-300);
1072
+ }
1073
+ }
1074
+
1075
+ @utility bg-btn-primary-hover {
1076
+ background-color: var(--color-neutral-800);
1077
+
1078
+ @variant dark {
1079
+ background-color: var(--color-neutral-200);
1080
+ }
1081
+ }
1082
+
1083
+ @utility bg-btn-primary-active {
1084
+ background-color: var(--color-neutral-900);
1085
+
1086
+ @variant dark {
1087
+ background-color: var(--color-neutral-100);
1088
+ }
1089
+ }
1090
+
1091
+ @utility bg-btn-primary-disabled {
1092
+ background-color: var(--color-neutral-900);
1093
+ opacity: 0.4;
1094
+
1095
+ @variant dark {
1096
+ background-color: var(--color-neutral-100);
1097
+ opacity: 0.4;
1098
+ }
1099
+ }
1100
+
1101
+ @utility bg-btn-secondary {
1102
+ background-color: var(--color-neutral-200);
1103
+
1104
+ @variant dark {
1105
+ background-color: var(--color-neutral-800);
1106
+ }
1107
+ }
1108
+
1109
+ @utility bg-btn-secondary-hover {
1110
+ background-color: var(--color-neutral-300);
1111
+
1112
+ @variant dark {
1113
+ background-color: var(--color-neutral-700);
1114
+ }
1115
+ }
1116
+
1117
+ @utility bg-btn-secondary-active {
1118
+ background-color: var(--color-neutral-400);
1119
+
1120
+ @variant dark {
1121
+ background-color: var(--color-neutral-600);
1122
+ }
1123
+ }
1124
+
1125
+ @utility bg-btn-secondary-disabled {
1126
+ background-color: var(--color-neutral-200);
1127
+ opacity: 0.4;
1128
+
1129
+ @variant dark {
1130
+ background-color: var(--color-neutral-800);
1131
+ opacity: 0.4;
1132
+ }
1133
+ }
1134
+
1135
+ @utility bg-btn-destructive {
1136
+ background-color: var(--color-feedback-red-600);
1137
+
1138
+ @variant dark {
1139
+ background-color: var(--color-feedback-red-400);
1140
+ }
1141
+ }
1142
+
1143
+ @utility bg-btn-destructive-hover {
1144
+ background-color: var(--color-feedback-red-700);
1145
+
1146
+ @variant dark {
1147
+ background-color: var(--color-feedback-red-500);
1148
+ }
1149
+ }
1150
+
1151
+ @utility bg-btn-destructive-active {
1152
+ background-color: var(--color-feedback-red-800);
1153
+
1154
+ @variant dark {
1155
+ background-color: var(--color-feedback-red-600);
1156
+ }
1157
+ }
1158
+
1159
+ @utility bg-btn-destructive-disabled {
1160
+ background-color: var(--color-feedback-red-600);
1161
+ opacity: 0.4;
1162
+
1163
+ @variant dark {
1164
+ background-color: var(--color-feedback-red-400);
1165
+ opacity: 0.4;
1166
+ }
1167
+ }
1168
+
1169
+ /* Surface Background utilities */
834
1170
  @utility bg-surface-primary-default {
835
1171
  background-color: var(--bg-surface-primary-default);
836
1172
  }
@@ -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-10T14:50:47.442Z
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'