@synergy-design-system/components 1.0.0-main.11 → 1.0.0-main.13

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 (85) hide show
  1. package/dist/chunks/chunk.2XZKXVMR.js +44 -0
  2. package/dist/chunks/chunk.2XZKXVMR.js.map +7 -0
  3. package/dist/chunks/{chunk.HLUOHJUC.js → chunk.7QGGFKPO.js} +11 -9
  4. package/dist/chunks/{chunk.HLUOHJUC.js.map → chunk.7QGGFKPO.js.map} +1 -1
  5. package/dist/chunks/{chunk.3XRGNU3R.js → chunk.FKB4BI2F.js} +2 -2
  6. package/dist/chunks/chunk.FLF2E2W4.js +360 -0
  7. package/dist/chunks/chunk.FLF2E2W4.js.map +7 -0
  8. package/dist/chunks/{chunk.IFBY43YE.js → chunk.FVSP4LXX.js} +3 -3
  9. package/dist/chunks/chunk.FVSP4LXX.js.map +7 -0
  10. package/dist/chunks/chunk.HOGDOKQS.js +224 -0
  11. package/dist/chunks/chunk.HOGDOKQS.js.map +7 -0
  12. package/dist/chunks/chunk.J44T4LO6.js +189 -0
  13. package/dist/chunks/chunk.J44T4LO6.js.map +7 -0
  14. package/dist/chunks/{chunk.C4FLGZ7E.js → chunk.KALIQJUH.js} +5 -5
  15. package/dist/chunks/{chunk.KXCGB2XT.js → chunk.LJVC6UEV.js} +9 -36
  16. package/dist/chunks/{chunk.KXCGB2XT.js.map → chunk.LJVC6UEV.js.map} +4 -4
  17. package/dist/chunks/chunk.MFFJYORB.js +137 -0
  18. package/dist/chunks/chunk.MFFJYORB.js.map +7 -0
  19. package/dist/chunks/chunk.MMNWMRST.js +12 -0
  20. package/dist/chunks/chunk.MMNWMRST.js.map +7 -0
  21. package/dist/chunks/chunk.NXKZDAMQ.js +12 -0
  22. package/dist/chunks/chunk.NXKZDAMQ.js.map +7 -0
  23. package/dist/chunks/{chunk.EFGGZW6Y.js → chunk.SQTGI355.js} +12 -30
  24. package/dist/chunks/{chunk.EFGGZW6Y.js.map → chunk.SQTGI355.js.map} +3 -3
  25. package/dist/chunks/chunk.T5JJNDG6.js +12 -0
  26. package/dist/chunks/chunk.T5JJNDG6.js.map +7 -0
  27. package/dist/chunks/{chunk.4OMRXGQ5.js → chunk.TKXG7VM3.js} +2 -2
  28. package/dist/chunks/{chunk.MRBFJWMS.js → chunk.UFEBKPYW.js} +2 -2
  29. package/dist/chunks/{chunk.MRBFJWMS.js.map → chunk.UFEBKPYW.js.map} +1 -1
  30. package/dist/chunks/chunk.VNC7HKGP.js +123 -0
  31. package/dist/chunks/chunk.VNC7HKGP.js.map +7 -0
  32. package/dist/chunks/chunk.VZ7S7YYN.js +34 -0
  33. package/dist/chunks/chunk.VZ7S7YYN.js.map +7 -0
  34. package/dist/chunks/{chunk.Y7DVVKVJ.js → chunk.WANL6A7U.js} +5 -123
  35. package/dist/chunks/{chunk.Y7DVVKVJ.js.map → chunk.WANL6A7U.js.map} +4 -4
  36. package/dist/chunks/chunk.WFAJR3FN.js +25 -0
  37. package/dist/chunks/chunk.WFAJR3FN.js.map +7 -0
  38. package/dist/chunks/chunk.YBIBWRKC.js +19 -0
  39. package/dist/chunks/chunk.YBIBWRKC.js.map +7 -0
  40. package/dist/chunks/{chunk.2NHBIE4V.js → chunk.YTS5TRJZ.js} +2 -2
  41. package/dist/components/button/button.component.js +10 -9
  42. package/dist/components/button/button.custom.styles.js +1 -1
  43. package/dist/components/button/button.js +11 -10
  44. package/dist/components/button/button.styles.js +2 -2
  45. package/dist/components/checkbox/checkbox.component.d.ts +93 -0
  46. package/dist/components/checkbox/checkbox.component.js +21 -0
  47. package/dist/components/checkbox/checkbox.component.js.map +7 -0
  48. package/dist/components/checkbox/checkbox.custom.styles.js +3 -6
  49. package/dist/components/checkbox/checkbox.custom.styles.js.map +3 -3
  50. package/dist/components/checkbox/checkbox.d.ts +8 -0
  51. package/dist/components/checkbox/checkbox.js +22 -0
  52. package/dist/components/checkbox/checkbox.js.map +7 -0
  53. package/dist/components/checkbox/checkbox.styles.d.ts +2 -0
  54. package/dist/components/checkbox/checkbox.styles.js +10 -0
  55. package/dist/components/checkbox/checkbox.styles.js.map +7 -0
  56. package/dist/components/icon/icon.component.js +4 -3
  57. package/dist/components/icon/icon.js +6 -8
  58. package/dist/components/icon/icon.js.map +3 -3
  59. package/dist/components/input/input.component.js +9 -6
  60. package/dist/components/input/input.js +10 -7
  61. package/dist/components/input/input.styles.js +2 -1
  62. package/dist/components/spinner/spinner.component.js +3 -3
  63. package/dist/components/textarea/textarea.component.d.ts +131 -0
  64. package/dist/components/textarea/textarea.component.js +17 -0
  65. package/dist/components/textarea/textarea.component.js.map +7 -0
  66. package/dist/components/textarea/textarea.custom.styles.js +3 -6
  67. package/dist/components/textarea/textarea.custom.styles.js.map +3 -3
  68. package/dist/components/textarea/textarea.d.ts +8 -0
  69. package/dist/components/textarea/textarea.js +18 -0
  70. package/dist/components/textarea/textarea.js.map +7 -0
  71. package/dist/components/textarea/textarea.styles.d.ts +2 -0
  72. package/dist/components/textarea/textarea.styles.js +11 -0
  73. package/dist/components/textarea/textarea.styles.js.map +7 -0
  74. package/dist/custom-elements.json +1577 -390
  75. package/dist/internal/test.d.ts +28 -0
  76. package/dist/synergy.d.ts +4 -1
  77. package/dist/synergy.js +35 -14
  78. package/dist/vscode.html-custom-data.json +207 -0
  79. package/dist/web-types.json +437 -1
  80. package/package.json +3 -3
  81. package/dist/chunks/chunk.IFBY43YE.js.map +0 -7
  82. /package/dist/chunks/{chunk.3XRGNU3R.js.map → chunk.FKB4BI2F.js.map} +0 -0
  83. /package/dist/chunks/{chunk.C4FLGZ7E.js.map → chunk.KALIQJUH.js.map} +0 -0
  84. /package/dist/chunks/{chunk.4OMRXGQ5.js.map → chunk.TKXG7VM3.js.map} +0 -0
  85. /package/dist/chunks/{chunk.2NHBIE4V.js.map → chunk.YTS5TRJZ.js.map} +0 -0
@@ -813,6 +813,438 @@
813
813
  }
814
814
  ]
815
815
  },
