@synergy-design-system/components 1.0.0-main.9 → 1.0.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 (209) hide show
  1. package/LICENSE +5 -24
  2. package/README.md +1 -1
  3. package/dist/chunks/chunk.23HTU3YE.js +189 -0
  4. package/dist/chunks/chunk.23HTU3YE.js.map +7 -0
  5. package/dist/chunks/chunk.2XZKXVMR.js +44 -0
  6. package/dist/chunks/chunk.2XZKXVMR.js.map +7 -0
  7. package/dist/chunks/chunk.3AQETYIY.js +12 -0
  8. package/dist/chunks/chunk.3AQETYIY.js.map +7 -0
  9. package/dist/chunks/chunk.45DBFNVM.js +12 -0
  10. package/dist/chunks/chunk.45DBFNVM.js.map +7 -0
  11. package/dist/chunks/chunk.4CBN5LPQ.js +137 -0
  12. package/dist/chunks/chunk.4CBN5LPQ.js.map +7 -0
  13. package/dist/chunks/chunk.4I6M5V6O.js +56 -0
  14. package/dist/chunks/chunk.4I6M5V6O.js.map +7 -0
  15. package/dist/chunks/{chunk.5OIEI73E.js → chunk.4XAK6MOQ.js} +2 -2
  16. package/dist/chunks/chunk.4ZURABYO.js +24 -0
  17. package/dist/chunks/{chunk.BREU4ILT.js.map → chunk.4ZURABYO.js.map} +3 -3
  18. package/dist/chunks/{chunk.DYPYZ53B.js → chunk.5ECUVPQI.js} +13 -31
  19. package/dist/chunks/{chunk.DYPYZ53B.js.map → chunk.5ECUVPQI.js.map} +3 -3
  20. package/dist/chunks/{chunk.YOW3IJVJ.js → chunk.6I3HJMNQ.js} +2 -2
  21. package/dist/chunks/{chunk.YOW3IJVJ.js.map → chunk.6I3HJMNQ.js.map} +1 -1
  22. package/dist/chunks/chunk.7CU3ERWO.js +86 -0
  23. package/dist/chunks/chunk.7CU3ERWO.js.map +7 -0
  24. package/dist/chunks/chunk.AFEABUNX.js +107 -0
  25. package/dist/chunks/chunk.AFEABUNX.js.map +7 -0
  26. package/dist/chunks/chunk.BP34OPXK.js +12 -0
  27. package/dist/chunks/chunk.BP34OPXK.js.map +7 -0
  28. package/dist/chunks/chunk.C6BQ2APJ.js +12 -0
  29. package/dist/chunks/chunk.C6BQ2APJ.js.map +7 -0
  30. package/dist/chunks/{chunk.6CFDQNJT.js → chunk.EMVM7VFZ.js} +14 -12
  31. package/dist/chunks/chunk.EMVM7VFZ.js.map +7 -0
  32. package/dist/chunks/chunk.F4MRQLNL.js +25 -0
  33. package/dist/chunks/chunk.F4MRQLNL.js.map +7 -0
  34. package/dist/chunks/{chunk.MQ3KYTNU.js → chunk.FVSP4LXX.js} +4 -4
  35. package/dist/chunks/chunk.FVSP4LXX.js.map +7 -0
  36. package/dist/chunks/chunk.GNAJOKCJ.js +32 -0
  37. package/dist/chunks/chunk.GNAJOKCJ.js.map +7 -0
  38. package/dist/chunks/{chunk.GRZ3TSGB.js → chunk.HPTHXM7Q.js} +2 -2
  39. package/dist/chunks/chunk.HSZXAY7K.js +12 -0
  40. package/dist/chunks/chunk.HSZXAY7K.js.map +7 -0
  41. package/dist/chunks/{chunk.SGZ5ADPY.js → chunk.IV4DT254.js} +2 -2
  42. package/dist/chunks/{chunk.IZS6SARK.js → chunk.J36DIOVR.js} +11 -38
  43. package/dist/chunks/{chunk.IZS6SARK.js.map → chunk.J36DIOVR.js.map} +4 -4
  44. package/dist/chunks/chunk.JBYBQ5TQ.js +132 -0
  45. package/dist/chunks/chunk.JBYBQ5TQ.js.map +7 -0
  46. package/dist/chunks/chunk.JHXCBOUD.js +123 -0
  47. package/dist/chunks/chunk.JHXCBOUD.js.map +7 -0
  48. package/dist/chunks/{chunk.H6VZTJD6.js → chunk.KZT2HFEV.js} +2 -2
  49. package/dist/chunks/chunk.MNMITYTH.js +184 -0
  50. package/dist/chunks/chunk.MNMITYTH.js.map +7 -0
  51. package/dist/chunks/chunk.NKIYFJN2.js +1 -0
  52. package/dist/chunks/chunk.NKIYFJN2.js.map +7 -0
  53. package/dist/chunks/chunk.OVVMSN4D.js +37 -0
  54. package/dist/chunks/chunk.OVVMSN4D.js.map +7 -0
  55. package/dist/chunks/{chunk.Q77OTWF2.js → chunk.OXUFFH57.js} +6 -66
  56. package/dist/chunks/{chunk.Q77OTWF2.js.map → chunk.OXUFFH57.js.map} +4 -4
  57. package/dist/chunks/{chunk.WDCAHRYG.js → chunk.P2LNG2PZ.js} +4 -2
  58. package/dist/chunks/chunk.PBWBRVMW.js +111 -0
  59. package/dist/chunks/chunk.PBWBRVMW.js.map +7 -0
  60. package/dist/chunks/chunk.PJO6TM3T.js +10 -0
  61. package/dist/chunks/{chunk.ILONRPL4.js.map → chunk.PJO6TM3T.js.map} +2 -2
  62. package/dist/chunks/chunk.Q6AHDRN2.js +12 -0
  63. package/dist/chunks/chunk.Q6AHDRN2.js.map +7 -0
  64. package/dist/chunks/chunk.QBOOYQY4.js +360 -0
  65. package/dist/chunks/chunk.QBOOYQY4.js.map +7 -0
  66. package/dist/chunks/{chunk.BREU4ILT.js → chunk.RSONAU45.js} +6 -1
  67. package/dist/chunks/chunk.RSONAU45.js.map +7 -0
  68. package/dist/chunks/chunk.TPRFDNQ5.js +12 -0
  69. package/dist/chunks/chunk.TPRFDNQ5.js.map +7 -0
  70. package/dist/chunks/chunk.TS36BW77.js +224 -0
  71. package/dist/chunks/chunk.TS36BW77.js.map +7 -0
  72. package/dist/chunks/chunk.V6VND4OF.js +49 -0
  73. package/dist/chunks/chunk.V6VND4OF.js.map +7 -0
  74. package/dist/chunks/chunk.VZ7S7YYN.js +34 -0
  75. package/dist/chunks/chunk.VZ7S7YYN.js.map +7 -0
  76. package/dist/chunks/chunk.W46CFM2R.js +90 -0
  77. package/dist/chunks/chunk.W46CFM2R.js.map +7 -0
  78. package/dist/chunks/chunk.WFAJR3FN.js +25 -0
  79. package/dist/chunks/chunk.WFAJR3FN.js.map +7 -0
  80. package/dist/chunks/chunk.X6ZVJSXL.js +212 -0
  81. package/dist/chunks/chunk.X6ZVJSXL.js.map +7 -0
  82. package/dist/chunks/chunk.YBIBWRKC.js +19 -0
  83. package/dist/chunks/chunk.YBIBWRKC.js.map +7 -0
  84. package/dist/chunks/chunk.YBZOIKAS.js +127 -0
  85. package/dist/chunks/chunk.YBZOIKAS.js.map +7 -0
  86. package/dist/chunks/{chunk.OZSASB66.js → chunk.YTS5TRJZ.js} +2 -2
  87. package/dist/chunks/{chunk.OZSASB66.js.map → chunk.YTS5TRJZ.js.map} +1 -1
  88. package/dist/chunks/{chunk.WTCUSH7V.js → chunk.Z3RZUTQU.js} +2 -2
  89. package/dist/chunks/chunk.ZJHB2ZWN.js +351 -0
  90. package/dist/chunks/chunk.ZJHB2ZWN.js.map +7 -0
  91. package/dist/chunks/chunk.ZSHYGTD6.js +12 -0
  92. package/dist/chunks/chunk.ZSHYGTD6.js.map +7 -0
  93. package/dist/components/button/button.component.js +13 -11
  94. package/dist/components/button/button.custom.styles.js +1 -1
  95. package/dist/components/button/button.js +14 -12
  96. package/dist/components/button/button.styles.js +2 -2
  97. package/dist/components/button-group/button-group.component.d.ts +28 -0
  98. package/dist/components/button-group/button-group.component.js +11 -0
  99. package/dist/components/button-group/button-group.component.js.map +7 -0
  100. package/dist/components/button-group/button-group.d.ts +8 -0
  101. package/dist/components/button-group/button-group.js +12 -0
  102. package/dist/components/button-group/button-group.js.map +7 -0
  103. package/dist/components/button-group/button-group.styles.d.ts +2 -0
  104. package/dist/components/button-group/button-group.styles.js +9 -0
  105. package/dist/components/button-group/button-group.styles.js.map +7 -0
  106. package/dist/components/checkbox/checkbox.component.d.ts +93 -0
  107. package/dist/components/checkbox/checkbox.component.js +22 -0
  108. package/dist/components/checkbox/checkbox.component.js.map +7 -0
  109. package/dist/components/checkbox/checkbox.custom.styles.js +3 -6
  110. package/dist/components/checkbox/checkbox.custom.styles.js.map +3 -3
  111. package/dist/components/checkbox/checkbox.d.ts +8 -0
  112. package/dist/components/checkbox/checkbox.js +23 -0
  113. package/dist/components/checkbox/checkbox.js.map +7 -0
  114. package/dist/components/checkbox/checkbox.styles.d.ts +2 -0
  115. package/dist/components/checkbox/checkbox.styles.js +10 -0
  116. package/dist/components/checkbox/checkbox.styles.js.map +7 -0
  117. package/dist/components/icon/icon.component.js +7 -5
  118. package/dist/components/icon/icon.custom.styles.d.ts +2 -0
  119. package/dist/components/icon/icon.custom.styles.js +8 -0
  120. package/dist/components/icon/icon.custom.styles.js.map +7 -0
  121. package/dist/components/icon/icon.js +9 -10
  122. package/dist/components/icon/icon.js.map +3 -3
  123. package/dist/components/icon/icon.styles.js +2 -1
  124. package/dist/components/icon/library.js +2 -2
  125. package/dist/components/icon/library.system.js +1 -1
  126. package/dist/components/input/input.component.js +14 -10
  127. package/dist/components/input/input.custom.styles.js +1 -1
  128. package/dist/components/input/input.js +15 -11
  129. package/dist/components/input/input.styles.js +3 -2
  130. package/dist/components/radio/radio.component.d.ts +53 -0
  131. package/dist/components/radio/radio.component.js +20 -0
  132. package/dist/components/radio/radio.component.js.map +7 -0
  133. package/dist/components/radio/radio.custom.styles.d.ts +2 -0
  134. package/dist/components/radio/radio.custom.styles.js +8 -0
  135. package/dist/components/radio/radio.custom.styles.js.map +7 -0
  136. package/dist/components/radio/radio.d.ts +8 -0
  137. package/dist/components/radio/radio.js +21 -0
  138. package/dist/components/radio/radio.js.map +7 -0
  139. package/dist/components/radio/radio.styles.d.ts +2 -0
  140. package/dist/components/radio/radio.styles.js +10 -0
  141. package/dist/components/radio/radio.styles.js.map +7 -0
  142. package/dist/components/radio-button/radio-button.component.d.ts +53 -0
  143. package/dist/components/radio-button/radio-button.component.js +15 -0
  144. package/dist/components/radio-button/radio-button.component.js.map +7 -0
  145. package/dist/components/radio-button/radio-button.d.ts +8 -0
  146. package/dist/components/radio-button/radio-button.js +16 -0
  147. package/dist/components/radio-button/radio-button.js.map +7 -0
  148. package/dist/components/radio-button/radio-button.styles.d.ts +2 -0
  149. package/dist/components/radio-button/radio-button.styles.js +11 -0
  150. package/dist/components/radio-button/radio-button.styles.js.map +7 -0
  151. package/dist/components/radio-group/radio-group.component.d.ts +89 -0
  152. package/dist/components/radio-group/radio-group.component.js +18 -0
  153. package/dist/components/radio-group/radio-group.component.js.map +7 -0
  154. package/dist/components/radio-group/radio-group.custom.styles.d.ts +2 -0
  155. package/dist/components/radio-group/radio-group.custom.styles.js +8 -0
  156. package/dist/components/radio-group/radio-group.custom.styles.js.map +7 -0
  157. package/dist/components/radio-group/radio-group.d.ts +8 -0
  158. package/dist/components/radio-group/radio-group.js +19 -0
  159. package/dist/components/radio-group/radio-group.js.map +7 -0
  160. package/dist/components/radio-group/radio-group.styles.d.ts +2 -0
  161. package/dist/components/radio-group/radio-group.styles.js +11 -0
  162. package/dist/components/radio-group/radio-group.styles.js.map +7 -0
  163. package/dist/components/spinner/spinner.component.js +2 -2
  164. package/dist/components/switch/switch.component.d.ts +86 -0
  165. package/dist/components/switch/switch.component.js +15 -0
  166. package/dist/components/switch/switch.component.js.map +7 -0
  167. package/dist/components/switch/switch.custom.styles.d.ts +2 -0
  168. package/dist/components/switch/switch.custom.styles.js +8 -0
  169. package/dist/components/switch/switch.custom.styles.js.map +7 -0
  170. package/dist/components/switch/switch.d.ts +8 -0
  171. package/dist/components/switch/switch.js +16 -0
  172. package/dist/components/switch/switch.js.map +7 -0
  173. package/dist/components/switch/switch.styles.d.ts +2 -0
  174. package/dist/components/switch/switch.styles.js +10 -0
  175. package/dist/components/switch/switch.styles.js.map +7 -0
  176. package/dist/components/textarea/textarea.component.d.ts +131 -0
  177. package/dist/components/textarea/textarea.component.js +17 -0
  178. package/dist/components/textarea/textarea.component.js.map +7 -0
  179. package/dist/components/textarea/textarea.custom.styles.js +3 -6
  180. package/dist/components/textarea/textarea.custom.styles.js.map +3 -3
  181. package/dist/components/textarea/textarea.d.ts +8 -0
  182. package/dist/components/textarea/textarea.js +18 -0
  183. package/dist/components/textarea/textarea.js.map +7 -0
  184. package/dist/components/textarea/textarea.styles.d.ts +2 -0
  185. package/dist/components/textarea/textarea.styles.js +11 -0
  186. package/dist/components/textarea/textarea.styles.js.map +7 -0
  187. package/dist/custom-elements.json +3072 -480
  188. package/dist/internal/test.d.ts +28 -0
  189. package/dist/styles/form-control.custom.styles.d.ts +2 -0
  190. package/dist/synergy.d.ts +11 -1
  191. package/dist/synergy.js +87 -21
  192. package/dist/utilities/form.js +2 -2
  193. package/dist/utilities/icon-library.d.ts +1 -0
  194. package/dist/utilities/icon-library.js +14 -0
  195. package/dist/utilities/icon-library.js.map +7 -0
  196. package/dist/vscode.html-custom-data.json +389 -0
  197. package/dist/web-types.json +866 -8
  198. package/package.json +22 -15
  199. package/dist/chunks/chunk.6CFDQNJT.js.map +0 -7
  200. package/dist/chunks/chunk.ILONRPL4.js +0 -10
  201. package/dist/chunks/chunk.MQ3KYTNU.js.map +0 -7
  202. package/dist/chunks/chunk.U7ZJ22QM.js +0 -128
  203. package/dist/chunks/chunk.U7ZJ22QM.js.map +0 -7
  204. /package/dist/chunks/{chunk.5OIEI73E.js.map → chunk.4XAK6MOQ.js.map} +0 -0
  205. /package/dist/chunks/{chunk.GRZ3TSGB.js.map → chunk.HPTHXM7Q.js.map} +0 -0
  206. /package/dist/chunks/{chunk.SGZ5ADPY.js.map → chunk.IV4DT254.js.map} +0 -0
  207. /package/dist/chunks/{chunk.H6VZTJD6.js.map → chunk.KZT2HFEV.js.map} +0 -0
  208. /package/dist/chunks/{chunk.WDCAHRYG.js.map → chunk.P2LNG2PZ.js.map} +0 -0
  209. /package/dist/chunks/{chunk.WTCUSH7V.js.map → chunk.Z3RZUTQU.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@synergy-design-system/components",
4
- "version": "1.0.0-main.9",
4
+ "version": "1.0.0",
5
5
  "description-markup": "markdown",
6
6
  "contributions": {
7
7
  "html": {
@@ -17,7 +17,7 @@
17
17
  "description": "The button's theme variant.",
18
18
  "value": {
19
19
  "type": "'filled' | 'outline' | 'text'",
20
- "default": "'filled'"
20
+ "default": "'outline'"
21
21
  }
22
22
  },
23
23
  {
@@ -255,6 +255,176 @@
255
255
  ]
256
256
  }
257
257
  },
