@phcdevworks/spectre-components 1.14.0 → 1.15.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 +165 -80
- package/dist/alert.cjs.map +1 -1
- package/dist/alert.js.map +1 -1
- package/dist/avatar.cjs.map +1 -1
- package/dist/avatar.js.map +1 -1
- package/dist/badge.cjs.map +1 -1
- package/dist/badge.js.map +1 -1
- package/dist/button.cjs.map +1 -1
- package/dist/button.js.map +1 -1
- package/dist/card.cjs.map +1 -1
- package/dist/card.js.map +1 -1
- package/dist/container.cjs +17 -1
- package/dist/container.cjs.map +1 -1
- package/dist/container.d.cts +7 -0
- package/dist/container.d.ts +7 -0
- package/dist/container.js +17 -1
- package/dist/container.js.map +1 -1
- package/dist/dropdown.cjs +10 -1
- package/dist/dropdown.cjs.map +1 -1
- package/dist/dropdown.d.cts +6 -0
- package/dist/dropdown.d.ts +6 -0
- package/dist/dropdown.js +10 -1
- package/dist/dropdown.js.map +1 -1
- package/dist/footer.cjs +18 -2
- package/dist/footer.cjs.map +1 -1
- package/dist/footer.d.cts +7 -0
- package/dist/footer.d.ts +7 -0
- package/dist/footer.js +18 -2
- package/dist/footer.js.map +1 -1
- package/dist/grid.cjs +17 -1
- package/dist/grid.cjs.map +1 -1
- package/dist/grid.d.cts +7 -0
- package/dist/grid.d.ts +7 -0
- package/dist/grid.js +17 -1
- package/dist/grid.js.map +1 -1
- package/dist/icon-box.cjs.map +1 -1
- package/dist/icon-box.js.map +1 -1
- package/dist/index.cjs +222 -20
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +222 -22
- package/dist/index.js.map +1 -1
- package/dist/input.cjs.map +1 -1
- package/dist/input.js.map +1 -1
- package/dist/nav-item.cjs +7 -1
- package/dist/nav-item.cjs.map +1 -1
- package/dist/nav-item.d.cts +6 -0
- package/dist/nav-item.d.ts +6 -0
- package/dist/nav-item.js +7 -1
- package/dist/nav-item.js.map +1 -1
- package/dist/nav.cjs +17 -1
- package/dist/nav.cjs.map +1 -1
- package/dist/nav.d.cts +7 -0
- package/dist/nav.d.ts +7 -0
- package/dist/nav.js +17 -1
- package/dist/nav.js.map +1 -1
- package/dist/rating.cjs.map +1 -1
- package/dist/rating.js.map +1 -1
- package/dist/section.cjs +22 -1
- package/dist/section.cjs.map +1 -1
- package/dist/section.d.cts +9 -0
- package/dist/section.d.ts +9 -0
- package/dist/section.js +22 -1
- package/dist/section.js.map +1 -1
- package/dist/select.cjs.map +1 -1
- package/dist/select.js.map +1 -1
- package/dist/sidebar-toggle.cjs +465 -0
- package/dist/sidebar-toggle.cjs.map +1 -0
- package/dist/sidebar-toggle.d.cts +44 -0
- package/dist/sidebar-toggle.d.ts +44 -0
- package/dist/sidebar-toggle.js +462 -0
- package/dist/sidebar-toggle.js.map +1 -0
- package/dist/sidebar.cjs +15 -10
- package/dist/sidebar.cjs.map +1 -1
- package/dist/sidebar.d.cts +7 -0
- package/dist/sidebar.d.ts +7 -0
- package/dist/sidebar.js +15 -10
- package/dist/sidebar.js.map +1 -1
- package/dist/spinner.cjs.map +1 -1
- package/dist/spinner.js.map +1 -1
- package/dist/stack.cjs +18 -2
- package/dist/stack.cjs.map +1 -1
- package/dist/stack.d.cts +7 -0
- package/dist/stack.d.ts +7 -0
- package/dist/stack.js +18 -2
- package/dist/stack.js.map +1 -1
- package/dist/tag.cjs.map +1 -1
- package/dist/tag.js.map +1 -1
- package/dist/testimonial.cjs.map +1 -1
- package/dist/testimonial.js.map +1 -1
- package/dist/text.cjs.map +1 -1
- package/dist/text.js.map +1 -1
- package/dist/textarea.cjs.map +1 -1
- package/dist/textarea.js.map +1 -1
- package/dist/toast.cjs.map +1 -1
- package/dist/toast.js.map +1 -1
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.js.map +1 -1
- package/package.json +14 -9
package/dist/index.d.cts
CHANGED
|
@@ -27,6 +27,7 @@ export { SpectreModalElement, SpectreModalProps, defineSpectreModal } from './mo
|
|
|
27
27
|
export { SpectreNavElement, SpectreNavProps, defineSpectreNav } from './nav.cjs';
|
|
28
28
|
export { SpectreNavItemElement, SpectreNavItemProps, defineSpectreNavItem } from './nav-item.cjs';
|
|
29
29
|
export { SpectreSidebarElement, SpectreSidebarProps, defineSpectreSidebar } from './sidebar.cjs';
|
|
30
|
+
export { SpectreSidebarToggleElement, SpectreSidebarToggleProps, defineSpectreSidebarToggle } from './sidebar-toggle.cjs';
|
|
30
31
|
export { SpectreToastElement, SpectreToastProps, defineSpectreToast } from './toast.cjs';
|
|
31
32
|
export { SpectreTooltipElement, SpectreTooltipProps, defineSpectreTooltip } from './tooltip.cjs';
|
|
32
33
|
export { SpectreTextElement, SpectreTextProps, defineSpectreText } from './text.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export { SpectreModalElement, SpectreModalProps, defineSpectreModal } from './mo
|
|
|
27
27
|
export { SpectreNavElement, SpectreNavProps, defineSpectreNav } from './nav.js';
|
|
28
28
|
export { SpectreNavItemElement, SpectreNavItemProps, defineSpectreNavItem } from './nav-item.js';
|
|
29
29
|
export { SpectreSidebarElement, SpectreSidebarProps, defineSpectreSidebar } from './sidebar.js';
|
|
30
|
+
export { SpectreSidebarToggleElement, SpectreSidebarToggleProps, defineSpectreSidebarToggle } from './sidebar-toggle.js';
|
|
30
31
|
export { SpectreToastElement, SpectreToastProps, defineSpectreToast } from './toast.js';
|
|
31
32
|
export { SpectreTooltipElement, SpectreTooltipProps, defineSpectreTooltip } from './tooltip.js';
|
|
32
33
|
export { SpectreTextElement, SpectreTextProps, defineSpectreText } from './text.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, getNavLinkClasses, getSidebarClasses, getSidebarToggleClasses, getSidebarBackdropClasses, getToastClasses, getToastIconClasses, getTooltipClasses, getTextClasses
|
|
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, getSectionClasses, getStackClasses, getDropdownClasses, getDropdownMenuClasses, getFooterClasses, getModalOverlayClasses, getModalClasses, getNavClasses, getNavLinkClasses, getSidebarClasses, getSidebarToggleClasses, getSidebarBackdropClasses, getToastClasses, getToastIconClasses, getTooltipClasses, getTextClasses } 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';
|
|
@@ -288,6 +288,13 @@ function normalizeInt(value, fallback, min = 0) {
|
|
|
288
288
|
}
|
|
289
289
|
return value;
|
|
290
290
|
}
|
|
291
|
+
var spectreUtilityClassPattern = /^sp-[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
292
|
+
function sanitizeUtilityClasses(value) {
|
|
293
|
+
if (!value) {
|
|
294
|
+
return "";
|
|
295
|
+
}
|
|
296
|
+
return value.split(/\s+/).filter((token) => spectreUtilityClassPattern.test(token)).join(" ");
|
|
297
|
+
}
|
|
291
298
|
var SpectreBaseElement = class extends LitElement {
|
|
292
299
|
constructor() {
|
|
293
300
|
super(...arguments);
|
|
@@ -2770,6 +2777,7 @@ function defineSpectrePricingCard(tagName = "sp-pricing-card") {
|
|
|
2770
2777
|
var SpectreContainerElement = class extends SpectreProjectableElement {
|
|
2771
2778
|
constructor() {
|
|
2772
2779
|
super(...arguments);
|
|
2780
|
+
this.innerClass = void 0;
|
|
2773
2781
|
this.maxWidth = void 0;
|
|
2774
2782
|
}
|
|
2775
2783
|
get id() {
|
|
@@ -2784,6 +2792,11 @@ var SpectreContainerElement = class extends SpectreProjectableElement {
|
|
|
2784
2792
|
set title(value) {
|
|
2785
2793
|
super.title = value;
|
|
2786
2794
|
}
|
|
2795
|
+
connectedCallback() {
|
|
2796
|
+
var _a;
|
|
2797
|
+
super.connectedCallback();
|
|
2798
|
+
(_a = this.style).display || (_a.display = "block");
|
|
2799
|
+
}
|
|
2787
2800
|
getContentContainer() {
|
|
2788
2801
|
return this.querySelector("[data-sp-container-native]");
|
|
2789
2802
|
}
|
|
@@ -2800,9 +2813,11 @@ var SpectreContainerElement = class extends SpectreProjectableElement {
|
|
|
2800
2813
|
}
|
|
2801
2814
|
}
|
|
2802
2815
|
get containerClasses() {
|
|
2803
|
-
|
|
2816
|
+
const recipeClasses = getContainerClasses(
|
|
2804
2817
|
this.maxWidth != null ? { maxWidth: this.maxWidth } : {}
|
|
2805
2818
|
);
|
|
2819
|
+
const utilityClasses = sanitizeUtilityClasses(this.innerClass);
|
|
2820
|
+
return utilityClasses ? `${recipeClasses} ${utilityClasses}` : recipeClasses;
|
|
2806
2821
|
}
|
|
2807
2822
|
render() {
|
|
2808
2823
|
return html`<div
|
|
@@ -2819,6 +2834,7 @@ var SpectreContainerElement = class extends SpectreProjectableElement {
|
|
|
2819
2834
|
}
|
|
2820
2835
|
};
|
|
2821
2836
|
SpectreContainerElement.properties = {
|
|
2837
|
+
innerClass: { attribute: "inner-class", type: String },
|
|
2822
2838
|
maxWidth: { attribute: "max-width", type: String, reflect: true }
|
|
2823
2839
|
};
|
|
2824
2840
|
function defineSpectreContainer(tagName = "sp-container") {
|
|
@@ -2834,6 +2850,7 @@ var SpectreGridElement = class extends SpectreProjectableElement {
|
|
|
2834
2850
|
super(...arguments);
|
|
2835
2851
|
this.columns = 1;
|
|
2836
2852
|
this.gap = "md";
|
|
2853
|
+
this.innerClass = void 0;
|
|
2837
2854
|
}
|
|
2838
2855
|
get id() {
|
|
2839
2856
|
return super.id;
|
|
@@ -2847,6 +2864,11 @@ var SpectreGridElement = class extends SpectreProjectableElement {
|
|
|
2847
2864
|
set title(value) {
|
|
2848
2865
|
super.title = value;
|
|
2849
2866
|
}
|
|
2867
|
+
connectedCallback() {
|
|
2868
|
+
var _a;
|
|
2869
|
+
super.connectedCallback();
|
|
2870
|
+
(_a = this.style).display || (_a.display = "block");
|
|
2871
|
+
}
|
|
2850
2872
|
getContentContainer() {
|
|
2851
2873
|
return this.querySelector("[data-sp-grid-native]");
|
|
2852
2874
|
}
|
|
@@ -2870,13 +2892,15 @@ var SpectreGridElement = class extends SpectreProjectableElement {
|
|
|
2870
2892
|
}
|
|
2871
2893
|
}
|
|
2872
2894
|
get gridClasses() {
|
|
2873
|
-
|
|
2895
|
+
const recipeClasses = getGridClasses({
|
|
2874
2896
|
columns: this.columns,
|
|
2875
2897
|
gap: this.gap,
|
|
2876
2898
|
...this.span !== void 0 && {
|
|
2877
2899
|
span: this.span
|
|
2878
2900
|
}
|
|
2879
2901
|
});
|
|
2902
|
+
const utilityClasses = sanitizeUtilityClasses(this.innerClass);
|
|
2903
|
+
return utilityClasses ? `${recipeClasses} ${utilityClasses}` : recipeClasses;
|
|
2880
2904
|
}
|
|
2881
2905
|
render() {
|
|
2882
2906
|
return html`<div
|
|
@@ -2895,6 +2919,7 @@ var SpectreGridElement = class extends SpectreProjectableElement {
|
|
|
2895
2919
|
SpectreGridElement.properties = {
|
|
2896
2920
|
columns: { type: Number, reflect: true },
|
|
2897
2921
|
gap: { type: String, reflect: true },
|
|
2922
|
+
innerClass: { attribute: "inner-class", type: String },
|
|
2898
2923
|
span: { type: Object }
|
|
2899
2924
|
};
|
|
2900
2925
|
function defineSpectreGrid(tagName = "sp-grid") {
|
|
@@ -2906,6 +2931,10 @@ function defineSpectreGrid(tagName = "sp-grid") {
|
|
|
2906
2931
|
return SpectreGridElement;
|
|
2907
2932
|
}
|
|
2908
2933
|
var SpectreSectionElement = class extends SpectreProjectableElement {
|
|
2934
|
+
constructor() {
|
|
2935
|
+
super(...arguments);
|
|
2936
|
+
this.innerClass = void 0;
|
|
2937
|
+
}
|
|
2909
2938
|
get id() {
|
|
2910
2939
|
return super.id;
|
|
2911
2940
|
}
|
|
@@ -2918,6 +2947,11 @@ var SpectreSectionElement = class extends SpectreProjectableElement {
|
|
|
2918
2947
|
set title(value) {
|
|
2919
2948
|
super.title = value;
|
|
2920
2949
|
}
|
|
2950
|
+
connectedCallback() {
|
|
2951
|
+
var _a;
|
|
2952
|
+
super.connectedCallback();
|
|
2953
|
+
(_a = this.style).display || (_a.display = "block");
|
|
2954
|
+
}
|
|
2921
2955
|
getContentContainer() {
|
|
2922
2956
|
return this.querySelector("[data-sp-section-native]");
|
|
2923
2957
|
}
|
|
@@ -2929,7 +2963,9 @@ var SpectreSectionElement = class extends SpectreProjectableElement {
|
|
|
2929
2963
|
return el.hasAttribute("data-sp-section-native");
|
|
2930
2964
|
}
|
|
2931
2965
|
get sectionClasses() {
|
|
2932
|
-
|
|
2966
|
+
const recipeClasses = getSectionClasses({});
|
|
2967
|
+
const utilityClasses = sanitizeUtilityClasses(this.innerClass);
|
|
2968
|
+
return utilityClasses ? `${recipeClasses} ${utilityClasses}` : recipeClasses;
|
|
2933
2969
|
}
|
|
2934
2970
|
render() {
|
|
2935
2971
|
return html`<section
|
|
@@ -2945,6 +2981,9 @@ var SpectreSectionElement = class extends SpectreProjectableElement {
|
|
|
2945
2981
|
</section>`;
|
|
2946
2982
|
}
|
|
2947
2983
|
};
|
|
2984
|
+
SpectreSectionElement.properties = {
|
|
2985
|
+
innerClass: { attribute: "inner-class", type: String }
|
|
2986
|
+
};
|
|
2948
2987
|
function defineSpectreSection(tagName = "sp-section") {
|
|
2949
2988
|
const existingElement = customElements.get(tagName);
|
|
2950
2989
|
if (existingElement) {
|
|
@@ -2959,6 +2998,7 @@ var SpectreStackElement = class extends SpectreProjectableElement {
|
|
|
2959
2998
|
this.align = "center";
|
|
2960
2999
|
this.basis = void 0;
|
|
2961
3000
|
this.direction = "vertical";
|
|
3001
|
+
this.innerClass = void 0;
|
|
2962
3002
|
}
|
|
2963
3003
|
get id() {
|
|
2964
3004
|
return super.id;
|
|
@@ -2972,6 +3012,11 @@ var SpectreStackElement = class extends SpectreProjectableElement {
|
|
|
2972
3012
|
set title(value) {
|
|
2973
3013
|
super.title = value;
|
|
2974
3014
|
}
|
|
3015
|
+
connectedCallback() {
|
|
3016
|
+
var _a;
|
|
3017
|
+
super.connectedCallback();
|
|
3018
|
+
(_a = this.style).display || (_a.display = "block");
|
|
3019
|
+
}
|
|
2975
3020
|
getContentContainer() {
|
|
2976
3021
|
return this.querySelector("[data-sp-stack-native]");
|
|
2977
3022
|
}
|
|
@@ -2994,11 +3039,13 @@ var SpectreStackElement = class extends SpectreProjectableElement {
|
|
|
2994
3039
|
}
|
|
2995
3040
|
}
|
|
2996
3041
|
get stackClasses() {
|
|
2997
|
-
|
|
3042
|
+
const recipeClasses = getStackClasses({
|
|
2998
3043
|
align: this.align,
|
|
2999
3044
|
direction: this.direction,
|
|
3000
3045
|
...this.basis != null ? { basis: this.basis } : {}
|
|
3001
3046
|
});
|
|
3047
|
+
const utilityClasses = sanitizeUtilityClasses(this.innerClass);
|
|
3048
|
+
return utilityClasses ? `${recipeClasses} ${utilityClasses}` : recipeClasses;
|
|
3002
3049
|
}
|
|
3003
3050
|
render() {
|
|
3004
3051
|
return html`<div
|
|
@@ -3017,7 +3064,8 @@ var SpectreStackElement = class extends SpectreProjectableElement {
|
|
|
3017
3064
|
SpectreStackElement.properties = {
|
|
3018
3065
|
align: { type: String, reflect: true },
|
|
3019
3066
|
basis: { type: String, reflect: true },
|
|
3020
|
-
direction: { type: String, reflect: true }
|
|
3067
|
+
direction: { type: String, reflect: true },
|
|
3068
|
+
innerClass: { attribute: "inner-class", type: String }
|
|
3021
3069
|
};
|
|
3022
3070
|
function defineSpectreStack(tagName = "sp-stack") {
|
|
3023
3071
|
const existingElement = customElements.get(tagName);
|
|
@@ -3031,6 +3079,7 @@ var SpectreDropdownElement = class extends SpectreBaseElement {
|
|
|
3031
3079
|
constructor() {
|
|
3032
3080
|
super(...arguments);
|
|
3033
3081
|
this.fullWidth = false;
|
|
3082
|
+
this.mega = false;
|
|
3034
3083
|
this.open = false;
|
|
3035
3084
|
this.placement = "bottom-start";
|
|
3036
3085
|
this.triggerLabel = "Toggle menu";
|
|
@@ -3134,6 +3183,9 @@ var SpectreDropdownElement = class extends SpectreBaseElement {
|
|
|
3134
3183
|
if (changedProperties.has("fullWidth") && this.fullWidth == null) {
|
|
3135
3184
|
this.fullWidth = false;
|
|
3136
3185
|
}
|
|
3186
|
+
if (changedProperties.has("mega") && this.mega == null) {
|
|
3187
|
+
this.mega = false;
|
|
3188
|
+
}
|
|
3137
3189
|
if (changedProperties.has("open") && this.open == null) {
|
|
3138
3190
|
this.open = false;
|
|
3139
3191
|
}
|
|
@@ -3169,10 +3221,14 @@ var SpectreDropdownElement = class extends SpectreBaseElement {
|
|
|
3169
3221
|
this.dispatchEvent(new CustomEvent("sp-close", { bubbles: true }));
|
|
3170
3222
|
}
|
|
3171
3223
|
get dropdownClasses() {
|
|
3172
|
-
return getDropdownClasses({
|
|
3224
|
+
return getDropdownClasses({
|
|
3225
|
+
fullWidth: this.fullWidth ?? false,
|
|
3226
|
+
mega: this.mega ?? false
|
|
3227
|
+
});
|
|
3173
3228
|
}
|
|
3174
3229
|
get menuClasses() {
|
|
3175
3230
|
return getDropdownMenuClasses({
|
|
3231
|
+
mega: this.mega ?? false,
|
|
3176
3232
|
open: this.open ?? false,
|
|
3177
3233
|
placement: this.placement
|
|
3178
3234
|
});
|
|
@@ -3202,6 +3258,7 @@ var SpectreDropdownElement = class extends SpectreBaseElement {
|
|
|
3202
3258
|
};
|
|
3203
3259
|
SpectreDropdownElement.properties = {
|
|
3204
3260
|
fullWidth: { attribute: "full-width", type: Boolean, reflect: true },
|
|
3261
|
+
mega: { type: Boolean, reflect: true },
|
|
3205
3262
|
open: { type: Boolean, reflect: true },
|
|
3206
3263
|
placement: { type: String, reflect: true },
|
|
3207
3264
|
triggerLabel: { attribute: "trigger-label", type: String }
|
|
@@ -3219,6 +3276,7 @@ var SpectreFooterElement = class extends SpectreProjectableElement {
|
|
|
3219
3276
|
super(...arguments);
|
|
3220
3277
|
this.bordered = false;
|
|
3221
3278
|
this.fullWidth = false;
|
|
3279
|
+
this.innerClass = void 0;
|
|
3222
3280
|
}
|
|
3223
3281
|
get id() {
|
|
3224
3282
|
return super.id;
|
|
@@ -3232,6 +3290,11 @@ var SpectreFooterElement = class extends SpectreProjectableElement {
|
|
|
3232
3290
|
set title(value) {
|
|
3233
3291
|
super.title = value;
|
|
3234
3292
|
}
|
|
3293
|
+
connectedCallback() {
|
|
3294
|
+
var _a;
|
|
3295
|
+
super.connectedCallback();
|
|
3296
|
+
(_a = this.style).display || (_a.display = "block");
|
|
3297
|
+
}
|
|
3235
3298
|
getContentContainer() {
|
|
3236
3299
|
return this.querySelector("[data-sp-footer-native]");
|
|
3237
3300
|
}
|
|
@@ -3251,10 +3314,12 @@ var SpectreFooterElement = class extends SpectreProjectableElement {
|
|
|
3251
3314
|
}
|
|
3252
3315
|
}
|
|
3253
3316
|
get footerClasses() {
|
|
3254
|
-
|
|
3317
|
+
const recipeClasses = getFooterClasses({
|
|
3255
3318
|
bordered: this.bordered ?? false,
|
|
3256
3319
|
fullWidth: this.fullWidth ?? false
|
|
3257
3320
|
});
|
|
3321
|
+
const utilityClasses = sanitizeUtilityClasses(this.innerClass);
|
|
3322
|
+
return utilityClasses ? `${recipeClasses} ${utilityClasses}` : recipeClasses;
|
|
3258
3323
|
}
|
|
3259
3324
|
render() {
|
|
3260
3325
|
return html`<footer
|
|
@@ -3270,7 +3335,8 @@ var SpectreFooterElement = class extends SpectreProjectableElement {
|
|
|
3270
3335
|
};
|
|
3271
3336
|
SpectreFooterElement.properties = {
|
|
3272
3337
|
bordered: { type: Boolean, reflect: true },
|
|
3273
|
-
fullWidth: { attribute: "full-width", type: Boolean, reflect: true }
|
|
3338
|
+
fullWidth: { attribute: "full-width", type: Boolean, reflect: true },
|
|
3339
|
+
innerClass: { attribute: "inner-class", type: String }
|
|
3274
3340
|
};
|
|
3275
3341
|
function defineSpectreFooter(tagName = "sp-footer") {
|
|
3276
3342
|
const existingElement = customElements.get(tagName);
|
|
@@ -3452,6 +3518,7 @@ var SpectreNavElement = class extends SpectreProjectableElement {
|
|
|
3452
3518
|
super(...arguments);
|
|
3453
3519
|
this.bordered = false;
|
|
3454
3520
|
this.fullWidth = false;
|
|
3521
|
+
this.innerClass = void 0;
|
|
3455
3522
|
this.sticky = false;
|
|
3456
3523
|
}
|
|
3457
3524
|
get id() {
|
|
@@ -3466,6 +3533,11 @@ var SpectreNavElement = class extends SpectreProjectableElement {
|
|
|
3466
3533
|
set title(value) {
|
|
3467
3534
|
super.title = value;
|
|
3468
3535
|
}
|
|
3536
|
+
connectedCallback() {
|
|
3537
|
+
var _a;
|
|
3538
|
+
super.connectedCallback();
|
|
3539
|
+
(_a = this.style).display || (_a.display = "block");
|
|
3540
|
+
}
|
|
3469
3541
|
getContentContainer() {
|
|
3470
3542
|
return this.querySelector("[data-sp-nav-native]");
|
|
3471
3543
|
}
|
|
@@ -3488,11 +3560,13 @@ var SpectreNavElement = class extends SpectreProjectableElement {
|
|
|
3488
3560
|
}
|
|
3489
3561
|
}
|
|
3490
3562
|
get navClasses() {
|
|
3491
|
-
|
|
3563
|
+
const recipeClasses = getNavClasses({
|
|
3492
3564
|
bordered: this.bordered ?? false,
|
|
3493
3565
|
fullWidth: this.fullWidth ?? false,
|
|
3494
3566
|
sticky: this.sticky ?? false
|
|
3495
3567
|
});
|
|
3568
|
+
const utilityClasses = sanitizeUtilityClasses(this.innerClass);
|
|
3569
|
+
return utilityClasses ? `${recipeClasses} ${utilityClasses}` : recipeClasses;
|
|
3496
3570
|
}
|
|
3497
3571
|
render() {
|
|
3498
3572
|
return html`<nav
|
|
@@ -3509,6 +3583,7 @@ var SpectreNavElement = class extends SpectreProjectableElement {
|
|
|
3509
3583
|
SpectreNavElement.properties = {
|
|
3510
3584
|
bordered: { type: Boolean, reflect: true },
|
|
3511
3585
|
fullWidth: { attribute: "full-width", type: Boolean, reflect: true },
|
|
3586
|
+
innerClass: { attribute: "inner-class", type: String },
|
|
3512
3587
|
sticky: { type: Boolean, reflect: true }
|
|
3513
3588
|
};
|
|
3514
3589
|
function defineSpectreNav(tagName = "sp-nav") {
|
|
@@ -3525,6 +3600,7 @@ var SpectreNavItemElement = class extends SpectreBaseElement {
|
|
|
3525
3600
|
this.dropdown = false;
|
|
3526
3601
|
this.href = void 0;
|
|
3527
3602
|
this.label = void 0;
|
|
3603
|
+
this.mega = false;
|
|
3528
3604
|
this.open = false;
|
|
3529
3605
|
this.placement = "bottom-start";
|
|
3530
3606
|
this.triggerContent = [];
|
|
@@ -3627,6 +3703,9 @@ var SpectreNavItemElement = class extends SpectreBaseElement {
|
|
|
3627
3703
|
if (changedProperties.has("dropdown") && this.dropdown == null) {
|
|
3628
3704
|
this.dropdown = false;
|
|
3629
3705
|
}
|
|
3706
|
+
if (changedProperties.has("mega") && this.mega == null) {
|
|
3707
|
+
this.mega = false;
|
|
3708
|
+
}
|
|
3630
3709
|
if (changedProperties.has("open") && this.open == null) {
|
|
3631
3710
|
this.open = false;
|
|
3632
3711
|
}
|
|
@@ -3659,10 +3738,11 @@ var SpectreNavItemElement = class extends SpectreBaseElement {
|
|
|
3659
3738
|
this.dispatchEvent(new CustomEvent("sp-close", { bubbles: true }));
|
|
3660
3739
|
}
|
|
3661
3740
|
get wrapperClasses() {
|
|
3662
|
-
return getDropdownClasses();
|
|
3741
|
+
return getDropdownClasses({ mega: this.mega ?? false });
|
|
3663
3742
|
}
|
|
3664
3743
|
get menuClasses() {
|
|
3665
3744
|
return getDropdownMenuClasses({
|
|
3745
|
+
mega: this.mega ?? false,
|
|
3666
3746
|
open: this.open ?? false,
|
|
3667
3747
|
placement: this.placement
|
|
3668
3748
|
});
|
|
@@ -3710,6 +3790,7 @@ SpectreNavItemElement.properties = {
|
|
|
3710
3790
|
dropdown: { type: Boolean, reflect: true },
|
|
3711
3791
|
href: { type: String },
|
|
3712
3792
|
label: { type: String },
|
|
3793
|
+
mega: { type: Boolean, reflect: true },
|
|
3713
3794
|
open: { type: Boolean, reflect: true },
|
|
3714
3795
|
placement: { type: String, reflect: true }
|
|
3715
3796
|
};
|
|
@@ -3725,6 +3806,7 @@ var SpectreSidebarElement = class extends SpectreProjectableElement {
|
|
|
3725
3806
|
constructor() {
|
|
3726
3807
|
super(...arguments);
|
|
3727
3808
|
this.bordered = false;
|
|
3809
|
+
this.hideToggle = false;
|
|
3728
3810
|
this.open = false;
|
|
3729
3811
|
this.toggleLabel = "Toggle sidebar";
|
|
3730
3812
|
this.handleDocumentKeydown = (event) => {
|
|
@@ -3759,6 +3841,9 @@ var SpectreSidebarElement = class extends SpectreProjectableElement {
|
|
|
3759
3841
|
if (changedProperties.has("bordered") && this.bordered == null) {
|
|
3760
3842
|
this.bordered = false;
|
|
3761
3843
|
}
|
|
3844
|
+
if (changedProperties.has("hideToggle") && this.hideToggle == null) {
|
|
3845
|
+
this.hideToggle = false;
|
|
3846
|
+
}
|
|
3762
3847
|
if (changedProperties.has("open") && this.open == null) {
|
|
3763
3848
|
this.open = false;
|
|
3764
3849
|
}
|
|
@@ -3811,16 +3896,16 @@ var SpectreSidebarElement = class extends SpectreProjectableElement {
|
|
|
3811
3896
|
return getSidebarClasses({ bordered: this.bordered ?? false });
|
|
3812
3897
|
}
|
|
3813
3898
|
render() {
|
|
3814
|
-
return html`<button
|
|
3815
|
-
|
|
3816
|
-
|
|
3817
|
-
|
|
3818
|
-
|
|
3819
|
-
|
|
3820
|
-
|
|
3821
|
-
|
|
3822
|
-
|
|
3823
|
-
|
|
3899
|
+
return html`${this.hideToggle ? nothing : html`<button
|
|
3900
|
+
aria-expanded="${this.open ? "true" : "false"}"
|
|
3901
|
+
aria-label="${ifDefined(this.toggleLabel)}"
|
|
3902
|
+
class="${getSidebarToggleClasses()}"
|
|
3903
|
+
data-sp-sidebar-toggle
|
|
3904
|
+
type="button"
|
|
3905
|
+
@click="${() => this.toggle()}"
|
|
3906
|
+
>
|
|
3907
|
+
☰
|
|
3908
|
+
</button>`}
|
|
3824
3909
|
<div
|
|
3825
3910
|
class="${getSidebarBackdropClasses()}"
|
|
3826
3911
|
data-sp-sidebar-backdrop
|
|
@@ -3839,6 +3924,7 @@ var SpectreSidebarElement = class extends SpectreProjectableElement {
|
|
|
3839
3924
|
};
|
|
3840
3925
|
SpectreSidebarElement.properties = {
|
|
3841
3926
|
bordered: { type: Boolean, reflect: true },
|
|
3927
|
+
hideToggle: { attribute: "hide-toggle", type: Boolean, reflect: true },
|
|
3842
3928
|
open: { type: Boolean, reflect: false },
|
|
3843
3929
|
toggleLabel: { attribute: "toggle-label", type: String }
|
|
3844
3930
|
};
|
|
@@ -3850,6 +3936,119 @@ function defineSpectreSidebar(tagName = "sp-sidebar") {
|
|
|
3850
3936
|
customElements.define(tagName, SpectreSidebarElement);
|
|
3851
3937
|
return SpectreSidebarElement;
|
|
3852
3938
|
}
|
|
3939
|
+
var SpectreSidebarToggleElement = class extends SpectreProjectableElement {
|
|
3940
|
+
constructor() {
|
|
3941
|
+
super(...arguments);
|
|
3942
|
+
this.for = void 0;
|
|
3943
|
+
this.label = "Toggle sidebar";
|
|
3944
|
+
this.expanded = false;
|
|
3945
|
+
this.handleTargetToggle = (event) => {
|
|
3946
|
+
if (event.target !== this.targetElement) {
|
|
3947
|
+
return;
|
|
3948
|
+
}
|
|
3949
|
+
this.syncExpanded();
|
|
3950
|
+
};
|
|
3951
|
+
}
|
|
3952
|
+
get id() {
|
|
3953
|
+
return super.id;
|
|
3954
|
+
}
|
|
3955
|
+
set id(value) {
|
|
3956
|
+
super.id = value;
|
|
3957
|
+
}
|
|
3958
|
+
get title() {
|
|
3959
|
+
return super.title;
|
|
3960
|
+
}
|
|
3961
|
+
set title(value) {
|
|
3962
|
+
super.title = value;
|
|
3963
|
+
}
|
|
3964
|
+
getContentContainer() {
|
|
3965
|
+
return this.querySelector("[data-sp-sidebar-toggle-native]");
|
|
3966
|
+
}
|
|
3967
|
+
isInternalNode(node) {
|
|
3968
|
+
if (node.nodeType !== Node.ELEMENT_NODE) {
|
|
3969
|
+
return false;
|
|
3970
|
+
}
|
|
3971
|
+
const el = node;
|
|
3972
|
+
return el.hasAttribute("data-sp-sidebar-toggle-native");
|
|
3973
|
+
}
|
|
3974
|
+
willUpdate(changedProperties) {
|
|
3975
|
+
if (changedProperties.has("label") && !this.label) {
|
|
3976
|
+
this.label = "Toggle sidebar";
|
|
3977
|
+
}
|
|
3978
|
+
}
|
|
3979
|
+
connectedCallback() {
|
|
3980
|
+
super.connectedCallback();
|
|
3981
|
+
document.addEventListener("sp-open", this.handleTargetToggle);
|
|
3982
|
+
document.addEventListener("sp-close", this.handleTargetToggle);
|
|
3983
|
+
this.syncExpanded();
|
|
3984
|
+
}
|
|
3985
|
+
disconnectedCallback() {
|
|
3986
|
+
document.removeEventListener("sp-open", this.handleTargetToggle);
|
|
3987
|
+
document.removeEventListener("sp-close", this.handleTargetToggle);
|
|
3988
|
+
super.disconnectedCallback();
|
|
3989
|
+
}
|
|
3990
|
+
updated(changedProperties) {
|
|
3991
|
+
super.updated(changedProperties);
|
|
3992
|
+
if (changedProperties.has("for")) {
|
|
3993
|
+
this.syncExpanded();
|
|
3994
|
+
}
|
|
3995
|
+
}
|
|
3996
|
+
get targetElement() {
|
|
3997
|
+
if (!this.for) {
|
|
3998
|
+
return null;
|
|
3999
|
+
}
|
|
4000
|
+
const native = document.getElementById(this.for);
|
|
4001
|
+
return native?.closest("sp-sidebar") ?? null;
|
|
4002
|
+
}
|
|
4003
|
+
syncExpanded() {
|
|
4004
|
+
const next = Boolean(this.targetElement?.open);
|
|
4005
|
+
if (next !== this.expanded) {
|
|
4006
|
+
this.expanded = next;
|
|
4007
|
+
this.requestUpdate();
|
|
4008
|
+
}
|
|
4009
|
+
}
|
|
4010
|
+
handleClick() {
|
|
4011
|
+
const target = this.targetElement;
|
|
4012
|
+
if (!target) {
|
|
4013
|
+
return;
|
|
4014
|
+
}
|
|
4015
|
+
const nextOpen = !target.open;
|
|
4016
|
+
target.open = nextOpen;
|
|
4017
|
+
target.dispatchEvent(
|
|
4018
|
+
new CustomEvent(nextOpen ? "sp-open" : "sp-close", { bubbles: true })
|
|
4019
|
+
);
|
|
4020
|
+
}
|
|
4021
|
+
get toggleClasses() {
|
|
4022
|
+
return getSidebarToggleClasses();
|
|
4023
|
+
}
|
|
4024
|
+
render() {
|
|
4025
|
+
return html`<button
|
|
4026
|
+
aria-controls="${ifDefined(this.for)}"
|
|
4027
|
+
aria-expanded="${this.expanded ? "true" : "false"}"
|
|
4028
|
+
aria-label="${ifDefined(this.forwardedAriaLabel ?? this.label)}"
|
|
4029
|
+
class="${this.toggleClasses}"
|
|
4030
|
+
data-sp-sidebar-toggle-native
|
|
4031
|
+
id="${ifDefined(this.id || void 0)}"
|
|
4032
|
+
title="${ifDefined(this.title || void 0)}"
|
|
4033
|
+
type="button"
|
|
4034
|
+
@click="${() => this.handleClick()}"
|
|
4035
|
+
>
|
|
4036
|
+
${this.hasProjectedContent ? this.projectedContent : html`☰`}
|
|
4037
|
+
</button>`;
|
|
4038
|
+
}
|
|
4039
|
+
};
|
|
4040
|
+
SpectreSidebarToggleElement.properties = {
|
|
4041
|
+
for: { type: String },
|
|
4042
|
+
label: { type: String }
|
|
4043
|
+
};
|
|
4044
|
+
function defineSpectreSidebarToggle(tagName = "sp-sidebar-toggle") {
|
|
4045
|
+
const existingElement = customElements.get(tagName);
|
|
4046
|
+
if (existingElement) {
|
|
4047
|
+
return existingElement;
|
|
4048
|
+
}
|
|
4049
|
+
customElements.define(tagName, SpectreSidebarToggleElement);
|
|
4050
|
+
return SpectreSidebarToggleElement;
|
|
4051
|
+
}
|
|
3853
4052
|
var SpectreToastElement = class extends SpectreBaseElement {
|
|
3854
4053
|
constructor() {
|
|
3855
4054
|
super(...arguments);
|
|
@@ -4288,11 +4487,12 @@ function defineSpectreComponents() {
|
|
|
4288
4487
|
defineSpectreNav();
|
|
4289
4488
|
defineSpectreNavItem();
|
|
4290
4489
|
defineSpectreSidebar();
|
|
4490
|
+
defineSpectreSidebarToggle();
|
|
4291
4491
|
defineSpectreToast();
|
|
4292
4492
|
defineSpectreTooltip();
|
|
4293
4493
|
defineSpectreText();
|
|
4294
4494
|
}
|
|
4295
4495
|
|
|
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 };
|
|
4496
|
+
export { SpectreAlertElement, SpectreAvatarElement, SpectreBadgeElement, SpectreButtonElement, SpectreCardElement, SpectreCheckboxElement, SpectreContainerElement, SpectreDropdownElement, SpectreFieldsetElement, SpectreFooterElement, SpectreGridElement, SpectreIconBoxElement, SpectreInputElement, SpectreLabelElement, SpectreModalElement, SpectreNavElement, SpectreNavItemElement, SpectrePricingCardElement, SpectreRadioElement, SpectreRatingElement, SpectreSectionElement, SpectreSelectElement, SpectreSidebarElement, SpectreSidebarToggleElement, 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, defineSpectreSidebarToggle, 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 };
|
|
4297
4497
|
//# sourceMappingURL=index.js.map
|
|
4298
4498
|
//# sourceMappingURL=index.js.map
|