@politiet/sheriff-web-components 2.8.0 → 2.10.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 (112) hide show
  1. package/custom-elements.json +1178 -59
  2. package/dist/frameworks/preact.d.ts +4 -1
  3. package/dist/frameworks/preact.d.ts.map +1 -1
  4. package/dist/frameworks/react.d.ts +4 -1
  5. package/dist/frameworks/react.d.ts.map +1 -1
  6. package/dist/frameworks/solidjs.d.ts +1 -0
  7. package/dist/frameworks/solidjs.d.ts.map +1 -1
  8. package/dist/frameworks/svelte.d.ts +1 -0
  9. package/dist/frameworks/svelte.d.ts.map +1 -1
  10. package/dist/frameworks/vue.d.ts +1 -0
  11. package/dist/frameworks/vue.d.ts.map +1 -1
  12. package/dist/index.d.ts +3 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/mixins/sds-event-dispatcher-mixin.js +1 -1
  17. package/dist/mixins/sds-event-dispatcher-mixin.js.map +1 -1
  18. package/dist/react-wrappers/SDSDialogWrapper.d.ts.map +1 -1
  19. package/dist/react-wrappers/SDSDialogWrapper.js +1 -1
  20. package/dist/react-wrappers/SDSDialogWrapper.js.map +1 -1
  21. package/dist/react-wrappers/SDSEnvironmentBannerWrapper.d.ts +3 -0
  22. package/dist/react-wrappers/SDSEnvironmentBannerWrapper.d.ts.map +1 -0
  23. package/dist/react-wrappers/SDSEnvironmentBannerWrapper.js +10 -0
  24. package/dist/react-wrappers/SDSEnvironmentBannerWrapper.js.map +1 -0
  25. package/dist/react-wrappers/index.d.ts +1 -0
  26. package/dist/react-wrappers/index.d.ts.map +1 -1
  27. package/dist/react-wrappers/index.js +1 -0
  28. package/dist/react-wrappers/index.js.map +1 -1
  29. package/dist/sds-button/sds-button.component.d.ts +5 -0
  30. package/dist/sds-button/sds-button.component.d.ts.map +1 -1
  31. package/dist/sds-button/sds-button.component.js +47 -49
  32. package/dist/sds-button/sds-button.component.js.map +1 -1
  33. package/dist/sds-card/sds-card.d.ts +1 -0
  34. package/dist/sds-card/sds-card.d.ts.map +1 -1
  35. package/dist/sds-card/sds-card.js +11 -3
  36. package/dist/sds-card/sds-card.js.map +1 -1
  37. package/dist/sds-card/sds-card.styles.d.ts.map +1 -1
  38. package/dist/sds-card/sds-card.styles.js +5 -0
  39. package/dist/sds-card/sds-card.styles.js.map +1 -1
  40. package/dist/sds-checkbox/sds-checkbox.d.ts +3 -1
  41. package/dist/sds-checkbox/sds-checkbox.d.ts.map +1 -1
  42. package/dist/sds-checkbox/sds-checkbox.js +13 -3
  43. package/dist/sds-checkbox/sds-checkbox.js.map +1 -1
  44. package/dist/sds-chip/sds-chip.d.ts +1 -0
  45. package/dist/sds-chip/sds-chip.d.ts.map +1 -1
  46. package/dist/sds-chip/sds-chip.js +3 -0
  47. package/dist/sds-chip/sds-chip.js.map +1 -1
  48. package/dist/sds-dialog/sds-dialog.component.d.ts +1 -0
  49. package/dist/sds-dialog/sds-dialog.component.d.ts.map +1 -1
  50. package/dist/sds-dialog/sds-dialog.component.js +10 -0
  51. package/dist/sds-dialog/sds-dialog.component.js.map +1 -1
  52. package/dist/sds-dialog/sds-dialog.d.ts +1 -0
  53. package/dist/sds-dialog/sds-dialog.d.ts.map +1 -1
  54. package/dist/sds-dialog/sds-dialog.js.map +1 -1
  55. package/dist/sds-environment-banner/sds-environment-banner.component.d.ts +13 -0
  56. package/dist/sds-environment-banner/sds-environment-banner.component.d.ts.map +1 -0
  57. package/dist/sds-environment-banner/sds-environment-banner.component.js +36 -0
  58. package/dist/sds-environment-banner/sds-environment-banner.component.js.map +1 -0
  59. package/dist/sds-environment-banner/sds-environment-banner.d.ts +9 -0
  60. package/dist/sds-environment-banner/sds-environment-banner.d.ts.map +1 -0
  61. package/dist/sds-environment-banner/sds-environment-banner.js +15 -0
  62. package/dist/sds-environment-banner/sds-environment-banner.js.map +1 -0
  63. package/dist/sds-environment-banner/sds-environment-banner.styles.d.ts +2 -0
  64. package/dist/sds-environment-banner/sds-environment-banner.styles.d.ts.map +1 -0
  65. package/dist/sds-environment-banner/sds-environment-banner.styles.js +98 -0
  66. package/dist/sds-environment-banner/sds-environment-banner.styles.js.map +1 -0
  67. package/dist/sds-icon/sds-icon-names.d.ts +1 -1
  68. package/dist/sds-icon/sds-icon-names.d.ts.map +1 -1
  69. package/dist/sds-icon/sds-icon-names.js +484 -0
  70. package/dist/sds-icon/sds-icon-names.js.map +1 -1
  71. package/dist/sds-popover/assets/popover-styles.d.ts.map +1 -1
  72. package/dist/sds-popover/assets/popover-styles.js +1 -1
  73. package/dist/sds-popover/assets/popover-styles.js.map +1 -1
  74. package/dist/sds-radio/sds-radio.d.ts +3 -1
  75. package/dist/sds-radio/sds-radio.d.ts.map +1 -1
  76. package/dist/sds-radio/sds-radio.js +17 -3
  77. package/dist/sds-radio/sds-radio.js.map +1 -1
  78. package/dist/sds-select/sds-select.component.d.ts +2 -0
  79. package/dist/sds-select/sds-select.component.d.ts.map +1 -1
  80. package/dist/sds-select/sds-select.component.js +16 -4
  81. package/dist/sds-select/sds-select.component.js.map +1 -1
  82. package/dist/sds-select/sds-select.styles.d.ts.map +1 -1
  83. package/dist/sds-select/sds-select.styles.js +12 -18
  84. package/dist/sds-select/sds-select.styles.js.map +1 -1
  85. package/dist/sds-switch/sds-switch.d.ts +4 -0
  86. package/dist/sds-switch/sds-switch.d.ts.map +1 -1
  87. package/dist/sds-switch/sds-switch.js +16 -2
  88. package/dist/sds-switch/sds-switch.js.map +1 -1
  89. package/dist/sds-textarea/sds-textarea.d.ts +3 -0
  90. package/dist/sds-textarea/sds-textarea.d.ts.map +1 -1
  91. package/dist/sds-textarea/sds-textarea.js +19 -10
  92. package/dist/sds-textarea/sds-textarea.js.map +1 -1
  93. package/dist/sds-textarea/sds-textarea.styles.d.ts.map +1 -1
  94. package/dist/sds-textarea/sds-textarea.styles.js +1 -0
  95. package/dist/sds-textarea/sds-textarea.styles.js.map +1 -1
  96. package/dist/sds-textfield/sds-textfield.component.d.ts +68 -0
  97. package/dist/sds-textfield/sds-textfield.component.d.ts.map +1 -0
  98. package/dist/sds-textfield/sds-textfield.component.js +249 -0
  99. package/dist/sds-textfield/sds-textfield.component.js.map +1 -0
  100. package/dist/sds-textfield/sds-textfield.d.ts +3 -63
  101. package/dist/sds-textfield/sds-textfield.d.ts.map +1 -1
  102. package/dist/sds-textfield/sds-textfield.js +2 -231
  103. package/dist/sds-textfield/sds-textfield.js.map +1 -1
  104. package/dist/sds-tooltip/assets/tooltip-styles.d.ts.map +1 -1
  105. package/dist/sds-tooltip/assets/tooltip-styles.js +1 -1
  106. package/dist/sds-tooltip/assets/tooltip-styles.js.map +1 -1
  107. package/dist/shared/assets/positioning.js +1 -1
  108. package/dist/sheriff-web-components.js +270 -155
  109. package/dist/skill/references/components.md +1 -1
  110. package/dist/skill/references/react-wrappers.md +1 -1
  111. package/package.json +12 -3
  112. package/web-types.json +308 -6