816
+ {
817
+ "kind": "javascript-module",
818
+ "path": "components/checkbox/checkbox.js",
819
+ "declarations": [
820
+ {
821
+ "kind": "class",
822
+ "description": "",
823
+ "name": "SynCheckbox",
824
+ "cssParts": [
825
+ {
826
+ "description": "The component's base wrapper.",
827
+ "name": "base"
828
+ },
829
+ {
830
+ "description": "The square container that wraps the checkbox's checked state.",
831
+ "name": "control"
832
+ },
833
+ {
834
+ "description": "Matches the control part when the checkbox is checked.",
835
+ "name": "control--checked"
836
+ },
837
+ {
838
+ "description": "Matches the control part when the checkbox is indeterminate.",
839
+ "name": "control--indeterminate"
840
+ },
841
+ {
842
+ "description": "The checked icon, an `<syn-icon>` element.",
843
+ "name": "checked-icon"
844
+ },
845
+ {
846
+ "description": "The indeterminate icon, an `<syn-icon>` element.",
847
+ "name": "indeterminate-icon"
848
+ },
849
+ {
850
+ "description": "The container that wraps the checkbox's label.",
851
+ "name": "label"
852
+ }
853
+ ],
854
+ "slots": [
855
+ {
856
+ "description": "The checkbox's label.",
857
+ "name": ""
858
+ }
859
+ ],
860
+ "members": [
861
+ {
862
+ "kind": "field",
863
+ "name": "dependencies",
864
+ "type": {
865
+ "text": "object"
866
+ },
867
+ "static": true,
868
+ "default": "{ 'syn-icon': SynIcon }"
869
+ },
870
+ {
871
+ "kind": "field",
872
+ "name": "formControlController",
873
+ "privacy": "private",
874
+ "readonly": true,
875
+ "default": "new FormControlController(this, {\n value: (control: SynCheckbox) => (control.checked ? control.value || 'on' : undefined),\n defaultValue: (control: SynCheckbox) => control.defaultChecked,\n setValue: (control: SynCheckbox, checked: boolean) => (control.checked = checked)\n })"
876
+ },
877
+ {
878
+ "kind": "field",
879
+ "name": "input",
880
+ "type": {
881
+ "text": "HTMLInputElement"
882
+ }
883
+ },
884
+ {
885
+ "kind": "field",
886
+ "name": "hasFocus",
887
+ "type": {
888
+ "text": "boolean"
889
+ },
890
+ "privacy": "private",
891
+ "default": "false"
892
+ },
893
+ {
894
+ "kind": "field",
895
+ "name": "title",
896
+ "type": {
897
+ "text": "string"
898
+ },
899
+ "default": "''",
900
+ "attribute": "title"
901
+ },
902
+ {
903
+ "kind": "field",
904
+ "name": "name",
905
+ "type": {
906
+ "text": "string"
907
+ },
908
+ "default": "''",
909
+ "description": "The name of the checkbox, submitted as a name/value pair with form data.",
910
+ "attribute": "name"
911
+ },
912
+ {
913
+ "kind": "field",
914
+ "name": "value",
915
+ "type": {
916
+ "text": "string"
917
+ },
918
+ "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
919
+ "attribute": "value"
920
+ },
921
+ {
922
+ "kind": "field",
923
+ "name": "size",
924
+ "type": {
925
+ "text": "'small' | 'medium' | 'large'"
926
+ },
927
+ "default": "'medium'",
928
+ "description": "The checkbox's size.",
929
+ "attribute": "size",
930
+ "reflects": true
931
+ },
932
+ {
933
+ "kind": "field",
934
+ "name": "disabled",
935
+ "type": {
936
+ "text": "boolean"
937
+ },
938
+ "default": "false",
939
+ "description": "Disables the checkbox.",
940
+ "attribute": "disabled",
941
+ "reflects": true
942
+ },
943
+ {
944
+ "kind": "field",
945
+ "name": "checked",
946
+ "type": {
947
+ "text": "boolean"
948
+ },
949
+ "default": "false",
950
+ "description": "Draws the checkbox in a checked state.",
951
+ "attribute": "checked",
952
+ "reflects": true
953
+ },
954
+ {
955
+ "kind": "field",
956
+ "name": "indeterminate",
957
+ "type": {
958
+ "text": "boolean"
959
+ },
960
+ "default": "false",
961
+ "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.",
962
+ "attribute": "indeterminate",
963
+ "reflects": true
964
+ },
965
+ {
966
+ "kind": "field",
967
+ "name": "defaultChecked",
968
+ "type": {
969
+ "text": "boolean"
970
+ },
971
+ "default": "false",
972
+ "description": "The default value of the form control. Primarily used for resetting the form control."
973
+ },
974
+ {
975
+ "kind": "field",
976
+ "name": "form",
977
+ "type": {
978
+ "text": "string"
979
+ },
980
+ "default": "''",
981
+ "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.",
982
+ "attribute": "form",
983
+ "reflects": true
984
+ },
985
+ {
986
+ "kind": "field",
987
+ "name": "required",
988
+ "type": {
989
+ "text": "boolean"
990
+ },
991
+ "default": "false",
992
+ "description": "Makes the checkbox a required field.",
993
+ "attribute": "required",
994
+ "reflects": true
995
+ },
996
+ {
997
+ "kind": "field",
998
+ "name": "validity",
999
+ "description": "Gets the validity state object",
1000
+ "readonly": true
1001
+ },
1002
+ {
1003
+ "kind": "field",
1004
+ "name": "validationMessage",
1005
+ "description": "Gets the validation message",
1006
+ "readonly": true
1007
+ },
1008
+ {
1009
+ "kind": "method",
1010
+ "name": "handleClick",
1011
+ "privacy": "private"
1012
+ },
1013
+ {
1014
+ "kind": "method",
1015
+ "name": "handleBlur",
1016
+ "privacy": "private"
1017
+ },
1018
+ {
1019
+ "kind": "method",
1020
+ "name": "handleInput",
1021
+ "privacy": "private"
1022
+ },
1023
+ {
1024
+ "kind": "method",
1025
+ "name": "handleInvalid",
1026
+ "privacy": "private",
1027
+ "parameters": [
1028
+ {
1029
+ "name": "event",
1030
+ "type": {
1031
+ "text": "Event"
1032
+ }
1033
+ }
1034
+ ]
1035
+ },
1036
+ {
1037
+ "kind": "method",
1038
+ "name": "handleFocus",
1039
+ "privacy": "private"
1040
+ },
1041
+ {
1042
+ "kind": "method",
1043
+ "name": "handleDisabledChange"
1044
+ },
1045
+ {
1046
+ "kind": "method",
1047
+ "name": "handleStateChange"
1048
+ },
1049
+ {
1050
+ "kind": "method",
1051
+ "name": "click",
1052
+ "description": "Simulates a click on the checkbox."
1053
+ },
1054
+ {
1055
+ "kind": "method",
1056
+ "name": "focus",
1057
+ "parameters": [
1058
+ {
1059
+ "name": "options",
1060
+ "optional": true,
1061
+ "type": {
1062
+ "text": "FocusOptions"
1063
+ }
1064
+ }
1065
+ ],
1066
+ "description": "Sets focus on the checkbox."
1067
+ },
1068
+ {
1069
+ "kind": "method",
1070
+ "name": "blur",
1071
+ "description": "Removes focus from the checkbox."
1072
+ },
1073
+ {
1074
+ "kind": "method",
1075
+ "name": "checkValidity",
1076
+ "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
1077
+ },
1078
+ {
1079
+ "kind": "method",
1080
+ "name": "getForm",
1081
+ "return": {
1082
+ "type": {
1083
+ "text": "HTMLFormElement | null"
1084
+ }
1085
+ },
1086
+ "description": "Gets the associated form, if one exists."
1087
+ },
1088
+ {
1089
+ "kind": "method",
1090
+ "name": "reportValidity",
1091
+ "description": "Checks for validity and shows the browser's validation message if the control is invalid."
1092
+ },
1093
+ {
1094
+ "kind": "method",
1095
+ "name": "setCustomValidity",
1096
+ "parameters": [
1097
+ {
1098
+ "name": "message",
1099
+ "type": {
1100
+ "text": "string"
1101
+ }
1102
+ }
1103
+ ],
1104
+ "description": "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."
1105
+ }
1106
+ ],
1107
+ "events": [
1108
+ {
1109
+ "description": "Emitted when the checkbox loses focus.",
1110
+ "name": "syn-blur",
1111
+ "reactName": "onSynBlur",
1112
+ "eventName": "SynBlurEvent"
1113
+ },
1114
+ {
1115
+ "description": "Emitted when the checked state changes.",
1116
+ "name": "syn-change",
1117
+ "reactName": "onSynChange",
1118
+ "eventName": "SynChangeEvent"
1119
+ },
1120
+ {
1121
+ "description": "Emitted when the checkbox gains focus.",
1122
+ "name": "syn-focus",
1123
+ "reactName": "onSynFocus",
1124
+ "eventName": "SynFocusEvent"
1125
+ },
1126
+ {
1127
+ "description": "Emitted when the checkbox receives input.",
1128
+ "name": "syn-input",
1129
+ "reactName": "onSynInput",
1130
+ "eventName": "SynInputEvent"
1131
+ },
1132
+ {
1133
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
1134
+ "name": "syn-invalid",
1135
+ "reactName": "onSynInvalid",
1136
+ "eventName": "SynInvalidEvent"
1137
+ }
1138
+ ],
1139
+ "attributes": [
1140
+ {
1141
+ "name": "title",
1142
+ "type": {
1143
+ "text": "string"
1144
+ },
1145
+ "default": "''",
1146
+ "fieldName": "title"
1147
+ },
1148
+ {
1149
+ "name": "name",
1150
+ "type": {
1151
+ "text": "string"
1152
+ },
1153
+ "default": "''",
1154
+ "description": "The name of the checkbox, submitted as a name/value pair with form data.",
1155
+ "fieldName": "name"
1156
+ },
1157
+ {
1158
+ "name": "value",
1159
+ "type": {
1160
+ "text": "string"
1161
+ },
1162
+ "description": "The current value of the checkbox, submitted as a name/value pair with form data.",
1163
+ "fieldName": "value"
1164
+ },
1165
+ {
1166
+ "name": "size",
1167
+ "type": {
1168
+ "text": "'small' | 'medium' | 'large'"
1169
+ },
1170
+ "default": "'medium'",
1171
+ "description": "The checkbox's size.",
1172
+ "fieldName": "size"
1173
+ },
1174
+ {
1175
+ "name": "disabled",
1176
+ "type": {
1177
+ "text": "boolean"
1178
+ },
1179
+ "default": "false",
1180
+ "description": "Disables the checkbox.",
1181
+ "fieldName": "disabled"
1182
+ },
1183
+ {
1184
+ "name": "checked",
1185
+ "type": {
1186
+ "text": "boolean"
1187
+ },
1188
+ "default": "false",
1189
+ "description": "Draws the checkbox in a checked state.",
1190
+ "fieldName": "checked"
1191
+ },
1192
+ {
1193
+ "name": "indeterminate",
1194
+ "type": {
1195
+ "text": "boolean"
1196
+ },
1197
+ "default": "false",
1198
+ "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.",
1199
+ "fieldName": "indeterminate"
1200
+ },
1201
+ {
1202
+ "name": "form",
1203
+ "type": {
1204
+ "text": "string"
1205
+ },
1206
+ "default": "''",
1207
+ "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.",
1208
+ "fieldName": "form"
1209
+ },
1210
+ {
1211
+ "name": "required",
1212
+ "type": {
1213
+ "text": "boolean"
1214
+ },
1215
+ "default": "false",
1216
+ "description": "Makes the checkbox a required field.",
1217
+ "fieldName": "required"
1218
+ }
1219
+ ],
1220
+ "superclass": {
1221
+ "name": "SynergyElement",
1222
+ "module": "/src/internal/synergy-element.js"
1223
+ },
1224
+ "summary": "Checkboxes allow the user to toggle an option on or off.",
1225
+ "tagNameWithoutPrefix": "checkbox",
1226
+ "tagName": "syn-checkbox",
1227
+ "customElement": true,
1228
+ "jsDoc": "/**\n * @summary Checkboxes allow the user to toggle an option on or off.\n * @documentation https://synergy.style/components/checkbox\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot - The checkbox's label.\n *\n * @event syn-blur - Emitted when the checkbox loses focus.\n * @event syn-change - Emitted when the checked state changes.\n * @event syn-focus - Emitted when the checkbox gains focus.\n * @event syn-input - Emitted when the checkbox receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The square container that wraps the checkbox's checked state.\n * @csspart control--checked - Matches the control part when the checkbox is checked.\n * @csspart control--indeterminate - Matches the control part when the checkbox is indeterminate.\n * @csspart checked-icon - The checked icon, an `<syn-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, an `<syn-icon>` element.\n * @csspart label - The container that wraps the checkbox's label.\n */",
1229
+ "documentation": "https://synergy.style/components/checkbox",
1230
+ "status": "stable",
1231
+ "since": "2.0",
1232
+ "dependencies": [
1233
+ "syn-icon"
1234
+ ]
1235
+ }
1236
+ ],
1237
+ "exports": [
1238
+ {
1239
+ "kind": "js",
1240
+ "name": "default",
1241
+ "declaration": {
1242
+ "name": "SynCheckbox",
1243
+ "module": "components/checkbox/checkbox.js"
1244
+ }
1245
+ }
1246
+ ]
1247
+ },
816
1248
  {
817
1249
  "kind": "javascript-module",
818
1250
  "path": "components/input/input.js",
@@ -820,7 +1252,1049 @@
820
1252
  {
821
1253
  "kind": "class",
822
1254
  "description": "",
823
- "name": "SynInput",
1255
+ "name": "SynInput",
1256
+ "cssParts": [
1257
+ {
1258
+ "description": "The form control that wraps the label, input, and help text.",
1259
+ "name": "form-control"
1260
+ },
1261
+ {
1262
+ "description": "The label's wrapper.",
1263
+ "name": "form-control-label"
1264
+ },
1265
+ {
1266
+ "description": "The input's wrapper.",
1267
+ "name": "form-control-input"
1268
+ },
1269
+ {
1270
+ "description": "The help text's wrapper.",
1271
+ "name": "form-control-help-text"
1272
+ },
1273
+ {
1274
+ "description": "The component's base wrapper.",
1275
+ "name": "base"
1276
+ },
1277
+ {
1278
+ "description": "The internal `<input>` control.",
1279
+ "name": "input"
1280
+ },
1281
+ {
1282
+ "description": "The container that wraps the prefix.",
1283
+ "name": "prefix"
1284
+ },
1285
+ {
1286
+ "description": "The clear button.",
1287
+ "name": "clear-button"
1288
+ },
1289
+ {
1290
+ "description": "The password toggle button.",
1291
+ "name": "password-toggle-button"
1292
+ },
1293
+ {
1294
+ "description": "The container that wraps the suffix.",
1295
+ "name": "suffix"
1296
+ }
1297
+ ],
1298
+ "slots": [
1299
+ {
1300
+ "description": "The input's label. Alternatively, you can use the `label` attribute.",
1301
+ "name": "label"
1302
+ },
1303
+ {
1304
+ "description": "Used to prepend a presentational icon or similar element to the input.",
1305
+ "name": "prefix"
1306
+ },
1307
+ {
1308
+ "description": "Used to append a presentational icon or similar element to the input.",
1309
+ "name": "suffix"
1310
+ },
1311
+ {
1312
+ "description": "An icon to use in lieu of the default clear icon.",
1313
+ "name": "clear-icon"
1314
+ },
1315
+ {
1316
+ "description": "An icon to use in lieu of the default show password icon.",
1317
+ "name": "show-password-icon"
1318
+ },
1319
+ {
1320
+ "description": "An icon to use in lieu of the default hide password icon.",
1321
+ "name": "hide-password-icon"
1322
+ },
1323
+ {
1324
+ "description": "Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.",
1325
+ "name": "help-text"
1326
+ }
1327
+ ],
1328
+ "members": [
1329
+ {
1330
+ "kind": "field",
1331
+ "name": "dependencies",
1332
+ "type": {
1333
+ "text": "object"
1334
+ },
1335
+ "static": true,
1336
+ "default": "{ 'syn-icon': SynIcon }"
1337
+ },
1338
+ {
1339
+ "kind": "field",
1340
+ "name": "formControlController",
1341
+ "privacy": "private",
1342
+ "readonly": true,
1343
+ "default": "new FormControlController(this, {\n assumeInteractionOn: ['syn-blur', 'syn-input']\n })"
1344
+ },
1345
+ {
1346
+ "kind": "field",
1347
+ "name": "hasSlotController",
1348
+ "privacy": "private",
1349
+ "readonly": true,
1350
+ "default": "new HasSlotController(this, 'help-text', 'label', 'prefix', 'suffix')"
1351
+ },
1352
+ {
1353
+ "kind": "field",
1354
+ "name": "localize",
1355
+ "privacy": "private",
1356
+ "readonly": true,
1357
+ "default": "new LocalizeController(this)"
1358
+ },
1359
+ {
1360
+ "kind": "field",
1361
+ "name": "input",
1362
+ "type": {
1363
+ "text": "HTMLInputElement"
1364
+ }
1365
+ },
1366
+ {
1367
+ "kind": "field",
1368
+ "name": "hasFocus",
1369
+ "type": {
1370
+ "text": "boolean"
1371
+ },
1372
+ "privacy": "private",
1373
+ "default": "false"
1374
+ },
1375
+ {
1376
+ "kind": "field",
1377
+ "name": "title",
1378
+ "type": {
1379
+ "text": "string"
1380
+ },
1381
+ "default": "''",
1382
+ "attribute": "title"
1383
+ },
1384
+ {
1385
+ "kind": "field",
1386
+ "name": "__numberInput",
1387
+ "privacy": "private"
1388
+ },
1389
+ {
1390
+ "kind": "field",
1391
+ "name": "__dateInput",
1392
+ "privacy": "private"
1393
+ },
1394
+ {
1395
+ "kind": "field",
1396
+ "name": "type",
1397
+ "type": {
1398
+ "text": "| 'date'\n | 'datetime-local'\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'"
1399
+ },
1400
+ "default": "'text'",
1401
+ "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
1402
+ "attribute": "type",
1403
+ "reflects": true
1404
+ },
1405
+ {
1406
+ "kind": "field",
1407
+ "name": "name",
1408
+ "type": {
1409
+ "text": "string"
1410
+ },
1411
+ "default": "''",
1412
+ "description": "The name of the input, submitted as a name/value pair with form data.",
1413
+ "attribute": "name"
1414
+ },
1415
+ {
1416
+ "kind": "field",
1417
+ "name": "value",
1418
+ "type": {
1419
+ "text": "string"
1420
+ },
1421
+ "default": "''",
1422
+ "description": "The current value of the input, submitted as a name/value pair with form data.",
1423
+ "attribute": "value"
1424
+ },
1425
+ {
1426
+ "kind": "field",
1427
+ "name": "defaultValue",
1428
+ "type": {
1429
+ "text": "string"
1430
+ },
1431
+ "default": "''",
1432
+ "description": "The default value of the form control. Primarily used for resetting the form control."
1433
+ },
1434
+ {
1435
+ "kind": "field",
1436
+ "name": "size",
1437
+ "type": {
1438
+ "text": "'small' | 'medium' | 'large'"
1439
+ },
1440
+ "default": "'medium'",
1441
+ "description": "The input's size.",
1442
+ "attribute": "size",
1443
+ "reflects": true
1444
+ },
1445
+ {
1446
+ "kind": "field",
1447
+ "name": "label",
1448
+ "type": {
1449
+ "text": "string"
1450
+ },
1451
+ "default": "''",
1452
+ "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
1453
+ "attribute": "label"
1454
+ },
1455
+ {
1456
+ "kind": "field",
1457
+ "name": "helpText",
1458
+ "type": {
1459
+ "text": "string"
1460
+ },
1461
+ "default": "''",
1462
+ "description": "The input's help text. If you need to display HTML, use the `help-text` slot instead.",
1463
+ "attribute": "help-text"
1464
+ },
1465
+ {
1466
+ "kind": "field",
1467
+ "name": "clearable",
1468
+ "type": {
1469
+ "text": "boolean"
1470
+ },
1471
+ "default": "false",
1472
+ "description": "Adds a clear button when the input is not empty.",
1473
+ "attribute": "clearable"
1474
+ },
1475
+ {
1476
+ "kind": "field",
1477
+ "name": "disabled",
1478
+ "type": {
1479
+ "text": "boolean"
1480
+ },
1481
+ "default": "false",
1482
+ "description": "Disables the input.",
1483
+ "attribute": "disabled",
1484
+ "reflects": true
1485
+ },
1486
+ {
1487
+ "kind": "field",
1488
+ "name": "placeholder",
1489
+ "type": {
1490
+ "text": "string"
1491
+ },
1492
+ "default": "''",
1493
+ "description": "Placeholder text to show as a hint when the input is empty.",
1494
+ "attribute": "placeholder"
1495
+ },
1496
+ {
1497
+ "kind": "field",
1498
+ "name": "readonly",
1499
+ "type": {
1500
+ "text": "boolean"
1501
+ },
1502
+ "default": "false",
1503
+ "description": "Makes the input readonly.",
1504
+ "attribute": "readonly",
1505
+ "reflects": true
1506
+ },
1507
+ {
1508
+ "kind": "field",
1509
+ "name": "passwordToggle",
1510
+ "type": {
1511
+ "text": "boolean"
1512
+ },
1513
+ "default": "false",
1514
+ "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
1515
+ "attribute": "password-toggle"
1516
+ },
1517
+ {
1518
+ "kind": "field",
1519
+ "name": "passwordVisible",
1520
+ "type": {
1521
+ "text": "boolean"
1522
+ },
1523
+ "default": "false",
1524
+ "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
1525
+ "attribute": "password-visible"
1526
+ },
1527
+ {
1528
+ "kind": "field",
1529
+ "name": "noSpinButtons",
1530
+ "type": {
1531
+ "text": "boolean"
1532
+ },
1533
+ "default": "false",
1534
+ "description": "Hides the browser's built-in increment/decrement spin buttons for number inputs.",
1535
+ "attribute": "no-spin-buttons"
1536
+ },
1537
+ {
1538
+ "kind": "field",
1539
+ "name": "form",
1540
+ "type": {
1541
+ "text": "string"
1542
+ },
1543
+ "default": "''",
1544
+ "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.",
1545
+ "attribute": "form",
1546
+ "reflects": true
1547
+ },
1548
+ {
1549
+ "kind": "field",
1550
+ "name": "required",
1551
+ "type": {
1552
+ "text": "boolean"
1553
+ },
1554
+ "default": "false",
1555
+ "description": "Makes the input a required field.",
1556
+ "attribute": "required",
1557
+ "reflects": true
1558
+ },
1559
+ {
1560
+ "kind": "field",
1561
+ "name": "pattern",
1562
+ "type": {
1563
+ "text": "string"
1564
+ },
1565
+ "description": "A regular expression pattern to validate input against.",
1566
+ "attribute": "pattern"
1567
+ },
1568
+ {
1569
+ "kind": "field",
1570
+ "name": "minlength",
1571
+ "type": {
1572
+ "text": "number"
1573
+ },
1574
+ "description": "The minimum length of input that will be considered valid.",
1575
+ "attribute": "minlength"
1576
+ },
1577
+ {
1578
+ "kind": "field",
1579
+ "name": "maxlength",
1580
+ "type": {
1581
+ "text": "number"
1582
+ },
1583
+ "description": "The maximum length of input that will be considered valid.",
1584
+ "attribute": "maxlength"
1585
+ },
1586
+ {
1587
+ "kind": "field",
1588
+ "name": "min",
1589
+ "type": {
1590
+ "text": "number | string"
1591
+ },
1592
+ "description": "The input's minimum value. Only applies to date and number input types.",
1593
+ "attribute": "min"
1594
+ },
1595
+ {
1596
+ "kind": "field",
1597
+ "name": "max",
1598
+ "type": {
1599
+ "text": "number | string"
1600
+ },
1601
+ "description": "The input's maximum value. Only applies to date and number input types.",
1602
+ "attribute": "max"
1603
+ },
1604
+ {
1605
+ "kind": "field",
1606
+ "name": "step",
1607
+ "type": {
1608
+ "text": "number | 'any'"
1609
+ },
1610
+ "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.",
1611
+ "attribute": "step"
1612
+ },
1613
+ {
1614
+ "kind": "field",
1615
+ "name": "autocapitalize",
1616
+ "type": {
1617
+ "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
1618
+ },
1619
+ "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
1620
+ "attribute": "autocapitalize"
1621
+ },
1622
+ {
1623
+ "kind": "field",
1624
+ "name": "autocorrect",
1625
+ "type": {
1626
+ "text": "'off' | 'on'"
1627
+ },
1628
+ "description": "Indicates whether the browser's autocorrect feature is on or off.",
1629
+ "attribute": "autocorrect"
1630
+ },
1631
+ {
1632
+ "kind": "field",
1633
+ "name": "autocomplete",
1634
+ "type": {
1635
+ "text": "string"
1636
+ },
1637
+ "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.",
1638
+ "attribute": "autocomplete"
1639
+ },
1640
+ {
1641
+ "kind": "field",
1642
+ "name": "autofocus",
1643
+ "type": {
1644
+ "text": "boolean"
1645
+ },
1646
+ "description": "Indicates that the input should receive focus on page load.",
1647
+ "attribute": "autofocus"
1648
+ },
1649
+ {
1650
+ "kind": "field",
1651
+ "name": "enterkeyhint",
1652
+ "type": {
1653
+ "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
1654
+ },
1655
+ "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
1656
+ "attribute": "enterkeyhint"
1657
+ },
1658
+ {
1659
+ "kind": "field",
1660
+ "name": "spellcheck",
1661
+ "type": {
1662
+ "text": "boolean"
1663
+ },
1664
+ "default": "true",
1665
+ "description": "Enables spell checking on the input.",
1666
+ "attribute": "spellcheck"
1667
+ },
1668
+ {
1669
+ "kind": "field",
1670
+ "name": "inputmode",
1671
+ "type": {
1672
+ "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
1673
+ },
1674
+ "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.",
1675
+ "attribute": "inputmode"
1676
+ },
1677
+ {
1678
+ "kind": "field",
1679
+ "name": "valueAsDate",
1680
+ "description": "Gets or sets the current value as a `Date` object. Returns `null` if the value can't be converted. This will use the native `<input type=\"{{type}}\">` implementation and may result in an error."
1681
+ },
1682
+ {
1683
+ "kind": "field",
1684
+ "name": "valueAsNumber",
1685
+ "description": "Gets or sets the current value as a number. Returns `NaN` if the value can't be converted."
1686
+ },
1687
+ {
1688
+ "kind": "field",
1689
+ "name": "validity",
1690
+ "description": "Gets the validity state object",
1691
+ "readonly": true
1692
+ },
1693
+ {
1694
+ "kind": "field",
1695
+ "name": "validationMessage",
1696
+ "description": "Gets the validation message",
1697
+ "readonly": true
1698
+ },
1699
+ {
1700
+ "kind": "method",
1701
+ "name": "handleBlur",
1702
+ "privacy": "private"
1703
+ },
1704
+ {
1705
+ "kind": "method",
1706
+ "name": "handleChange",
1707
+ "privacy": "private"
1708
+ },
1709
+ {
1710
+ "kind": "method",
1711
+ "name": "handleClearClick",
1712
+ "privacy": "private",
1713
+ "parameters": [
1714
+ {
1715
+ "name": "event",
1716
+ "type": {
1717
+ "text": "MouseEvent"
1718
+ }
1719
+ }
1720
+ ]
1721
+ },
1722
+ {
1723
+ "kind": "method",
1724
+ "name": "handleFocus",
1725
+ "privacy": "private"
1726
+ },
1727
+ {
1728
+ "kind": "method",
1729
+ "name": "handleInput",
1730
+ "privacy": "private"
1731
+ },
1732
+ {
1733
+ "kind": "method",
1734
+ "name": "handleInvalid",
1735
+ "privacy": "private",
1736
+ "parameters": [
1737
+ {
1738
+ "name": "event",
1739
+ "type": {
1740
+ "text": "Event"
1741
+ }
1742
+ }
1743
+ ]
1744
+ },
1745
+ {
1746
+ "kind": "method",
1747
+ "name": "handleKeyDown",
1748
+ "privacy": "private",
1749
+ "parameters": [
1750
+ {
1751
+ "name": "event",
1752
+ "type": {
1753
+ "text": "KeyboardEvent"
1754
+ }
1755
+ }
1756
+ ]
1757
+ },
1758
+ {
1759
+ "kind": "method",
1760
+ "name": "handlePasswordToggle",
1761
+ "privacy": "private"
1762
+ },
1763
+ {
1764
+ "kind": "method",
1765
+ "name": "handleDisabledChange"
1766
+ },
1767
+ {
1768
+ "kind": "method",
1769
+ "name": "handleStepChange"
1770
+ },
1771
+ {
1772
+ "kind": "method",
1773
+ "name": "handleValueChange"
1774
+ },
1775
+ {
1776
+ "kind": "method",
1777
+ "name": "focus",
1778
+ "parameters": [
1779
+ {
1780
+ "name": "options",
1781
+ "optional": true,
1782
+ "type": {
1783
+ "text": "FocusOptions"
1784
+ }
1785
+ }
1786
+ ],
1787
+ "description": "Sets focus on the input."
1788
+ },
1789
+ {
1790
+ "kind": "method",
1791
+ "name": "blur",
1792
+ "description": "Removes focus from the input."
1793
+ },
1794
+ {
1795
+ "kind": "method",
1796
+ "name": "select",
1797
+ "description": "Selects all the text in the input."
1798
+ },
1799
+ {
1800
+ "kind": "method",
1801
+ "name": "setSelectionRange",
1802
+ "parameters": [
1803
+ {
1804
+ "name": "selectionStart",
1805
+ "type": {
1806
+ "text": "number"
1807
+ }
1808
+ },
1809
+ {
1810
+ "name": "selectionEnd",
1811
+ "type": {
1812
+ "text": "number"
1813
+ }
1814
+ },
1815
+ {
1816
+ "name": "selectionDirection",
1817
+ "default": "'none'",
1818
+ "type": {
1819
+ "text": "'forward' | 'backward' | 'none'"
1820
+ }
1821
+ }
1822
+ ],
1823
+ "description": "Sets the start and end positions of the text selection (0-based)."
1824
+ },
1825
+ {
1826
+ "kind": "method",
1827
+ "name": "setRangeText",
1828
+ "parameters": [
1829
+ {
1830
+ "name": "replacement",
1831
+ "type": {
1832
+ "text": "string"
1833
+ }
1834
+ },
1835
+ {
1836
+ "name": "start",
1837
+ "optional": true,
1838
+ "type": {
1839
+ "text": "number"
1840
+ }
1841
+ },
1842
+ {
1843
+ "name": "end",
1844
+ "optional": true,
1845
+ "type": {
1846
+ "text": "number"
1847
+ }
1848
+ },
1849
+ {
1850
+ "name": "selectMode",
1851
+ "optional": true,
1852
+ "type": {
1853
+ "text": "'select' | 'start' | 'end' | 'preserve'"
1854
+ }
1855
+ }
1856
+ ],
1857
+ "description": "Replaces a range of text with a new string."
1858
+ },
1859
+ {
1860
+ "kind": "method",
1861
+ "name": "showPicker",
1862
+ "description": "Displays the browser picker for an input element (only works if the browser supports it for the input type)."
1863
+ },
1864
+ {
1865
+ "kind": "method",
1866
+ "name": "stepUp",
1867
+ "description": "Increments the value of a numeric input type by the value of the step attribute."
1868
+ },
1869
+ {
1870
+ "kind": "method",
1871
+ "name": "stepDown",
1872
+ "description": "Decrements the value of a numeric input type by the value of the step attribute."
1873
+ },
1874
+ {
1875
+ "kind": "method",
1876
+ "name": "checkValidity",
1877
+ "description": "Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid."
1878
+ },
1879
+ {
1880
+ "kind": "method",
1881
+ "name": "getForm",
1882
+ "return": {
1883
+ "type": {
1884
+ "text": "HTMLFormElement | null"
1885
+ }
1886
+ },
1887
+ "description": "Gets the associated form, if one exists."
1888
+ },
1889
+ {
1890
+ "kind": "method",
1891
+ "name": "reportValidity",
1892
+ "description": "Checks for validity and shows the browser's validation message if the control is invalid."
1893
+ },
1894
+ {
1895
+ "kind": "method",
1896
+ "name": "setCustomValidity",
1897
+ "parameters": [
1898
+ {
1899
+ "name": "message",
1900
+ "type": {
1901
+ "text": "string"
1902
+ }
1903
+ }
1904
+ ],
1905
+ "description": "Sets a custom validation message. Pass an empty string to restore validity."
1906
+ }
1907
+ ],
1908
+ "events": [
1909
+ {
1910
+ "description": "Emitted when the control loses focus.",
1911
+ "name": "syn-blur",
1912
+ "reactName": "onSynBlur",
1913
+ "eventName": "SynBlurEvent"
1914
+ },
1915
+ {
1916
+ "description": "Emitted when an alteration to the control's value is committed by the user.",
1917
+ "name": "syn-change",
1918
+ "reactName": "onSynChange",
1919
+ "eventName": "SynChangeEvent"
1920
+ },
1921
+ {
1922
+ "description": "Emitted when the clear button is activated.",
1923
+ "name": "syn-clear",
1924
+ "reactName": "onSynClear",
1925
+ "eventName": "SynClearEvent"
1926
+ },
1927
+ {
1928
+ "description": "Emitted when the control gains focus.",
1929
+ "name": "syn-focus",
1930
+ "reactName": "onSynFocus",
1931
+ "eventName": "SynFocusEvent"
1932
+ },
1933
+ {
1934
+ "description": "Emitted when the control receives input.",
1935
+ "name": "syn-input",
1936
+ "reactName": "onSynInput",
1937
+ "eventName": "SynInputEvent"
1938
+ },
1939
+ {
1940
+ "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
1941
+ "name": "syn-invalid",
1942
+ "reactName": "onSynInvalid",
1943
+ "eventName": "SynInvalidEvent"
1944
+ }
1945
+ ],
1946
+ "attributes": [
1947
+ {
1948
+ "name": "title",
1949
+ "type": {
1950
+ "text": "string"
1951
+ },
1952
+ "default": "''",
1953
+ "fieldName": "title"
1954
+ },
1955
+ {
1956
+ "name": "type",
1957
+ "type": {
1958
+ "text": "| 'date'\n | 'datetime-local'\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'"
1959
+ },
1960
+ "default": "'text'",
1961
+ "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
1962
+ "fieldName": "type"
1963
+ },
1964
+ {
1965
+ "name": "name",
1966
+ "type": {
1967
+ "text": "string"
1968
+ },
1969
+ "default": "''",
1970
+ "description": "The name of the input, submitted as a name/value pair with form data.",
1971
+ "fieldName": "name"
1972
+ },
1973
+ {
1974
+ "name": "value",
1975
+ "type": {
1976
+ "text": "string"
1977
+ },
1978
+ "default": "''",
1979
+ "description": "The current value of the input, submitted as a name/value pair with form data.",
1980
+ "fieldName": "value"
1981
+ },
1982
+ {
1983
+ "name": "size",
1984
+ "type": {
1985
+ "text": "'small' | 'medium' | 'large'"
1986
+ },
1987
+ "default": "'medium'",
1988
+ "description": "The input's size.",
1989
+ "fieldName": "size"
1990
+ },
1991
+ {
1992
+ "name": "label",
1993
+ "type": {
1994
+ "text": "string"
1995
+ },
1996
+ "default": "''",
1997
+ "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
1998
+ "fieldName": "label"
1999
+ },
2000
+ {
2001
+ "name": "help-text",
2002
+ "type": {
2003
+ "text": "string"
2004
+ },
2005
+ "default": "''",
2006
+ "description": "The input's help text. If you need to display HTML, use the `help-text` slot instead.",
2007
+ "fieldName": "helpText"
2008
+ },
2009
+ {
2010
+ "name": "clearable",
2011
+ "type": {
2012
+ "text": "boolean"
2013
+ },
2014
+ "default": "false",
2015
+ "description": "Adds a clear button when the input is not empty.",
2016
+ "fieldName": "clearable"
2017
+ },
2018
+ {
2019
+ "name": "disabled",
2020
+ "type": {
2021
+ "text": "boolean"
2022
+ },
2023
+ "default": "false",
2024
+ "description": "Disables the input.",
2025
+ "fieldName": "disabled"
2026
+ },
2027
+ {
2028
+ "name": "placeholder",
2029
+ "type": {
2030
+ "text": "string"
2031
+ },
2032
+ "default": "''",
2033
+ "description": "Placeholder text to show as a hint when the input is empty.",
2034
+ "fieldName": "placeholder"
2035
+ },
2036
+ {
2037
+ "name": "readonly",
2038
+ "type": {
2039
+ "text": "boolean"
2040
+ },
2041
+ "default": "false",
2042
+ "description": "Makes the input readonly.",
2043
+ "fieldName": "readonly"
2044
+ },
2045
+ {
2046
+ "name": "password-toggle",
2047
+ "type": {
2048
+ "text": "boolean"
2049
+ },
2050
+ "default": "false",
2051
+ "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
2052
+ "fieldName": "passwordToggle"
2053
+ },
2054
+ {
2055
+ "name": "password-visible",
2056
+ "type": {
2057
+ "text": "boolean"
2058
+ },
2059
+ "default": "false",
2060
+ "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
2061
+ "fieldName": "passwordVisible"
2062
+ },
2063
+ {
2064
+ "name": "no-spin-buttons",
2065
+ "type": {
2066
+ "text": "boolean"
2067
+ },
2068
+ "default": "false",
2069
+ "description": "Hides the browser's built-in increment/decrement spin buttons for number inputs.",
2070
+ "fieldName": "noSpinButtons"
2071
+ },
2072
+ {
2073
+ "name": "form",
2074
+ "type": {
2075
+ "text": "string"
2076
+ },
2077
+ "default": "''",
2078
+ "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.",
2079
+ "fieldName": "form"
2080
+ },
2081
+ {
2082
+ "name": "required",
2083
+ "type": {
2084
+ "text": "boolean"
2085
+ },
2086
+ "default": "false",
2087
+ "description": "Makes the input a required field.",
2088
+ "fieldName": "required"
2089
+ },
2090
+ {
2091
+ "name": "pattern",
2092
+ "type": {
2093
+ "text": "string"
2094
+ },
2095
+ "description": "A regular expression pattern to validate input against.",
2096
+ "fieldName": "pattern"
2097
+ },
2098
+ {
2099
+ "name": "minlength",
2100
+ "type": {
2101
+ "text": "number"
2102
+ },
2103
+ "description": "The minimum length of input that will be considered valid.",
2104
+ "fieldName": "minlength"
2105
+ },
2106
+ {
2107
+ "name": "maxlength",
2108
+ "type": {
2109
+ "text": "number"
2110
+ },
2111
+ "description": "The maximum length of input that will be considered valid.",
2112
+ "fieldName": "maxlength"
2113
+ },
2114
+ {
2115
+ "name": "min",
2116
+ "type": {
2117
+ "text": "number | string"
2118
+ },
2119
+ "description": "The input's minimum value. Only applies to date and number input types.",
2120
+ "fieldName": "min"
2121
+ },
2122
+ {
2123
+ "name": "max",
2124
+ "type": {
2125
+ "text": "number | string"
2126
+ },
2127
+ "description": "The input's maximum value. Only applies to date and number input types.",
2128
+ "fieldName": "max"
2129
+ },
2130
+ {
2131
+ "name": "step",
2132
+ "type": {
2133
+ "text": "number | 'any'"
2134
+ },
2135
+ "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.",
2136
+ "fieldName": "step"
2137
+ },
2138
+ {
2139
+ "name": "autocapitalize",
2140
+ "type": {
2141
+ "text": "'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'"
2142
+ },
2143
+ "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
2144
+ "fieldName": "autocapitalize"
2145
+ },
2146
+ {
2147
+ "name": "autocorrect",
2148
+ "type": {
2149
+ "text": "'off' | 'on'"
2150
+ },
2151
+ "description": "Indicates whether the browser's autocorrect feature is on or off.",
2152
+ "fieldName": "autocorrect"
2153
+ },
2154
+ {
2155
+ "name": "autocomplete",
2156
+ "type": {
2157
+ "text": "string"
2158
+ },
2159
+ "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.",
2160
+ "fieldName": "autocomplete"
2161
+ },
2162
+ {
2163
+ "name": "autofocus",
2164
+ "type": {
2165
+ "text": "boolean"
2166
+ },
2167
+ "description": "Indicates that the input should receive focus on page load.",
2168
+ "fieldName": "autofocus"
2169
+ },
2170
+ {
2171
+ "name": "enterkeyhint",
2172
+ "type": {
2173
+ "text": "'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'"
2174
+ },
2175
+ "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
2176
+ "fieldName": "enterkeyhint"
2177
+ },
2178
+ {
2179
+ "name": "spellcheck",
2180
+ "type": {
2181
+ "text": "boolean"
2182
+ },
2183
+ "default": "true",
2184
+ "description": "Enables spell checking on the input.",
2185
+ "fieldName": "spellcheck"
2186
+ },
2187
+ {
2188
+ "name": "inputmode",
2189
+ "type": {
2190
+ "text": "'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'"
2191
+ },
2192
+ "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.",
2193
+ "fieldName": "inputmode"
2194
+ }
2195
+ ],
2196
+ "superclass": {
2197
+ "name": "SynergyElement",
2198
+ "module": "/src/internal/synergy-element.js"
2199
+ },
2200
+ "summary": "Inputs collect data from the user.",
2201
+ "tagNameWithoutPrefix": "input",
2202
+ "tagName": "syn-input",
2203
+ "customElement": true,
2204
+ "jsDoc": "/**\n * @summary Inputs collect data from the user.\n * @documentation https://synergy.style/components/input\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the input.\n * @slot suffix - Used to append a presentational icon or similar element to the input.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot show-password-icon - An icon to use in lieu of the default show password icon.\n * @slot hide-password-icon - An icon to use in lieu of the default hide password icon.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event syn-clear - Emitted when the clear button is activated.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart input - The internal `<input>` control.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart clear-button - The clear button.\n * @csspart password-toggle-button - The password toggle button.\n * @csspart suffix - The container that wraps the suffix.\n */",
2205
+ "documentation": "https://synergy.style/components/input",
2206
+ "status": "stable",
2207
+ "since": "2.0",
2208
+ "dependencies": [
2209
+ "syn-icon"
2210
+ ]
2211
+ }
2212
+ ],
2213
+ "exports": [
2214
+ {
2215
+ "kind": "js",
2216
+ "name": "default",
2217
+ "declaration": {
2218
+ "name": "SynInput",
2219
+ "module": "components/input/input.js"
2220
+ }
2221
+ }
2222
+ ]
2223
+ },
2224
+ {
2225
+ "kind": "javascript-module",
2226
+ "path": "components/spinner/spinner.js",
2227
+ "declarations": [
2228
+ {
2229
+ "kind": "class",
2230
+ "description": "",
2231
+ "name": "SynSpinner",
2232
+ "cssProperties": [
2233
+ {
2234
+ "description": "The width of the track.",
2235
+ "name": "--track-width"
2236
+ },
2237
+ {
2238
+ "description": "The color of the track.",
2239
+ "name": "--track-color"
2240
+ },
2241
+ {
2242
+ "description": "The color of the spinner's indicator.",
2243
+ "name": "--indicator-color"
2244
+ },
2245
+ {
2246
+ "description": "The time it takes for the spinner to complete one animation cycle.",
2247
+ "name": "--speed"
2248
+ }
2249
+ ],
2250
+ "cssParts": [
2251
+ {
2252
+ "description": "The component's base wrapper.",
2253
+ "name": "base"
2254
+ }
2255
+ ],
2256
+ "members": [
2257
+ {
2258
+ "kind": "field",
2259
+ "name": "localize",
2260
+ "privacy": "private",
2261
+ "readonly": true,
2262
+ "default": "new LocalizeController(this)"
2263
+ }
2264
+ ],
2265
+ "superclass": {
2266
+ "name": "SynergyElement",
2267
+ "module": "/src/internal/synergy-element.js"
2268
+ },
2269
+ "summary": "Spinners are used to show the progress of an indeterminate operation.",
2270
+ "tagNameWithoutPrefix": "spinner",
2271
+ "tagName": "syn-spinner",
2272
+ "customElement": true,
2273
+ "jsDoc": "/**\n * @summary Spinners are used to show the progress of an indeterminate operation.\n * @documentation https://synergy.style/components/spinner\n * @status stable\n * @since 2.0\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --track-width - The width of the track.\n * @cssproperty --track-color - The color of the track.\n * @cssproperty --indicator-color - The color of the spinner's indicator.\n * @cssproperty --speed - The time it takes for the spinner to complete one animation cycle.\n */",
2274
+ "documentation": "https://synergy.style/components/spinner",
2275
+ "status": "stable",
2276
+ "since": "2.0"
2277
+ }
2278
+ ],
2279
+ "exports": [
2280
+ {
2281
+ "kind": "js",
2282
+ "name": "default",
2283
+ "declaration": {
2284
+ "name": "SynSpinner",
2285
+ "module": "components/spinner/spinner.js"
2286
+ }
2287
+ }
2288
+ ]
2289
+ },
2290
+ {
2291
+ "kind": "javascript-module",
2292
+ "path": "components/textarea/textarea.js",
2293
+ "declarations": [
2294
+ {
2295
+ "kind": "class",
2296
+ "description": "",
2297
+ "name": "SynTextarea",
824
2298
  "cssParts": [
825
2299
  {
826
2300
  "description": "The form control that wraps the label, input, and help text.",
@@ -843,66 +2317,21 @@
843
2317
  "name": "base"
844
2318
  },
845
2319
  {
846
- "description": "The internal `<input>` control.",
847
- "name": "input"
848
- },
849
- {
850
- "description": "The container that wraps the prefix.",
851
- "name": "prefix"
852
- },
853
- {
854
- "description": "The clear button.",
855
- "name": "clear-button"
856
- },
857
- {
858
- "description": "The password toggle button.",
859
- "name": "password-toggle-button"
860
- },
861
- {
862
- "description": "The container that wraps the suffix.",
863
- "name": "suffix"
2320
+ "description": "The internal `<textarea>` control.",
2321
+ "name": "textarea"
864
2322
  }
865
2323
  ],
866
2324
  "slots": [
867
2325
  {
868
- "description": "The input's label. Alternatively, you can use the `label` attribute.",
2326
+ "description": "The textarea's label. Alternatively, you can use the `label` attribute.",
869
2327
  "name": "label"
870
2328
  },
871
- {
872
- "description": "Used to prepend a presentational icon or similar element to the input.",
873
- "name": "prefix"
874
- },
875
- {
876
- "description": "Used to append a presentational icon or similar element to the input.",
877
- "name": "suffix"
878
- },
879
- {
880
- "description": "An icon to use in lieu of the default clear icon.",
881
- "name": "clear-icon"
882
- },
883
- {
884
- "description": "An icon to use in lieu of the default show password icon.",
885
- "name": "show-password-icon"
886
- },
887
- {
888
- "description": "An icon to use in lieu of the default hide password icon.",
889
- "name": "hide-password-icon"
890
- },
891
2329
  {
892
2330
  "description": "Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.",
893
2331
  "name": "help-text"
894
2332
  }
895
2333
  ],
896
2334
  "members": [
897
- {
898
- "kind": "field",
899
- "name": "dependencies",
900
- "type": {
901
- "text": "object"
902
- },
903
- "static": true,
904
- "default": "{ 'syn-icon': SynIcon }"
905
- },
906
2335
  {
907
2336
  "kind": "field",
908
2337
  "name": "formControlController",
@@ -919,16 +2348,17 @@
919
2348
  },
920
2349
  {
921
2350
  "kind": "field",
922
- "name": "localize",
923
- "privacy": "private",
924
- "readonly": true,
925
- "default": "new LocalizeController(this)"
2351
+ "name": "resizeObserver",
2352
+ "type": {
2353
+ "text": "ResizeObserver"
2354
+ },
2355
+ "privacy": "private"
926
2356
  },
927
2357
  {
928
2358
  "kind": "field",
929
2359
  "name": "input",
930
2360
  "type": {
931
- "text": "HTMLInputElement"
2361
+ "text": "HTMLTextAreaElement"
932
2362
  }
933
2363
  },
934
2364
  {
@@ -949,27 +2379,6 @@
949
2379
  "default": "''",
950
2380
  "attribute": "title"
951
2381
  },
952
- {
953
- "kind": "field",
954
- "name": "__numberInput",
955
- "privacy": "private"
956
- },
957
- {
958
- "kind": "field",
959
- "name": "__dateInput",
960
- "privacy": "private"
961
- },
962
- {
963
- "kind": "field",
964
- "name": "type",
965
- "type": {
966
- "text": "| 'date'\n | 'datetime-local'\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'"
967
- },
968
- "default": "'text'",
969
- "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
970
- "attribute": "type",
971
- "reflects": true
972
- },
973
2382
  {
974
2383
  "kind": "field",
975
2384
  "name": "name",
@@ -977,7 +2386,7 @@
977
2386
  "text": "string"
978
2387
  },
979
2388
  "default": "''",
980
- "description": "The name of the input, submitted as a name/value pair with form data.",
2389
+ "description": "The name of the textarea, submitted as a name/value pair with form data.",
981
2390
  "attribute": "name"
982
2391
  },
983
2392
  {
@@ -987,18 +2396,9 @@
987
2396
  "text": "string"
988
2397
  },
989
2398
  "default": "''",
990
- "description": "The current value of the input, submitted as a name/value pair with form data.",
2399
+ "description": "The current value of the textarea, submitted as a name/value pair with form data.",
991
2400
  "attribute": "value"
992
2401
  },
993
- {
994
- "kind": "field",
995
- "name": "defaultValue",
996
- "type": {
997
- "text": "string"
998
- },
999
- "default": "''",
1000
- "description": "The default value of the form control. Primarily used for resetting the form control."
1001
- },
1002
2402
  {
1003
2403
  "kind": "field",
1004
2404
  "name": "size",
@@ -1006,7 +2406,7 @@
1006
2406
  "text": "'small' | 'medium' | 'large'"
1007
2407
  },
1008
2408
  "default": "'medium'",
1009
- "description": "The input's size.",
2409
+ "description": "The textarea's size.",
1010
2410
  "attribute": "size",
1011
2411
  "reflects": true
1012
2412
  },
@@ -1017,7 +2417,7 @@
1017
2417
  "text": "string"
1018
2418
  },