258
+ {
259
+ "name": "syn-button-group",
260
+ "description": "Button groups can be used to group related buttons into sections.\n---\n\n\n### **Slots:**\n - _default_ - One or more `<syn-button>` elements to display in the button group.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
261
+ "doc-url": "",
262
+ "attributes": [
263
+ {
264
+ "name": "label",
265
+ "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
266
+ "value": { "type": "string", "default": "''" }
267
+ }
268
+ ],
269
+ "slots": [
270
+ {
271
+ "name": "",
272
+ "description": "One or more `<syn-button>` elements to display in the button group."
273
+ }
274
+ ],
275
+ "events": [],
276
+ "js": {
277
+ "properties": [
278
+ {
279
+ "name": "label",
280
+ "description": "A label to use for the button group. This won't be displayed on the screen, but it will be announced by assistive\ndevices when interacting with the control and is strongly recommended.",
281
+ "value": { "type": "string" }
282
+ }
283
+ ],
284
+ "events": []
285
+ }
286
+ },
287
+ {
288
+ "name": "syn-checkbox",
289
+ "description": "Checkboxes allow the user to toggle an option on or off.\n---\n\n\n### **Events:**\n - **syn-blur** - Emitted when the checkbox loses focus.\n- **syn-change** - Emitted when the checked state changes.\n- **syn-focus** - Emitted when the checkbox gains focus.\n- **syn-input** - Emitted when the checkbox receives input.\n- **syn-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **click()** - Simulates a click on the checkbox.\n- **focus(options: _FocusOptions_)** - Sets focus on the checkbox.\n- **blur()** - Removes focus from the checkbox.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. The value provided will be shown to the user when the form is submitted. To clear\nthe custom validation message, call this method with an empty string.\n\n### **Slots:**\n - _default_ - The checkbox's label.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **control** - The square container that wraps the checkbox's checked state.\n- **control--checked** - Matches the control part when the checkbox is checked.\n- **control--indeterminate** - Matches the control part when the checkbox is indeterminate.\n- **checked-icon** - The checked icon, an `<syn-icon>` element.\n- **indeterminate-icon** - The indeterminate icon, an `<syn-icon>` element.\n- **label** - The container that wraps the checkbox's label.",
290
+ "doc-url": "",
291
+ "attributes": [
292
+ { "name": "title", "value": { "type": "string", "default": "''" } },
293
+ {
294
+ "name": "name",
295
+ "description": "The name of the checkbox, submitted as a name/value pair with form data.",
296
+ "value": { "type": "string", "default": "''" }
297
+ },
298
+ {
299
+ "name": "value",
300
+ "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
301
+ "value": { "type": "string" }
302
+ },
303
+ {
304
+ "name": "size",
305
+ "description": "The checkbox's size.",
306
+ "value": {
307
+ "type": "'small' | 'medium' | 'large'",
308
+ "default": "'medium'"
309
+ }
310
+ },
311
+ {
312
+ "name": "disabled",
313
+ "description": "Disables the checkbox.",
314
+ "value": { "type": "boolean", "default": "false" }
315
+ },
316
+ {
317
+ "name": "checked",
318
+ "description": "Draws the checkbox in a checked state.",
319
+ "value": { "type": "boolean", "default": "false" }
320
+ },
321
+ {
322
+ "name": "indeterminate",
323
+ "description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
324
+ "value": { "type": "boolean", "default": "false" }
325
+ },
326
+ {
327
+ "name": "form",
328
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
329
+ "value": { "type": "string", "default": "''" }
330
+ },
331
+ {
332
+ "name": "required",
333
+ "description": "Makes the checkbox a required field.",
334
+ "value": { "type": "boolean", "default": "false" }
335
+ }
336
+ ],
337
+ "slots": [{ "name": "", "description": "The checkbox's label." }],
338
+ "events": [
339
+ {
340
+ "name": "syn-blur",
341
+ "description": "Emitted when the checkbox loses focus."
342
+ },
343
+ {
344
+ "name": "syn-change",
345
+ "description": "Emitted when the checked state changes."
346
+ },
347
+ {
348
+ "name": "syn-focus",
349
+ "description": "Emitted when the checkbox gains focus."
350
+ },
351
+ {
352
+ "name": "syn-input",
353
+ "description": "Emitted when the checkbox receives input."
354
+ },
355
+ {
356
+ "name": "syn-invalid",
357
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied."
358
+ }
359
+ ],
360
+ "js": {
361
+ "properties": [
362
+ { "name": "title", "value": { "type": "string" } },
363
+ {
364
+ "name": "name",
365
+ "description": "The name of the checkbox, submitted as a name/value pair with form data.",
366
+ "value": { "type": "string" }
367
+ },
368
+ {
369
+ "name": "value",
370
+ "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
371
+ "value": { "type": "string" }
372
+ },
373
+ {
374
+ "name": "size",
375
+ "description": "The checkbox's size.",
376
+ "value": { "type": "'small' | 'medium' | 'large'" }
377
+ },
378
+ {
379
+ "name": "disabled",
380
+ "description": "Disables the checkbox.",
381
+ "value": { "type": "boolean" }
382
+ },
383
+ {
384
+ "name": "checked",
385
+ "description": "Draws the checkbox in a checked state.",
386
+ "value": { "type": "boolean" }
387
+ },
388
+ {
389
+ "name": "indeterminate",
390
+ "description": "Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\nall/none\" behavior when associated checkboxes have a mix of checked and unchecked states.",
391
+ "value": { "type": "boolean" }
392
+ },
393
+ {
394
+ "name": "form",
395
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
396
+ "value": { "type": "string" }
397
+ },
398
+ {
399
+ "name": "required",
400
+ "description": "Makes the checkbox a required field.",
401
+ "value": { "type": "boolean" }
402
+ }
403
+ ],
404
+ "events": [
405
+ {
406
+ "name": "syn-blur",
407
+ "description": "Emitted when the checkbox loses focus."
408
+ },
409
+ {
410
+ "name": "syn-change",
411
+ "description": "Emitted when the checked state changes."
412
+ },
413
+ {
414
+ "name": "syn-focus",
415
+ "description": "Emitted when the checkbox gains focus."
416
+ },
417
+ {
418
+ "name": "syn-input",
419
+ "description": "Emitted when the checkbox receives input."
420
+ },
421
+ {
422
+ "name": "syn-invalid",
423
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied."
424
+ }
425
+ ]
426
+ }
427
+ },
258
428
  {
259
429
  "name": "syn-icon",
260
430
  "description": "Icons are symbols that can be used to represent various options within an application.\n---\n\n\n### **Events:**\n - **syn-load** - Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit.\n- **syn-error** - Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit.\n\n### **CSS Parts:**\n - **svg** - The internal SVG element.\n- **use** - The <use> element generated when using `spriteSheet: true`",
@@ -722,14 +892,702 @@
722
892
  }
