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