1019
2419
  "default": "''",
1020
- "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
2420
+ "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
1021
2421
  "attribute": "label"
1022
2422
  },
1023
2423
  {
@@ -1027,30 +2427,9 @@
1027
2427
  "text": "string"
1028
2428
  },
1029
2429
  "default": "''",
1030
- "description": "The input's help text. If you need to display HTML, use the `help-text` slot instead.",
2430
+ "description": "The textarea's help text. If you need to display HTML, use the `help-text` slot instead.",
1031
2431
  "attribute": "help-text"
1032
2432
  },
1033
- {
1034
- "kind": "field",
1035
- "name": "clearable",
1036
- "type": {
1037
- "text": "boolean"
1038
- },
1039
- "default": "false",
1040
- "description": "Adds a clear button when the input is not empty.",
1041
- "attribute": "clearable"
1042
- },
1043
- {
1044
- "kind": "field",
1045
- "name": "disabled",
1046
- "type": {
1047
- "text": "boolean"
1048
- },
1049
- "default": "false",
1050
- "description": "Disables the input.",
1051
- "attribute": "disabled",
1052
- "reflects": true
1053
- },
1054
2433
  {
1055
2434
  "kind": "field",
1056
2435
  "name": "placeholder",
@@ -1063,44 +2442,45 @@
1063
2442
  },