723
893
  },
724
894
  {
725
- "name": "syn-spinner",
726
- "description": "Spinners are used to show the progress of an indeterminate operation.\n---\n\n\n### **CSS Properties:**\n - **--track-width** - The width of the track. _(default: undefined)_\n- **--track-color** - The color of the track. _(default: undefined)_\n- **--indicator-color** - The color of the spinner's indicator. _(default: undefined)_\n- **--speed** - The time it takes for the spinner to complete one animation cycle. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
895
+ "name": "syn-radio",
896
+ "description": "Radios allow the user to select a single option from a group.\n---\n\n\n### **Events:**\n - **syn-blur** - Emitted when the control loses focus.\n- **syn-focus** - Emitted when the control gains focus.\n\n### **Slots:**\n - _default_ - The radio's label.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **control** - The circular container that wraps the radio's checked state.\n- **control--checked** - The radio control when the radio is checked.\n- **checked-icon** - The checked icon, an `<syn-icon>` element.\n- **label** - The container that wraps the radio's label.",
727
897
  "doc-url": "",
728
- "attributes": [],
729
- "events": [],
898
+ "attributes": [
899
+ {
900
+ "name": "value",
901
+ "description": "The radio's value. When selected, the radio group will receive this value.",
902
+ "value": { "type": "string" }
903
+ },
904
+ {
905
+ "name": "size",
906
+ "description": "The radio's size. When used inside a radio group, the size will be determined by the radio group's size so this\nattribute can typically be omitted.",
907
+ "value": {
908
+ "type": "'small' | 'medium' | 'large'",
909
+ "default": "'medium'"
910
+ }
911
+ },
912
+ {
913
+ "name": "disabled",
914
+ "description": "Disables the radio.",
915
+ "value": { "type": "boolean", "default": "false" }
916
+ }
917
+ ],
918
+ "slots": [{ "name": "", "description": "The radio's label." }],
919
+ "events": [
920
+ {
921
+ "name": "syn-blur",
922
+ "description": "Emitted when the control loses focus."
923
+ },
924
+ {
925
+ "name": "syn-focus",
926
+ "description": "Emitted when the control gains focus."
927
+ }
928
+ ],
730
929
  "js": {
731
- "properties": [{ "name": "localize", "value": {} }],
732
- "events": []
930
+ "properties": [
931
+ {
932
+ "name": "value",
933
+ "description": "The radio's value. When selected, the radio group will receive this value.",
934
+ "value": { "type": "string" }
935
+ },
936
+ {
937
+ "name": "size",
938
+ "description": "The radio's size. When used inside a radio group, the size will be determined by the radio group's size so this\nattribute can typically be omitted.",
939
+ "value": { "type": "'small' | 'medium' | 'large'" }
940
+ },
941
+ {
942
+ "name": "disabled",
943
+ "description": "Disables the radio.",
944
+ "value": { "type": "boolean" }
945
+ }
946
+ ],
947
+ "events": [
948
+ {
949
+ "name": "syn-blur",
950
+ "description": "Emitted when the control loses focus."
951
+ },
952
+ {
953
+ "name": "syn-focus",
954
+ "description": "Emitted when the control gains focus."
955
+ }
956
+ ]
957
+ }
958
+ },
959
+ {
960
+ "name": "syn-radio-button",
961
+ "description": "Radios buttons allow the user to select a single option from a group using a button-like control.\n---\n\n\n### **Events:**\n - **syn-blur** - Emitted when the button loses focus.\n- **syn-focus** - Emitted when the button gains focus.\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus on the radio button.\n- **blur()** - Removes focus from the radio button.\n\n### **Slots:**\n - _default_ - The radio button's label.\n- **prefix** - A presentational prefix icon or similar element.\n- **suffix** - A presentational suffix icon or similar element.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **button** - The internal `<button>` element.\n- **button--checked** - The internal button element when the radio button is checked.\n- **prefix** - The container that wraps the prefix.\n- **label** - The container that wraps the radio button's label.\n- **suffix** - The container that wraps the suffix.",
962
+ "doc-url": "",
963
+ "attributes": [
964
+ {
965
+ "name": "value",
966
+ "description": "The radio's value. When selected, the radio group will receive this value.",
967
+ "value": { "type": "string" }
968
+ },
969
+ {
970
+ "name": "disabled",
971
+ "description": "Disables the radio button.",
972
+ "value": { "type": "boolean", "default": "false" }
973
+ },
974
+ {
975
+ "name": "size",
976
+ "description": "The radio button's size. When used inside a radio group, the size will be determined by the radio group's size so\nthis attribute can typically be omitted.",
977
+ "value": {
978
+ "type": "'small' | 'medium' | 'large'",
979
+ "default": "'medium'"
980
+ }
981
+ }
982
+ ],
983
+ "slots": [
984
+ { "name": "", "description": "The radio button's label." },
985
+ {
986
+ "name": "prefix",
987
+ "description": "A presentational prefix icon or similar element."
988
+ },
989
+ {
990
+ "name": "suffix",
991
+ "description": "A presentational suffix icon or similar element."
992
+ }
993
+ ],
994
+ "events": [
995
+ {
996
+ "name": "syn-blur",
997
+ "description": "Emitted when the button loses focus."
998
+ },
999
+ {
1000
+ "name": "syn-focus",
1001
+ "description": "Emitted when the button gains focus."
1002
+ }
1003
+ ],
1004
+ "js": {
1005
+ "properties": [
1006
+ {
1007
+ "name": "value",
1008
+ "description": "The radio's value. When selected, the radio group will receive this value.",
1009
+ "value": { "type": "string" }
1010
+ },
1011
+ {
1012
+ "name": "disabled",
1013
+ "description": "Disables the radio button.",
1014
+ "value": { "type": "boolean" }
1015
+ },
1016
+ {
1017
+ "name": "size",
1018
+ "description": "The radio button's size. When used inside a radio group, the size will be determined by the radio group's size so\nthis attribute can typically be omitted.",
1019
+ "value": { "type": "'small' | 'medium' | 'large'" }
1020
+ }
1021
+ ],
1022
+ "events": [
1023
+ {
1024
+ "name": "syn-blur",
1025
+ "description": "Emitted when the button loses focus."
1026
+ },
1027
+ {
1028
+ "name": "syn-focus",
1029
+ "description": "Emitted when the button gains focus."
1030
+ }
1031
+ ]
1032
+ }
1033
+ },
1034
+ {
1035
+ "name": "syn-radio-group",
1036
+ "description": "Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.\n---\n\n\n### **Events:**\n - **syn-change** - Emitted when the radio group's selected value changes.\n- **syn-input** - Emitted when the radio group receives user input.\n- **syn-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity(): _boolean_** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - _default_ - The default slot where `<syn-radio>` or `<syn-radio-button>` elements are placed.\n- **label** - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **button-group** - The button group that wraps radio buttons.\n- **button-group__base** - The button group's `base` part.",
1037
+ "doc-url": "",
1038
+ "attributes": [
1039
+ {
1040
+ "name": "label",
1041
+ "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
1042
+ "value": { "type": "string", "default": "''" }
1043
+ },
1044
+ {
1045
+ "name": "help-text",
1046
+ "description": "The radio groups's help text. If you need to display HTML, use the `help-text` slot instead.",
1047
+ "value": { "type": "string", "default": "''" }
1048
+ },
1049
+ {
1050
+ "name": "name",
1051
+ "description": "The name of the radio group, submitted as a name/value pair with form data.",
1052
+ "value": { "type": "string", "default": "'option'" }
1053
+ },
1054
+ {
1055
+ "name": "value",
1056
+ "description": "The current value of the radio group, submitted as a name/value pair with form data.",
1057
+ "value": { "type": "string", "default": "''" }
1058
+ },
1059
+ {
1060
+ "name": "size",
1061
+ "description": "The radio group's size. This size will be applied to all child radios and radio buttons.",
1062
+ "value": {
1063
+ "type": "'small' | 'medium' | 'large'",
1064
+ "default": "'medium'"
1065
+ }
1066
+ },
1067
+ {
1068
+ "name": "form",
1069
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
1070
+ "value": { "type": "string", "default": "''" }
1071
+ },
1072
+ {
1073
+ "name": "required",
1074
+ "description": "Ensures a child radio is checked before allowing the containing form to submit.",
1075
+ "value": { "type": "boolean", "default": "false" }
1076
+ }
1077
+ ],
1078
+ "slots": [
1079
+ {
1080
+ "name": "",
1081
+ "description": "The default slot where `<syn-radio>` or `<syn-radio-button>` elements are placed."
1082
+ },
1083
+ {
1084
+ "name": "label",
1085
+ "description": "The radio group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute."
1086
+ }
1087
+ ],
1088
+ "events": [
1089
+ {
1090
+ "name": "syn-change",
1091
+ "description": "Emitted when the radio group's selected value changes."
1092
+ },
1093
+ {
1094
+ "name": "syn-input",
1095
+ "description": "Emitted when the radio group receives user input."
1096
+ },
1097
+ {
1098
+ "name": "syn-invalid",
1099
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied."
1100
+ }
1101
+ ],
1102
+ "js": {
1103
+ "properties": [
1104
+ {
1105
+ "name": "label",
1106
+ "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
1107
+ "value": { "type": "string" }
1108
+ },
1109
+ {
1110
+ "name": "help-text",
1111
+ "description": "The radio groups's help text. If you need to display HTML, use the `help-text` slot instead.",
1112
+ "value": { "type": "string" }
1113
+ },
1114
+ {
1115
+ "name": "name",
1116
+ "description": "The name of the radio group, submitted as a name/value pair with form data.",
1117
+ "value": { "type": "string" }
1118
+ },
1119
+ {
1120
+ "name": "value",
1121
+ "description": "The current value of the radio group, submitted as a name/value pair with form data.",
1122
+ "value": { "type": "string" }
1123
+ },
1124
+ {
1125
+ "name": "size",
1126
+ "description": "The radio group's size. This size will be applied to all child radios and radio buttons.",
1127
+ "value": { "type": "'small' | 'medium' | 'large'" }
1128
+ },
1129
+ {
1130
+ "name": "form",
1131
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
1132
+ "value": { "type": "string" }
1133
+ },
1134
+ {
1135
+ "name": "required",
1136
+ "description": "Ensures a child radio is checked before allowing the containing form to submit.",
1137
+ "value": { "type": "boolean" }
1138
+ }
1139
+ ],
1140
+ "events": [
1141
+ {
1142
+ "name": "syn-change",
1143
+ "description": "Emitted when the radio group's selected value changes."
1144
+ },
1145
+ {
1146
+ "name": "syn-input",
1147
+ "description": "Emitted when the radio group receives user input."
1148
+ },
1149
+ {
1150
+ "name": "syn-invalid",
1151
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied."
1152
+ }
1153
+ ]
1154
+ }
1155
+ },
1156
+ {
1157
+ "name": "syn-spinner",
1158
+ "description": "Spinners are used to show the progress of an indeterminate operation.\n---\n\n\n### **CSS Properties:**\n - **--track-width** - The width of the track. _(default: undefined)_\n- **--track-color** - The color of the track. _(default: undefined)_\n- **--indicator-color** - The color of the spinner's indicator. _(default: undefined)_\n- **--speed** - The time it takes for the spinner to complete one animation cycle. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
1159
+ "doc-url": "",
1160
+ "attributes": [],
1161
+ "events": [],
1162
+ "js": {
1163
+ "properties": [{ "name": "localize", "value": {} }],
1164
+ "events": []
1165
+ }
1166
+ },
1167
+ {
1168
+ "name": "syn-switch",
1169
+ "description": "Switches allow the user to toggle an option on or off.\n---\n\n\n### **Events:**\n - **syn-blur** - Emitted when the control loses focus.\n- **syn-change** - Emitted when the control's checked state changes.\n- **syn-input** - Emitted when the control receives input.\n- **syn-focus** - Emitted when the control gains focus.\n- **syn-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **click()** - Simulates a click on the switch.\n- **focus(options: _FocusOptions_)** - Sets focus on the switch.\n- **blur()** - Removes focus from the switch.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - _default_ - The switch's label.\n\n### **CSS Properties:**\n - **--width** - The width of the switch. _(default: undefined)_\n- **--height** - The height of the switch. _(default: undefined)_\n- **--thumb-size** - The size of the thumb. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **control** - The control that houses the switch's thumb.\n- **thumb** - The switch's thumb.\n- **label** - The switch's label.",
1170
+ "doc-url": "",
1171
+ "attributes": [
1172
+ { "name": "title", "value": { "type": "string", "default": "''" } },
1173
+ {
1174
+ "name": "name",
1175
+ "description": "The name of the switch, submitted as a name/value pair with form data.",
1176
+ "value": { "type": "string", "default": "''" }
1177
+ },
1178
+ {
1179
+ "name": "value",
1180
+ "description": "The current value of the switch, submitted as a name/value pair with form data.",
1181
+ "value": { "type": "string" }
1182
+ },
1183
+ {
1184
+ "name": "size",
1185
+ "description": "The switch's size.",
1186
+ "value": {
1187
+ "type": "'small' | 'medium' | 'large'",
1188
+ "default": "'medium'"
1189
+ }
1190
+ },
1191
+ {
1192
+ "name": "disabled",
1193
+ "description": "Disables the switch.",
1194
+ "value": { "type": "boolean", "default": "false" }
1195
+ },
1196
+ {
1197
+ "name": "checked",
1198
+ "description": "Draws the switch in a checked state.",
1199
+ "value": { "type": "boolean", "default": "false" }
1200
+ },
1201
+ {
1202
+ "name": "form",
1203
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
1204
+ "value": { "type": "string", "default": "''" }
1205
+ },
1206
+ {
1207
+ "name": "required",
1208
+ "description": "Makes the switch a required field.",
1209
+ "value": { "type": "boolean", "default": "false" }
1210
+ }
1211
+ ],
1212
+ "slots": [{ "name": "", "description": "The switch's label." }],
1213
+ "events": [
1214
+ {
1215
+ "name": "syn-blur",
1216
+ "description": "Emitted when the control loses focus."
1217
+ },
1218
+ {
1219
+ "name": "syn-change",
1220
+ "description": "Emitted when the control's checked state changes."
1221
+ },
1222
+ {
1223
+ "name": "syn-input",
1224
+ "description": "Emitted when the control receives input."
1225
+ },
1226
+ {
1227
+ "name": "syn-focus",
1228
+ "description": "Emitted when the control gains focus."
1229
+ },
1230
+ {
1231
+ "name": "syn-invalid",
1232
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied."
1233
+ }
1234
+ ],
1235
+ "js": {
1236
+ "properties": [
1237
+ { "name": "title", "value": { "type": "string" } },
1238
+ {
1239
+ "name": "name",
1240
+ "description": "The name of the switch, submitted as a name/value pair with form data.",
1241
+ "value": { "type": "string" }
1242
+ },
1243
+ {
1244
+ "name": "value",
1245
+ "description": "The current value of the switch, submitted as a name/value pair with form data.",
1246
+ "value": { "type": "string" }
1247
+ },
1248
+ {
1249
+ "name": "size",
1250
+ "description": "The switch's size.",
1251
+ "value": { "type": "'small' | 'medium' | 'large'" }
1252
+ },
1253
+ {
1254
+ "name": "disabled",
1255
+ "description": "Disables the switch.",
1256
+ "value": { "type": "boolean" }
1257
+ },
1258
+ {
1259
+ "name": "checked",
1260
+ "description": "Draws the switch in a checked state.",
1261
+ "value": { "type": "boolean" }
1262
+ },
1263
+ {
1264
+ "name": "form",
1265
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
1266
+ "value": { "type": "string" }
1267
+ },
1268
+ {
1269
+ "name": "required",
1270
+ "description": "Makes the switch a required field.",
1271
+ "value": { "type": "boolean" }
1272
+ }
1273
+ ],
1274
+ "events": [
1275
+ {
1276
+ "name": "syn-blur",
1277
+ "description": "Emitted when the control loses focus."
1278
+ },
1279
+ {
1280
+ "name": "syn-change",
1281
+ "description": "Emitted when the control's checked state changes."
1282
+ },
1283
+ {
1284
+ "name": "syn-input",
1285
+ "description": "Emitted when the control receives input."
1286
+ },
1287
+ {
1288
+ "name": "syn-focus",
1289
+ "description": "Emitted when the control gains focus."
1290
+ },
1291
+ {
1292
+ "name": "syn-invalid",
1293
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied."
1294
+ }
1295
+ ]
1296
+ }
1297
+ },
1298
+ {
1299
+ "name": "syn-textarea",
1300
+ "description": "Textareas collect data from the user and allow multiple lines of text.\n---\n\n\n### **Events:**\n - **syn-blur** - Emitted when the control loses focus.\n- **syn-change** - Emitted when an alteration to the control's value is committed by the user.\n- **syn-focus** - Emitted when the control gains focus.\n- **syn-input** - Emitted when the control receives input.\n- **syn-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus on the textarea.\n- **blur()** - Removes focus from the textarea.\n- **select()** - Selects all the text in the textarea.\n- **scrollPosition(position: _{ top?: number; left?: number }_): _{ top: number; left: number } | undefined_** - Gets or sets the textarea's scroll position.\n- **setSelectionRange(selectionStart: _number_, selectionEnd: _number_, selectionDirection: _'forward' | 'backward' | 'none'_)** - Sets the start and end positions of the text selection (0-based).\n- **setRangeText(replacement: _string_, start: _number_, end: _number_, selectMode: _'select' | 'start' | 'end' | 'preserve'_)** - Replaces a range of text with a new string.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - **label** - The textarea's label. Alternatively, you can use the `label` attribute.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **base** - The component's base wrapper.\n- **textarea** - The internal `<textarea>` control.",
1301
+ "doc-url": "",
1302
+ "attributes": [
1303
+ { "name": "title", "value": { "type": "string", "default": "''" } },
1304
+ {
1305
+ "name": "name",
1306
+ "description": "The name of the textarea, submitted as a name/value pair with form data.",
1307
+ "value": { "type": "string", "default": "''" }
1308
+ },
1309
+ {
1310
+ "name": "value",
1311
+ "description": "The current value of the textarea, submitted as a name/value pair with form data.",
1312
+ "value": { "type": "string", "default": "''" }
1313
+ },
1314
+ {
1315
+ "name": "size",
1316
+ "description": "The textarea's size.",
1317
+ "value": {
1318
+ "type": "'small' | 'medium' | 'large'",
1319
+ "default": "'medium'"
1320
+ }
1321
+ },
1322
+ {
1323
+ "name": "label",
1324
+ "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
1325
+ "value": { "type": "string", "default": "''" }
1326
+ },
1327
+ {
1328
+ "name": "help-text",
1329
+ "description": "The textarea's help text. If you need to display HTML, use the `help-text` slot instead.",
1330
+ "value": { "type": "string", "default": "''" }
1331
+ },
1332
+ {
1333
+ "name": "placeholder",
1334
+ "description": "Placeholder text to show as a hint when the input is empty.",
1335
+ "value": { "type": "string", "default": "''" }
1336
+ },
1337
+ {
1338
+ "name": "rows",
1339
+ "description": "The number of rows to display by default.",
1340
+ "value": { "type": "number", "default": "4" }
1341
+ },
1342
+ {
1343
+ "name": "resize",
1344
+ "description": "Controls how the textarea can be resized.",
1345
+ "value": {
1346
+ "type": "'none' | 'vertical' | 'auto'",
1347
+ "default": "'vertical'"
1348
+ }
1349
+ },
1350
+ {
1351
+ "name": "disabled",
1352
+ "description": "Disables the textarea.",
1353
+ "value": { "type": "boolean", "default": "false" }
1354
+ },
1355
+ {
1356
+ "name": "readonly",
1357
+ "description": "Makes the textarea readonly.",
1358
+ "value": { "type": "boolean", "default": "false" }
1359
+ },
1360
+ {
1361
+ "name": "form",
1362
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
1363
+ "value": { "type": "string", "default": "''" }
1364
+ },
1365
+ {
1366
+ "name": "required",
1367
+ "description": "Makes the textarea a required field.",
1368
+ "value": { "type": "boolean", "default": "false" }
1369
+ },
1370
+ {
1371
+ "name": "minlength",
1372
+ "description": "The minimum length of input that will be considered valid.",
1373
+ "value": { "type": "number" }
1374
+ },
1375
+ {
1376
+ "name": "maxlength",
1377
+ "description": "The maximum length of input that will be considered valid.",
1378
+ "value": { "type": "number" }
1379
+ },
1380
+ {
1381
+ "name": "autocapitalize",
1382
+ "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
1383
+ "value": {
1384
+ "type": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
1385
+ }
1386
+ },
1387
+ {
1388
+ "name": "autocorrect",
1389
+ "description": "Indicates whether the browser's autocorrect feature is on or off.",
1390
+ "value": { "type": "string" }
1391
+ },
1392
+ {
1393
+ "name": "autocomplete",
1394
+ "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
1395
+ "value": { "type": "string" }
1396
+ },
1397
+ {
1398
+ "name": "autofocus",
1399
+ "description": "Indicates that the input should receive focus on page load.",
1400
+ "value": { "type": "boolean" }
1401
+ },
1402
+ {
1403
+ "name": "enterkeyhint",
1404
+ "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
1405
+ "value": {
1406
+ "type": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
1407
+ }
1408
+ },
1409
+ {
1410
+ "name": "spellcheck",
1411
+ "description": "Enables spell checking on the textarea.",
1412
+ "value": { "type": "boolean", "default": "true" }
1413
+ },
1414
+ {
1415
+ "name": "inputmode",
1416
+ "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
1417
+ "value": {
1418
+ "type": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
1419
+ }
1420
+ }
1421
+ ],
1422
+ "slots": [
1423
+ {
1424
+ "name": "label",
1425
+ "description": "The textarea's label. Alternatively, you can use the `label` attribute."
1426
+ },
1427
+ {
1428
+ "name": "help-text",
1429
+ "description": "Text that describes how to use the input. Alternatively, you can use the `help-text` attribute."
1430
+ }
1431
+ ],
1432
+ "events": [
1433
+ {
1434
+ "name": "syn-blur",
1435
+ "description": "Emitted when the control loses focus."
1436
+ },
1437
+ {
1438
+ "name": "syn-change",
1439
+ "description": "Emitted when an alteration to the control's value is committed by the user."
1440
+ },
1441
+ {
1442
+ "name": "syn-focus",
1443
+ "description": "Emitted when the control gains focus."
1444
+ },
1445
+ {
1446
+ "name": "syn-input",
1447
+ "description": "Emitted when the control receives input."
1448
+ },
1449
+ {
1450
+ "name": "syn-invalid",
1451
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied."
1452
+ }
1453
+ ],
1454
+ "js": {
1455
+ "properties": [
1456
+ { "name": "title", "value": { "type": "string" } },
1457
+ {
1458
+ "name": "name",
1459
+ "description": "The name of the textarea, submitted as a name/value pair with form data.",
1460
+ "value": { "type": "string" }
1461
+ },
1462
+ {
1463
+ "name": "value",
1464
+ "description": "The current value of the textarea, submitted as a name/value pair with form data.",
1465
+ "value": { "type": "string" }
1466
+ },
1467
+ {
1468
+ "name": "size",
1469
+ "description": "The textarea's size.",
1470
+ "value": { "type": "'small' | 'medium' | 'large'" }
1471
+ },
1472
+ {
1473
+ "name": "label",
1474
+ "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
1475
+ "value": { "type": "string" }
1476
+ },
1477
+ {
1478
+ "name": "help-text",
1479
+ "description": "The textarea's help text. If you need to display HTML, use the `help-text` slot instead.",
1480
+ "value": { "type": "string" }
1481
+ },
1482
+ {
1483
+ "name": "placeholder",
1484
+ "description": "Placeholder text to show as a hint when the input is empty.",
1485
+ "value": { "type": "string" }
1486
+ },
1487
+ {
1488
+ "name": "rows",
1489
+ "description": "The number of rows to display by default.",
1490
+ "value": { "type": "number" }
1491
+ },
1492
+ {
1493
+ "name": "resize",
1494
+ "description": "Controls how the textarea can be resized.",
1495
+ "value": { "type": "'none' | 'vertical' | 'auto'" }
1496
+ },
1497
+ {
1498
+ "name": "disabled",
1499
+ "description": "Disables the textarea.",
1500
+ "value": { "type": "boolean" }
1501
+ },
1502
+ {
1503
+ "name": "readonly",
1504
+ "description": "Makes the textarea readonly.",
1505
+ "value": { "type": "boolean" }
1506
+ },
1507
+ {
1508
+ "name": "form",
1509
+ "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.",
1510
+ "value": { "type": "string" }
1511
+ },
1512
+ {
1513
+ "name": "required",
1514
+ "description": "Makes the textarea a required field.",
1515
+ "value": { "type": "boolean" }
1516
+ },
1517
+ {
1518
+ "name": "minlength",
1519
+ "description": "The minimum length of input that will be considered valid.",
1520
+ "value": { "type": "number" }
1521
+ },
1522
+ {
1523
+ "name": "maxlength",
1524
+ "description": "The maximum length of input that will be considered valid.",
1525
+ "value": { "type": "number" }
1526
+ },
1527
+ {
1528
+ "name": "autocapitalize",
1529
+ "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
1530
+ "value": {
1531
+ "type": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
1532
+ }
1533
+ },
1534
+ {
1535
+ "name": "autocorrect",
1536
+ "description": "Indicates whether the browser's autocorrect feature is on or off.",
1537
+ "value": { "type": "string" }
1538
+ },
1539
+ {
1540
+ "name": "autocomplete",
1541
+ "description": "Specifies what permission the browser has to provide assistance in filling out form field values. Refer to\n[this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values.",
1542
+ "value": { "type": "string" }
1543
+ },
1544
+ {
1545
+ "name": "autofocus",
1546
+ "description": "Indicates that the input should receive focus on page load.",
1547
+ "value": { "type": "boolean" }
1548
+ },
1549
+ {
1550
+ "name": "enterkeyhint",
1551
+ "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
1552
+ "value": {
1553
+ "type": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
1554
+ }
1555
+ },
1556
+ {
1557
+ "name": "spellcheck",
1558
+ "description": "Enables spell checking on the textarea.",
1559
+ "value": { "type": "boolean" }
1560
+ },
1561
+ {
1562
+ "name": "inputmode",
1563
+ "description": "Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual\nkeyboard on supportive devices.",
1564
+ "value": {
1565
+ "type": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
1566
+ }
1567
+ }
1568
+ ],
1569
+ "events": [
1570
+ {
1571
+ "name": "syn-blur",
1572
+ "description": "Emitted when the control loses focus."
1573
+ },
1574
+ {
1575
+ "name": "syn-change",
1576
+ "description": "Emitted when an alteration to the control's value is committed by the user."
1577
+ },
1578
+ {
1579
+ "name": "syn-focus",
1580
+ "description": "Emitted when the control gains focus."
1581
+ },
1582
+ {
1583
+ "name": "syn-input",
1584
+ "description": "Emitted when the control receives input."
1585
+ },
1586
+ {
1587
+ "name": "syn-invalid",
1588
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied."
1589
+ }
1590
+ ]
733
1591
  }
734
1592
  }
735
1593
  ]