@@ -211,7 +211,7 @@ Modal/dialog wrapping native `<dialog>`.
211
211
 
212
212
  **Props:** `open`, `modal`, `closedby` (`"none"` | `"closerequest"` | `"any"`, default `"closerequest"`), `close-button-label` (default `"Lukk dialogvindu"`, empty string hides button)
213
213
  **Slots:** `header`, default (body), `footer`
214
- **Events:** `sds-close`
214
+ **Events:** `close`
215
215
  **Methods:** `show()`, `showModal()`, `close()`
216
216
  **Note:** `data-command="close"` on any inner button closes the dialog.
217
217
 
@@ -62,5 +62,5 @@ More React-y event handling in that names follow React naming/idioms:
62
62
  - `SDSTextFieldWrapper`: `onInput` → `input`, `onSelect` → `select`, `onFocus` → `focus`, `onBlur` → `blur`, `onKeydown` → `keydown`
63
63
  - `SDSAlertWrapper`: `onSdsRemove` → `sds-remove`
64
64
  - `SDSDetailsWrapper`: `onSdsToggle` → `sds-toggle`
65
- - `SDSDialogWrapper`: `onSdsClose` → `sds-close`
65
+ - `SDSDialogWrapper`: `onClose` → `close`
66
66
  - `SDSCheckboxGroupWrapper` / `SDSRadioGroupWrapper`: `onSdsUpdate` → `sds-update`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@politiet/sheriff-web-components",