1064
2443
  {
1065
2444
  "kind": "field",
1066
- "name": "readonly",
2445
+ "name": "rows",
1067
2446
  "type": {
1068
- "text": "boolean"
2447
+ "text": "number"
1069
2448
  },
1070
- "default": "false",
1071
- "description": "Makes the input readonly.",
1072
- "attribute": "readonly",
1073
- "reflects": true
2449
+ "default": "4",
2450
+ "description": "The number of rows to display by default.",
2451
+ "attribute": "rows"
1074
2452
  },
1075
2453
  {
1076
2454
  "kind": "field",
1077
- "name": "passwordToggle",
2455
+ "name": "resize",
1078
2456
  "type": {
1079
- "text": "boolean"
2457
+ "text": "'none' | 'vertical' | 'auto'"
1080
2458
  },
1081
- "default": "false",
1082
- "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
1083
- "attribute": "password-toggle"
2459
+ "default": "'vertical'",
2460
+ "description": "Controls how the textarea can be resized.",
2461
+ "attribute": "resize"
1084
2462
  },
1085
2463
  {
1086
2464
  "kind": "field",
1087
- "name": "passwordVisible",
2465
+ "name": "disabled",
1088
2466
  "type": {
1089
2467
  "text": "boolean"
1090
2468
  },
1091
2469
  "default": "false",
1092
- "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
1093
- "attribute": "password-visible"
2470
+ "description": "Disables the textarea.",
2471
+ "attribute": "disabled",
2472
+ "reflects": true
1094
2473
  },
