@phcdevworks/spectre-ui 1.3.0 → 1.5.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 +1 -0
- package/dist/base.css +7 -7
- package/dist/components.css +118 -14
- package/dist/index.cjs +49 -15
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +118 -14
- package/dist/index.d.cts +15 -21
- package/dist/index.d.ts +15 -21
- package/dist/index.js +49 -16
- package/dist/index.js.map +1 -1
- package/dist/utilities.css +7 -7
- package/package.json +15 -12
package/dist/index.css
CHANGED
|
@@ -212,9 +212,9 @@
|
|
|
212
212
|
--sp-icon-box-icon-warning: #d48806;
|
|
213
213
|
--sp-icon-box-icon-danger: #dc2626;
|
|
214
214
|
--sp-shadow-none: none;
|
|
215
|
-
--sp-shadow-sm: 0 1px 2px 0 rgba(
|
|
216
|
-
--sp-shadow-md: 0 2px 6px -1px rgba(
|
|
217
|
-
--sp-shadow-lg: 0 6px 16px -4px rgba(
|
|
215
|
+
--sp-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.06);
|
|
216
|
+
--sp-shadow-md: 0 2px 6px -1px rgba(0, 0, 0, 0.08);
|
|
217
|
+
--sp-shadow-lg: 0 6px 16px -4px rgba(0, 0, 0, 0.12);
|
|
218
218
|
--sp-breakpoint-sm: 640px;
|
|
219
219
|
--sp-breakpoint-md: 768px;
|
|
220
220
|
--sp-breakpoint-lg: 1024px;
|
|
@@ -298,9 +298,9 @@
|
|
|
298
298
|
--sp-button-cta-textdisabled: #8a96ad;
|
|
299
299
|
--sp-button-cta-shadow: 0 4px 14px 0 rgba(51, 109, 244, 0.39);
|
|
300
300
|
--sp-button-cta-focusring: rgba(51, 109, 244, 0.4);
|
|
301
|
-
--sp-button-accent-bg: #
|
|
302
|
-
--sp-button-accent-bghover: #
|
|
303
|
-
--sp-button-accent-bgactive: #
|
|
301
|
+
--sp-button-accent-bg: #5d28b8;
|
|
302
|
+
--sp-button-accent-bghover: #4d2393;
|
|
303
|
+
--sp-button-accent-bgactive: #401f75;
|
|
304
304
|
--sp-button-accent-bgdisabled: #ddccff;
|
|
305
305
|
--sp-button-accent-text: #ffffff;
|
|
306
306
|
--sp-button-accent-textdisabled: #8a96ad;
|
|
@@ -353,7 +353,7 @@
|
|
|
353
353
|
--sp-surface-page: #141b24;
|
|
354
354
|
--sp-surface-card: #222b38;
|
|
355
355
|
--sp-surface-input: #374253;
|
|
356
|
-
--sp-surface-overlay:
|
|
356
|
+
--sp-surface-overlay: rgba(0, 0, 0, 0.6);
|
|
357
357
|
--sp-surface-alternate: #222b38;
|
|
358
358
|
--sp-surface-hero: linear-gradient(135deg, #5d28b8 0%, #401f75 100%);
|
|
359
359
|
--sp-text-on-page-default: #f7f8fb;
|
|
@@ -564,6 +564,10 @@
|
|
|
564
564
|
--sp-component-badge-neutral-text: var(--sp-badge-neutral-text);
|
|
565
565
|
--sp-component-badge-info-bg: var(--sp-badge-info-bg);
|
|
566
566
|
--sp-component-badge-info-text: var(--sp-badge-info-text);
|
|
567
|
+
--sp-component-badge-ghost-bg: var(--sp-button-ghost-bg);
|
|
568
|
+
--sp-component-badge-ghost-text: var(--sp-button-ghost-text);
|
|
569
|
+
--sp-component-badge-accent-bg: var(--sp-button-accent-bg);
|
|
570
|
+
--sp-component-badge-accent-text: var(--sp-button-accent-text);
|
|
567
571
|
|
|
568
572
|
/* badge hover states derived from Spectre token semantics */
|
|
569
573
|
--sp-component-badge-primary-bg-hover: var(--sp-button-primary-bghover);
|
|
@@ -573,6 +577,8 @@
|
|
|
573
577
|
--sp-component-badge-danger-bg-hover: var(--sp-color-error-200);
|
|
574
578
|
--sp-component-badge-neutral-bg-hover: var(--sp-color-neutral-200);
|
|
575
579
|
--sp-component-badge-info-bg-hover: var(--sp-color-info-200);
|
|
580
|
+
--sp-component-badge-ghost-bg-hover: var(--sp-button-ghost-bghover);
|
|
581
|
+
--sp-component-badge-accent-bg-hover: var(--sp-button-accent-bghover);
|
|
576
582
|
|
|
577
583
|
--sp-component-badge-padding-x-sm: var(--sp-space-8);
|
|
578
584
|
--sp-component-badge-padding-x-md: var(--sp-space-12);
|
|
@@ -591,30 +597,41 @@
|
|
|
591
597
|
--sp-component-iconbox-success-bg: var(--sp-color-success-50);
|
|
592
598
|
--sp-component-iconbox-success-text: var(--sp-icon-box-icon-success);
|
|
593
599
|
--sp-component-iconbox-warning-bg: var(--sp-color-warning-50);
|
|
594
|
-
--sp-component-iconbox-warning-text: var(--sp-
|
|
600
|
+
--sp-component-iconbox-warning-text: var(--sp-icon-box-icon-warning);
|
|
595
601
|
--sp-component-iconbox-danger-bg: var(--sp-color-error-50);
|
|
596
602
|
--sp-component-iconbox-danger-text: var(--sp-icon-box-icon-danger);
|
|
597
603
|
--sp-component-iconbox-info-bg: var(--sp-color-info-50);
|
|
598
604
|
--sp-component-iconbox-info-text: var(--sp-badge-info-text);
|
|
605
|
+
--sp-component-iconbox-secondary-bg: var(--sp-button-secondary-bg);
|
|
606
|
+
--sp-component-iconbox-secondary-text: var(--sp-button-secondary-text);
|
|
607
|
+
--sp-component-iconbox-secondary-border: var(--sp-button-secondary-border);
|
|
608
|
+
--sp-component-iconbox-neutral-bg: var(--sp-color-neutral-50);
|
|
609
|
+
--sp-component-iconbox-neutral-text: var(--sp-badge-neutral-text);
|
|
610
|
+
--sp-component-iconbox-ghost-bg: var(--sp-button-ghost-bg);
|
|
611
|
+
--sp-component-iconbox-ghost-text: var(--sp-button-ghost-text);
|
|
612
|
+
--sp-component-iconbox-accent-bg: var(--sp-button-accent-bg);
|
|
613
|
+
--sp-component-iconbox-accent-text: var(--sp-button-accent-text);
|
|
599
614
|
|
|
600
615
|
/* testimonial roles */
|
|
601
616
|
--sp-component-testimonial-bg: var(--sp-surface-card);
|
|
617
|
+
--sp-component-testimonial-bg-hover: var(--sp-color-neutral-50);
|
|
602
618
|
--sp-component-testimonial-border: var(--sp-color-neutral-200);
|
|
603
619
|
--sp-component-testimonial-text: var(--sp-color-neutral-700);
|
|
604
620
|
--sp-component-testimonial-author-name: var(--sp-color-neutral-900);
|
|
605
|
-
--sp-component-testimonial-author-title: var(--sp-color-neutral-
|
|
606
|
-
--sp-component-testimonial-quote-mark: var(--sp-color-neutral-
|
|
621
|
+
--sp-component-testimonial-author-title: var(--sp-color-neutral-600);
|
|
622
|
+
--sp-component-testimonial-quote-mark: var(--sp-color-neutral-600);
|
|
607
623
|
|
|
608
624
|
/* pricing card roles */
|
|
609
625
|
--sp-component-pricing-card-bg: var(--sp-surface-card);
|
|
626
|
+
--sp-component-pricing-card-bg-hover: var(--sp-color-neutral-50);
|
|
610
627
|
--sp-component-pricing-card-border: var(--sp-color-neutral-200);
|
|
611
628
|
--sp-component-pricing-card-featured-bg: var(--sp-color-info-600);
|
|
612
629
|
--sp-component-pricing-card-featured-text: var(--sp-button-text-on-primary);
|
|
613
630
|
--sp-component-pricing-card-featured-badge-bg: var(--sp-color-warning-500);
|
|
614
631
|
--sp-component-pricing-card-featured-badge-text: var(--sp-color-neutral-900);
|
|
615
632
|
--sp-component-pricing-card-price: var(--sp-color-neutral-900);
|
|
616
|
-
--sp-component-pricing-card-featured-price: var(--sp-color-
|
|
617
|
-
--sp-component-pricing-card-price-description: var(--sp-color-neutral-
|
|
633
|
+
--sp-component-pricing-card-featured-price: var(--sp-color-white);
|
|
634
|
+
--sp-component-pricing-card-price-description: var(--sp-color-neutral-600);
|
|
618
635
|
|
|
619
636
|
/* rating roles */
|
|
620
637
|
--sp-component-rating-star-filled: var(--sp-color-warning-500);
|
|
@@ -627,14 +644,34 @@
|
|
|
627
644
|
|
|
628
645
|
/* dark mode overrides mapped from Spectre token mode definitions */
|
|
629
646
|
:where(:root[data-spectre-theme="dark"]) {
|
|
647
|
+
/* badge hover states remain manual as they are not currently exported as tokens */
|
|
648
|
+
--sp-component-badge-success-bg-hover: var(--sp-color-success-700);
|
|
649
|
+
--sp-component-badge-warning-bg-hover: var(--sp-color-warning-800);
|
|
650
|
+
--sp-component-badge-danger-bg-hover: var(--sp-color-error-700);
|
|
651
|
+
--sp-component-badge-neutral-bg-hover: var(--sp-color-neutral-600);
|
|
652
|
+
--sp-component-badge-info-bg-hover: var(--sp-color-info-700);
|
|
653
|
+
|
|
654
|
+
--sp-component-iconbox-primary-bg: var(--sp-color-neutral-800);
|
|
655
|
+
--sp-component-iconbox-primary-text: var(--sp-color-brand-400);
|
|
656
|
+
--sp-component-iconbox-success-bg: var(--sp-color-neutral-800);
|
|
657
|
+
--sp-component-iconbox-success-text: var(--sp-color-success-400);
|
|
658
|
+
--sp-component-iconbox-warning-bg: var(--sp-color-neutral-800);
|
|
659
|
+
--sp-component-iconbox-warning-text: var(--sp-color-warning-400);
|
|
660
|
+
--sp-component-iconbox-danger-bg: var(--sp-color-neutral-800);
|
|
661
|
+
--sp-component-iconbox-danger-text: var(--sp-color-error-400);
|
|
662
|
+
--sp-component-iconbox-info-bg: var(--sp-color-neutral-800);
|
|
663
|
+
--sp-component-iconbox-info-text: var(--sp-color-info-400);
|
|
664
|
+
|
|
630
665
|
--sp-component-testimonial-bg: var(--sp-color-neutral-800);
|
|
666
|
+
--sp-component-testimonial-bg-hover: var(--sp-color-neutral-700);
|
|
631
667
|
--sp-component-testimonial-border: var(--sp-color-neutral-700);
|
|
632
668
|
--sp-component-testimonial-text: var(--sp-color-neutral-200);
|
|
633
669
|
--sp-component-testimonial-author-name: var(--sp-color-neutral-100);
|
|
634
670
|
--sp-component-testimonial-author-title: var(--sp-color-neutral-300);
|
|
635
|
-
--sp-component-testimonial-quote-mark: var(--sp-color-neutral-
|
|
671
|
+
--sp-component-testimonial-quote-mark: var(--sp-color-neutral-300);
|
|
636
672
|
|
|
637
673
|
--sp-component-pricing-card-bg: var(--sp-color-neutral-800);
|
|
674
|
+
--sp-component-pricing-card-bg-hover: var(--sp-color-neutral-700);
|
|
638
675
|
--sp-component-pricing-card-border: var(--sp-color-neutral-700);
|
|
639
676
|
--sp-component-pricing-card-price: var(--sp-color-neutral-100);
|
|
640
677
|
--sp-component-pricing-card-price-description: var(--sp-color-neutral-300);
|
|
@@ -1024,7 +1061,8 @@
|
|
|
1024
1061
|
box-shadow: none;
|
|
1025
1062
|
}
|
|
1026
1063
|
|
|
1027
|
-
.sp-input--loading
|
|
1064
|
+
.sp-input--loading,
|
|
1065
|
+
.sp-input[aria-busy="true"] {
|
|
1028
1066
|
pointer-events: none;
|
|
1029
1067
|
opacity: var(--sp-opacity-active);
|
|
1030
1068
|
}
|
|
@@ -1131,6 +1169,10 @@
|
|
|
1131
1169
|
white-space: nowrap;
|
|
1132
1170
|
}
|
|
1133
1171
|
|
|
1172
|
+
.sp-badge--full {
|
|
1173
|
+
width: 100%;
|
|
1174
|
+
}
|
|
1175
|
+
|
|
1134
1176
|
.sp-badge--sm {
|
|
1135
1177
|
padding: var(--sp-component-badge-padding-y-sm) var(--sp-component-badge-padding-x-sm);
|
|
1136
1178
|
font-size: var(--sp-font-xs-size);
|
|
@@ -1227,6 +1269,28 @@
|
|
|
1227
1269
|
background-color: var(--sp-component-badge-info-bg-hover);
|
|
1228
1270
|
}
|
|
1229
1271
|
|
|
1272
|
+
.sp-badge--ghost {
|
|
1273
|
+
background-color: var(--sp-component-badge-ghost-bg);
|
|
1274
|
+
color: var(--sp-component-badge-ghost-text);
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
.sp-badge--ghost.sp-badge--interactive:hover,
|
|
1278
|
+
.sp-badge--ghost.sp-badge--interactive.sp-badge--hover,
|
|
1279
|
+
.sp-badge--ghost.sp-badge--interactive.is-hover {
|
|
1280
|
+
background-color: var(--sp-component-badge-ghost-bg-hover);
|
|
1281
|
+
}
|
|
1282
|
+
|
|
1283
|
+
.sp-badge--accent {
|
|
1284
|
+
background-color: var(--sp-component-badge-accent-bg);
|
|
1285
|
+
color: var(--sp-component-badge-accent-text);
|
|
1286
|
+
}
|
|
1287
|
+
|
|
1288
|
+
.sp-badge--accent.sp-badge--interactive:hover,
|
|
1289
|
+
.sp-badge--accent.sp-badge--interactive.sp-badge--hover,
|
|
1290
|
+
.sp-badge--accent.sp-badge--interactive.is-hover {
|
|
1291
|
+
background-color: var(--sp-component-badge-accent-bg-hover);
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1230
1294
|
.sp-badge--interactive {
|
|
1231
1295
|
cursor: pointer;
|
|
1232
1296
|
transition:
|
|
@@ -1269,6 +1333,7 @@
|
|
|
1269
1333
|
border-radius: var(--sp-component-iconbox-radius);
|
|
1270
1334
|
color: var(--sp-component-iconbox-primary-text);
|
|
1271
1335
|
background-color: var(--sp-component-iconbox-primary-bg);
|
|
1336
|
+
border: var(--sp-component-border-width) solid transparent;
|
|
1272
1337
|
font-family: var(--sp-font-family-sans);
|
|
1273
1338
|
font-weight: var(--sp-font-md-weight);
|
|
1274
1339
|
transition:
|
|
@@ -1348,6 +1413,12 @@
|
|
|
1348
1413
|
color: var(--sp-component-iconbox-primary-text);
|
|
1349
1414
|
}
|
|
1350
1415
|
|
|
1416
|
+
.sp-iconbox--secondary {
|
|
1417
|
+
background-color: var(--sp-component-iconbox-secondary-bg);
|
|
1418
|
+
color: var(--sp-component-iconbox-secondary-text);
|
|
1419
|
+
border-color: var(--sp-component-iconbox-secondary-border);
|
|
1420
|
+
}
|
|
1421
|
+
|
|
1351
1422
|
.sp-iconbox--success {
|
|
1352
1423
|
background-color: var(--sp-component-iconbox-success-bg);
|
|
1353
1424
|
color: var(--sp-component-iconbox-success-text);
|
|
@@ -1368,6 +1439,21 @@
|
|
|
1368
1439
|
color: var(--sp-component-iconbox-info-text);
|
|
1369
1440
|
}
|
|
1370
1441
|
|
|
1442
|
+
.sp-iconbox--neutral {
|
|
1443
|
+
background-color: var(--sp-component-iconbox-neutral-bg);
|
|
1444
|
+
color: var(--sp-component-iconbox-neutral-text);
|
|
1445
|
+
}
|
|
1446
|
+
|
|
1447
|
+
.sp-iconbox--ghost {
|
|
1448
|
+
background-color: var(--sp-component-iconbox-ghost-bg);
|
|
1449
|
+
color: var(--sp-component-iconbox-ghost-text);
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
.sp-iconbox--accent {
|
|
1453
|
+
background-color: var(--sp-component-iconbox-accent-bg);
|
|
1454
|
+
color: var(--sp-component-iconbox-accent-text);
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1371
1457
|
.sp-iconbox--interactive {
|
|
1372
1458
|
cursor: pointer;
|
|
1373
1459
|
}
|
|
@@ -1426,6 +1512,10 @@
|
|
|
1426
1512
|
pointer-events: none;
|
|
1427
1513
|
}
|
|
1428
1514
|
|
|
1515
|
+
.sp-testimonial--full {
|
|
1516
|
+
height: 100%;
|
|
1517
|
+
}
|
|
1518
|
+
|
|
1429
1519
|
.sp-testimonial--interactive {
|
|
1430
1520
|
cursor: pointer;
|
|
1431
1521
|
transition:
|
|
@@ -1440,6 +1530,7 @@
|
|
|
1440
1530
|
.sp-testimonial--interactive.is-hover {
|
|
1441
1531
|
transform: translateY(calc(var(--sp-component-border-width) * -1));
|
|
1442
1532
|
box-shadow: var(--sp-shadow-lg);
|
|
1533
|
+
background-color: var(--sp-component-testimonial-bg-hover);
|
|
1443
1534
|
}
|
|
1444
1535
|
|
|
1445
1536
|
.sp-testimonial--interactive:active,
|
|
@@ -1532,6 +1623,10 @@
|
|
|
1532
1623
|
pointer-events: none;
|
|
1533
1624
|
}
|
|
1534
1625
|
|
|
1626
|
+
.sp-pricing-card--full {
|
|
1627
|
+
height: 100%;
|
|
1628
|
+
}
|
|
1629
|
+
|
|
1535
1630
|
.sp-pricing-card--interactive {
|
|
1536
1631
|
cursor: pointer;
|
|
1537
1632
|
}
|
|
@@ -1542,6 +1637,7 @@
|
|
|
1542
1637
|
.sp-pricing-card--interactive.is-hover {
|
|
1543
1638
|
transform: translateY(calc(var(--sp-component-border-width) * -1));
|
|
1544
1639
|
box-shadow: var(--sp-shadow-lg);
|
|
1640
|
+
background-color: var(--sp-component-pricing-card-bg-hover);
|
|
1545
1641
|
}
|
|
1546
1642
|
|
|
1547
1643
|
.sp-pricing-card--featured.sp-pricing-card--interactive:hover,
|
|
@@ -1638,6 +1734,14 @@
|
|
|
1638
1734
|
font-size: var(--sp-component-rating-size-lg);
|
|
1639
1735
|
}
|
|
1640
1736
|
|
|
1737
|
+
.sp-rating--full {
|
|
1738
|
+
width: 100%;
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1741
|
+
.sp-rating--pill {
|
|
1742
|
+
border-radius: var(--sp-radius-pill);
|
|
1743
|
+
}
|
|
1744
|
+
|
|
1641
1745
|
.sp-rating:disabled,
|
|
1642
1746
|
.sp-rating[aria-disabled="true"],
|
|
1643
1747
|
.sp-rating--disabled {
|
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
declare const spectreBaseStylesPath = "@phcdevworks/spectre-ui/base.css";
|
|
2
2
|
declare const spectreComponentsStylesPath = "@phcdevworks/spectre-ui/components.css";
|
|
3
3
|
declare const spectreUtilitiesStylesPath = "@phcdevworks/spectre-ui/utilities.css";
|
|
4
|
+
declare const spectreIndexStylesPath = "@phcdevworks/spectre-ui/index.css";
|
|
4
5
|
declare const spectreStyles: {
|
|
5
6
|
index: string;
|
|
6
7
|
base: string;
|
|
@@ -24,10 +25,6 @@ declare const BUTTON_SIZES: {
|
|
|
24
25
|
};
|
|
25
26
|
type ButtonVariant = keyof typeof BUTTON_VARIANTS;
|
|
26
27
|
type ButtonSize = keyof typeof BUTTON_SIZES;
|
|
27
|
-
/**
|
|
28
|
-
* Generate classes for the Button component.
|
|
29
|
-
* @sync v2.x - Synced with latest design tokens, including CTA variants.
|
|
30
|
-
*/
|
|
31
28
|
interface ButtonRecipeOptions {
|
|
32
29
|
variant?: ButtonVariant;
|
|
33
30
|
size?: ButtonSize;
|
|
@@ -84,6 +81,8 @@ interface InputRecipeOptions {
|
|
|
84
81
|
focused?: boolean;
|
|
85
82
|
hovered?: boolean;
|
|
86
83
|
active?: boolean;
|
|
84
|
+
disabled?: boolean;
|
|
85
|
+
loading?: boolean;
|
|
87
86
|
}
|
|
88
87
|
declare function getInputClasses(opts?: InputRecipeOptions): string;
|
|
89
88
|
|
|
@@ -95,6 +94,8 @@ declare const BADGE_VARIANTS: {
|
|
|
95
94
|
readonly danger: true;
|
|
96
95
|
readonly neutral: true;
|
|
97
96
|
readonly info: true;
|
|
97
|
+
readonly ghost: true;
|
|
98
|
+
readonly accent: true;
|
|
98
99
|
};
|
|
99
100
|
declare const BADGE_SIZES: {
|
|
100
101
|
readonly sm: true;
|
|
@@ -103,10 +104,6 @@ declare const BADGE_SIZES: {
|
|
|
103
104
|
};
|
|
104
105
|
type BadgeVariant = keyof typeof BADGE_VARIANTS;
|
|
105
106
|
type BadgeSize = keyof typeof BADGE_SIZES;
|
|
106
|
-
/**
|
|
107
|
-
* Generate classes for the Badge component.
|
|
108
|
-
* @sync v2.x - Synced with latest design tokens, including hover states.
|
|
109
|
-
*/
|
|
110
107
|
interface BadgeRecipeOptions {
|
|
111
108
|
variant?: BadgeVariant;
|
|
112
109
|
size?: BadgeSize;
|
|
@@ -116,15 +113,20 @@ interface BadgeRecipeOptions {
|
|
|
116
113
|
active?: boolean;
|
|
117
114
|
disabled?: boolean;
|
|
118
115
|
loading?: boolean;
|
|
116
|
+
fullWidth?: boolean;
|
|
119
117
|
}
|
|
120
118
|
declare function getBadgeClasses(opts?: BadgeRecipeOptions): string;
|
|
121
119
|
|
|
122
120
|
declare const ICONBOX_VARIANTS: {
|
|
123
121
|
readonly primary: true;
|
|
122
|
+
readonly secondary: true;
|
|
124
123
|
readonly success: true;
|
|
125
124
|
readonly warning: true;
|
|
126
125
|
readonly danger: true;
|
|
127
126
|
readonly info: true;
|
|
127
|
+
readonly neutral: true;
|
|
128
|
+
readonly ghost: true;
|
|
129
|
+
readonly accent: true;
|
|
128
130
|
};
|
|
129
131
|
declare const ICONBOX_SIZES: {
|
|
130
132
|
readonly sm: true;
|
|
@@ -146,10 +148,6 @@ interface IconBoxRecipeOptions {
|
|
|
146
148
|
}
|
|
147
149
|
declare function getIconBoxClasses(opts?: IconBoxRecipeOptions): string;
|
|
148
150
|
|
|
149
|
-
/**
|
|
150
|
-
* Generate classes for the Testimonial component.
|
|
151
|
-
* @sync v2.x - Synced with latest design tokens.
|
|
152
|
-
*/
|
|
153
151
|
interface TestimonialRecipeOptions {
|
|
154
152
|
disabled?: boolean;
|
|
155
153
|
loading?: boolean;
|
|
@@ -157,6 +155,7 @@ interface TestimonialRecipeOptions {
|
|
|
157
155
|
hovered?: boolean;
|
|
158
156
|
focused?: boolean;
|
|
159
157
|
active?: boolean;
|
|
158
|
+
fullHeight?: boolean;
|
|
160
159
|
}
|
|
161
160
|
declare function getTestimonialClasses(opts?: TestimonialRecipeOptions): string;
|
|
162
161
|
declare function getTestimonialQuoteClasses(): string;
|
|
@@ -165,10 +164,6 @@ declare function getTestimonialAuthorInfoClasses(): string;
|
|
|
165
164
|
declare function getTestimonialAuthorNameClasses(): string;
|
|
166
165
|
declare function getTestimonialAuthorTitleClasses(): string;
|
|
167
166
|
|
|
168
|
-
/**
|
|
169
|
-
* Generate classes for the PricingCard component.
|
|
170
|
-
* @sync v2.x - Synced with latest design tokens.
|
|
171
|
-
*/
|
|
172
167
|
interface PricingCardRecipeOptions {
|
|
173
168
|
featured?: boolean;
|
|
174
169
|
disabled?: boolean;
|
|
@@ -177,6 +172,7 @@ interface PricingCardRecipeOptions {
|
|
|
177
172
|
hovered?: boolean;
|
|
178
173
|
focused?: boolean;
|
|
179
174
|
active?: boolean;
|
|
175
|
+
fullHeight?: boolean;
|
|
180
176
|
}
|
|
181
177
|
declare function getPricingCardClasses(opts?: PricingCardRecipeOptions): string;
|
|
182
178
|
declare function getPricingCardBadgeClasses(): string;
|
|
@@ -190,10 +186,6 @@ declare const RATING_SIZES: {
|
|
|
190
186
|
readonly lg: true;
|
|
191
187
|
};
|
|
192
188
|
type RatingSize = keyof typeof RATING_SIZES;
|
|
193
|
-
/**
|
|
194
|
-
* Generate classes for the Rating component.
|
|
195
|
-
* @sync v2.x - Synced with latest design tokens.
|
|
196
|
-
*/
|
|
197
189
|
interface RatingRecipeOptions {
|
|
198
190
|
size?: RatingSize;
|
|
199
191
|
disabled?: boolean;
|
|
@@ -202,10 +194,12 @@ interface RatingRecipeOptions {
|
|
|
202
194
|
hovered?: boolean;
|
|
203
195
|
focused?: boolean;
|
|
204
196
|
active?: boolean;
|
|
197
|
+
pill?: boolean;
|
|
198
|
+
fullWidth?: boolean;
|
|
205
199
|
}
|
|
206
200
|
declare function getRatingClasses(opts?: RatingRecipeOptions): string;
|
|
207
201
|
declare function getRatingStarsClasses(): string;
|
|
208
202
|
declare function getRatingStarClasses(isFilled?: boolean): string;
|
|
209
203
|
declare function getRatingTextClasses(): string;
|
|
210
204
|
|
|
211
|
-
export { type BadgeRecipeOptions, type BadgeSize, type BadgeVariant, type ButtonRecipeOptions, type ButtonSize, type ButtonVariant, type CardRecipeOptions, type CardVariant, type IconBoxRecipeOptions, type IconBoxSize, type IconBoxVariant, type InputRecipeOptions, type InputSize, type InputState, type PricingCardRecipeOptions, type RatingRecipeOptions, type TestimonialRecipeOptions, getBadgeClasses, getButtonClasses, getCardClasses, getIconBoxClasses, getInputClasses, getPricingCardBadgeClasses, getPricingCardClasses, getPricingCardDescriptionClasses, getPricingCardPriceClasses, getPricingCardPriceContainerClasses, getRatingClasses, getRatingStarClasses, getRatingStarsClasses, getRatingTextClasses, getTestimonialAuthorClasses, getTestimonialAuthorInfoClasses, getTestimonialAuthorNameClasses, getTestimonialAuthorTitleClasses, getTestimonialClasses, getTestimonialQuoteClasses, spectreBaseStylesPath, spectreComponentsStylesPath, spectreStyles, spectreUtilitiesStylesPath };
|
|
205
|
+
export { type BadgeRecipeOptions, type BadgeSize, type BadgeVariant, type ButtonRecipeOptions, type ButtonSize, type ButtonVariant, type CardRecipeOptions, type CardVariant, type IconBoxRecipeOptions, type IconBoxSize, type IconBoxVariant, type InputRecipeOptions, type InputSize, type InputState, type PricingCardRecipeOptions, type RatingRecipeOptions, type RatingSize, type TestimonialRecipeOptions, getBadgeClasses, getButtonClasses, getCardClasses, getIconBoxClasses, getInputClasses, getPricingCardBadgeClasses, getPricingCardClasses, getPricingCardDescriptionClasses, getPricingCardPriceClasses, getPricingCardPriceContainerClasses, getRatingClasses, getRatingStarClasses, getRatingStarsClasses, getRatingTextClasses, getTestimonialAuthorClasses, getTestimonialAuthorInfoClasses, getTestimonialAuthorNameClasses, getTestimonialAuthorTitleClasses, getTestimonialClasses, getTestimonialQuoteClasses, spectreBaseStylesPath, spectreComponentsStylesPath, spectreIndexStylesPath, spectreStyles, spectreUtilitiesStylesPath };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
declare const spectreBaseStylesPath = "@phcdevworks/spectre-ui/base.css";
|
|
2
2
|
declare const spectreComponentsStylesPath = "@phcdevworks/spectre-ui/components.css";
|
|
3
3
|
declare const spectreUtilitiesStylesPath = "@phcdevworks/spectre-ui/utilities.css";
|
|
4
|
+
declare const spectreIndexStylesPath = "@phcdevworks/spectre-ui/index.css";
|
|
4
5
|
declare const spectreStyles: {
|
|
5
6
|
index: string;
|
|
6
7
|
base: string;
|
|
@@ -24,10 +25,6 @@ declare const BUTTON_SIZES: {
|
|
|
24
25
|
};
|
|
25
26
|
type ButtonVariant = keyof typeof BUTTON_VARIANTS;
|
|
26
27
|
type ButtonSize = keyof typeof BUTTON_SIZES;
|
|
27
|
-
/**
|
|
28
|
-
* Generate classes for the Button component.
|
|
29
|
-
* @sync v2.x - Synced with latest design tokens, including CTA variants.
|
|
30
|
-
*/
|
|
31
28
|
interface ButtonRecipeOptions {
|
|
32
29
|
variant?: ButtonVariant;
|
|
33
30
|
size?: ButtonSize;
|
|
@@ -84,6 +81,8 @@ interface InputRecipeOptions {
|
|
|
84
81
|
focused?: boolean;
|
|
85
82
|
hovered?: boolean;
|
|
86
83
|
active?: boolean;
|
|
84
|
+
disabled?: boolean;
|
|
85
|
+
loading?: boolean;
|
|
87
86
|
}
|
|
88
87
|
declare function getInputClasses(opts?: InputRecipeOptions): string;
|
|
89
88
|
|
|
@@ -95,6 +94,8 @@ declare const BADGE_VARIANTS: {
|
|
|
95
94
|
readonly danger: true;
|
|
96
95
|
readonly neutral: true;
|
|
97
96
|
readonly info: true;
|
|
97
|
+
readonly ghost: true;
|
|
98
|
+
readonly accent: true;
|
|
98
99
|
};
|
|
99
100
|
declare const BADGE_SIZES: {
|
|
100
101
|
readonly sm: true;
|
|
@@ -103,10 +104,6 @@ declare const BADGE_SIZES: {
|
|
|
103
104
|
};
|
|
104
105
|
type BadgeVariant = keyof typeof BADGE_VARIANTS;
|
|
105
106
|
type BadgeSize = keyof typeof BADGE_SIZES;
|
|
106
|
-
/**
|
|
107
|
-
* Generate classes for the Badge component.
|
|
108
|
-
* @sync v2.x - Synced with latest design tokens, including hover states.
|
|
109
|
-
*/
|
|
110
107
|
interface BadgeRecipeOptions {
|
|
111
108
|
variant?: BadgeVariant;
|
|
112
109
|
size?: BadgeSize;
|
|
@@ -116,15 +113,20 @@ interface BadgeRecipeOptions {
|
|
|
116
113
|
active?: boolean;
|
|
117
114
|
disabled?: boolean;
|
|
118
115
|
loading?: boolean;
|
|
116
|
+
fullWidth?: boolean;
|
|
119
117
|
}
|
|
120
118
|
declare function getBadgeClasses(opts?: BadgeRecipeOptions): string;
|
|
121
119
|
|
|
122
120
|
declare const ICONBOX_VARIANTS: {
|
|
123
121
|
readonly primary: true;
|
|
122
|
+
readonly secondary: true;
|
|
124
123
|
readonly success: true;
|
|
125
124
|
readonly warning: true;
|
|
126
125
|
readonly danger: true;
|
|
127
126
|
readonly info: true;
|
|
127
|
+
readonly neutral: true;
|
|
128
|
+
readonly ghost: true;
|
|
129
|
+
readonly accent: true;
|
|
128
130
|
};
|
|
129
131
|
declare const ICONBOX_SIZES: {
|
|
130
132
|
readonly sm: true;
|
|
@@ -146,10 +148,6 @@ interface IconBoxRecipeOptions {
|
|
|
146
148
|
}
|
|
147
149
|
declare function getIconBoxClasses(opts?: IconBoxRecipeOptions): string;
|
|
148
150
|
|
|
149
|
-
/**
|
|
150
|
-
* Generate classes for the Testimonial component.
|
|
151
|
-
* @sync v2.x - Synced with latest design tokens.
|
|
152
|
-
*/
|
|
153
151
|
interface TestimonialRecipeOptions {
|
|
154
152
|
disabled?: boolean;
|
|
155
153
|
loading?: boolean;
|
|
@@ -157,6 +155,7 @@ interface TestimonialRecipeOptions {
|
|
|
157
155
|
hovered?: boolean;
|
|
158
156
|
focused?: boolean;
|
|
159
157
|
active?: boolean;
|
|
158
|
+
fullHeight?: boolean;
|
|
160
159
|
}
|
|
161
160
|
declare function getTestimonialClasses(opts?: TestimonialRecipeOptions): string;
|
|
162
161
|
declare function getTestimonialQuoteClasses(): string;
|
|
@@ -165,10 +164,6 @@ declare function getTestimonialAuthorInfoClasses(): string;
|
|
|
165
164
|
declare function getTestimonialAuthorNameClasses(): string;
|
|
166
165
|
declare function getTestimonialAuthorTitleClasses(): string;
|
|
167
166
|
|
|
168
|
-
/**
|
|
169
|
-
* Generate classes for the PricingCard component.
|
|
170
|
-
* @sync v2.x - Synced with latest design tokens.
|
|
171
|
-
*/
|
|
172
167
|
interface PricingCardRecipeOptions {
|
|
173
168
|
featured?: boolean;
|
|
174
169
|
disabled?: boolean;
|
|
@@ -177,6 +172,7 @@ interface PricingCardRecipeOptions {
|
|
|
177
172
|
hovered?: boolean;
|
|
178
173
|
focused?: boolean;
|
|
179
174
|
active?: boolean;
|
|
175
|
+
fullHeight?: boolean;
|
|
180
176
|
}
|
|
181
177
|
declare function getPricingCardClasses(opts?: PricingCardRecipeOptions): string;
|
|
182
178
|
declare function getPricingCardBadgeClasses(): string;
|
|
@@ -190,10 +186,6 @@ declare const RATING_SIZES: {
|
|
|
190
186
|
readonly lg: true;
|
|
191
187
|
};
|
|
192
188
|
type RatingSize = keyof typeof RATING_SIZES;
|
|
193
|
-
/**
|
|
194
|
-
* Generate classes for the Rating component.
|
|
195
|
-
* @sync v2.x - Synced with latest design tokens.
|
|
196
|
-
*/
|
|
197
189
|
interface RatingRecipeOptions {
|
|
198
190
|
size?: RatingSize;
|
|
199
191
|
disabled?: boolean;
|
|
@@ -202,10 +194,12 @@ interface RatingRecipeOptions {
|
|
|
202
194
|
hovered?: boolean;
|
|
203
195
|
focused?: boolean;
|
|
204
196
|
active?: boolean;
|
|
197
|
+
pill?: boolean;
|
|
198
|
+
fullWidth?: boolean;
|
|
205
199
|
}
|
|
206
200
|
declare function getRatingClasses(opts?: RatingRecipeOptions): string;
|
|
207
201
|
declare function getRatingStarsClasses(): string;
|
|
208
202
|
declare function getRatingStarClasses(isFilled?: boolean): string;
|
|
209
203
|
declare function getRatingTextClasses(): string;
|
|
210
204
|
|
|
211
|
-
export { type BadgeRecipeOptions, type BadgeSize, type BadgeVariant, type ButtonRecipeOptions, type ButtonSize, type ButtonVariant, type CardRecipeOptions, type CardVariant, type IconBoxRecipeOptions, type IconBoxSize, type IconBoxVariant, type InputRecipeOptions, type InputSize, type InputState, type PricingCardRecipeOptions, type RatingRecipeOptions, type TestimonialRecipeOptions, getBadgeClasses, getButtonClasses, getCardClasses, getIconBoxClasses, getInputClasses, getPricingCardBadgeClasses, getPricingCardClasses, getPricingCardDescriptionClasses, getPricingCardPriceClasses, getPricingCardPriceContainerClasses, getRatingClasses, getRatingStarClasses, getRatingStarsClasses, getRatingTextClasses, getTestimonialAuthorClasses, getTestimonialAuthorInfoClasses, getTestimonialAuthorNameClasses, getTestimonialAuthorTitleClasses, getTestimonialClasses, getTestimonialQuoteClasses, spectreBaseStylesPath, spectreComponentsStylesPath, spectreStyles, spectreUtilitiesStylesPath };
|
|
205
|
+
export { type BadgeRecipeOptions, type BadgeSize, type BadgeVariant, type ButtonRecipeOptions, type ButtonSize, type ButtonVariant, type CardRecipeOptions, type CardVariant, type IconBoxRecipeOptions, type IconBoxSize, type IconBoxVariant, type InputRecipeOptions, type InputSize, type InputState, type PricingCardRecipeOptions, type RatingRecipeOptions, type RatingSize, type TestimonialRecipeOptions, getBadgeClasses, getButtonClasses, getCardClasses, getIconBoxClasses, getInputClasses, getPricingCardBadgeClasses, getPricingCardClasses, getPricingCardDescriptionClasses, getPricingCardPriceClasses, getPricingCardPriceContainerClasses, getRatingClasses, getRatingStarClasses, getRatingStarsClasses, getRatingTextClasses, getTestimonialAuthorClasses, getTestimonialAuthorInfoClasses, getTestimonialAuthorNameClasses, getTestimonialAuthorTitleClasses, getTestimonialClasses, getTestimonialQuoteClasses, spectreBaseStylesPath, spectreComponentsStylesPath, spectreIndexStylesPath, spectreStyles, spectreUtilitiesStylesPath };
|