3
- "version": "2.8.0",
3
+ "version": "2.10.0",
4
4
  "description": "Sheriff Design System Web Components Library",
5
5
  "author": "Politiets IT-enhet",
6
6
  "license": "ISC",
@@ -75,6 +75,10 @@
75
75
  "import": "./dist/sds-dialog/sds-dialog.js",
76
76
  "types": "./dist/sds-dialog/sds-dialog.d.ts"
77
77
  },
78
+ "./sds-environment-banner": {
79
+ "import": "./dist/sds-environment-banner/sds-environment-banner.js",
80
+ "types": "./dist/sds-environment-banner/sds-environment-banner.d.ts"
81
+ },
78
82
  "./sds-heading": {
79
83
  "import": "./dist/sds-heading/sds-heading.js",
80
84
  "types": "./dist/sds-heading/sds-heading.d.ts"
@@ -168,10 +172,10 @@
168
172
  },
169
173
  "optionalDependencies": {
170
174
  "@lit/react": "^1.0.8",
171
- "@politiet/sheriff-icons": "^2.0.2"
175
+ "@politiet/sheriff-icons": "^2.1.0"
172
176
  },
173
177
  "peerDependencies": {
174
- "@politiet/sheriff-css-framework": "^2.3.2",
178
+ "@politiet/sheriff-css-framework": "^2.5.0",
175
179
  "typescript": ">=3.8.0"
176
180
  },
177
181
  "peerDependenciesMeta": {
@@ -180,13 +184,18 @@
180
184
  }
181
185
  },
182
186
  "devDependencies": {
187
+ "@axe-core/playwright": "^4.11.3",
183
188
  "@custom-elements-manifest/analyzer": "^0.11.0",
184
189
  "@digdir/designsystemet-css": "^1.12.1",
185
190
  "@digdir/designsystemet-web": "^1.12.1",
186
191
  "@rollup/plugin-node-resolve": "^16.0.3",
187
192
  "@rollup/plugin-terser": "^1.0.0",
188
193
  "lit-web-types": "^0.1.5",
194
+ "preact": "^10.26.1",
189
195
  "rollup": "^4.59.0",
196
+ "solid-js": "^1.9.4",
197
+ "ts-lit-plugin": "^2.0.2",
198
+ "vue": "^3.5.13",
190
199
  "web-component-analyzer-webtypes": "^2.0.12"
191
200
  },