1095
2474
  {
1096
2475
  "kind": "field",
1097
- "name": "noSpinButtons",
2476
+ "name": "readonly",
1098
2477
  "type": {
1099
2478
  "text": "boolean"
1100
2479
  },
1101
2480
  "default": "false",
1102
- "description": "Hides the browser's built-in increment/decrement spin buttons for number inputs.",
1103
- "attribute": "no-spin-buttons"
2481
+ "description": "Makes the textarea readonly.",
2482
+ "attribute": "readonly",
2483
+ "reflects": true
1104
2484
  },
1105
2485
  {
1106
2486
  "kind": "field",
@@ -1120,19 +2500,10 @@
1120
2500
  "text": "boolean"
1121
2501
  },
1122
2502
  "default": "false",
1123
- "description": "Makes the input a required field.",
2503
+ "description": "Makes the textarea a required field.",
1124
2504
  "attribute": "required",
1125
2505
  "reflects": true
1126
2506
  },
1127
- {
1128
- "kind": "field",
1129
- "name": "pattern",
1130
- "type": {
1131
- "text": "string"
1132
- },
1133
- "description": "A regular expression pattern to validate input against.",
1134
- "attribute": "pattern"
1135
- },
1136
2507
  {
1137
2508
  "kind": "field",
1138
2509
  "name": "minlength",
@@ -1140,43 +2511,16 @@
1140
2511
  "text": "number"
1141
2512
  },
