@phcdevworks/spectre-components 1.11.0 → 1.14.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 +111 -51
- package/dist/alert.cjs.map +1 -1
- package/dist/alert.d.cts +2 -2
- package/dist/alert.d.ts +2 -2
- package/dist/alert.js.map +1 -1
- package/dist/avatar.cjs.map +1 -1
- package/dist/avatar.d.cts +2 -2
- package/dist/avatar.d.ts +2 -2
- package/dist/avatar.js.map +1 -1
- package/dist/badge.cjs.map +1 -1
- package/dist/badge.d.cts +2 -2
- package/dist/badge.d.ts +2 -2
- package/dist/badge.js.map +1 -1
- package/dist/button.cjs +24 -0
- package/dist/button.cjs.map +1 -1
- package/dist/button.d.cts +21 -3
- package/dist/button.d.ts +21 -3
- package/dist/button.js +24 -0
- package/dist/button.js.map +1 -1
- package/dist/card.cjs.map +1 -1
- package/dist/card.d.cts +2 -2
- package/dist/card.d.ts +2 -2
- package/dist/card.js.map +1 -1
- package/dist/container.cjs.map +1 -1
- package/dist/container.d.cts +2 -2
- package/dist/container.d.ts +2 -2
- package/dist/container.js.map +1 -1
- package/dist/dropdown.cjs.map +1 -1
- package/dist/dropdown.d.cts +2 -2
- package/dist/dropdown.d.ts +2 -2
- package/dist/dropdown.js.map +1 -1
- package/dist/{form-JrKDonG4.d.cts → form-BGQjgJrL.d.cts} +10 -1
- package/dist/{form-JrKDonG4.d.ts → form-BGQjgJrL.d.ts} +10 -1
- package/dist/grid.cjs +36 -2
- package/dist/grid.cjs.map +1 -1
- package/dist/grid.d.cts +7 -2
- package/dist/grid.d.ts +7 -2
- package/dist/grid.js +36 -2
- package/dist/grid.js.map +1 -1
- package/dist/icon-box.cjs.map +1 -1
- package/dist/icon-box.d.cts +2 -2
- package/dist/icon-box.d.ts +2 -2
- package/dist/icon-box.js.map +1 -1
- package/dist/index.cjs +281 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +281 -4
- 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/nav-item.cjs +500 -0
- package/dist/nav-item.cjs.map +1 -0
- package/dist/nav-item.d.cts +74 -0
- package/dist/nav-item.d.ts +74 -0
- package/dist/nav-item.js +497 -0
- package/dist/nav-item.js.map +1 -0
- package/dist/rating.cjs.map +1 -1
- package/dist/rating.d.cts +2 -2
- package/dist/rating.d.ts +2 -2
- package/dist/rating.js.map +1 -1
- package/dist/select.cjs.map +1 -1
- package/dist/select.d.cts +1 -1
- package/dist/select.d.ts +1 -1
- package/dist/select.js.map +1 -1
- package/dist/spinner.cjs.map +1 -1
- package/dist/spinner.d.cts +2 -2
- package/dist/spinner.d.ts +2 -2
- package/dist/spinner.js.map +1 -1
- package/dist/stack.cjs.map +1 -1
- package/dist/stack.d.cts +2 -2
- package/dist/stack.d.ts +2 -2
- package/dist/stack.js.map +1 -1
- package/dist/tag.cjs.map +1 -1
- package/dist/tag.d.cts +2 -2
- package/dist/tag.d.ts +2 -2
- package/dist/tag.js.map +1 -1
- package/dist/testimonial.cjs.map +1 -1
- package/dist/testimonial.d.cts +2 -2
- package/dist/testimonial.d.ts +2 -2
- package/dist/testimonial.js.map +1 -1
- package/dist/text.cjs +16 -0
- package/dist/text.cjs.map +1 -1
- package/dist/text.d.cts +8 -2
- package/dist/text.d.ts +8 -2
- package/dist/text.js +16 -0
- package/dist/text.js.map +1 -1
- 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/dist/toast.cjs.map +1 -1
- package/dist/toast.d.cts +2 -2
- package/dist/toast.d.ts +2 -2
- package/dist/toast.js.map +1 -1
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.d.cts +2 -2
- package/dist/tooltip.d.ts +2 -2
- package/dist/tooltip.js.map +1 -1
- package/package.json +16 -11
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { S as SpectreAlertSize, a as SpectreAlertVariant, b as SpectreAvatarShape, c as SpectreAvatarSize, S as SpectreBadgeSize, d as SpectreBadgeVariant, S as SpectreButtonSize, e as SpectreButtonType, f as SpectreButtonVariant, g as SpectreCardVariant, h as SpectreContainerMaxWidth, i as SpectreDropdownPlacement, j as SpectreGridColumns, k as SpectreGridGap, S as SpectreIconBoxSize, l as SpectreIconBoxVariant, S as SpectreInputSize, m as SpectreInputType, S as SpectreRatingSize, S as SpectreSpinnerSize, n as SpectreSpinnerVariant, o as SpectreStackAlign, p as SpectreStackBasis, q as SpectreStackDirection, S as SpectreTagSize, r as SpectreTagVariant, s as SpectreTestimonialVariant, t as SpectreTextFamily, u as SpectreTextLevel, v as SpectreTextSize, w as SpectreTextVariant, x as SpectreToastVariant, y as SpectreTooltipPlacement, z as spectreAlertSizes, A as spectreAlertVariants, B as spectreAvatarShapes, C as spectreAvatarSizes, z as spectreBadgeSizes, D as spectreBadgeVariants, z as spectreButtonSizes, E as spectreButtonTypes, F as spectreButtonVariants, G as spectreCardVariants, H as spectreContainerMaxWidths, I as spectreDropdownPlacements, J as spectreGridColumns, K as spectreGridGaps, z as spectreIconBoxSizes, L as spectreIconBoxVariants, z as spectreInputSizes, M as spectreInputTypes, z as spectreRatingSizes, z as spectreSpinnerSizes, N as spectreSpinnerVariants, O as spectreStackAligns, P as spectreStackBases, Q as spectreStackDirections, z as spectreTagSizes, R as spectreTagVariants, T as spectreTestimonialVariants, U as spectreTextFamilies, V as spectreTextLevels, W as spectreTextSizes, X as spectreTextVariants, Y as spectreToastVariants, Z as spectreTooltipPlacements } from './form-
|
|
2
|
-
export { SpectreButtonElement, SpectreButtonProps, defineSpectreButton } from './button.cjs';
|
|
1
|
+
export { S as SpectreAlertSize, a as SpectreAlertVariant, b as SpectreAvatarShape, c as SpectreAvatarSize, S as SpectreBadgeSize, d as SpectreBadgeVariant, S as SpectreButtonSize, e as SpectreButtonType, f as SpectreButtonVariant, g as SpectreCardVariant, h as SpectreContainerMaxWidth, i as SpectreDropdownPlacement, j as SpectreGridColumns, k as SpectreGridGap, S as SpectreIconBoxSize, l as SpectreIconBoxVariant, S as SpectreInputSize, m as SpectreInputType, S as SpectreRatingSize, S as SpectreSpinnerSize, n as SpectreSpinnerVariant, o as SpectreStackAlign, p as SpectreStackBasis, q as SpectreStackDirection, S as SpectreTagSize, r as SpectreTagVariant, s as SpectreTestimonialVariant, t as SpectreTextFamily, u as SpectreTextLevel, v as SpectreTextSize, w as SpectreTextVariant, x as SpectreToastVariant, y as SpectreTooltipPlacement, z as spectreAlertSizes, A as spectreAlertVariants, B as spectreAvatarShapes, C as spectreAvatarSizes, z as spectreBadgeSizes, D as spectreBadgeVariants, z as spectreButtonSizes, E as spectreButtonTypes, F as spectreButtonVariants, G as spectreCardVariants, H as spectreContainerMaxWidths, I as spectreDropdownPlacements, J as spectreGridColumns, K as spectreGridGaps, z as spectreIconBoxSizes, L as spectreIconBoxVariants, z as spectreInputSizes, M as spectreInputTypes, z as spectreRatingSizes, z as spectreSpinnerSizes, N as spectreSpinnerVariants, O as spectreStackAligns, P as spectreStackBases, Q as spectreStackDirections, z as spectreTagSizes, R as spectreTagVariants, T as spectreTestimonialVariants, U as spectreTextFamilies, V as spectreTextLevels, W as spectreTextSizes, X as spectreTextVariants, Y as spectreToastVariants, Z as spectreTooltipPlacements } from './form-BGQjgJrL.cjs';
|
|
2
|
+
export { SpectreButtonElement, SpectreButtonProps, SpectreButtonTarget, defineSpectreButton } from './button.cjs';
|
|
3
3
|
export { SpectreInputElement, SpectreInputProps, defineSpectreInput } from './input.cjs';
|
|
4
4
|
export { SpectreTextareaElement, SpectreTextareaProps, defineSpectreTextarea } from './textarea.cjs';
|
|
5
5
|
export { SpectreSelectElement, SpectreSelectProps, defineSpectreSelect } from './select.cjs';
|
|
@@ -25,6 +25,7 @@ export { SpectreDropdownElement, SpectreDropdownProps, defineSpectreDropdown } f
|
|
|
25
25
|
export { SpectreFooterElement, SpectreFooterProps, defineSpectreFooter } from './footer.cjs';
|
|
26
26
|
export { SpectreModalElement, SpectreModalProps, defineSpectreModal } from './modal.cjs';
|
|
27
27
|
export { SpectreNavElement, SpectreNavProps, defineSpectreNav } from './nav.cjs';
|
|
28
|
+
export { SpectreNavItemElement, SpectreNavItemProps, defineSpectreNavItem } from './nav-item.cjs';
|
|
28
29
|
export { SpectreSidebarElement, SpectreSidebarProps, defineSpectreSidebar } from './sidebar.cjs';
|
|
29
30
|
export { SpectreToastElement, SpectreToastProps, defineSpectreToast } from './toast.cjs';
|
|
30
31
|
export { SpectreTooltipElement, SpectreTooltipProps, defineSpectreTooltip } from './tooltip.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { S as SpectreAlertSize, a as SpectreAlertVariant, b as SpectreAvatarShape, c as SpectreAvatarSize, S as SpectreBadgeSize, d as SpectreBadgeVariant, S as SpectreButtonSize, e as SpectreButtonType, f as SpectreButtonVariant, g as SpectreCardVariant, h as SpectreContainerMaxWidth, i as SpectreDropdownPlacement, j as SpectreGridColumns, k as SpectreGridGap, S as SpectreIconBoxSize, l as SpectreIconBoxVariant, S as SpectreInputSize, m as SpectreInputType, S as SpectreRatingSize, S as SpectreSpinnerSize, n as SpectreSpinnerVariant, o as SpectreStackAlign, p as SpectreStackBasis, q as SpectreStackDirection, S as SpectreTagSize, r as SpectreTagVariant, s as SpectreTestimonialVariant, t as SpectreTextFamily, u as SpectreTextLevel, v as SpectreTextSize, w as SpectreTextVariant, x as SpectreToastVariant, y as SpectreTooltipPlacement, z as spectreAlertSizes, A as spectreAlertVariants, B as spectreAvatarShapes, C as spectreAvatarSizes, z as spectreBadgeSizes, D as spectreBadgeVariants, z as spectreButtonSizes, E as spectreButtonTypes, F as spectreButtonVariants, G as spectreCardVariants, H as spectreContainerMaxWidths, I as spectreDropdownPlacements, J as spectreGridColumns, K as spectreGridGaps, z as spectreIconBoxSizes, L as spectreIconBoxVariants, z as spectreInputSizes, M as spectreInputTypes, z as spectreRatingSizes, z as spectreSpinnerSizes, N as spectreSpinnerVariants, O as spectreStackAligns, P as spectreStackBases, Q as spectreStackDirections, z as spectreTagSizes, R as spectreTagVariants, T as spectreTestimonialVariants, U as spectreTextFamilies, V as spectreTextLevels, W as spectreTextSizes, X as spectreTextVariants, Y as spectreToastVariants, Z as spectreTooltipPlacements } from './form-
|
|
2
|
-
export { SpectreButtonElement, SpectreButtonProps, defineSpectreButton } from './button.js';
|
|
1
|
+
export { S as SpectreAlertSize, a as SpectreAlertVariant, b as SpectreAvatarShape, c as SpectreAvatarSize, S as SpectreBadgeSize, d as SpectreBadgeVariant, S as SpectreButtonSize, e as SpectreButtonType, f as SpectreButtonVariant, g as SpectreCardVariant, h as SpectreContainerMaxWidth, i as SpectreDropdownPlacement, j as SpectreGridColumns, k as SpectreGridGap, S as SpectreIconBoxSize, l as SpectreIconBoxVariant, S as SpectreInputSize, m as SpectreInputType, S as SpectreRatingSize, S as SpectreSpinnerSize, n as SpectreSpinnerVariant, o as SpectreStackAlign, p as SpectreStackBasis, q as SpectreStackDirection, S as SpectreTagSize, r as SpectreTagVariant, s as SpectreTestimonialVariant, t as SpectreTextFamily, u as SpectreTextLevel, v as SpectreTextSize, w as SpectreTextVariant, x as SpectreToastVariant, y as SpectreTooltipPlacement, z as spectreAlertSizes, A as spectreAlertVariants, B as spectreAvatarShapes, C as spectreAvatarSizes, z as spectreBadgeSizes, D as spectreBadgeVariants, z as spectreButtonSizes, E as spectreButtonTypes, F as spectreButtonVariants, G as spectreCardVariants, H as spectreContainerMaxWidths, I as spectreDropdownPlacements, J as spectreGridColumns, K as spectreGridGaps, z as spectreIconBoxSizes, L as spectreIconBoxVariants, z as spectreInputSizes, M as spectreInputTypes, z as spectreRatingSizes, z as spectreSpinnerSizes, N as spectreSpinnerVariants, O as spectreStackAligns, P as spectreStackBases, Q as spectreStackDirections, z as spectreTagSizes, R as spectreTagVariants, T as spectreTestimonialVariants, U as spectreTextFamilies, V as spectreTextLevels, W as spectreTextSizes, X as spectreTextVariants, Y as spectreToastVariants, Z as spectreTooltipPlacements } from './form-BGQjgJrL.js';
|
|
2
|
+
export { SpectreButtonElement, SpectreButtonProps, SpectreButtonTarget, defineSpectreButton } from './button.js';
|
|
3
3
|
export { SpectreInputElement, SpectreInputProps, defineSpectreInput } from './input.js';
|
|
4
4
|
export { SpectreTextareaElement, SpectreTextareaProps, defineSpectreTextarea } from './textarea.js';
|
|
5
5
|
export { SpectreSelectElement, SpectreSelectProps, defineSpectreSelect } from './select.js';
|
|
@@ -25,6 +25,7 @@ export { SpectreDropdownElement, SpectreDropdownProps, defineSpectreDropdown } f
|
|
|
25
25
|
export { SpectreFooterElement, SpectreFooterProps, defineSpectreFooter } from './footer.js';
|
|
26
26
|
export { SpectreModalElement, SpectreModalProps, defineSpectreModal } from './modal.js';
|
|
27
27
|
export { SpectreNavElement, SpectreNavProps, defineSpectreNav } from './nav.js';
|
|
28
|
+
export { SpectreNavItemElement, SpectreNavItemProps, defineSpectreNavItem } from './nav-item.js';
|
|
28
29
|
export { SpectreSidebarElement, SpectreSidebarProps, defineSpectreSidebar } from './sidebar.js';
|
|
29
30
|
export { SpectreToastElement, SpectreToastProps, defineSpectreToast } from './toast.js';
|
|
30
31
|
export { SpectreTooltipElement, SpectreTooltipProps, defineSpectreTooltip } from './tooltip.js';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getButtonClasses, getInputLabelClasses, getInputClasses, getTextareaClasses, getSelectClasses, getCheckboxClasses, getRadioClasses, getLabelClasses, getFieldsetLegendClasses, getFieldsetClasses, getBadgeClasses, getCardClasses, getIconBoxClasses, getRatingClasses, getRatingStarClasses, getRatingStarsClasses, getRatingTextClasses, getTestimonialClasses, getAlertClasses, getAvatarClasses, getSpinnerClasses, getTagClasses, getPricingCardClasses, getContainerClasses, getGridClasses, getStackClasses, getDropdownClasses, getDropdownMenuClasses, getFooterClasses, getModalOverlayClasses, getModalClasses, getNavClasses, getSidebarClasses, getSidebarToggleClasses, getSidebarBackdropClasses, getToastClasses, getToastIconClasses, getTooltipClasses, getTextClasses, getSectionClasses } from '@phcdevworks/spectre-ui';
|
|
1
|
+
import { getButtonClasses, getInputLabelClasses, getInputClasses, getTextareaClasses, getSelectClasses, getCheckboxClasses, getRadioClasses, getLabelClasses, getFieldsetLegendClasses, getFieldsetClasses, getBadgeClasses, getCardClasses, getIconBoxClasses, getRatingClasses, getRatingStarClasses, getRatingStarsClasses, getRatingTextClasses, getTestimonialClasses, getAlertClasses, getAvatarClasses, getSpinnerClasses, getTagClasses, getPricingCardClasses, getContainerClasses, getGridClasses, getStackClasses, getDropdownClasses, getDropdownMenuClasses, getFooterClasses, getModalOverlayClasses, getModalClasses, getNavClasses, getNavLinkClasses, getSidebarClasses, getSidebarToggleClasses, getSidebarBackdropClasses, getToastClasses, getToastIconClasses, getTooltipClasses, getTextClasses, getSectionClasses } 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';
|
|
@@ -157,6 +157,33 @@ var spectreGridGaps = ["sm", "md", "lg"];
|
|
|
157
157
|
function isGridGap(value) {
|
|
158
158
|
return spectreGridGaps.includes(value);
|
|
159
159
|
}
|
|
160
|
+
var spectreGridSpans = [
|
|
161
|
+
1,
|
|
162
|
+
2,
|
|
163
|
+
3,
|
|
164
|
+
4,
|
|
165
|
+
5,
|
|
166
|
+
6,
|
|
167
|
+
7,
|
|
168
|
+
8,
|
|
169
|
+
9,
|
|
170
|
+
10,
|
|
171
|
+
11,
|
|
172
|
+
12,
|
|
173
|
+
"full"
|
|
174
|
+
];
|
|
175
|
+
function isGridSpan(value) {
|
|
176
|
+
return spectreGridSpans.includes(
|
|
177
|
+
value
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
function isGridSpanOptions(value) {
|
|
181
|
+
if (typeof value !== "object" || value === null) {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
const candidate = value;
|
|
185
|
+
return (candidate.base === void 0 || isGridSpan(candidate.base)) && (candidate.md === void 0 || isGridSpan(candidate.md)) && (candidate.lg === void 0 || isGridSpan(candidate.lg));
|
|
186
|
+
}
|
|
160
187
|
var spectreStackDirections = ["vertical", "horizontal"];
|
|
161
188
|
function isStackDirection(value) {
|
|
162
189
|
return spectreStackDirections.includes(
|
|
@@ -244,6 +271,17 @@ var spectreTextLevels = [
|
|
|
244
271
|
function isTextLevel(value) {
|
|
245
272
|
return spectreTextLevels.includes(value);
|
|
246
273
|
}
|
|
274
|
+
var spectreTextTransforms = [
|
|
275
|
+
"none",
|
|
276
|
+
"uppercase",
|
|
277
|
+
"lowercase",
|
|
278
|
+
"capitalize"
|
|
279
|
+
];
|
|
280
|
+
function isTextTransform(value) {
|
|
281
|
+
return spectreTextTransforms.includes(
|
|
282
|
+
value
|
|
283
|
+
);
|
|
284
|
+
}
|
|
247
285
|
function normalizeInt(value, fallback, min = 0) {
|
|
248
286
|
if (value == null || typeof value !== "number" || !Number.isInteger(value) || value < min) {
|
|
249
287
|
return fallback;
|
|
@@ -622,6 +660,9 @@ var SpectreButtonElement = class extends SpectreProjectableElement {
|
|
|
622
660
|
set autofocus(value) {
|
|
623
661
|
super.autofocus = value;
|
|
624
662
|
}
|
|
663
|
+
get isLink() {
|
|
664
|
+
return Boolean(this.href) && !this.isDisabled;
|
|
665
|
+
}
|
|
625
666
|
getContentContainer() {
|
|
626
667
|
return this.querySelector("[data-sp-button-native]");
|
|
627
668
|
}
|
|
@@ -705,12 +746,30 @@ var SpectreButtonElement = class extends SpectreProjectableElement {
|
|
|
705
746
|
>` : nothing;
|
|
706
747
|
}
|
|
707
748
|
render() {
|
|
749
|
+
if (this.isLink) {
|
|
750
|
+
return html`<a
|
|
751
|
+
aria-busy="${this.loading ? "true" : "false"}"
|
|
752
|
+
aria-describedby="${ifDefined(this.forwardedAriaDescribedBy)}"
|
|
753
|
+
aria-label="${ifDefined(this.forwardedAriaLabel)}"
|
|
754
|
+
aria-labelledby="${ifDefined(this.forwardedAriaLabelledBy)}"
|
|
755
|
+
class="${this.buttonClasses}"
|
|
756
|
+
data-sp-button-native
|
|
757
|
+
href="${ifDefined(this.href)}"
|
|
758
|
+
id="${ifDefined(this.id || void 0)}"
|
|
759
|
+
rel="${ifDefined(this.rel || void 0)}"
|
|
760
|
+
target="${ifDefined(this.target || void 0)}"
|
|
761
|
+
title="${ifDefined(this.title || void 0)}"
|
|
762
|
+
>
|
|
763
|
+
${this.renderButtonContent()}
|
|
764
|
+
</a>`;
|
|
765
|
+
}
|
|
708
766
|
return html`<button
|
|
709
767
|
aria-busy="${this.loading ? "true" : "false"}"
|
|
710
768
|
aria-describedby="${ifDefined(this.forwardedAriaDescribedBy)}"
|
|
711
769
|
aria-label="${ifDefined(this.forwardedAriaLabel)}"
|
|
712
770
|
aria-labelledby="${ifDefined(this.forwardedAriaLabelledBy)}"
|
|
713
771
|
?autofocus="${this.autofocus}"
|
|
772
|
+
aria-disabled="${ifDefined(this.href && this.isDisabled ? "true" : void 0)}"
|
|
714
773
|
class="${this.buttonClasses}"
|
|
715
774
|
data-sp-button-native
|
|
716
775
|
?disabled="${this.isDisabled}"
|
|
@@ -729,13 +788,16 @@ SpectreButtonElement.properties = {
|
|
|
729
788
|
disabled: { type: Boolean, reflect: true },
|
|
730
789
|
form: { type: String },
|
|
731
790
|
fullWidth: { attribute: "full-width", type: Boolean, reflect: true },
|
|
791
|
+
href: { type: String, reflect: true },
|
|
732
792
|
iconOnly: { attribute: "icon-only", type: Boolean, reflect: true },
|
|
733
793
|
label: { type: String, reflect: true },
|
|
734
794
|
loading: { type: Boolean, reflect: true },
|
|
735
795
|
loadingLabel: { attribute: "loading-label", type: String, reflect: true },
|
|
736
796
|
name: { type: String, reflect: true },
|
|
737
797
|
pill: { type: Boolean, reflect: true },
|
|
798
|
+
rel: { type: String },
|
|
738
799
|
size: { type: String, reflect: true },
|
|
800
|
+
target: { type: String },
|
|
739
801
|
type: { type: String, reflect: true },
|
|
740
802
|
variant: { type: String, reflect: true },
|
|
741
803
|
value: { type: String }
|
|
@@ -2803,11 +2865,17 @@ var SpectreGridElement = class extends SpectreProjectableElement {
|
|
|
2803
2865
|
if (changedProperties.has("gap") && (this.gap == null || !isGridGap(this.gap))) {
|
|
2804
2866
|
this.gap = "md";
|
|
2805
2867
|
}
|
|
2868
|
+
if (changedProperties.has("span") && this.span !== void 0 && !isGridSpan(this.span) && !isGridSpanOptions(this.span)) {
|
|
2869
|
+
this.span = void 0;
|
|
2870
|
+
}
|
|
2806
2871
|
}
|
|
2807
2872
|
get gridClasses() {
|
|
2808
2873
|
return getGridClasses({
|
|
2809
2874
|
columns: this.columns,
|
|
2810
|
-
gap: this.gap
|
|
2875
|
+
gap: this.gap,
|
|
2876
|
+
...this.span !== void 0 && {
|
|
2877
|
+
span: this.span
|
|
2878
|
+
}
|
|
2811
2879
|
});
|
|
2812
2880
|
}
|
|
2813
2881
|
render() {
|
|
@@ -2826,7 +2894,8 @@ var SpectreGridElement = class extends SpectreProjectableElement {
|
|
|
2826
2894
|
};
|
|
2827
2895
|
SpectreGridElement.properties = {
|
|
2828
2896
|
columns: { type: Number, reflect: true },
|
|
2829
|
-
gap: { type: String, reflect: true }
|
|
2897
|
+
gap: { type: String, reflect: true },
|
|
2898
|
+
span: { type: Object }
|
|
2830
2899
|
};
|
|
2831
2900
|
function defineSpectreGrid(tagName = "sp-grid") {
|
|
2832
2901
|
const existingElement = customElements.get(tagName);
|
|
@@ -3450,6 +3519,208 @@ function defineSpectreNav(tagName = "sp-nav") {
|
|
|
3450
3519
|
customElements.define(tagName, SpectreNavElement);
|
|
3451
3520
|
return SpectreNavElement;
|
|
3452
3521
|
}
|
|
3522
|
+
var SpectreNavItemElement = class extends SpectreBaseElement {
|
|
3523
|
+
constructor() {
|
|
3524
|
+
super(...arguments);
|
|
3525
|
+
this.dropdown = false;
|
|
3526
|
+
this.href = void 0;
|
|
3527
|
+
this.label = void 0;
|
|
3528
|
+
this.open = false;
|
|
3529
|
+
this.placement = "bottom-start";
|
|
3530
|
+
this.triggerContent = [];
|
|
3531
|
+
this.menuContent = [];
|
|
3532
|
+
this.handleDocumentClick = (event) => {
|
|
3533
|
+
if (!this.open) {
|
|
3534
|
+
return;
|
|
3535
|
+
}
|
|
3536
|
+
if (!event.composedPath().includes(this)) {
|
|
3537
|
+
this.close();
|
|
3538
|
+
}
|
|
3539
|
+
};
|
|
3540
|
+
this.handleDocumentKeydown = (event) => {
|
|
3541
|
+
if (event.key === "Escape" && this.open) {
|
|
3542
|
+
this.close();
|
|
3543
|
+
this.triggerElement?.focus();
|
|
3544
|
+
}
|
|
3545
|
+
};
|
|
3546
|
+
}
|
|
3547
|
+
get id() {
|
|
3548
|
+
return super.id;
|
|
3549
|
+
}
|
|
3550
|
+
set id(value) {
|
|
3551
|
+
super.id = value;
|
|
3552
|
+
}
|
|
3553
|
+
get title() {
|
|
3554
|
+
return super.title;
|
|
3555
|
+
}
|
|
3556
|
+
set title(value) {
|
|
3557
|
+
super.title = value;
|
|
3558
|
+
}
|
|
3559
|
+
isInternalNode(node) {
|
|
3560
|
+
if (node.nodeType !== Node.ELEMENT_NODE) {
|
|
3561
|
+
return false;
|
|
3562
|
+
}
|
|
3563
|
+
const el = node;
|
|
3564
|
+
return el.hasAttribute("data-sp-nav-item-menu") || el.hasAttribute("data-sp-nav-item-trigger");
|
|
3565
|
+
}
|
|
3566
|
+
syncProjectedContent() {
|
|
3567
|
+
const nextTriggerContent = [];
|
|
3568
|
+
const nextMenuContent = [];
|
|
3569
|
+
this.childNodes.forEach((node) => {
|
|
3570
|
+
if (this.isInternalNode(node)) {
|
|
3571
|
+
return;
|
|
3572
|
+
}
|
|
3573
|
+
const isTriggerSlot = node.nodeType === Node.ELEMENT_NODE && node.getAttribute("slot") === "trigger";
|
|
3574
|
+
if (isTriggerSlot) {
|
|
3575
|
+
nextTriggerContent.push(node);
|
|
3576
|
+
} else {
|
|
3577
|
+
nextMenuContent.push(node);
|
|
3578
|
+
}
|
|
3579
|
+
});
|
|
3580
|
+
const changed = nextTriggerContent.length !== this.triggerContent.length || nextTriggerContent.some((n, i) => n !== this.triggerContent[i]) || nextMenuContent.length !== this.menuContent.length || nextMenuContent.some((n, i) => n !== this.menuContent[i]);
|
|
3581
|
+
if (changed) {
|
|
3582
|
+
this.triggerContent = nextTriggerContent;
|
|
3583
|
+
this.menuContent = nextMenuContent;
|
|
3584
|
+
}
|
|
3585
|
+
return changed;
|
|
3586
|
+
}
|
|
3587
|
+
get hasTriggerContent() {
|
|
3588
|
+
return hasMeaningfulContent(this.triggerContent);
|
|
3589
|
+
}
|
|
3590
|
+
get hasMenuContent() {
|
|
3591
|
+
return hasMeaningfulContent(this.menuContent);
|
|
3592
|
+
}
|
|
3593
|
+
connectedCallback() {
|
|
3594
|
+
super.connectedCallback();
|
|
3595
|
+
this.syncProjectedContent();
|
|
3596
|
+
this.startContentObserver();
|
|
3597
|
+
document.addEventListener("click", this.handleDocumentClick);
|
|
3598
|
+
document.addEventListener("keydown", this.handleDocumentKeydown);
|
|
3599
|
+
}
|
|
3600
|
+
disconnectedCallback() {
|
|
3601
|
+
this.stopContentObserver();
|
|
3602
|
+
document.removeEventListener("click", this.handleDocumentClick);
|
|
3603
|
+
document.removeEventListener("keydown", this.handleDocumentKeydown);
|
|
3604
|
+
super.disconnectedCallback();
|
|
3605
|
+
}
|
|
3606
|
+
update(changedProperties) {
|
|
3607
|
+
this.stopContentObserver();
|
|
3608
|
+
super.update(changedProperties);
|
|
3609
|
+
this.startContentObserver();
|
|
3610
|
+
}
|
|
3611
|
+
startContentObserver() {
|
|
3612
|
+
if (this.contentObserver) {
|
|
3613
|
+
return;
|
|
3614
|
+
}
|
|
3615
|
+
this.contentObserver = new MutationObserver(() => {
|
|
3616
|
+
if (this.syncProjectedContent()) {
|
|
3617
|
+
this.requestUpdate();
|
|
3618
|
+
}
|
|
3619
|
+
});
|
|
3620
|
+
this.contentObserver.observe(this, { childList: true });
|
|
3621
|
+
}
|
|
3622
|
+
stopContentObserver() {
|
|
3623
|
+
this.contentObserver?.disconnect();
|
|
3624
|
+
this.contentObserver = void 0;
|
|
3625
|
+
}
|
|
3626
|
+
willUpdate(changedProperties) {
|
|
3627
|
+
if (changedProperties.has("dropdown") && this.dropdown == null) {
|
|
3628
|
+
this.dropdown = false;
|
|
3629
|
+
}
|
|
3630
|
+
if (changedProperties.has("open") && this.open == null) {
|
|
3631
|
+
this.open = false;
|
|
3632
|
+
}
|
|
3633
|
+
if (changedProperties.has("placement") && (this.placement == null || !isDropdownPlacement(this.placement))) {
|
|
3634
|
+
this.placement = "bottom-start";
|
|
3635
|
+
}
|
|
3636
|
+
}
|
|
3637
|
+
get triggerElement() {
|
|
3638
|
+
return this.querySelector("[data-sp-nav-item-trigger]");
|
|
3639
|
+
}
|
|
3640
|
+
toggle() {
|
|
3641
|
+
if (this.open) {
|
|
3642
|
+
this.close();
|
|
3643
|
+
} else {
|
|
3644
|
+
this.openMenu();
|
|
3645
|
+
}
|
|
3646
|
+
}
|
|
3647
|
+
openMenu() {
|
|
3648
|
+
if (this.open) {
|
|
3649
|
+
return;
|
|
3650
|
+
}
|
|
3651
|
+
this.open = true;
|
|
3652
|
+
this.dispatchEvent(new CustomEvent("sp-open", { bubbles: true }));
|
|
3653
|
+
}
|
|
3654
|
+
close() {
|
|
3655
|
+
if (!this.open) {
|
|
3656
|
+
return;
|
|
3657
|
+
}
|
|
3658
|
+
this.open = false;
|
|
3659
|
+
this.dispatchEvent(new CustomEvent("sp-close", { bubbles: true }));
|
|
3660
|
+
}
|
|
3661
|
+
get wrapperClasses() {
|
|
3662
|
+
return getDropdownClasses();
|
|
3663
|
+
}
|
|
3664
|
+
get menuClasses() {
|
|
3665
|
+
return getDropdownMenuClasses({
|
|
3666
|
+
open: this.open ?? false,
|
|
3667
|
+
placement: this.placement
|
|
3668
|
+
});
|
|
3669
|
+
}
|
|
3670
|
+
get navLinkClasses() {
|
|
3671
|
+
return getNavLinkClasses();
|
|
3672
|
+
}
|
|
3673
|
+
renderLink() {
|
|
3674
|
+
return html`<a
|
|
3675
|
+
aria-label="${ifDefined(this.forwardedAriaLabel)}"
|
|
3676
|
+
class="${this.navLinkClasses}"
|
|
3677
|
+
href="${ifDefined(this.href)}"
|
|
3678
|
+
id="${ifDefined(this.id || void 0)}"
|
|
3679
|
+
title="${ifDefined(this.title || void 0)}"
|
|
3680
|
+
>${this.hasMenuContent ? this.menuContent : this.label}</a
|
|
3681
|
+
>`;
|
|
3682
|
+
}
|
|
3683
|
+
renderDropdown() {
|
|
3684
|
+
return html`<div
|
|
3685
|
+
class="${this.wrapperClasses}"
|
|
3686
|
+
id="${ifDefined(this.id || void 0)}"
|
|
3687
|
+
title="${ifDefined(this.title || void 0)}"
|
|
3688
|
+
>
|
|
3689
|
+
<button
|
|
3690
|
+
aria-expanded="${this.open ? "true" : "false"}"
|
|
3691
|
+
aria-haspopup="true"
|
|
3692
|
+
aria-label="${ifDefined(this.forwardedAriaLabel ?? this.label)}"
|
|
3693
|
+
class="${this.navLinkClasses}"
|
|
3694
|
+
data-sp-nav-item-trigger
|
|
3695
|
+
type="button"
|
|
3696
|
+
@click="${() => this.toggle()}"
|
|
3697
|
+
>
|
|
3698
|
+
${this.hasTriggerContent ? this.triggerContent : this.label}
|
|
3699
|
+
</button>
|
|
3700
|
+
<div class="${this.menuClasses}" data-sp-nav-item-menu>
|
|
3701
|
+
${this.hasMenuContent ? this.menuContent : nothing}
|
|
3702
|
+
</div>
|
|
3703
|
+
</div>`;
|
|
3704
|
+
}
|
|
3705
|
+
render() {
|
|
3706
|
+
return this.dropdown ? this.renderDropdown() : this.renderLink();
|
|
3707
|
+
}
|
|
3708
|
+
};
|
|
3709
|
+
SpectreNavItemElement.properties = {
|
|
3710
|
+
dropdown: { type: Boolean, reflect: true },
|
|
3711
|
+
href: { type: String },
|
|
3712
|
+
label: { type: String },
|
|
3713
|
+
open: { type: Boolean, reflect: true },
|
|
3714
|
+
placement: { type: String, reflect: true }
|
|
3715
|
+
};
|
|
3716
|
+
function defineSpectreNavItem(tagName = "sp-nav-item") {
|
|
3717
|
+
const existingElement = customElements.get(tagName);
|
|
3718
|
+
if (existingElement) {
|
|
3719
|
+
return existingElement;
|
|
3720
|
+
}
|
|
3721
|
+
customElements.define(tagName, SpectreNavItemElement);
|
|
3722
|
+
return SpectreNavItemElement;
|
|
3723
|
+
}
|
|
3453
3724
|
var SpectreSidebarElement = class extends SpectreProjectableElement {
|
|
3454
3725
|
constructor() {
|
|
3455
3726
|
super(...arguments);
|
|
@@ -3926,6 +4197,9 @@ var SpectreTextElement = class extends SpectreProjectableElement {
|
|
|
3926
4197
|
if (changedProperties.has("variant") && !isTextVariant(this.variant)) {
|
|
3927
4198
|
this.variant = "default";
|
|
3928
4199
|
}
|
|
4200
|
+
if (changedProperties.has("transform") && this.transform !== void 0 && !isTextTransform(this.transform)) {
|
|
4201
|
+
this.transform = void 0;
|
|
4202
|
+
}
|
|
3929
4203
|
}
|
|
3930
4204
|
get id() {
|
|
3931
4205
|
return super.id;
|
|
@@ -3954,6 +4228,7 @@ var SpectreTextElement = class extends SpectreProjectableElement {
|
|
|
3954
4228
|
const textClasses = getTextClasses({
|
|
3955
4229
|
...this.family !== void 0 && { family: this.family },
|
|
3956
4230
|
size: this.size ?? "md",
|
|
4231
|
+
...this.transform !== void 0 && { transform: this.transform },
|
|
3957
4232
|
variant: this.variant ?? "default"
|
|
3958
4233
|
});
|
|
3959
4234
|
return html$1`<${tag}
|
|
@@ -3971,6 +4246,7 @@ SpectreTextElement.properties = {
|
|
|
3971
4246
|
family: { type: String, reflect: true },
|
|
3972
4247
|
level: { type: String, reflect: true },
|
|
3973
4248
|
size: { type: String, reflect: true },
|
|
4249
|
+
transform: { type: String, reflect: true },
|
|
3974
4250
|
variant: { type: String, reflect: true }
|
|
3975
4251
|
};
|
|
3976
4252
|
function defineSpectreText(tagName = "sp-text") {
|
|
@@ -4010,12 +4286,13 @@ function defineSpectreComponents() {
|
|
|
4010
4286
|
defineSpectreFooter();
|
|
4011
4287
|
defineSpectreModal();
|
|
4012
4288
|
defineSpectreNav();
|
|
4289
|
+
defineSpectreNavItem();
|
|
4013
4290
|
defineSpectreSidebar();
|
|
4014
4291
|
defineSpectreToast();
|
|
4015
4292
|
defineSpectreTooltip();
|
|
4016
4293
|
defineSpectreText();
|
|
4017
4294
|
}
|
|
4018
4295
|
|
|
4019
|
-
export { SpectreAlertElement, SpectreAvatarElement, SpectreBadgeElement, SpectreButtonElement, SpectreCardElement, SpectreCheckboxElement, SpectreContainerElement, SpectreDropdownElement, SpectreFieldsetElement, SpectreFooterElement, SpectreGridElement, SpectreIconBoxElement, SpectreInputElement, SpectreLabelElement, SpectreModalElement, SpectreNavElement, SpectrePricingCardElement, SpectreRadioElement, SpectreRatingElement, SpectreSectionElement, SpectreSelectElement, SpectreSidebarElement, SpectreSpinnerElement, SpectreStackElement, SpectreTagElement, SpectreTestimonialElement, SpectreTextElement, SpectreTextareaElement, SpectreToastElement, SpectreTooltipElement, defineSpectreAlert, defineSpectreAvatar, defineSpectreBadge, defineSpectreButton, defineSpectreCard, defineSpectreCheckbox, defineSpectreComponents, defineSpectreContainer, defineSpectreDropdown, defineSpectreFieldset, defineSpectreFooter, defineSpectreGrid, defineSpectreIconBox, defineSpectreInput, defineSpectreLabel, defineSpectreModal, defineSpectreNav, defineSpectrePricingCard, defineSpectreRadio, defineSpectreRating, defineSpectreSection, defineSpectreSelect, defineSpectreSidebar, defineSpectreSpinner, defineSpectreStack, defineSpectreTag, defineSpectreTestimonial, defineSpectreText, defineSpectreTextarea, defineSpectreToast, defineSpectreTooltip, spectreInputSizes as spectreAlertSizes, spectreAlertVariants, spectreAvatarShapes, spectreAvatarSizes, spectreInputSizes as spectreBadgeSizes, spectreBadgeVariants, spectreInputSizes as spectreButtonSizes, spectreButtonTypes, spectreButtonVariants, spectreCardVariants, spectreContainerMaxWidths, spectreDropdownPlacements, spectreGridColumns, spectreGridGaps, spectreInputSizes as spectreIconBoxSizes, spectreIconBoxVariants, spectreInputSizes, spectreInputTypes, spectreInputSizes as spectreRatingSizes, spectreInputSizes as spectreSpinnerSizes, spectreSpinnerVariants, spectreStackAligns, spectreStackBases, spectreStackDirections, spectreInputSizes as spectreTagSizes, spectreTagVariants, spectreTestimonialVariants, spectreTextFamilies, spectreTextLevels, spectreTextSizes, spectreTextVariants, spectreToastVariants, spectreTooltipPlacements };
|
|
4296
|
+
export { SpectreAlertElement, SpectreAvatarElement, SpectreBadgeElement, SpectreButtonElement, SpectreCardElement, SpectreCheckboxElement, SpectreContainerElement, SpectreDropdownElement, SpectreFieldsetElement, SpectreFooterElement, SpectreGridElement, SpectreIconBoxElement, SpectreInputElement, SpectreLabelElement, SpectreModalElement, SpectreNavElement, SpectreNavItemElement, SpectrePricingCardElement, SpectreRadioElement, SpectreRatingElement, SpectreSectionElement, SpectreSelectElement, SpectreSidebarElement, SpectreSpinnerElement, SpectreStackElement, SpectreTagElement, SpectreTestimonialElement, SpectreTextElement, SpectreTextareaElement, SpectreToastElement, SpectreTooltipElement, defineSpectreAlert, defineSpectreAvatar, defineSpectreBadge, defineSpectreButton, defineSpectreCard, defineSpectreCheckbox, defineSpectreComponents, defineSpectreContainer, defineSpectreDropdown, defineSpectreFieldset, defineSpectreFooter, defineSpectreGrid, defineSpectreIconBox, defineSpectreInput, defineSpectreLabel, defineSpectreModal, defineSpectreNav, defineSpectreNavItem, defineSpectrePricingCard, defineSpectreRadio, defineSpectreRating, defineSpectreSection, defineSpectreSelect, defineSpectreSidebar, defineSpectreSpinner, defineSpectreStack, defineSpectreTag, defineSpectreTestimonial, defineSpectreText, defineSpectreTextarea, defineSpectreToast, defineSpectreTooltip, spectreInputSizes as spectreAlertSizes, spectreAlertVariants, spectreAvatarShapes, spectreAvatarSizes, spectreInputSizes as spectreBadgeSizes, spectreBadgeVariants, spectreInputSizes as spectreButtonSizes, spectreButtonTypes, spectreButtonVariants, spectreCardVariants, spectreContainerMaxWidths, spectreDropdownPlacements, spectreGridColumns, spectreGridGaps, spectreInputSizes as spectreIconBoxSizes, spectreIconBoxVariants, spectreInputSizes, spectreInputTypes, spectreInputSizes as spectreRatingSizes, spectreInputSizes as spectreSpinnerSizes, spectreSpinnerVariants, spectreStackAligns, spectreStackBases, spectreStackDirections, spectreInputSizes as spectreTagSizes, spectreTagVariants, spectreTestimonialVariants, spectreTextFamilies, spectreTextLevels, spectreTextSizes, spectreTextVariants, spectreToastVariants, spectreTooltipPlacements };
|
|
4020
4297
|
//# sourceMappingURL=index.js.map
|
|
4021
4298
|
//# sourceMappingURL=index.js.map
|