192
201
  "wca": {
package/web-types.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/web-types",
3
3
  "name": "@politiet/sheriff-web-components",
4
- "version": "2.8.0",
4
+ "version": "2.10.0",
5
5
  "framework": "web-components",
6
6
  "description-markup": "markdown",
7
7
  "contributions": {
@@ -775,7 +775,7 @@
775
775
  "value": {
776
776
  "type": "(event: MouseEvent) => void",
777
777
  "required": true,
778
- "default": "\"(event: MouseEvent) => {\\n\\t\\t// For popover triggers, let the browser handle the toggle natively.\\n\\t\\t// Stop propagation and re-dispatch a composed click for listeners on the host.\\n\\t\\tif (this.popoverTarget) {\\n\\t\\t\\tevent.stopImmediatePropagation();\\n\\t\\t\\tif (!this.disabled) {\\n\\t\\t\\t\\tthis.dispatchSheriffEvent('click');\\n\\t\\t\\t}\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// For dialog commands, emulate the native commandfor/command behavior on the host.\\n\\t\\t// Stop propagation and re-dispatch a composed click for listeners on the host.\\n\\t\\tif (this.effectiveCommandFor && this.effectiveCommand) {\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\tevent.stopImmediatePropagation();\\n\\t\\t\\tif (!this.disabled) {\\n\\t\\t\\t\\tthis.runDialogCommand();\\n\\t\\t\\t\\tthis.dispatchSheriffEvent('click');\\n\\t\\t\\t}\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tevent.preventDefault();\\n\\t\\tevent.stopImmediatePropagation();\\n\\n\\t\\tif (!this.disabled) {\\n\\t\\t\\tswitch (this.type) {\\n\\t\\t\\t\\tcase 'submit': {\\n\\t\\t\\t\\t\\tconst shouldSubmit = this.dispatchSheriffEvent('submit');\\n\\n\\t\\t\\t\\t\\tif (shouldSubmit) {\\n\\t\\t\\t\\t\\t\\tif (this.form) {\\n\\t\\t\\t\\t\\t\\t\\tconst root = this.getRootNode() as Document | ShadowRoot;\\n\\t\\t\\t\\t\\t\\t\\tconst formElement: HTMLFormElement | null = root.querySelector(`form#${this.form}`);\\n\\t\\t\\t\\t\\t\\t\\tformElement?.requestSubmit();\\n\\t\\t\\t\\t\\t\\t} else if (this.internals.form) {\\n\\t\\t\\t\\t\\t\\t\\tthis.internals.form.requestSubmit();\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tcase 'reset': {\\n\\t\\t\\t\\t\\tconst shouldReset = this.dispatchSheriffEvent('reset');\\n\\n\\t\\t\\t\\t\\tif (shouldReset) {\\n\\t\\t\\t\\t\\t\\tif (this.form) {\\n\\t\\t\\t\\t\\t\\t\\tconst root = this.getRootNode() as Document | ShadowRoot;\\n\\t\\t\\t\\t\\t\\t\\tconst formElement: HTMLFormElement | null = root.querySelector(`form#${this.form}`);\\n\\t\\t\\t\\t\\t\\t\\tformElement?.reset();\\n\\t\\t\\t\\t\\t\\t} else if (this.internals.form) {\\n\\t\\t\\t\\t\\t\\t\\tthis.internals.form.reset();\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tdefault:\\n\\t\\t\\t\\t\\tthis.dispatchSheriffEvent('click');\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\""
778
+ "default": "\"(event: MouseEvent) => {\\n\\t\\tif (this.popoverTarget) {\\n\\t\\t\\tthis._handlePopoverClick(event);\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tevent.preventDefault();\\n\\t\\tevent.stopImmediatePropagation();\\n\\t\\tif (this.disabled) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tif (this.effectiveCommandFor && this.effectiveCommand) {\\n\\t\\t\\tthis._handleDialogCommandClick();\\n\\t\\t\\treturn;\\n\\t\\t} else if (this.type === 'submit') {\\n\\t\\t\\tthis._handleSubmitClick();\\n\\t\\t} else if (this.type === 'reset') {\\n\\t\\t\\tthis._handleResetClick();\\n\\t\\t} else {\\n\\t\\t\\tthis.dispatchSheriffEvent('click');\\n\\t\\t}\\n\\t}\""
779
779
  },
780
780
  "source": {
781
781
  "module": "./src/sds-button/sds-button.ts",
@@ -1070,6 +1070,20 @@
1070
1070
  "symbol": "SDSCard.textSlot"
1071
1071
  }
1072
1072
  },
1073
+ {
1074
+ "name": "_textSlotEmpty",
1075
+ "required": false,
1076
+ "priority": "lowest",
1077
+ "value": {
1078
+ "type": "boolean",
1079
+ "required": false,
1080
+ "default": "false"
1081
+ },
1082
+ "source": {
1083
+ "module": "./src/sds-card/sds-card.ts",
1084
+ "symbol": "SDSCard._textSlotEmpty"
1085
+ }
1086
+ },
1073
1087
  {
1074
1088
  "name": "_contentWarning",
1075
1089
  "required": false,
@@ -1119,7 +1133,7 @@
1119
1133
  "value": {
1120
1134
  "type": "() => void",
1121
1135
  "required": true,
1122
- "default": "\"() => {\\n\\t\\tvalidateSlotContent(this.textSlot, ['P'], false, this._contentWarning);\\n\\t}\""
1136
+ "default": "\"() => {\\n\\t\\tvalidateSlotContent(this.textSlot, ['P'], false, this._contentWarning);\\n\\t\\tthis._textSlotEmpty = this.textSlot.assignedElements({ flatten: true }).length === 0;\\n\\t}\""
1123
1137
  },
1124
1138
  "source": {
1125
1139
  "module": "./src/sds-card/sds-card.ts",
@@ -1714,6 +1728,20 @@
1714
1728
  "symbol": "SDSCheckbox.control"
1715
1729
  }
1716
1730
  },
1731
+ {
1732
+ "name": "_hasSlottedLabel",
1733
+ "required": false,
1734
+ "priority": "lowest",
1735
+ "value": {
1736
+ "type": "boolean",
1737
+ "required": false,
1738
+ "default": "false"
1739
+ },
1740
+ "source": {
1741
+ "module": "./src/sds-checkbox/sds-checkbox.ts",
1742
+ "symbol": "SDSCheckbox._hasSlottedLabel"
1743
+ }
1744
+ },
1717
1745
  {
1718
1746
  "name": "_disabled",
1719
1747
  "required": false,
@@ -1842,6 +1870,20 @@
1842
1870
  "symbol": "SDSCheckbox.type"
1843
1871
  }
1844
1872
  },