1142
2513
  "description": "The minimum length of input that will be considered valid.",
1143
- "attribute": "minlength"
1144
- },
1145
- {
1146
- "kind": "field",
1147
- "name": "maxlength",
1148
- "type": {
1149
- "text": "number"
1150
- },
1151
- "description": "The maximum length of input that will be considered valid.",
1152
- "attribute": "maxlength"
1153
- },
1154
- {
1155
- "kind": "field",
1156
- "name": "min",
1157
- "type": {
1158
- "text": "number | string"
1159
- },
1160
- "description": "The input's minimum value. Only applies to date and number input types.",
1161
- "attribute": "min"
1162
- },
1163
- {
1164
- "kind": "field",
1165
- "name": "max",
1166
- "type": {
1167
- "text": "number | string"
1168
- },
1169
- "description": "The input's maximum value. Only applies to date and number input types.",
1170
- "attribute": "max"
2514
+ "attribute": "minlength"
1171
2515
  },
1172
2516
  {
1173
2517
  "kind": "field",
1174
- "name": "step",
2518
+ "name": "maxlength",
1175
2519
  "type": {
1176
- "text": "number | 'any'"
2520
+ "text": "number"
1177
2521
  },
1178
- "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.",
1179
- "attribute": "step"
2522
+ "description": "The maximum length of input that will be considered valid.",
2523
+ "attribute": "maxlength"
1180
2524
  },
