@phcdevworks/spectre-components 1.3.0 → 1.4.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 +359 -199
- package/dist/badge.cjs +450 -0
- package/dist/badge.cjs.map +1 -0
- package/dist/badge.d.cts +61 -0
- package/dist/badge.d.ts +61 -0
- package/dist/badge.js +445 -0
- package/dist/badge.js.map +1 -0
- package/dist/button.cjs.map +1 -1
- package/dist/button.d.cts +2 -2
- package/dist/button.d.ts +2 -2
- package/dist/button.js.map +1 -1
- package/dist/card.cjs +439 -0
- package/dist/card.cjs.map +1 -0
- package/dist/card.d.cts +67 -0
- package/dist/card.d.ts +67 -0
- package/dist/card.js +435 -0
- package/dist/card.js.map +1 -0
- package/dist/fieldset.cjs +14 -0
- package/dist/fieldset.cjs.map +1 -1
- package/dist/fieldset.d.cts +6 -0
- package/dist/fieldset.d.ts +6 -0
- package/dist/fieldset.js +14 -0
- package/dist/fieldset.js.map +1 -1
- package/dist/form-Dg6kuOS7.d.cts +18 -0
- package/dist/form-Dg6kuOS7.d.ts +18 -0
- package/dist/icon-box.cjs +462 -0
- package/dist/icon-box.cjs.map +1 -0
- package/dist/icon-box.d.cts +73 -0
- package/dist/icon-box.d.ts +73 -0
- package/dist/icon-box.js +457 -0
- package/dist/icon-box.js.map +1 -0
- package/dist/index.cjs +550 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +535 -2
- package/dist/index.js.map +1 -1
- package/dist/input.cjs.map +1 -1
- package/dist/input.d.cts +2 -2
- package/dist/input.d.ts +2 -2
- package/dist/input.js.map +1 -1
- package/dist/rating.cjs +373 -0
- package/dist/rating.cjs.map +1 -0
- package/dist/rating.d.cts +67 -0
- package/dist/rating.d.ts +67 -0
- package/dist/rating.js +369 -0
- package/dist/rating.js.map +1 -0
- package/dist/select.cjs +14 -0
- package/dist/select.cjs.map +1 -1
- package/dist/select.d.cts +7 -1
- package/dist/select.d.ts +7 -1
- package/dist/select.js +14 -0
- package/dist/select.js.map +1 -1
- package/dist/testimonial.cjs +433 -0
- package/dist/testimonial.cjs.map +1 -0
- package/dist/testimonial.d.cts +61 -0
- package/dist/testimonial.d.ts +61 -0
- package/dist/testimonial.js +429 -0
- package/dist/testimonial.js.map +1 -0
- package/dist/textarea.cjs.map +1 -1
- package/dist/textarea.d.cts +1 -1
- package/dist/textarea.d.ts +1 -1
- package/dist/textarea.js.map +1 -1
- package/package.json +35 -8
- package/dist/form-yR_u97J-.d.cts +0 -10
- package/dist/form-yR_u97J-.d.ts +0 -10
package/dist/index.cjs
CHANGED
|
@@ -43,6 +43,46 @@ var spectreInputTypes = [
|
|
|
43
43
|
function isInputType(value) {
|
|
44
44
|
return spectreInputTypes.includes(value);
|
|
45
45
|
}
|
|
46
|
+
var spectreBadgeVariants = [
|
|
47
|
+
"primary",
|
|
48
|
+
"secondary",
|
|
49
|
+
"success",
|
|
50
|
+
"warning",
|
|
51
|
+
"danger",
|
|
52
|
+
"neutral",
|
|
53
|
+
"info",
|
|
54
|
+
"ghost",
|
|
55
|
+
"outline",
|
|
56
|
+
"accent",
|
|
57
|
+
"cta"
|
|
58
|
+
];
|
|
59
|
+
function isBadgeVariant(value) {
|
|
60
|
+
return spectreBadgeVariants.includes(value);
|
|
61
|
+
}
|
|
62
|
+
var spectreCardVariants = ["elevated", "flat", "outline", "ghost"];
|
|
63
|
+
function isCardVariant(value) {
|
|
64
|
+
return spectreCardVariants.includes(value);
|
|
65
|
+
}
|
|
66
|
+
var spectreIconBoxVariants = [
|
|
67
|
+
"primary",
|
|
68
|
+
"secondary",
|
|
69
|
+
"success",
|
|
70
|
+
"warning",
|
|
71
|
+
"danger",
|
|
72
|
+
"info",
|
|
73
|
+
"neutral",
|
|
74
|
+
"ghost",
|
|
75
|
+
"accent",
|
|
76
|
+
"cta",
|
|
77
|
+
"outline"
|
|
78
|
+
];
|
|
79
|
+
function isIconBoxVariant(value) {
|
|
80
|
+
return spectreIconBoxVariants.includes(value);
|
|
81
|
+
}
|
|
82
|
+
var spectreTestimonialVariants = ["elevated", "flat", "outline", "ghost"];
|
|
83
|
+
function isTestimonialVariant(value) {
|
|
84
|
+
return spectreTestimonialVariants.includes(value);
|
|
85
|
+
}
|
|
46
86
|
function normalizeInt(value, fallback, min = 0) {
|
|
47
87
|
if (value == null || typeof value !== "number" || !Number.isInteger(value) || value < min) {
|
|
48
88
|
return fallback;
|
|
@@ -924,12 +964,24 @@ var SpectreSelectElement = class extends SpectreProjectableElement {
|
|
|
924
964
|
set title(value) {
|
|
925
965
|
super.title = value;
|
|
926
966
|
}
|
|
967
|
+
get autocapitalize() {
|
|
968
|
+
return super.autocapitalize;
|
|
969
|
+
}
|
|
970
|
+
set autocapitalize(value) {
|
|
971
|
+
super.autocapitalize = value;
|
|
972
|
+
}
|
|
927
973
|
get autofocus() {
|
|
928
974
|
return super.autofocus;
|
|
929
975
|
}
|
|
930
976
|
set autofocus(value) {
|
|
931
977
|
super.autofocus = value;
|
|
932
978
|
}
|
|
979
|
+
get spellcheck() {
|
|
980
|
+
return super.spellcheck;
|
|
981
|
+
}
|
|
982
|
+
set spellcheck(value) {
|
|
983
|
+
super.spellcheck = value;
|
|
984
|
+
}
|
|
933
985
|
getContentContainer() {
|
|
934
986
|
return this.querySelector("[data-sp-select-native]");
|
|
935
987
|
}
|
|
@@ -1025,6 +1077,7 @@ var SpectreSelectElement = class extends SpectreProjectableElement {
|
|
|
1025
1077
|
aria-invalid="${ifDefined_js.ifDefined(this.invalid ? "true" : void 0)}"
|
|
1026
1078
|
aria-label="${ifDefined_js.ifDefined(this.forwardedAriaLabel)}"
|
|
1027
1079
|
aria-labelledby="${ifDefined_js.ifDefined(this.forwardedAriaLabelledBy)}"
|
|
1080
|
+
autocapitalize="${ifDefined_js.ifDefined(this.autocapitalize || void 0)}"
|
|
1028
1081
|
autocomplete="${ifDefined_js.ifDefined(this.autocomplete || void 0)}"
|
|
1029
1082
|
?autofocus="${this.autofocus}"
|
|
1030
1083
|
class="${this.selectClasses}"
|
|
@@ -1034,6 +1087,7 @@ var SpectreSelectElement = class extends SpectreProjectableElement {
|
|
|
1034
1087
|
id="${ifDefined_js.ifDefined(this.id || void 0)}"
|
|
1035
1088
|
name="${ifDefined_js.ifDefined(this.name || void 0)}"
|
|
1036
1089
|
?required="${this.required}"
|
|
1090
|
+
spellcheck="${ifDefined_js.ifDefined(this.getAttribute("spellcheck") ?? void 0)}"
|
|
1037
1091
|
title="${ifDefined_js.ifDefined(this.title || void 0)}"
|
|
1038
1092
|
.value="${live_js.live(this.value)}"
|
|
1039
1093
|
@change="${this.handleChange}"
|
|
@@ -1447,12 +1501,24 @@ var SpectreFieldsetElement = class extends SpectreProjectableElement {
|
|
|
1447
1501
|
set title(value) {
|
|
1448
1502
|
super.title = value;
|
|
1449
1503
|
}
|
|
1504
|
+
get autocapitalize() {
|
|
1505
|
+
return super.autocapitalize;
|
|
1506
|
+
}
|
|
1507
|
+
set autocapitalize(value) {
|
|
1508
|
+
super.autocapitalize = value;
|
|
1509
|
+
}
|
|
1450
1510
|
get autofocus() {
|
|
1451
1511
|
return super.autofocus;
|
|
1452
1512
|
}
|
|
1453
1513
|
set autofocus(value) {
|
|
1454
1514
|
super.autofocus = value;
|
|
1455
1515
|
}
|
|
1516
|
+
get spellcheck() {
|
|
1517
|
+
return super.spellcheck;
|
|
1518
|
+
}
|
|
1519
|
+
set spellcheck(value) {
|
|
1520
|
+
super.spellcheck = value;
|
|
1521
|
+
}
|
|
1456
1522
|
get visibleLegend() {
|
|
1457
1523
|
const trimmedLegend = this.legend?.trim();
|
|
1458
1524
|
return trimmedLegend ? trimmedLegend : void 0;
|
|
@@ -1497,12 +1563,14 @@ var SpectreFieldsetElement = class extends SpectreProjectableElement {
|
|
|
1497
1563
|
aria-invalid="${ifDefined_js.ifDefined(this.invalid ? "true" : void 0)}"
|
|
1498
1564
|
aria-label="${ifDefined_js.ifDefined(this.forwardedAriaLabel)}"
|
|
1499
1565
|
aria-labelledby="${ifDefined_js.ifDefined(this.forwardedAriaLabelledBy)}"
|
|
1566
|
+
autocapitalize="${ifDefined_js.ifDefined(this.autocapitalize || void 0)}"
|
|
1500
1567
|
?autofocus="${this.autofocus}"
|
|
1501
1568
|
data-sp-fieldset-native
|
|
1502
1569
|
?disabled="${this.isDisabled}"
|
|
1503
1570
|
form="${ifDefined_js.ifDefined(this.form || void 0)}"
|
|
1504
1571
|
id="${ifDefined_js.ifDefined(this.id || void 0)}"
|
|
1505
1572
|
name="${ifDefined_js.ifDefined(this.name || void 0)}"
|
|
1573
|
+
spellcheck="${ifDefined_js.ifDefined(this.getAttribute("spellcheck") ?? void 0)}"
|
|
1506
1574
|
title="${ifDefined_js.ifDefined(this.title || void 0)}"
|
|
1507
1575
|
>
|
|
1508
1576
|
${this.visibleLegend ? lit.html`<legend
|
|
@@ -1530,6 +1598,466 @@ function defineSpectreFieldset(tagName = "sp-fieldset") {
|
|
|
1530
1598
|
customElements.define(tagName, SpectreFieldsetElement);
|
|
1531
1599
|
return SpectreFieldsetElement;
|
|
1532
1600
|
}
|
|
1601
|
+
var SpectreBadgeElement = class extends SpectreProjectableElement {
|
|
1602
|
+
constructor() {
|
|
1603
|
+
super(...arguments);
|
|
1604
|
+
this.disabled = false;
|
|
1605
|
+
this.fullWidth = false;
|
|
1606
|
+
this.loading = false;
|
|
1607
|
+
this.size = "md";
|
|
1608
|
+
this.variant = "primary";
|
|
1609
|
+
}
|
|
1610
|
+
get id() {
|
|
1611
|
+
return super.id;
|
|
1612
|
+
}
|
|
1613
|
+
set id(value) {
|
|
1614
|
+
super.id = value;
|
|
1615
|
+
}
|
|
1616
|
+
get title() {
|
|
1617
|
+
return super.title;
|
|
1618
|
+
}
|
|
1619
|
+
set title(value) {
|
|
1620
|
+
super.title = value;
|
|
1621
|
+
}
|
|
1622
|
+
getContentContainer() {
|
|
1623
|
+
return this.querySelector("[data-sp-badge-native]");
|
|
1624
|
+
}
|
|
1625
|
+
isInternalNode(node) {
|
|
1626
|
+
if (node.nodeType !== Node.ELEMENT_NODE) {
|
|
1627
|
+
return false;
|
|
1628
|
+
}
|
|
1629
|
+
const el = node;
|
|
1630
|
+
return el.hasAttribute("data-sp-badge-native");
|
|
1631
|
+
}
|
|
1632
|
+
willUpdate(changedProperties) {
|
|
1633
|
+
if (changedProperties.has("disabled") && this.disabled == null) {
|
|
1634
|
+
this.disabled = false;
|
|
1635
|
+
}
|
|
1636
|
+
if (changedProperties.has("fullWidth") && this.fullWidth == null) {
|
|
1637
|
+
this.fullWidth = false;
|
|
1638
|
+
}
|
|
1639
|
+
if (changedProperties.has("loading") && this.loading == null) {
|
|
1640
|
+
this.loading = false;
|
|
1641
|
+
}
|
|
1642
|
+
if (changedProperties.has("variant") && (this.variant == null || !isBadgeVariant(this.variant))) {
|
|
1643
|
+
this.variant = "primary";
|
|
1644
|
+
}
|
|
1645
|
+
if (changedProperties.has("size") && (this.size == null || !isInputSize(this.size))) {
|
|
1646
|
+
this.size = "md";
|
|
1647
|
+
}
|
|
1648
|
+
}
|
|
1649
|
+
get badgeClasses() {
|
|
1650
|
+
return spectreUi.getBadgeClasses({
|
|
1651
|
+
disabled: this.disabled ?? false,
|
|
1652
|
+
fullWidth: this.fullWidth ?? false,
|
|
1653
|
+
loading: this.loading ?? false,
|
|
1654
|
+
size: this.size,
|
|
1655
|
+
variant: this.variant
|
|
1656
|
+
});
|
|
1657
|
+
}
|
|
1658
|
+
render() {
|
|
1659
|
+
return lit.html`<span
|
|
1660
|
+
aria-describedby="${ifDefined_js.ifDefined(this.forwardedAriaDescribedBy)}"
|
|
1661
|
+
aria-label="${ifDefined_js.ifDefined(this.forwardedAriaLabel)}"
|
|
1662
|
+
aria-labelledby="${ifDefined_js.ifDefined(this.forwardedAriaLabelledBy)}"
|
|
1663
|
+
class="${this.badgeClasses}"
|
|
1664
|
+
data-sp-badge-native
|
|
1665
|
+
id="${ifDefined_js.ifDefined(this.id || void 0)}"
|
|
1666
|
+
title="${ifDefined_js.ifDefined(this.title || void 0)}"
|
|
1667
|
+
>
|
|
1668
|
+
${this.hasProjectedContent ? this.projectedContent : lit.nothing}
|
|
1669
|
+
</span>`;
|
|
1670
|
+
}
|
|
1671
|
+
};
|
|
1672
|
+
SpectreBadgeElement.properties = {
|
|
1673
|
+
disabled: { type: Boolean, reflect: true },
|
|
1674
|
+
fullWidth: { attribute: "full-width", type: Boolean, reflect: true },
|
|
1675
|
+
loading: { type: Boolean, reflect: true },
|
|
1676
|
+
size: { type: String, reflect: true },
|
|
1677
|
+
variant: { type: String, reflect: true }
|
|
1678
|
+
};
|
|
1679
|
+
function defineSpectreBadge(tagName = "sp-badge") {
|
|
1680
|
+
const existingElement = customElements.get(tagName);
|
|
1681
|
+
if (existingElement) {
|
|
1682
|
+
return existingElement;
|
|
1683
|
+
}
|
|
1684
|
+
customElements.define(tagName, SpectreBadgeElement);
|
|
1685
|
+
return SpectreBadgeElement;
|
|
1686
|
+
}
|
|
1687
|
+
var SpectreCardElement = class extends SpectreProjectableElement {
|
|
1688
|
+
constructor() {
|
|
1689
|
+
super(...arguments);
|
|
1690
|
+
this.disabled = false;
|
|
1691
|
+
this.fullHeight = false;
|
|
1692
|
+
this.interactive = false;
|
|
1693
|
+
this.loading = false;
|
|
1694
|
+
this.padded = true;
|
|
1695
|
+
this.variant = "elevated";
|
|
1696
|
+
}
|
|
1697
|
+
get id() {
|
|
1698
|
+
return super.id;
|
|
1699
|
+
}
|
|
1700
|
+
set id(value) {
|
|
1701
|
+
super.id = value;
|
|
1702
|
+
}
|
|
1703
|
+
get title() {
|
|
1704
|
+
return super.title;
|
|
1705
|
+
}
|
|
1706
|
+
set title(value) {
|
|
1707
|
+
super.title = value;
|
|
1708
|
+
}
|
|
1709
|
+
getContentContainer() {
|
|
1710
|
+
return this.querySelector("[data-sp-card-native]");
|
|
1711
|
+
}
|
|
1712
|
+
isInternalNode(node) {
|
|
1713
|
+
if (node.nodeType !== Node.ELEMENT_NODE) {
|
|
1714
|
+
return false;
|
|
1715
|
+
}
|
|
1716
|
+
const el = node;
|
|
1717
|
+
return el.hasAttribute("data-sp-card-native");
|
|
1718
|
+
}
|
|
1719
|
+
willUpdate(changedProperties) {
|
|
1720
|
+
if (changedProperties.has("disabled") && this.disabled == null) {
|
|
1721
|
+
this.disabled = false;
|
|
1722
|
+
}
|
|
1723
|
+
if (changedProperties.has("fullHeight") && this.fullHeight == null) {
|
|
1724
|
+
this.fullHeight = false;
|
|
1725
|
+
}
|
|
1726
|
+
if (changedProperties.has("interactive") && this.interactive == null) {
|
|
1727
|
+
this.interactive = false;
|
|
1728
|
+
}
|
|
1729
|
+
if (changedProperties.has("loading") && this.loading == null) {
|
|
1730
|
+
this.loading = false;
|
|
1731
|
+
}
|
|
1732
|
+
if (changedProperties.has("padded") && this.padded == null) {
|
|
1733
|
+
this.padded = true;
|
|
1734
|
+
}
|
|
1735
|
+
if (changedProperties.has("variant") && (this.variant == null || !isCardVariant(this.variant))) {
|
|
1736
|
+
this.variant = "elevated";
|
|
1737
|
+
}
|
|
1738
|
+
}
|
|
1739
|
+
get cardClasses() {
|
|
1740
|
+
return spectreUi.getCardClasses({
|
|
1741
|
+
disabled: this.disabled ?? false,
|
|
1742
|
+
fullHeight: this.fullHeight ?? false,
|
|
1743
|
+
interactive: this.interactive ?? false,
|
|
1744
|
+
loading: this.loading ?? false,
|
|
1745
|
+
padded: this.padded ?? true,
|
|
1746
|
+
variant: this.variant
|
|
1747
|
+
});
|
|
1748
|
+
}
|
|
1749
|
+
render() {
|
|
1750
|
+
return lit.html`<div
|
|
1751
|
+
aria-describedby="${ifDefined_js.ifDefined(this.forwardedAriaDescribedBy)}"
|
|
1752
|
+
aria-label="${ifDefined_js.ifDefined(this.forwardedAriaLabel)}"
|
|
1753
|
+
aria-labelledby="${ifDefined_js.ifDefined(this.forwardedAriaLabelledBy)}"
|
|
1754
|
+
class="${this.cardClasses}"
|
|
1755
|
+
data-sp-card-native
|
|
1756
|
+
id="${ifDefined_js.ifDefined(this.id || void 0)}"
|
|
1757
|
+
title="${ifDefined_js.ifDefined(this.title || void 0)}"
|
|
1758
|
+
>
|
|
1759
|
+
${this.hasProjectedContent ? this.projectedContent : lit.nothing}
|
|
1760
|
+
</div>`;
|
|
1761
|
+
}
|
|
1762
|
+
};
|
|
1763
|
+
SpectreCardElement.properties = {
|
|
1764
|
+
disabled: { type: Boolean, reflect: true },
|
|
1765
|
+
fullHeight: { attribute: "full-height", type: Boolean, reflect: true },
|
|
1766
|
+
interactive: { type: Boolean, reflect: true },
|
|
1767
|
+
loading: { type: Boolean, reflect: true },
|
|
1768
|
+
padded: { type: Boolean, reflect: true },
|
|
1769
|
+
variant: { type: String, reflect: true }
|
|
1770
|
+
};
|
|
1771
|
+
function defineSpectreCard(tagName = "sp-card") {
|
|
1772
|
+
const existingElement = customElements.get(tagName);
|
|
1773
|
+
if (existingElement) {
|
|
1774
|
+
return existingElement;
|
|
1775
|
+
}
|
|
1776
|
+
customElements.define(tagName, SpectreCardElement);
|
|
1777
|
+
return SpectreCardElement;
|
|
1778
|
+
}
|
|
1779
|
+
var SpectreIconBoxElement = class extends SpectreProjectableElement {
|
|
1780
|
+
constructor() {
|
|
1781
|
+
super(...arguments);
|
|
1782
|
+
this.disabled = false;
|
|
1783
|
+
this.fullWidth = false;
|
|
1784
|
+
this.interactive = false;
|
|
1785
|
+
this.loading = false;
|
|
1786
|
+
this.pill = false;
|
|
1787
|
+
this.size = "md";
|
|
1788
|
+
this.variant = "primary";
|
|
1789
|
+
}
|
|
1790
|
+
get id() {
|
|
1791
|
+
return super.id;
|
|
1792
|
+
}
|
|
1793
|
+
set id(value) {
|
|
1794
|
+
super.id = value;
|
|
1795
|
+
}
|
|
1796
|
+
get title() {
|
|
1797
|
+
return super.title;
|
|
1798
|
+
}
|
|
1799
|
+
set title(value) {
|
|
1800
|
+
super.title = value;
|
|
1801
|
+
}
|
|
1802
|
+
getContentContainer() {
|
|
1803
|
+
return this.querySelector("[data-sp-icon-box-native]");
|
|
1804
|
+
}
|
|
1805
|
+
isInternalNode(node) {
|
|
1806
|
+
if (node.nodeType !== Node.ELEMENT_NODE) {
|
|
1807
|
+
return false;
|
|
1808
|
+
}
|
|
1809
|
+
const el = node;
|
|
1810
|
+
return el.hasAttribute("data-sp-icon-box-native");
|
|
1811
|
+
}
|
|
1812
|
+
willUpdate(changedProperties) {
|
|
1813
|
+
if (changedProperties.has("disabled") && this.disabled == null) {
|
|
1814
|
+
this.disabled = false;
|
|
1815
|
+
}
|
|
1816
|
+
if (changedProperties.has("fullWidth") && this.fullWidth == null) {
|
|
1817
|
+
this.fullWidth = false;
|
|
1818
|
+
}
|
|
1819
|
+
if (changedProperties.has("interactive") && this.interactive == null) {
|
|
1820
|
+
this.interactive = false;
|
|
1821
|
+
}
|
|
1822
|
+
if (changedProperties.has("loading") && this.loading == null) {
|
|
1823
|
+
this.loading = false;
|
|
1824
|
+
}
|
|
1825
|
+
if (changedProperties.has("pill") && this.pill == null) {
|
|
1826
|
+
this.pill = false;
|
|
1827
|
+
}
|
|
1828
|
+
if (changedProperties.has("variant") && (this.variant == null || !isIconBoxVariant(this.variant))) {
|
|
1829
|
+
this.variant = "primary";
|
|
1830
|
+
}
|
|
1831
|
+
if (changedProperties.has("size") && (this.size == null || !isInputSize(this.size))) {
|
|
1832
|
+
this.size = "md";
|
|
1833
|
+
}
|
|
1834
|
+
}
|
|
1835
|
+
get iconBoxClasses() {
|
|
1836
|
+
return spectreUi.getIconBoxClasses({
|
|
1837
|
+
disabled: this.disabled ?? false,
|
|
1838
|
+
fullWidth: this.fullWidth ?? false,
|
|
1839
|
+
interactive: this.interactive ?? false,
|
|
1840
|
+
loading: this.loading ?? false,
|
|
1841
|
+
pill: this.pill ?? false,
|
|
1842
|
+
size: this.size,
|
|
1843
|
+
variant: this.variant
|
|
1844
|
+
});
|
|
1845
|
+
}
|
|
1846
|
+
render() {
|
|
1847
|
+
return lit.html`<div
|
|
1848
|
+
aria-describedby="${ifDefined_js.ifDefined(this.forwardedAriaDescribedBy)}"
|
|
1849
|
+
aria-label="${ifDefined_js.ifDefined(this.forwardedAriaLabel)}"
|
|
1850
|
+
aria-labelledby="${ifDefined_js.ifDefined(this.forwardedAriaLabelledBy)}"
|
|
1851
|
+
class="${this.iconBoxClasses}"
|
|
1852
|
+
data-sp-icon-box-native
|
|
1853
|
+
id="${ifDefined_js.ifDefined(this.id || void 0)}"
|
|
1854
|
+
title="${ifDefined_js.ifDefined(this.title || void 0)}"
|
|
1855
|
+
>
|
|
1856
|
+
${this.hasProjectedContent ? this.projectedContent : lit.nothing}
|
|
1857
|
+
</div>`;
|
|
1858
|
+
}
|
|
1859
|
+
};
|
|
1860
|
+
SpectreIconBoxElement.properties = {
|
|
1861
|
+
disabled: { type: Boolean, reflect: true },
|
|
1862
|
+
fullWidth: { attribute: "full-width", type: Boolean, reflect: true },
|
|
1863
|
+
interactive: { type: Boolean, reflect: true },
|
|
1864
|
+
loading: { type: Boolean, reflect: true },
|
|
1865
|
+
pill: { type: Boolean, reflect: true },
|
|
1866
|
+
size: { type: String, reflect: true },
|
|
1867
|
+
variant: { type: String, reflect: true }
|
|
1868
|
+
};
|
|
1869
|
+
function defineSpectreIconBox(tagName = "sp-icon-box") {
|
|
1870
|
+
const existingElement = customElements.get(tagName);
|
|
1871
|
+
if (existingElement) {
|
|
1872
|
+
return existingElement;
|
|
1873
|
+
}
|
|
1874
|
+
customElements.define(tagName, SpectreIconBoxElement);
|
|
1875
|
+
return SpectreIconBoxElement;
|
|
1876
|
+
}
|
|
1877
|
+
var SpectreRatingElement = class extends SpectreBaseElement {
|
|
1878
|
+
constructor() {
|
|
1879
|
+
super(...arguments);
|
|
1880
|
+
this.disabled = false;
|
|
1881
|
+
this.loading = false;
|
|
1882
|
+
this.max = 5;
|
|
1883
|
+
this.size = "md";
|
|
1884
|
+
this.value = 0;
|
|
1885
|
+
}
|
|
1886
|
+
get id() {
|
|
1887
|
+
return super.id;
|
|
1888
|
+
}
|
|
1889
|
+
set id(value) {
|
|
1890
|
+
super.id = value;
|
|
1891
|
+
}
|
|
1892
|
+
get title() {
|
|
1893
|
+
return super.title;
|
|
1894
|
+
}
|
|
1895
|
+
set title(value) {
|
|
1896
|
+
super.title = value;
|
|
1897
|
+
}
|
|
1898
|
+
willUpdate(changedProperties) {
|
|
1899
|
+
if (changedProperties.has("disabled") && this.disabled == null) {
|
|
1900
|
+
this.disabled = false;
|
|
1901
|
+
}
|
|
1902
|
+
if (changedProperties.has("loading") && this.loading == null) {
|
|
1903
|
+
this.loading = false;
|
|
1904
|
+
}
|
|
1905
|
+
if (changedProperties.has("size") && (this.size == null || !isInputSize(this.size))) {
|
|
1906
|
+
this.size = "md";
|
|
1907
|
+
}
|
|
1908
|
+
if (changedProperties.has("max")) {
|
|
1909
|
+
this.max = normalizeInt(this.max, 5, 1) ?? 5;
|
|
1910
|
+
}
|
|
1911
|
+
if (changedProperties.has("value")) {
|
|
1912
|
+
const safeMax = this.max ?? 5;
|
|
1913
|
+
const normalized = normalizeInt(this.value, 0, 0);
|
|
1914
|
+
this.value = normalized == null ? 0 : Math.min(normalized, safeMax);
|
|
1915
|
+
}
|
|
1916
|
+
}
|
|
1917
|
+
get ratingClasses() {
|
|
1918
|
+
return spectreUi.getRatingClasses({
|
|
1919
|
+
disabled: this.disabled ?? false,
|
|
1920
|
+
loading: this.loading ?? false,
|
|
1921
|
+
size: this.size
|
|
1922
|
+
});
|
|
1923
|
+
}
|
|
1924
|
+
get effectiveMax() {
|
|
1925
|
+
return this.max ?? 5;
|
|
1926
|
+
}
|
|
1927
|
+
get effectiveValue() {
|
|
1928
|
+
return this.value ?? 0;
|
|
1929
|
+
}
|
|
1930
|
+
get computedAriaLabel() {
|
|
1931
|
+
const base = this.forwardedAriaLabel;
|
|
1932
|
+
if (base) return base;
|
|
1933
|
+
return `Rating: ${this.effectiveValue} out of ${this.effectiveMax}`;
|
|
1934
|
+
}
|
|
1935
|
+
renderStars() {
|
|
1936
|
+
const stars = [];
|
|
1937
|
+
for (let i = 1; i <= this.effectiveMax; i++) {
|
|
1938
|
+
stars.push(lit.html`<span class="${spectreUi.getRatingStarClasses(i <= this.effectiveValue)}"></span>`);
|
|
1939
|
+
}
|
|
1940
|
+
return stars;
|
|
1941
|
+
}
|
|
1942
|
+
render() {
|
|
1943
|
+
const trimmedLabel = this.label?.trim();
|
|
1944
|
+
return lit.html`<div
|
|
1945
|
+
aria-describedby="${ifDefined_js.ifDefined(this.forwardedAriaDescribedBy)}"
|
|
1946
|
+
aria-label="${this.computedAriaLabel}"
|
|
1947
|
+
aria-labelledby="${ifDefined_js.ifDefined(this.forwardedAriaLabelledBy)}"
|
|
1948
|
+
class="${this.ratingClasses}"
|
|
1949
|
+
data-sp-rating-native
|
|
1950
|
+
id="${ifDefined_js.ifDefined(this.id || void 0)}"
|
|
1951
|
+
role="img"
|
|
1952
|
+
title="${ifDefined_js.ifDefined(this.title || void 0)}"
|
|
1953
|
+
>
|
|
1954
|
+
<div class="${spectreUi.getRatingStarsClasses()}">${this.renderStars()}</div>
|
|
1955
|
+
${trimmedLabel ? lit.html`<span class="${spectreUi.getRatingTextClasses({ disabled: this.disabled ?? false })}">${trimmedLabel}</span>` : lit.nothing}
|
|
1956
|
+
</div>`;
|
|
1957
|
+
}
|
|
1958
|
+
};
|
|
1959
|
+
SpectreRatingElement.properties = {
|
|
1960
|
+
disabled: { type: Boolean, reflect: true },
|
|
1961
|
+
label: { type: String, reflect: true },
|
|
1962
|
+
loading: { type: Boolean, reflect: true },
|
|
1963
|
+
max: { type: Number, reflect: true },
|
|
1964
|
+
size: { type: String, reflect: true },
|
|
1965
|
+
value: { type: Number, reflect: true }
|
|
1966
|
+
};
|
|
1967
|
+
function defineSpectreRating(tagName = "sp-rating") {
|
|
1968
|
+
const existingElement = customElements.get(tagName);
|
|
1969
|
+
if (existingElement) {
|
|
1970
|
+
return existingElement;
|
|
1971
|
+
}
|
|
1972
|
+
customElements.define(tagName, SpectreRatingElement);
|
|
1973
|
+
return SpectreRatingElement;
|
|
1974
|
+
}
|
|
1975
|
+
var SpectreTestimonialElement = class extends SpectreProjectableElement {
|
|
1976
|
+
constructor() {
|
|
1977
|
+
super(...arguments);
|
|
1978
|
+
this.disabled = false;
|
|
1979
|
+
this.fullHeight = false;
|
|
1980
|
+
this.interactive = false;
|
|
1981
|
+
this.loading = false;
|
|
1982
|
+
this.variant = "elevated";
|
|
1983
|
+
}
|
|
1984
|
+
get id() {
|
|
1985
|
+
return super.id;
|
|
1986
|
+
}
|
|
1987
|
+
set id(value) {
|
|
1988
|
+
super.id = value;
|
|
1989
|
+
}
|
|
1990
|
+
get title() {
|
|
1991
|
+
return super.title;
|
|
1992
|
+
}
|
|
1993
|
+
set title(value) {
|
|
1994
|
+
super.title = value;
|
|
1995
|
+
}
|
|
1996
|
+
getContentContainer() {
|
|
1997
|
+
return this.querySelector("[data-sp-testimonial-native]");
|
|
1998
|
+
}
|
|
1999
|
+
isInternalNode(node) {
|
|
2000
|
+
if (node.nodeType !== Node.ELEMENT_NODE) {
|
|
2001
|
+
return false;
|
|
2002
|
+
}
|
|
2003
|
+
const el = node;
|
|
2004
|
+
return el.hasAttribute("data-sp-testimonial-native");
|
|
2005
|
+
}
|
|
2006
|
+
willUpdate(changedProperties) {
|
|
2007
|
+
if (changedProperties.has("disabled") && this.disabled == null) {
|
|
2008
|
+
this.disabled = false;
|
|
2009
|
+
}
|
|
2010
|
+
if (changedProperties.has("fullHeight") && this.fullHeight == null) {
|
|
2011
|
+
this.fullHeight = false;
|
|
2012
|
+
}
|
|
2013
|
+
if (changedProperties.has("interactive") && this.interactive == null) {
|
|
2014
|
+
this.interactive = false;
|
|
2015
|
+
}
|
|
2016
|
+
if (changedProperties.has("loading") && this.loading == null) {
|
|
2017
|
+
this.loading = false;
|
|
2018
|
+
}
|
|
2019
|
+
if (changedProperties.has("variant") && (this.variant == null || !isTestimonialVariant(this.variant))) {
|
|
2020
|
+
this.variant = "elevated";
|
|
2021
|
+
}
|
|
2022
|
+
}
|
|
2023
|
+
get testimonialClasses() {
|
|
2024
|
+
return spectreUi.getTestimonialClasses({
|
|
2025
|
+
disabled: this.disabled ?? false,
|
|
2026
|
+
fullHeight: this.fullHeight ?? false,
|
|
2027
|
+
interactive: this.interactive ?? false,
|
|
2028
|
+
loading: this.loading ?? false,
|
|
2029
|
+
variant: this.variant
|
|
2030
|
+
});
|
|
2031
|
+
}
|
|
2032
|
+
render() {
|
|
2033
|
+
return lit.html`<div
|
|
2034
|
+
aria-describedby="${ifDefined_js.ifDefined(this.forwardedAriaDescribedBy)}"
|
|
2035
|
+
aria-label="${ifDefined_js.ifDefined(this.forwardedAriaLabel)}"
|
|
2036
|
+
aria-labelledby="${ifDefined_js.ifDefined(this.forwardedAriaLabelledBy)}"
|
|
2037
|
+
class="${this.testimonialClasses}"
|
|
2038
|
+
data-sp-testimonial-native
|
|
2039
|
+
id="${ifDefined_js.ifDefined(this.id || void 0)}"
|
|
2040
|
+
title="${ifDefined_js.ifDefined(this.title || void 0)}"
|
|
2041
|
+
>
|
|
2042
|
+
${this.hasProjectedContent ? this.projectedContent : lit.nothing}
|
|
2043
|
+
</div>`;
|
|
2044
|
+
}
|
|
2045
|
+
};
|
|
2046
|
+
SpectreTestimonialElement.properties = {
|
|
2047
|
+
disabled: { type: Boolean, reflect: true },
|
|
2048
|
+
fullHeight: { attribute: "full-height", type: Boolean, reflect: true },
|
|
2049
|
+
interactive: { type: Boolean, reflect: true },
|
|
2050
|
+
loading: { type: Boolean, reflect: true },
|
|
2051
|
+
variant: { type: String, reflect: true }
|
|
2052
|
+
};
|
|
2053
|
+
function defineSpectreTestimonial(tagName = "sp-testimonial") {
|
|
2054
|
+
const existingElement = customElements.get(tagName);
|
|
2055
|
+
if (existingElement) {
|
|
2056
|
+
return existingElement;
|
|
2057
|
+
}
|
|
2058
|
+
customElements.define(tagName, SpectreTestimonialElement);
|
|
2059
|
+
return SpectreTestimonialElement;
|
|
2060
|
+
}
|
|
1533
2061
|
|
|
1534
2062
|
// src/index.ts
|
|
1535
2063
|
function defineSpectreComponents() {
|
|
@@ -1541,29 +2069,51 @@ function defineSpectreComponents() {
|
|
|
1541
2069
|
defineSpectreRadio();
|
|
1542
2070
|
defineSpectreLabel();
|
|
1543
2071
|
defineSpectreFieldset();
|
|
2072
|
+
defineSpectreBadge();
|
|
2073
|
+
defineSpectreCard();
|
|
2074
|
+
defineSpectreIconBox();
|
|
2075
|
+
defineSpectreRating();
|
|
2076
|
+
defineSpectreTestimonial();
|
|
1544
2077
|
}
|
|
1545
2078
|
|
|
2079
|
+
exports.SpectreBadgeElement = SpectreBadgeElement;
|
|
1546
2080
|
exports.SpectreButtonElement = SpectreButtonElement;
|
|
2081
|
+
exports.SpectreCardElement = SpectreCardElement;
|
|
1547
2082
|
exports.SpectreCheckboxElement = SpectreCheckboxElement;
|
|
1548
2083
|
exports.SpectreFieldsetElement = SpectreFieldsetElement;
|
|
2084
|
+
exports.SpectreIconBoxElement = SpectreIconBoxElement;
|
|
1549
2085
|
exports.SpectreInputElement = SpectreInputElement;
|
|
1550
2086
|
exports.SpectreLabelElement = SpectreLabelElement;
|
|
1551
2087
|
exports.SpectreRadioElement = SpectreRadioElement;
|
|
2088
|
+
exports.SpectreRatingElement = SpectreRatingElement;
|
|
1552
2089
|
exports.SpectreSelectElement = SpectreSelectElement;
|
|
2090
|
+
exports.SpectreTestimonialElement = SpectreTestimonialElement;
|
|
1553
2091
|
exports.SpectreTextareaElement = SpectreTextareaElement;
|
|
2092
|
+
exports.defineSpectreBadge = defineSpectreBadge;
|
|
1554
2093
|
exports.defineSpectreButton = defineSpectreButton;
|
|
2094
|
+
exports.defineSpectreCard = defineSpectreCard;
|
|
1555
2095
|
exports.defineSpectreCheckbox = defineSpectreCheckbox;
|
|
1556
2096
|
exports.defineSpectreComponents = defineSpectreComponents;
|
|
1557
2097
|
exports.defineSpectreFieldset = defineSpectreFieldset;
|
|
2098
|
+
exports.defineSpectreIconBox = defineSpectreIconBox;
|
|
1558
2099
|
exports.defineSpectreInput = defineSpectreInput;
|
|
1559
2100
|
exports.defineSpectreLabel = defineSpectreLabel;
|
|
1560
2101
|
exports.defineSpectreRadio = defineSpectreRadio;
|
|
2102
|
+
exports.defineSpectreRating = defineSpectreRating;
|
|
1561
2103
|
exports.defineSpectreSelect = defineSpectreSelect;
|
|
2104
|
+
exports.defineSpectreTestimonial = defineSpectreTestimonial;
|
|
1562
2105
|
exports.defineSpectreTextarea = defineSpectreTextarea;
|
|
2106
|
+
exports.spectreBadgeSizes = spectreInputSizes;
|
|
2107
|
+
exports.spectreBadgeVariants = spectreBadgeVariants;
|
|
1563
2108
|
exports.spectreButtonSizes = spectreInputSizes;
|
|
1564
2109
|
exports.spectreButtonTypes = spectreButtonTypes;
|
|
1565
2110
|
exports.spectreButtonVariants = spectreButtonVariants;
|
|
2111
|
+
exports.spectreCardVariants = spectreCardVariants;
|
|
2112
|
+
exports.spectreIconBoxSizes = spectreInputSizes;
|
|
2113
|
+
exports.spectreIconBoxVariants = spectreIconBoxVariants;
|
|
1566
2114
|
exports.spectreInputSizes = spectreInputSizes;
|
|
1567
2115
|
exports.spectreInputTypes = spectreInputTypes;
|
|
2116
|
+
exports.spectreRatingSizes = spectreInputSizes;
|
|
2117
|
+
exports.spectreTestimonialVariants = spectreTestimonialVariants;
|
|
1568
2118
|
//# sourceMappingURL=index.cjs.map
|
|
1569
2119
|
//# sourceMappingURL=index.cjs.map
|