1873
+ {
1874
+ "name": "_handleLabelSlotChange",
1875
+ "required": false,
1876
+ "priority": "lowest",
1877
+ "value": {
1878
+ "type": "(event: Event) => void",
1879
+ "required": true,
1880
+ "default": "\"(event: Event) => {\\n\\t\\tthis._hasSlottedLabel = (event.target as HTMLSlotElement).assignedNodes().length > 0;\\n\\t}\""
1881
+ },
1882
+ "source": {
1883
+ "module": "./src/sds-checkbox/sds-checkbox.ts",
1884
+ "symbol": "SDSCheckbox._handleLabelSlotChange"
1885
+ }
1886
+ },
1845
1887
  {
1846
1888
  "name": "formAssociated",
1847
1889
  "required": false,
@@ -2224,6 +2266,19 @@
2224
2266
  "symbol": "SDSChip.readonly"
2225
2267
  }
2226
2268
  },
2269
+ {
2270
+ "name": "type",
2271
+ "required": false,
2272
+ "priority": "normal",
2273
+ "value": {
2274
+ "type": "string",
2275
+ "required": true
2276
+ },
2277
+ "source": {
2278
+ "module": "./src/sds-chip/sds-chip.ts",
2279
+ "symbol": "SDSChip.type"
2280
+ }
2281
+ },
2227
2282
  {
2228
2283
  "name": "_handleSlotChange",
2229
2284
  "required": false,
@@ -2845,7 +2900,7 @@
2845
2900
  "value": {
2846
2901
  "type": "() => void",
2847
2902
  "required": true,
2848
- "default": "\"(): void => {\\n\\t\\tthis.open = false;\\n\\t\\tthis.dispatchSheriffEvent('sds-close');\\n\\t}\""
2903
+ "default": "\"(): void => {\\n\\t\\tthis.open = false;\\n\\t\\tthis.dispatchSheriffEvent('close');\\n\\n\\t\\t// Deprecated: remove in next major release\\n\\t\\tthis.dispatchSheriffEvent('sds-close');\\n\\t}\""
2849
2904
  },
2850
2905
  "source": {
2851
2906
  "module": "./src/sds-dialog/sds-dialog.ts",
@@ -2939,6 +2994,97 @@
2939
2994
  ]
2940
2995
  }
2941
2996
  },
2997
+ {
2998
+ "name": "sds-environment-banner",
2999
+ "source": {
3000
+ "module": "./src/sds-environment-banner/sds-environment-banner.ts",
3001
+ "symbol": "SDSEnvironmentBanner"
3002
+ },
3003
+ "attributes": [
3004
+ {
3005
+ "name": "env",
3006
+ "required": false,
3007
+ "priority": "normal",
3008
+ "value": {
3009
+ "type": [
3010
+ "EnvironmentBannerEnv",
3011
+ "undefined"
3012
+ ],
3013
+ "required": true
3014
+ },
3015
+ "source": {
3016
+ "module": "./src/sds-environment-banner/sds-environment-banner.ts",
3017
+ "symbol": "SDSEnvironmentBanner.env"
3018
+ }
3019
+ },
3020
+ {
3021
+ "name": "build",
3022
+ "required": false,
3023
+ "priority": "normal",
3024
+ "value": {
3025
+ "type": [
3026
+ "string",
3027
+ "undefined"
3028
+ ],
3029
+ "required": true
3030
+ },
3031
+ "source": {
3032
+ "module": "./src/sds-environment-banner/sds-environment-banner.ts",
3033
+ "symbol": "SDSEnvironmentBanner.build"
3034
+ }
3035
+ }
3036
+ ],
3037
+ "js": {
3038
+ "properties": [
3039
+ {
3040
+ "name": "styles",
3041
+ "required": false,
3042
+ "priority": "normal",
3043
+ "value": {
3044
+ "type": "CSSResult[]",
3045
+ "required": true,
3046
+ "default": "[\"styles\"]"
3047
+ },
3048
+ "source": {
3049
+ "module": "./src/sds-environment-banner/sds-environment-banner.ts",
3050
+ "symbol": "SDSEnvironmentBanner.styles"
3051
+ }
3052
+ },
3053
+ {
3054
+ "name": "env",
3055
+ "required": false,
3056
+ "priority": "normal",
3057
+ "value": {
3058
+ "type": [
3059
+ "EnvironmentBannerEnv",
3060
+ "undefined"
3061
+ ],
3062
+ "required": true
3063
+ },
3064
+ "source": {
3065
+ "module": "./src/sds-environment-banner/sds-environment-banner.ts",
3066
+ "symbol": "SDSEnvironmentBanner.env"
3067
+ }
3068
+ },
3069
+ {
3070
+ "name": "build",
3071
+ "required": false,
3072
+ "priority": "normal",
3073
+ "value": {
3074
+ "type": [
3075
+ "string",
3076
+ "undefined"
3077
+ ],
3078
+ "required": true
3079
+ },
3080
+ "source": {
3081
+ "module": "./src/sds-environment-banner/sds-environment-banner.ts",
3082
+ "symbol": "SDSEnvironmentBanner.build"
3083
+ }
3084
+ }
3085
+ ]
3086
+ }
3087
+ },
2942
3088
  {
2943
3089
  "name": "sds-heading",
2944
3090
  "source": {
@@ -4491,6 +4637,20 @@
4491
4637
  "symbol": "SDSRadio.control"
4492
4638
  }
4493
4639
  },