1181
2525
  {
1182
2526
  "kind": "field",
@@ -1191,7 +2535,7 @@
1191
2535
  "kind": "field",
1192
2536
  "name": "autocorrect",
1193
2537
  "type": {
1194
- "text": "'off' | 'on'"
2538
+ "text": "string"
1195
2539
  },
1196
2540
  "description": "Indicates whether the browser's autocorrect feature is on or off.",
1197
2541
  "attribute": "autocorrect"
@@ -1230,7 +2574,7 @@
1230
2574
  "text": "boolean"
1231
2575
  },
1232
2576
  "default": "true",
1233
- "description": "Enables spell checking on the input.",
2577
+ "description": "Enables spell checking on the textarea.",
1234
2578
  "attribute": "spellcheck"
1235
2579
  },
1236
2580
  {
@@ -1244,13 +2588,12 @@
1244
2588
  },
1245
2589
  {
1246
2590
  "kind": "field",
1247
- "name": "valueAsDate",
1248
- "description": "Gets or sets the current value as a `Date` object. Returns `null` if the value can't be converted. This will use the native `<input type=\"{{type}}\">` implementation and may result in an error."
1249
- },
1250
- {
1251
- "kind": "field",
1252
- "name": "valueAsNumber",
1253
- "description": "Gets or sets the current value as a number. Returns `NaN` if the value can't be converted."
2591
+ "name": "defaultValue",
2592
+ "type": {
2593
+ "text": "string"
2594
+ },
2595
+ "default": "''",
2596
+ "description": "The default value of the form control. Primarily used for resetting the form control."
1254
2597
  },
1255
2598
  {
1256
2599
  "kind": "field",
@@ -1274,19 +2617,6 @@
1274
2617
  "name": "handleChange",
1275
2618
  "privacy": "private"
1276
2619
  },
1277
- {
1278
- "kind": "method",
1279
- "name": "handleClearClick",
1280
- "privacy": "private",
1281
- "parameters": [
1282
- {
1283
- "name": "event",
1284
- "type": {
1285
- "text": "MouseEvent"
1286
- }
1287
- }
1288
- ]
1289
- },
1290
2620
  {
1291
2621
  "kind": "method",
1292
2622
  "name": "handleFocus",
@@ -1312,20 +2642,7 @@
1312
2642
  },
1313
2643
  {
1314
2644
  "kind": "method",
1315
- "name": "handleKeyDown",
1316
- "privacy": "private",
1317
- "parameters": [
1318
- {
1319
- "name": "event",
1320
- "type": {
1321
- "text": "KeyboardEvent"
1322
- }
1323
- }
1324
- ]
1325
- },
1326
- {
1327
- "kind": "method",
1328
- "name": "handlePasswordToggle",
2645
+ "name": "setTextareaHeight",
1329
2646
  "privacy": "private"
1330
2647
  },
1331
2648
  {
@@ -1334,7 +2651,7 @@
1334
2651
  },
1335
2652
  {
1336
2653
  "kind": "method",
1337
- "name": "handleStepChange"
2654
+ "name": "handleRowsChange"
1338
2655
  },
1339
2656
  {
1340
2657
  "kind": "method",
@@ -1352,17 +2669,36 @@
1352
2669
  }
1353
2670
  }
1354
2671
  ],
1355
- "description": "Sets focus on the input."
2672
+ "description": "Sets focus on the textarea."
1356
2673
  },
1357
2674
  {
1358
2675
  "kind": "method",
1359
2676
  "name": "blur",
1360
- "description": "Removes focus from the input."
2677
+ "description": "Removes focus from the textarea."
1361
2678
  },
1362
2679
  {
1363
2680
  "kind": "method",
1364
2681
  "name": "select",
1365
- "description": "Selects all the text in the input."
2682
+ "description": "Selects all the text in the textarea."
2683
+ },
2684
+ {
2685
+ "kind": "method",
2686
+ "name": "scrollPosition",
2687
+ "return": {
2688
+ "type": {
2689
+ "text": "{ top: number; left: number } | undefined"
2690
+ }
2691
+ },
2692
+ "parameters": [
2693
+ {
2694
+ "name": "position",
2695
+ "optional": true,
2696
+ "type": {
2697
+ "text": "{ top?: number; left?: number }"
2698
+ }
2699
+ }
2700
+ ],
2701
+ "description": "Gets or sets the textarea's scroll position."
1366
2702
  },
1367
2703
  {
1368
2704
  "kind": "method",
@@ -1424,21 +2760,6 @@
1424
2760
  ],
1425
2761
  "description": "Replaces a range of text with a new string."
1426
2762
  },
1427
- {
1428
- "kind": "method",
1429
- "name": "showPicker",
1430
- "description": "Displays the browser picker for an input element (only works if the browser supports it for the input type)."
1431
- },
1432
- {
1433
- "kind": "method",
1434
- "name": "stepUp",
1435
- "description": "Increments the value of a numeric input type by the value of the step attribute."
1436
- },
1437
- {
1438
- "kind": "method",
1439
- "name": "stepDown",
1440
- "description": "Decrements the value of a numeric input type by the value of the step attribute."
1441
- },
1442
2763
  {
1443
2764
  "kind": "method",
1444
2765
  "name": "checkValidity",
@@ -1486,12 +2807,6 @@
1486
2807
  "reactName": "onSynChange",
1487
2808
  "eventName": "SynChangeEvent"
1488
2809
  },
1489
- {
1490
- "description": "Emitted when the clear button is activated.",
1491
- "name": "syn-clear",
1492
- "reactName": "onSynClear",
1493
- "eventName": "SynClearEvent"
1494
- },
1495
2810
  {
1496
2811
  "description": "Emitted when the control gains focus.",
1497
2812
  "name": "syn-focus",
@@ -1520,22 +2835,13 @@
1520
2835
  "default": "''",
1521
2836
  "fieldName": "title"
1522
2837
  },
1523
- {
1524
- "name": "type",
1525
- "type": {
1526
- "text": "| 'date'\n | 'datetime-local'\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'time'\n | 'url'"
1527
- },
1528
- "default": "'text'",
1529
- "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
1530
- "fieldName": "type"
1531
- },
1532
2838
  {
1533
2839
  "name": "name",
1534
2840
  "type": {
1535
2841
  "text": "string"
1536
2842
  },
1537
2843
  "default": "''",
1538
- "description": "The name of the input, submitted as a name/value pair with form data.",
2844
+ "description": "The name of the textarea, submitted as a name/value pair with form data.",
1539
2845
  "fieldName": "name"
1540
2846
  },
1541
2847
  {
@@ -1544,7 +2850,7 @@
1544
2850
  "text": "string"
1545
2851
  },
1546
2852
  "default": "''",
1547
- "description": "The current value of the input, submitted as a name/value pair with form data.",
2853
+ "description": "The current value of the textarea, submitted as a name/value pair with form data.",
1548
2854
  "fieldName": "value"
1549
2855
  },
1550
2856
  {
@@ -1553,7 +2859,7 @@
1553
2859
  "text": "'small' | 'medium' | 'large'"
1554
2860
  },
1555
2861
  "default": "'medium'",
1556
- "description": "The input's size.",
2862
+ "description": "The textarea's size.",
1557
2863
  "fieldName": "size"
1558
2864
  },
1559
2865
  {
@@ -1562,7 +2868,7 @@
1562
2868
  "text": "string"
1563
2869
  },
1564
2870
  "default": "''",
1565
- "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
2871
+ "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
1566
2872
  "fieldName": "label"
1567
2873
  },
1568
2874
  {
@@ -1571,27 +2877,9 @@
1571
2877
  "text": "string"
1572
2878
  },
1573
2879
  "default": "''",
1574
- "description": "The input's help text. If you need to display HTML, use the `help-text` slot instead.",
2880
+ "description": "The textarea's help text. If you need to display HTML, use the `help-text` slot instead.",
1575
2881
  "fieldName": "helpText"
