@phcdevworks/spectre-components 1.16.0 → 1.18.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.
Files changed (126) hide show
  1. package/README.md +30 -19
  2. package/dist/alert.cjs.map +1 -1
  3. package/dist/alert.d.cts +2 -2
  4. package/dist/alert.d.ts +2 -2
  5. package/dist/alert.js.map +1 -1
  6. package/dist/avatar.cjs.map +1 -1
  7. package/dist/avatar.d.cts +2 -2
  8. package/dist/avatar.d.ts +2 -2
  9. package/dist/avatar.js.map +1 -1
  10. package/dist/badge.cjs +2 -1
  11. package/dist/badge.cjs.map +1 -1
  12. package/dist/badge.d.cts +2 -2
  13. package/dist/badge.d.ts +2 -2
  14. package/dist/badge.js +2 -1
  15. package/dist/badge.js.map +1 -1
  16. package/dist/button.cjs +14 -2
  17. package/dist/button.cjs.map +1 -1
  18. package/dist/button.d.cts +8 -2
  19. package/dist/button.d.ts +8 -2
  20. package/dist/button.js +14 -2
  21. package/dist/button.js.map +1 -1
  22. package/dist/card.cjs +40 -3
  23. package/dist/card.cjs.map +1 -1
  24. package/dist/card.d.cts +15 -5
  25. package/dist/card.d.ts +15 -5
  26. package/dist/card.js +40 -3
  27. package/dist/card.js.map +1 -1
  28. package/dist/container.cjs +1 -1
  29. package/dist/container.cjs.map +1 -1
  30. package/dist/container.d.cts +2 -2
  31. package/dist/container.d.ts +2 -2
  32. package/dist/container.js +1 -1
  33. package/dist/container.js.map +1 -1
  34. package/dist/dropdown.cjs.map +1 -1
  35. package/dist/dropdown.d.cts +2 -2
  36. package/dist/dropdown.d.ts +2 -2
  37. package/dist/dropdown.js.map +1 -1
  38. package/dist/footer.cjs +1 -1
  39. package/dist/footer.cjs.map +1 -1
  40. package/dist/footer.js +1 -1
  41. package/dist/footer.js.map +1 -1
  42. package/dist/{form-bHrr2vl7.d.cts → form-TvtLcoW0.d.cts} +10 -4
  43. package/dist/{form-bHrr2vl7.d.ts → form-TvtLcoW0.d.ts} +10 -4
  44. package/dist/grid.cjs +67 -1
  45. package/dist/grid.cjs.map +1 -1
  46. package/dist/grid.d.cts +17 -3
  47. package/dist/grid.d.ts +17 -3
  48. package/dist/grid.js +67 -2
  49. package/dist/grid.js.map +1 -1
  50. package/dist/icon-box.cjs.map +1 -1
  51. package/dist/icon-box.d.cts +2 -2
  52. package/dist/icon-box.d.ts +2 -2
  53. package/dist/icon-box.js.map +1 -1
  54. package/dist/index.cjs +123 -8
  55. package/dist/index.cjs.map +1 -1
  56. package/dist/index.d.cts +1 -1
  57. package/dist/index.d.ts +1 -1
  58. package/dist/index.js +122 -9
  59. package/dist/index.js.map +1 -1
  60. package/dist/input.cjs.map +1 -1
  61. package/dist/input.d.cts +2 -2
  62. package/dist/input.d.ts +2 -2
  63. package/dist/input.js.map +1 -1
  64. package/dist/nav-item.cjs.map +1 -1
  65. package/dist/nav-item.d.cts +1 -1
  66. package/dist/nav-item.d.ts +1 -1
  67. package/dist/nav-item.js.map +1 -1
  68. package/dist/nav.cjs +1 -1
  69. package/dist/nav.cjs.map +1 -1
  70. package/dist/nav.d.cts +1 -1
  71. package/dist/nav.d.ts +1 -1
  72. package/dist/nav.js +1 -1
  73. package/dist/nav.js.map +1 -1
  74. package/dist/rating.cjs.map +1 -1
  75. package/dist/rating.d.cts +2 -2
  76. package/dist/rating.d.ts +2 -2
  77. package/dist/rating.js.map +1 -1
  78. package/dist/section.cjs +1 -1
  79. package/dist/section.cjs.map +1 -1
  80. package/dist/section.js +1 -1
  81. package/dist/section.js.map +1 -1
  82. package/dist/select.cjs.map +1 -1
  83. package/dist/select.d.cts +1 -1
  84. package/dist/select.d.ts +1 -1
  85. package/dist/select.js.map +1 -1
  86. package/dist/sidebar-link.cjs.map +1 -1
  87. package/dist/sidebar-link.d.cts +1 -1
  88. package/dist/sidebar-link.d.ts +1 -1
  89. package/dist/sidebar-link.js.map +1 -1
  90. package/dist/spinner.cjs.map +1 -1
  91. package/dist/spinner.d.cts +2 -2
  92. package/dist/spinner.d.ts +2 -2
  93. package/dist/spinner.js.map +1 -1
  94. package/dist/stack.cjs +12 -1
  95. package/dist/stack.cjs.map +1 -1
  96. package/dist/stack.d.cts +9 -3
  97. package/dist/stack.d.ts +9 -3
  98. package/dist/stack.js +12 -2
  99. package/dist/stack.js.map +1 -1
  100. package/dist/tag.cjs.map +1 -1
  101. package/dist/tag.d.cts +2 -2
  102. package/dist/tag.d.ts +2 -2
  103. package/dist/tag.js.map +1 -1
  104. package/dist/testimonial.cjs.map +1 -1
  105. package/dist/testimonial.d.cts +2 -2
  106. package/dist/testimonial.d.ts +2 -2
  107. package/dist/testimonial.js.map +1 -1
  108. package/dist/text.cjs +3 -1
  109. package/dist/text.cjs.map +1 -1
  110. package/dist/text.d.cts +2 -2
  111. package/dist/text.d.ts +2 -2
  112. package/dist/text.js +3 -1
  113. package/dist/text.js.map +1 -1
  114. package/dist/textarea.cjs.map +1 -1
  115. package/dist/textarea.d.cts +1 -1
  116. package/dist/textarea.d.ts +1 -1
  117. package/dist/textarea.js.map +1 -1
  118. package/dist/toast.cjs.map +1 -1
  119. package/dist/toast.d.cts +2 -2
  120. package/dist/toast.d.ts +2 -2
  121. package/dist/toast.js.map +1 -1
  122. package/dist/tooltip.cjs.map +1 -1
  123. package/dist/tooltip.d.cts +2 -2
  124. package/dist/tooltip.d.ts +2 -2
  125. package/dist/tooltip.js.map +1 -1
  126. package/package.json +10 -10
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
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-bHrr2vl7.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 SpectreGridAlign, k as SpectreGridColumns, l as SpectreGridGap, S as SpectreIconBoxSize, m as SpectreIconBoxVariant, S as SpectreInputSize, n as SpectreInputType, S as SpectreRatingSize, S as SpectreSpinnerSize, o as SpectreSpinnerVariant, p as SpectreStackAlign, q as SpectreStackBasis, r as SpectreStackDirection, s as SpectreStackGap, S as SpectreTagSize, t as SpectreTagVariant, u as SpectreTestimonialVariant, v as SpectreTextFamily, w as SpectreTextLevel, x as SpectreTextSize, y as SpectreTextVariant, z as SpectreToastVariant, A as SpectreTooltipPlacement, B as spectreAlertSizes, C as spectreAlertVariants, D as spectreAvatarShapes, E as spectreAvatarSizes, B as spectreBadgeSizes, F as spectreBadgeVariants, B as spectreButtonSizes, G as spectreButtonTypes, H as spectreButtonVariants, I as spectreCardVariants, J as spectreContainerMaxWidths, K as spectreDropdownPlacements, L as spectreGridAligns, M as spectreGridColumns, N as spectreGridGaps, B as spectreIconBoxSizes, O as spectreIconBoxVariants, B as spectreInputSizes, P as spectreInputTypes, B as spectreRatingSizes, B as spectreSpinnerSizes, Q as spectreSpinnerVariants, R as spectreStackAligns, T as spectreStackBases, U as spectreStackDirections, V as spectreStackGaps, B as spectreTagSizes, W as spectreTagVariants, X as spectreTestimonialVariants, Y as spectreTextFamilies, Z as spectreTextLevels, _ as spectreTextSizes, $ as spectreTextVariants, a0 as spectreToastVariants, a1 as spectreTooltipPlacements } from './form-TvtLcoW0.cjs';
2
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';
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
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-bHrr2vl7.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 SpectreGridAlign, k as SpectreGridColumns, l as SpectreGridGap, S as SpectreIconBoxSize, m as SpectreIconBoxVariant, S as SpectreInputSize, n as SpectreInputType, S as SpectreRatingSize, S as SpectreSpinnerSize, o as SpectreSpinnerVariant, p as SpectreStackAlign, q as SpectreStackBasis, r as SpectreStackDirection, s as SpectreStackGap, S as SpectreTagSize, t as SpectreTagVariant, u as SpectreTestimonialVariant, v as SpectreTextFamily, w as SpectreTextLevel, x as SpectreTextSize, y as SpectreTextVariant, z as SpectreToastVariant, A as SpectreTooltipPlacement, B as spectreAlertSizes, C as spectreAlertVariants, D as spectreAvatarShapes, E as spectreAvatarSizes, B as spectreBadgeSizes, F as spectreBadgeVariants, B as spectreButtonSizes, G as spectreButtonTypes, H as spectreButtonVariants, I as spectreCardVariants, J as spectreContainerMaxWidths, K as spectreDropdownPlacements, L as spectreGridAligns, M as spectreGridColumns, N as spectreGridGaps, B as spectreIconBoxSizes, O as spectreIconBoxVariants, B as spectreInputSizes, P as spectreInputTypes, B as spectreRatingSizes, B as spectreSpinnerSizes, Q as spectreSpinnerVariants, R as spectreStackAligns, T as spectreStackBases, U as spectreStackDirections, V as spectreStackGaps, B as spectreTagSizes, W as spectreTagVariants, X as spectreTestimonialVariants, Y as spectreTextFamilies, Z as spectreTextLevels, _ as spectreTextSizes, $ as spectreTextVariants, a0 as spectreToastVariants, a1 as spectreTooltipPlacements } from './form-TvtLcoW0.js';
2
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';
package/dist/index.js CHANGED
@@ -16,7 +16,8 @@ var spectreButtonVariants = [
16
16
  "danger",
17
17
  "success",
18
18
  "cta",
19
- "accent"
19
+ "accent",
20
+ "inverse"
20
21
  ];