4640
+ {
4641
+ "name": "_hasSlottedLabel",
4642
+ "required": false,
4643
+ "priority": "lowest",
4644
+ "value": {
4645
+ "type": "boolean",
4646
+ "required": false,
4647
+ "default": "false"
4648
+ },
4649
+ "source": {
4650
+ "module": "./src/sds-radio/sds-radio.ts",
4651
+ "symbol": "SDSRadio._hasSlottedLabel"
4652
+ }
4653
+ },
4494
4654
  {
4495
4655
  "name": "_disabled",
4496
4656
  "required": false,
@@ -4571,7 +4731,7 @@
4571
4731
  "value": {
4572
4732
  "type": "(event: KeyboardEvent) => void",
4573
4733
  "required": true,
4574
- "default": "\"(event: KeyboardEvent) => {\\n\\t\\tif (!this.name || this.disabled || this.readOnly) return;\\n\\n\\t\\tconst root = this.getRootNode() as Document | ShadowRoot;\\n\\t\\tconst radios = Array.from(root.querySelectorAll<SDSRadio>(`sds-radio[name=\\\"${this.name}\\\"]`));\\n\\t\\tconst currentIndex = radios.indexOf(this);\\n\\n\\t\\tif (currentIndex === -1) return;\\n\\n\\t\\tlet targetIndex: number | null = null;\\n\\n\\t\\tswitch (event.key) {\\n\\t\\t\\tcase 'ArrowUp':\\n\\t\\t\\tcase 'ArrowLeft':\\n\\t\\t\\t\\ttargetIndex = currentIndex > 0 ? currentIndex - 1 : radios.length - 1;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tcase 'ArrowDown':\\n\\t\\t\\tcase 'ArrowRight':\\n\\t\\t\\t\\ttargetIndex = currentIndex < radios.length - 1 ? currentIndex + 1 : 0;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tdefault:\\n\\t\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tconst targetRadio = radios[targetIndex];\\n\\t\\ttargetRadio?.focus();\\n\\t\\ttargetRadio?.click();\\n\\t\\tevent.preventDefault();\\n\\t}\""
4734
+ "default": "\"(event: KeyboardEvent) => {\\n\\t\\tif (!this.name || this.disabled || this.readOnly) return;\\n\\n\\t\\t// If modifier keys are in play no changes should be applied\\n\\t\\tif (event.altKey || event.ctrlKey || event.shiftKey || event.metaKey) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tconst root = this.getRootNode() as Document | ShadowRoot;\\n\\t\\tconst radios = Array.from(root.querySelectorAll<SDSRadio>(`sds-radio[name=\\\"${this.name}\\\"]`));\\n\\t\\tconst currentIndex = radios.indexOf(this);\\n\\n\\t\\tif (currentIndex === -1) return;\\n\\n\\t\\tlet targetIndex: number | null = null;\\n\\n\\t\\tswitch (event.key) {\\n\\t\\t\\tcase 'ArrowUp':\\n\\t\\t\\tcase 'ArrowLeft':\\n\\t\\t\\t\\ttargetIndex = currentIndex > 0 ? currentIndex - 1 : radios.length - 1;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tcase 'ArrowDown':\\n\\t\\t\\tcase 'ArrowRight':\\n\\t\\t\\t\\ttargetIndex = currentIndex < radios.length - 1 ? currentIndex + 1 : 0;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\tdefault:\\n\\t\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tconst targetRadio = radios[targetIndex];\\n\\t\\ttargetRadio?.focus();\\n\\t\\ttargetRadio?.click();\\n\\t\\tevent.preventDefault();\\n\\t}\""
4575
4735
  },
4576
4736
  "source": {
4577
4737
  "module": "./src/sds-radio/sds-radio.ts",
@@ -4672,6 +4832,20 @@
4672
4832
  "symbol": "SDSRadio.willValidate"
4673
4833
  }
4674
4834
  },