1576
2882
  },
1577
- {
1578
- "name": "clearable",
1579
- "type": {
1580
- "text": "boolean"
1581
- },
1582
- "default": "false",
1583
- "description": "Adds a clear button when the input is not empty.",
1584
- "fieldName": "clearable"
1585
- },
1586
- {
1587
- "name": "disabled",
1588
- "type": {
1589
- "text": "boolean"
1590
- },
1591
- "default": "false",
1592
- "description": "Disables the input.",
1593
- "fieldName": "disabled"
1594
- },
1595
2883
  {
1596
2884
  "name": "placeholder",
1597
2885
  "type": {
@@ -1602,40 +2890,40 @@
1602
2890
  "fieldName": "placeholder"
1603
2891
  },
1604
2892
  {
1605
- "name": "readonly",
2893
+ "name": "rows",
1606
2894
  "type": {
1607
- "text": "boolean"
2895
+ "text": "number"
1608
2896
  },
1609
- "default": "false",
1610
- "description": "Makes the input readonly.",
1611
- "fieldName": "readonly"
2897
+ "default": "4",
2898
+ "description": "The number of rows to display by default.",
2899
+ "fieldName": "rows"
1612
2900
  },
1613
2901
  {
1614
- "name": "password-toggle",
2902
+ "name": "resize",
1615
2903
  "type": {
1616
- "text": "boolean"
2904
+ "text": "'none' | 'vertical' | 'auto'"
1617
2905
  },
1618
- "default": "false",
1619
- "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
1620
- "fieldName": "passwordToggle"
2906
+ "default": "'vertical'",
2907
+ "description": "Controls how the textarea can be resized.",
2908
+ "fieldName": "resize"
1621
2909
  },
1622
2910
  {
1623
- "name": "password-visible",
2911
+ "name": "disabled",
1624
2912
  "type": {
1625
2913
  "text": "boolean"
1626
2914
  },
1627
2915
  "default": "false",
1628
- "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
1629
- "fieldName": "passwordVisible"
2916
+ "description": "Disables the textarea.",
2917
+ "fieldName": "disabled"
1630
2918
  },
1631
2919
  {
1632
- "name": "no-spin-buttons",
2920
+ "name": "readonly",
1633
2921
  "type": {
1634
2922
  "text": "boolean"
1635
2923
  },
1636
2924
  "default": "false",
1637
- "description": "Hides the browser's built-in increment/decrement spin buttons for number inputs.",
1638
- "fieldName": "noSpinButtons"
2925
+ "description": "Makes the textarea readonly.",
2926
+ "fieldName": "readonly"
1639
2927
  },
1640
2928
  {
1641
2929
  "name": "form",
@@ -1652,17 +2940,9 @@
1652
2940
  "text": "boolean"
1653
2941
  },
1654
2942
  "default": "false",
1655
- "description": "Makes the input a required field.",
2943
+ "description": "Makes the textarea a required field.",
1656
2944
  "fieldName": "required"
1657
2945
  },
1658
- {
1659
- "name": "pattern",
1660
- "type": {
1661
- "text": "string"
1662
- },
1663
- "description": "A regular expression pattern to validate input against.",
1664
- "fieldName": "pattern"
1665
- },
1666
2946
  {
1667
2947
  "name": "minlength",
1668
2948
  "type": {
@@ -1679,30 +2959,6 @@
1679
2959
  "description": "The maximum length of input that will be considered valid.",
1680
2960
  "fieldName": "maxlength"
1681
2961
  },
1682
- {
1683
- "name": "min",
1684
- "type": {
1685
- "text": "number | string"
1686
- },
1687
- "description": "The input's minimum value. Only applies to date and number input types.",
1688
- "fieldName": "min"
1689
- },
1690
- {
1691
- "name": "max",
1692
- "type": {
1693
- "text": "number | string"
1694
- },
1695
- "description": "The input's maximum value. Only applies to date and number input types.",
1696
- "fieldName": "max"
1697
- },
1698
- {
1699
- "name": "step",
1700
- "type": {
1701
- "text": "number | 'any'"
1702
- },
1703
- "description": "Specifies the granularity that the value must adhere to, or the special value `any` which means no stepping is\nimplied, allowing any numeric value. Only applies to date and number input types.",
1704
- "fieldName": "step"
1705
- },
1706
2962
  {
1707
2963
  "name": "autocapitalize",
1708
2964
  "type": {
@@ -1714,7 +2970,7 @@
1714
2970
  {
1715
2971
  "name": "autocorrect",
1716
2972
  "type": {
1717
- "text": "'off' | 'on'"
2973
+ "text": "string"
1718
2974
  },
1719
2975
  "description": "Indicates whether the browser's autocorrect feature is on or off.",
1720
2976
  "fieldName": "autocorrect"
@@ -1749,7 +3005,7 @@
1749
3005
  "text": "boolean"
1750
3006
  },
1751
3007
  "default": "true",
1752
- "description": "Enables spell checking on the input.",
3008
+ "description": "Enables spell checking on the textarea.",
1753
3009
  "fieldName": "spellcheck"
1754
3010
  },
1755
3011
  {
@@ -1765,81 +3021,12 @@
1765
3021
  "name": "SynergyElement",
1766
3022
  "module": "/src/internal/synergy-element.js"
1767
3023
  },
1768
- "summary": "Inputs collect data from the user.",
1769
- "tagNameWithoutPrefix": "input",
1770
- "tagName": "syn-input",
1771
- "customElement": true,
1772
- "jsDoc": "/**\n * @summary Inputs collect data from the user.\n * @documentation https://synergy.style/components/input\n * @status stable\n * @since 2.0\n *\n * @dependency syn-icon\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the input.\n * @slot suffix - Used to append a presentational icon or similar element to the input.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot show-password-icon - An icon to use in lieu of the default show password icon.\n * @slot hide-password-icon - An icon to use in lieu of the default hide password icon.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event syn-clear - Emitted when the clear button is activated.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart input - The internal `<input>` control.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart clear-button - The clear button.\n * @csspart password-toggle-button - The password toggle button.\n * @csspart suffix - The container that wraps the suffix.\n */",
1773
- "documentation": "https://synergy.style/components/input",
1774
- "status": "stable",
1775
- "since": "2.0",
1776
- "dependencies": [
1777
- "syn-icon"
1778
- ]
1779
- }
1780
- ],
1781
- "exports": [
1782
- {
1783
- "kind": "js",
1784
- "name": "default",
1785
- "declaration": {
1786
- "name": "SynInput",
1787
- "module": "components/input/input.js"
1788
- }
1789
- }
1790
- ]
1791
- },
1792
- {
1793
- "kind": "javascript-module",
1794
- "path": "components/spinner/spinner.js",
1795
- "declarations": [
1796
- {
1797
- "kind": "class",
1798
- "description": "",
1799
- "name": "SynSpinner",
1800
- "cssProperties": [
1801
- {
1802
- "description": "The width of the track.",
1803
- "name": "--track-width"
1804
- },
1805
- {
1806
- "description": "The color of the track.",
1807
- "name": "--track-color"
1808
- },
1809
- {
1810
- "description": "The color of the spinner's indicator.",
1811
- "name": "--indicator-color"
1812
- },
1813
- {
1814
- "description": "The time it takes for the spinner to complete one animation cycle.",
1815
- "name": "--speed"
1816
- }
1817
- ],
1818
- "cssParts": [
1819
- {
1820
- "description": "The component's base wrapper.",
1821
- "name": "base"
1822
- }
1823
- ],
1824
- "members": [
1825
- {
1826
- "kind": "field",
1827
- "name": "localize",
1828
- "privacy": "private",
1829
- "readonly": true,
1830
- "default": "new LocalizeController(this)"
1831
- }
1832
- ],
1833
- "superclass": {
1834
- "name": "SynergyElement",
1835
- "module": "/src/internal/synergy-element.js"
1836
- },
1837
- "summary": "Spinners are used to show the progress of an indeterminate operation.",
1838
- "tagNameWithoutPrefix": "spinner",
1839
- "tagName": "syn-spinner",
3024
+ "summary": "Textareas collect data from the user and allow multiple lines of text.",
3025
+ "tagNameWithoutPrefix": "textarea",
3026
+ "tagName": "syn-textarea",
1840
3027
  "customElement": true,
1841
- "jsDoc": "/**\n * @summary Spinners are used to show the progress of an indeterminate operation.\n * @documentation https://synergy.style/components/spinner\n * @status stable\n * @since 2.0\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --track-width - The width of the track.\n * @cssproperty --track-color - The color of the track.\n * @cssproperty --indicator-color - The color of the spinner's indicator.\n * @cssproperty --speed - The time it takes for the spinner to complete one animation cycle.\n */",
1842
- "documentation": "https://synergy.style/components/spinner",
3028
+ "jsDoc": "/**\n * @summary Textareas collect data from the user and allow multiple lines of text.\n * @documentation https://synergy.style/components/textarea\n * @status stable\n * @since 2.0\n *\n * @slot label - The textarea's label. Alternatively, you can use the `label` attribute.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event syn-blur - Emitted when the control loses focus.\n * @event syn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event syn-focus - Emitted when the control gains focus.\n * @event syn-input - Emitted when the control receives input.\n * @event syn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart textarea - The internal `<textarea>` control.\n */",
3029
+ "documentation": "https://synergy.style/components/textarea",
1843
3030
  "status": "stable",
1844
3031
  "since": "2.0"
1845
3032
  }
@@ -1849,8 +3036,8 @@
1849
3036
  "kind": "js",
1850
3037
  "name": "default",
1851
3038
  "declaration": {
1852
- "name": "SynSpinner",
1853
- "module": "components/spinner/spinner.js"
3039
+ "name": "SynTextarea",
3040
+ "module": "components/textarea/textarea.js"
1854
3041
  }
1855
3042
  }
1856
3043
  ]
@@ -1859,7 +3046,7 @@
1859
3046
  "package": {
1860
3047
  "name": "@synergy-design-system/components",
1861
3048
  "description": "",
1862
- "version": "1.0.0-main.11",
3049
+ "version": "1.0.0-main.13",
1863
3050
  "author": {
1864
3051
  "name": "SICK Global UX Foundation",
1865
3052
  "url": "https://www.sick.com"