21
22
  function isButtonVariant(value) {
22
23
  return spectreButtonVariants.includes(value);
@@ -53,7 +54,8 @@ var spectreBadgeVariants = [
53
54
  "ghost",
54
55
  "outline",
55
56
  "accent",
56
- "cta"
57
+ "cta",
58
+ "inverse"
57
59
  ];
58
60
  function isBadgeVariant(value) {
59
61
  return spectreBadgeVariants.includes(value);
@@ -77,6 +79,12 @@ var spectreCardVariants = [
77
79
  function isCardVariant(value) {
78
80
  return spectreCardVariants.includes(value);
79
81
  }
82
+ var spectreCardPaddingSizes = ["sm", "md", "lg"];
83
+ function isCardPaddingSize(value) {
84
+ return spectreCardPaddingSizes.includes(
85
+ value
86
+ );
87
+ }
80
88
  var spectreIconBoxVariants = [
81
89
  "primary",
82
90
  "secondary",
@@ -157,6 +165,16 @@ var spectreGridGaps = ["sm", "md", "lg"];
157
165
  function isGridGap(value) {
158
166
  return spectreGridGaps.includes(value);
159
167
  }
168
+ var spectreGridAligns = [
169
+ "start",
170
+ "center",
171
+ "end",
172
+ "baseline",
173
+ "stretch"
174
+ ];
175
+ function isGridAlign(value) {
176
+ return spectreGridAligns.includes(value);
177
+ }
160
178
  var spectreGridSpans = [
161
179
  1,
162
180
  2,
@@ -300,6 +318,10 @@ var spectreStackAligns = ["center", "stretch"];
300
318
  function isStackAlign(value) {
301
319
  return spectreStackAligns.includes(value);
302
320
  }
321
+ var spectreStackGaps = ["sm", "md", "lg"];
322
+ function isStackGap(value) {
323
+ return spectreStackGaps.includes(value);
324
+ }
303
325
  var spectreDropdownPlacements = [
304
326
  "bottom-start",
305
327
  "bottom-end",
@@ -357,7 +379,9 @@ var spectreTextVariants = [
357
379
  "muted",
358
380
  "subtle",
359
381
  "meta",
360
- "brand"
382
+ "brand",
383
+ "onInverse",
384
+ "onInverseMuted"
361
385
  ];
362
386
  function isTextVariant(value) {
363
387
  return spectreTextVariants.includes(value);
@@ -394,7 +418,7 @@ function normalizeInt(value, fallback, min = 0) {
394
418
  }
395
419
  return value;
396
420
  }
397
- var spectreUtilityClassPattern = /^sp-[a-z0-9]+(?:-[a-z0-9]+)*$/;
421
+ var spectreUtilityClassPattern = /^sp-[a-z0-9]+(?:-[a-z0-9]+)*(?:__[a-z0-9]+(?:-[a-z0-9]+)*)?(?:--[a-z0-9]+(?:-[a-z0-9]+)*)?$/;
398
422
  function sanitizeUtilityClasses(value) {
399
423
  if (!value) {
400
424
  return "";
@@ -748,6 +772,7 @@ var SpectreButtonElement = class extends SpectreProjectableElement {
748
772
  this.disabled = false;
749
773
  this.fullWidth = false;
750
774
  this.iconOnly = false;
775
+ this.innerClass = void 0;
751
776
  this.loading = false;
752
777
  this.loadingLabel = "Loading";
753
778
  this.pill = false;
@@ -825,7 +850,7 @@ var SpectreButtonElement = class extends SpectreProjectableElement {
825
850
  }
826
851
  }
827
852
  get buttonClasses() {
828
- return getButtonClasses({
853
+ const recipeClasses = getButtonClasses({
829
854
  compact: this.compact ?? false,
830
855
  disabled: this.isDisabled,
831
856
  fullWidth: this.fullWidth ?? false,
@@ -835,6 +860,8 @@ var SpectreButtonElement = class extends SpectreProjectableElement {
835
860
  size: this.size,
836
861
  variant: this.variant
837
862
  });
863
+ const utilityClasses = sanitizeUtilityClasses(this.innerClass);
864
+ return utilityClasses ? `${recipeClasses} ${utilityClasses}` : recipeClasses;
838
865
  }
839
866
  get visibleLabelFallback() {
840
867
  const trimmedLabel = this.label?.trim();
@@ -909,6 +936,7 @@ SpectreButtonElement.properties = {
909
936
  fullWidth: { attribute: "full-width", type: Boolean, reflect: true },
910
937
  href: { type: String, reflect: true },
911
938
  iconOnly: { attribute: "icon-only", type: Boolean, reflect: true },
939
+ innerClass: { attribute: "inner-class", type: String },
912
940
  label: { type: String, reflect: true },
913
941
  loading: { type: Boolean, reflect: true },
914
942
  loadingLabel: { attribute: "loading-label", type: String, reflect: true },
@@ -2038,11 +2066,32 @@ function defineSpectreBadge(tagName = "sp-badge") {
2038
2066
  customElements.define(tagName, SpectreBadgeElement);
2039
2067
  return SpectreBadgeElement;
2040
2068
  }
2069
+ var paddedConverter = {
2070
+ fromAttribute(value) {
2071
+ if (value === "false") {
2072
+ return false;
2073
+ }
2074
+ if (value != null && isCardPaddingSize(value)) {
2075
+ return value;
2076
+ }
2077
+ return true;
2078
+ },
2079
+ toAttribute(value) {
2080
+ if (value === false) {
2081
+ return "false";
2082
+ }
2083
+ if (value === true) {
2084
+ return null;
2085
+ }
2086
+ return value;
2087
+ }
2088
+ };
2041
2089
  var SpectreCardElement = class extends SpectreProjectableElement {
2042
2090
  constructor() {
2043
2091
  super(...arguments);
2044
2092
  this.disabled = false;
2045
2093
  this.fullHeight = false;
2094
+ this.innerClass = void 0;
2046
2095
  this.interactive = false;
2047
2096
  this.loading = false;
2048
2097
  this.padded = true;
@@ -2083,7 +2132,7 @@ var SpectreCardElement = class extends SpectreProjectableElement {
2083
2132
  if (changedProperties.has("loading") && this.loading == null) {
2084
2133
  this.loading = false;
2085
2134
  }
2086
- if (changedProperties.has("padded") && this.padded == null) {
2135
+ if (changedProperties.has("padded") && (this.padded == null || typeof this.padded !== "boolean" && !isCardPaddingSize(this.padded))) {
2087
2136
  this.padded = true;
2088
2137
  }
2089
2138
  if (changedProperties.has("variant") && (this.variant == null || !isCardVariant(this.variant))) {
@@ -2091,7 +2140,7 @@ var SpectreCardElement = class extends SpectreProjectableElement {
2091
2140
  }
2092
2141
  }
2093
2142
  get cardClasses() {
2094
- return getCardClasses({
2143
+ const recipeClasses = getCardClasses({
2095
2144
  disabled: this.isDisabled,
2096
2145
  fullHeight: this.fullHeight ?? false,
2097
2146
  interactive: this.interactive ?? false,
@@ -2099,6 +2148,8 @@ var SpectreCardElement = class extends SpectreProjectableElement {
2099
2148
  padded: this.padded ?? true,
2100
2149
  variant: this.variant
2101
2150
  });
2151
+ const utilityClasses = sanitizeUtilityClasses(this.innerClass);
2152
+ return utilityClasses ? `${recipeClasses} ${utilityClasses}` : recipeClasses;
2102
2153
  }
2103
2154
  render() {
2104
2155
  return html`<div
@@ -2119,9 +2170,10 @@ var SpectreCardElement = class extends SpectreProjectableElement {
2119
2170
  SpectreCardElement.properties = {
2120
2171
  disabled: { type: Boolean, reflect: true },
2121
2172
  fullHeight: { attribute: "full-height", type: Boolean, reflect: true },
2173
+ innerClass: { attribute: "inner-class", type: String },
2122
2174
  interactive: { type: Boolean, reflect: true },
2123
2175
  loading: { type: Boolean, reflect: true },
2124
- padded: { type: Boolean, reflect: true },
2176
+ padded: { converter: paddedConverter, reflect: true },
2125
2177
  variant: { type: String, reflect: true }
2126
2178
  };
2127
2179
  function defineSpectreCard(tagName = "sp-card") {
@@ -2960,6 +3012,7 @@ function defineSpectreContainer(tagName = "sp-container") {
2960
3012
  var SpectreGridElement = class extends SpectreProjectableElement {
2961
3013
  constructor() {
2962
3014
  super(...arguments);
3015
+ this.align = void 0;
2963
3016
  this.columns = 1;
2964
3017
  this.columnGap = void 0;
2965
3018
  this.explicitTemplate = void 0;
@@ -2968,6 +3021,7 @@ var SpectreGridElement = class extends SpectreProjectableElement {
2968
3021
  this.innerClass = void 0;
2969
3022
  this.leadingTracks = void 0;
2970
3023
  this.rowGap = void 0;
3024
+ this._role = null;
2971
3025
  }
2972
3026
  get id() {
2973
3027
  return super.id;
@@ -2981,9 +3035,56 @@ var SpectreGridElement = class extends SpectreProjectableElement {
2981
3035
  set title(value) {
2982
3036
  super.title = value;
2983
3037
  }
3038
+ get role() {
3039
+ return this._role;
3040
+ }
3041
+ set role(value) {
3042
+ const normalizedValue = value?.trim() || null;
3043
+ if (this._role === normalizedValue) {
3044
+ return;
3045
+ }
3046
+ this._role = normalizedValue;
3047
+ if (HTMLElement.prototype.hasAttribute.call(this, "role")) {
3048
+ HTMLElement.prototype.removeAttribute.call(this, "role");
3049
+ }
3050
+ this.requestUpdate();
3051
+ }
3052
+ getAttribute(qualifiedName) {
3053
+ if (qualifiedName === "role") {
3054
+ return this.role;
3055
+ }
3056
+ return super.getAttribute(qualifiedName);
3057
+ }
3058
+ hasAttribute(qualifiedName) {
3059
+ if (qualifiedName === "role") {
3060
+ return this.role !== null;
3061
+ }
3062
+ return super.hasAttribute(qualifiedName);
3063
+ }
3064
+ setAttribute(qualifiedName, value) {
3065
+ if (qualifiedName === "role") {
3066
+ this.role = value;
3067
+ return;
3068
+ }
3069
+ super.setAttribute(qualifiedName, value);
3070
+ }
3071
+ removeAttribute(qualifiedName) {
3072
+ if (qualifiedName === "role") {
3073
+ this.role = null;
3074
+ return;
3075
+ }
3076
+ super.removeAttribute(qualifiedName);
3077
+ }
2984
3078
  connectedCallback() {
2985
3079
  var _a;
3080
+ const initialRole = HTMLElement.prototype.getAttribute.call(this, "role");
3081
+ if (initialRole !== null) {
3082
+ HTMLElement.prototype.removeAttribute.call(this, "role");
3083
+ }
2986
3084
  super.connectedCallback();
3085
+ if (initialRole !== null) {
3086
+ this.role = initialRole;
3087
+ }
2987
3088
  (_a = this.style).display || (_a.display = "block");
2988
3089
  }
2989
3090
  getContentContainer() {
@@ -2997,6 +3098,9 @@ var SpectreGridElement = class extends SpectreProjectableElement {
2997
3098
  return el.hasAttribute("data-sp-grid-native");
2998
3099
  }
2999
3100
  willUpdate(changedProperties) {
3101
+ if (changedProperties.has("align") && this.align != null && !isGridAlign(this.align)) {
3102
+ this.align = void 0;
3103
+ }
3000
3104
  if (changedProperties.has("columns")) {
3001
3105
  const normalized = normalizeInt(this.columns, void 0, 1);
3002
3106
  this.columns = normalized != null && isGridColumns(normalized) ? normalized : 1;
@@ -3039,6 +3143,7 @@ var SpectreGridElement = class extends SpectreProjectableElement {
3039
3143
  const recipeClasses = getGridClasses({
3040
3144
  columns: this.columns,
3041
3145
  gap: this.gap,
3146
+ ...this.align !== void 0 && { align: this.align },
3042
3147
  ...this.columnGap !== void 0 && {
3043
3148
  columnGap: this.columnGap
3044
3149
  },
@@ -3079,6 +3184,7 @@ var SpectreGridElement = class extends SpectreProjectableElement {
3079
3184
  class="${this.gridClasses}"
3080
3185
  data-sp-grid-native
3081
3186
  id="${ifDefined(this.id || void 0)}"
3187
+ role="${ifDefined(this.role ?? void 0)}"
3082
3188
  title="${ifDefined(this.title || void 0)}"
3083
3189
  >
3084
3190
  ${this.hasProjectedContent ? this.projectedContent : nothing}
@@ -3086,6 +3192,7 @@ var SpectreGridElement = class extends SpectreProjectableElement {
3086
3192
  }
3087
3193
  };
3088
3194
  SpectreGridElement.properties = {
3195
+ align: { type: String, reflect: true },
3089
3196
  columns: { type: Number, reflect: true },
3090
3197
  columnGap: { attribute: "column-gap", type: String, reflect: true },
3091
3198
  explicitTemplate: { attribute: "explicit-template", type: Object },
@@ -3176,6 +3283,7 @@ var SpectreStackElement = class extends SpectreProjectableElement {
3176
3283
  this.align = "center";
3177
3284
  this.basis = void 0;
3178
3285
  this.direction = "vertical";
3286
+ this.gap = "md";
3179
3287
  this.innerClass = void 0;
3180
3288
  }
3181
3289
  get id() {
@@ -3215,11 +3323,15 @@ var SpectreStackElement = class extends SpectreProjectableElement {
3215
3323
  if (changedProperties.has("align") && (this.align == null || !isStackAlign(this.align))) {
3216
3324
  this.align = "center";
3217
3325
  }
3326
+ if (changedProperties.has("gap") && (this.gap == null || !isStackGap(this.gap))) {
3327
+ this.gap = "md";
3328
+ }
3218
3329
  }
3219
3330
  get stackClasses() {
3220
3331
  const recipeClasses = getStackClasses({
3221
3332
  align: this.align,
3222
3333
  direction: this.direction,
3334
+ gap: this.gap,
3223
3335
  ...this.basis != null ? { basis: this.basis } : {}
3224
3336
  });
3225
3337
  const utilityClasses = sanitizeUtilityClasses(this.innerClass);
@@ -3243,6 +3355,7 @@ SpectreStackElement.properties = {
3243
3355
  align: { type: String, reflect: true },
3244
3356
  basis: { type: String, reflect: true },
3245
3357
  direction: { type: String, reflect: true },
3358
+ gap: { type: String, reflect: true },
3246
3359
  innerClass: { attribute: "inner-class", type: String }
3247
3360
  };
3248
3361
  function defineSpectreStack(tagName = "sp-stack") {
@@ -4889,6 +5002,6 @@ function defineSpectreComponents() {
4889
5002
  defineSpectreText();
4890
5003
  }
4891
5004
 
4892
- export { SpectreAlertElement, SpectreAvatarElement, SpectreBadgeElement, SpectreButtonElement, SpectreCardElement, SpectreCheckboxElement, SpectreContainerElement, SpectreDropdownElement, SpectreFieldsetElement, SpectreFooterChipElement, SpectreFooterElement, SpectreFooterLinkElement, SpectreGridElement, SpectreIconBoxElement, SpectreInputElement, SpectreLabelElement, SpectreModalElement, SpectreNavElement, SpectreNavItemElement, SpectrePricingCardElement, SpectreRadioElement, SpectreRatingElement, SpectreSectionElement, SpectreSelectElement, SpectreSidebarElement, SpectreSidebarLinkElement, SpectreSidebarToggleElement, SpectreSpinnerElement, SpectreStackElement, SpectreTagElement, SpectreTestimonialElement, SpectreTextElement, SpectreTextareaElement, SpectreToastElement, SpectreTooltipElement, defineSpectreAlert, defineSpectreAvatar, defineSpectreBadge, defineSpectreButton, defineSpectreCard, defineSpectreCheckbox, defineSpectreComponents, defineSpectreContainer, defineSpectreDropdown, defineSpectreFieldset, defineSpectreFooter, defineSpectreFooterChip, defineSpectreFooterLink, defineSpectreGrid, defineSpectreIconBox, defineSpectreInput, defineSpectreLabel, defineSpectreModal, defineSpectreNav, defineSpectreNavItem, defineSpectrePricingCard, defineSpectreRadio, defineSpectreRating, defineSpectreSection, defineSpectreSelect, defineSpectreSidebar, defineSpectreSidebarLink, 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 };
5005
+ export { SpectreAlertElement, SpectreAvatarElement, SpectreBadgeElement, SpectreButtonElement, SpectreCardElement, SpectreCheckboxElement, SpectreContainerElement, SpectreDropdownElement, SpectreFieldsetElement, SpectreFooterChipElement, SpectreFooterElement, SpectreFooterLinkElement, SpectreGridElement, SpectreIconBoxElement, SpectreInputElement, SpectreLabelElement, SpectreModalElement, SpectreNavElement, SpectreNavItemElement, SpectrePricingCardElement, SpectreRadioElement, SpectreRatingElement, SpectreSectionElement, SpectreSelectElement, SpectreSidebarElement, SpectreSidebarLinkElement, SpectreSidebarToggleElement, SpectreSpinnerElement, SpectreStackElement, SpectreTagElement, SpectreTestimonialElement, SpectreTextElement, SpectreTextareaElement, SpectreToastElement, SpectreTooltipElement, defineSpectreAlert, defineSpectreAvatar, defineSpectreBadge, defineSpectreButton, defineSpectreCard, defineSpectreCheckbox, defineSpectreComponents, defineSpectreContainer, defineSpectreDropdown, defineSpectreFieldset, defineSpectreFooter, defineSpectreFooterChip, defineSpectreFooterLink, defineSpectreGrid, defineSpectreIconBox, defineSpectreInput, defineSpectreLabel, defineSpectreModal, defineSpectreNav, defineSpectreNavItem, defineSpectrePricingCard, defineSpectreRadio, defineSpectreRating, defineSpectreSection, defineSpectreSelect, defineSpectreSidebar, defineSpectreSidebarLink, 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, spectreGridAligns, spectreGridColumns, spectreGridGaps, spectreInputSizes as spectreIconBoxSizes, spectreIconBoxVariants, spectreInputSizes, spectreInputTypes, spectreInputSizes as spectreRatingSizes, spectreInputSizes as spectreSpinnerSizes, spectreSpinnerVariants, spectreStackAligns, spectreStackBases, spectreStackDirections, spectreStackGaps, spectreInputSizes as spectreTagSizes, spectreTagVariants, spectreTestimonialVariants, spectreTextFamilies, spectreTextLevels, spectreTextSizes, spectreTextVariants, spectreToastVariants, spectreTooltipPlacements };
4893
5006
  //# sourceMappingURL=index.js.map
4894
5007
  //# sourceMappingURL=index.js.map