4835
+ {
4836
+ "name": "_handleLabelSlotChange",
4837
+ "required": false,
4838
+ "priority": "lowest",
4839
+ "value": {
4840
+ "type": "(event: Event) => void",
4841
+ "required": true,
4842
+ "default": "\"(event: Event) => {\\n\\t\\tthis._hasSlottedLabel = (event.target as HTMLSlotElement).assignedNodes().length > 0;\\n\\t}\""
4843
+ },
4844
+ "source": {
4845
+ "module": "./src/sds-radio/sds-radio.ts",
4846
+ "symbol": "SDSRadio._handleLabelSlotChange"
4847
+ }
4848
+ },
4675
4849
  {
4676
4850
  "name": "formAssociated",
4677
4851
  "required": false,
@@ -5073,6 +5247,20 @@
5073
5247
  "symbol": "SDSSelect.control"
5074
5248
  }
5075
5249
  },
5250
+ {
5251
+ "name": "_hasSlottedLabel",
5252
+ "required": false,
5253
+ "priority": "lowest",
5254
+ "value": {
5255
+ "type": "boolean",
5256
+ "required": false,
5257
+ "default": "false"
5258
+ },
5259
+ "source": {
5260
+ "module": "./src/sds-select/sds-select.ts",
5261
+ "symbol": "SDSSelect._hasSlottedLabel"
5262
+ }
5263
+ },
5076
5264
  {
5077
5265
  "name": "_defaultValue",
5078
5266
  "required": false,
@@ -5135,6 +5323,20 @@
5135
5323
  "symbol": "SDSSelect._handleSlotChange"
5136
5324
  }
5137
5325
  },
5326
+ {
5327
+ "name": "_handleLabelSlotChange",
5328
+ "required": false,
5329
+ "priority": "lowest",
5330
+ "value": {
5331
+ "type": "(event: Event) => void",
5332
+ "required": true,
5333
+ "default": "\"(event: Event) => {\\n\\t\\tthis._hasSlottedLabel = (event.target as HTMLSlotElement).assignedNodes().length > 0;\\n\\t}\""
5334
+ },
5335
+ "source": {
5336
+ "module": "./src/sds-select/sds-select.ts",
5337
+ "symbol": "SDSSelect._handleLabelSlotChange"
5338
+ }
5339
+ },
5138
5340
  {
5139
5341
  "name": "_handleChange",
5140
5342
  "required": false,
@@ -5184,7 +5386,7 @@
5184
5386
  "value": {
5185
5387
  "type": "(event: KeyboardEvent) => void",
5186
5388
  "required": true,
5187
- "default": "\"(event: KeyboardEvent) => {\\n\\t\\tif (!this.readOnly) return;\\n\\n\\t\\tconst keysThatChange = new Set(['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageUp', 'PageDown', ' ', 'Enter']);\\n\\n\\t\\tif (keysThatChange.has(event.key)) {\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\tevent.stopImmediatePropagation();\\n\\t\\t}\\n\\t}\""
5389
+ "default": "\"(event: KeyboardEvent) => {\\n\\t\\tif (!this.readOnly) return;\\n\\n\\t\\t// If modifier keys are in play no changes should be applied\\n\\t\\tif (event.altKey || event.ctrlKey || event.shiftKey || event.metaKey) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tconst keysThatChange = new Set(['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageUp', 'PageDown', ' ', 'Enter']);\\n\\n\\t\\tif (keysThatChange.has(event.key)) {\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\tevent.stopImmediatePropagation();\\n\\t\\t}\\n\\t}\""
5188
5390
  },
5189
5391
  "source": {
5190
5392
  "module": "./src/sds-select/sds-select.ts",
@@ -5825,6 +6027,21 @@
5825
6027
  "symbol": "SDSSwitch.control"
5826
6028
  }
5827
6029
  },
6030
+ {
6031
+ "name": "_hasSlottedLabel",
6032
+ "required": false,
6033
+ "priority": "lowest",
6034
+ "value": {
6035
+ "type": "boolean",
6036
+ "required": false,
6037
+ "default": "false"
6038
+ },
6039
+ "description": "Tracks whether the `label` slot has assigned content.",
6040
+ "source": {
6041
+ "module": "./src/sds-switch/sds-switch.ts",
6042
+ "symbol": "SDSSwitch._hasSlottedLabel"
6043
+ }
6044
+ },
5828
6045
  {
5829
6046
  "name": "_initialChecked",
5830
6047
  "required": false,
@@ -5908,6 +6125,33 @@
5908
6125
  "symbol": "SDSSwitch.value"
5909
6126
  }
5910
6127
  },
6128
+ {
6129
+ "name": "type",
6130
+ "required": false,
6131
+ "priority": "normal",
6132
+ "value": {
6133
+ "type": "string",
6134
+ "required": true
6135
+ },
6136
+ "source": {
6137
+ "module": "./src/sds-switch/sds-switch.ts",
6138
+ "symbol": "SDSSwitch.type"
6139
+ }
6140
+ },
6141
+ {
6142
+ "name": "_handleLabelSlotChange",
6143
+ "required": false,
6144
+ "priority": "lowest",
6145
+ "value": {
6146
+ "type": "(event: Event) => void",
6147
+ "required": true,
6148
+ "default": "\"(event: Event) => {\\n\\t\\tthis._hasSlottedLabel = (event.target as HTMLSlotElement).assignedNodes().length > 0;\\n\\t}\""
6149
+ },
6150
+ "source": {
6151
+ "module": "./src/sds-switch/sds-switch.ts",
6152
+ "symbol": "SDSSwitch._handleLabelSlotChange"
6153
+ }
6154
+ },
5911
6155
  {
5912
6156
  "name": "formAssociated",
5913
6157
  "required": false,
@@ -6707,6 +6951,21 @@
6707
6951
  "symbol": "SDSTextArea.control"
6708
6952
  }
6709
6953
  },
6954
+ {
6955
+ "name": "_hasSlottedLabel",
6956
+ "required": false,
6957
+ "priority": "lowest",
6958
+ "value": {
6959
+ "type": "boolean",
6960
+ "required": false,
6961
+ "default": "false"
6962
+ },
6963
+ "description": "Tracks whether the `label` slot has assigned content.",
6964
+ "source": {
6965
+ "module": "./src/sds-textarea/sds-textarea.ts",
6966
+ "symbol": "SDSTextArea._hasSlottedLabel"
6967
+ }
6968
+ },
6710
6969
  {
6711
6970
  "name": "_defaultValue",
6712
6971
  "required": false,
@@ -6812,6 +7071,20 @@
6812
7071
  "symbol": "SDSTextArea.selectionEnd"
6813
7072
  }
6814
7073
  },
7074
+ {
7075
+ "name": "_handleLabelSlotChange",
7076
+ "required": false,
7077
+ "priority": "lowest",
7078
+ "value": {
7079
+ "type": "(event: Event) => void",
7080
+ "required": true,
7081
+ "default": "\"(event: Event) => {\\n\\t\\tthis._hasSlottedLabel = (event.target as HTMLSlotElement).assignedNodes().length > 0;\\n\\t}\""
7082
+ },
7083
+ "source": {
7084
+ "module": "./src/sds-textarea/sds-textarea.ts",
7085
+ "symbol": "SDSTextArea._handleLabelSlotChange"
7086
+ }
7087
+ },
6815
7088
  {
6816
7089
  "name": "formAssociated",
6817
7090
  "required": false,
@@ -7456,6 +7729,21 @@
7456
7729
  "symbol": "SDSTextField.hasIcon"
7457
7730
  }
7458
7731
  },
7732
+ {
7733
+ "name": "_hasSlottedLabel",
7734
+ "required": false,
7735
+ "priority": "lowest",
7736
+ "value": {
7737
+ "type": "boolean",
7738
+ "required": false,
7739
+ "default": "false"
7740
+ },
7741
+ "description": "Tracks whether the `label` slot has assigned content.",
7742
+ "source": {
7743
+ "module": "./src/sds-textfield/sds-textfield.ts",
7744
+ "symbol": "SDSTextField._hasSlottedLabel"
7745
+ }
7746
+ },
7459
7747
  {
7460
7748
  "name": "control",
7461
7749
  "required": false,
@@ -7500,6 +7788,20 @@
7500
7788
  "symbol": "SDSTextField.handleSlotChange"
7501
7789
  }
7502
7790
  },
7791
+ {
7792
+ "name": "_handleLabelSlotChange",
7793
+ "required": false,
7794
+ "priority": "lowest",
7795
+ "value": {
7796
+ "type": "(e: Event) => void",
7797
+ "required": true,
7798
+ "default": "\"(e: Event) => {\\n\\t\\tthis._hasSlottedLabel = (e.target as HTMLSlotElement).assignedNodes().length > 0;\\n\\t}\""
7799
+ },
7800
+ "source": {
7801
+ "module": "./src/sds-textfield/sds-textfield.ts",
7802
+ "symbol": "SDSTextField._handleLabelSlotChange"
7803
+ }
7804
+ },
7503
7805
  {
7504
7806
  "name": "_handleInputChange",
7505
7807
  "required": false,