@webstudio-is/sdk-components-react 0.88.0 → 0.89.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 (158) hide show
  1. package/lib/__generated__/blockquote.props.js +117 -21
  2. package/lib/__generated__/body.props.js +111 -20
  3. package/lib/__generated__/bold.props.js +111 -20
  4. package/lib/__generated__/box.props.js +112 -20
  5. package/lib/__generated__/button.props.js +161 -29
  6. package/lib/__generated__/checkbox.props.js +264 -47
  7. package/lib/__generated__/code-text.props.js +111 -20
  8. package/lib/__generated__/form.props.js +159 -28
  9. package/lib/__generated__/heading.props.js +112 -20
  10. package/lib/__generated__/image.props.js +149 -29
  11. package/lib/__generated__/input.props.js +266 -48
  12. package/lib/__generated__/italic.props.js +111 -20
  13. package/lib/__generated__/label.props.js +123 -22
  14. package/lib/__generated__/link.props.js +145 -27
  15. package/lib/__generated__/list-item.props.js +111 -20
  16. package/lib/__generated__/list.props.js +126 -23
  17. package/lib/__generated__/paragraph.props.js +111 -20
  18. package/lib/__generated__/radio-button.props.js +264 -47
  19. package/lib/__generated__/rich-text-link.props.js +145 -27
  20. package/lib/__generated__/separator.props.js +111 -20
  21. package/lib/__generated__/span.props.js +111 -20
  22. package/lib/__generated__/subscript.props.js +111 -20
  23. package/lib/__generated__/superscript.props.js +111 -20
  24. package/lib/__generated__/text.props.js +112 -20
  25. package/lib/__generated__/textarea.props.js +177 -31
  26. package/lib/__generated__/vimeo-play-button.props.js +161 -29
  27. package/lib/__generated__/vimeo-preview-image.props.js +149 -29
  28. package/lib/__generated__/vimeo-spinner.props.js +111 -20
  29. package/lib/__generated__/vimeo.props.js +112 -21
  30. package/lib/blockquote.ws.js +1 -0
  31. package/lib/box.ws.js +1 -0
  32. package/lib/button.ws.js +1 -0
  33. package/lib/checkbox.ws.js +1 -0
  34. package/lib/cjs/__generated__/blockquote.props.js +117 -21
  35. package/lib/cjs/__generated__/body.props.js +111 -20
  36. package/lib/cjs/__generated__/bold.props.js +111 -20
  37. package/lib/cjs/__generated__/box.props.js +112 -20
  38. package/lib/cjs/__generated__/button.props.js +161 -29
  39. package/lib/cjs/__generated__/checkbox.props.js +264 -47
  40. package/lib/cjs/__generated__/code-text.props.js +111 -20
  41. package/lib/cjs/__generated__/form.props.js +159 -28
  42. package/lib/cjs/__generated__/heading.props.js +112 -20
  43. package/lib/cjs/__generated__/image.props.js +149 -29
  44. package/lib/cjs/__generated__/input.props.js +266 -48
  45. package/lib/cjs/__generated__/italic.props.js +111 -20
  46. package/lib/cjs/__generated__/label.props.js +123 -22
  47. package/lib/cjs/__generated__/link.props.js +145 -27
  48. package/lib/cjs/__generated__/list-item.props.js +111 -20
  49. package/lib/cjs/__generated__/list.props.js +126 -23
  50. package/lib/cjs/__generated__/paragraph.props.js +111 -20
  51. package/lib/cjs/__generated__/radio-button.props.js +264 -47
  52. package/lib/cjs/__generated__/rich-text-link.props.js +145 -27
  53. package/lib/cjs/__generated__/separator.props.js +111 -20
  54. package/lib/cjs/__generated__/span.props.js +111 -20
  55. package/lib/cjs/__generated__/subscript.props.js +111 -20
  56. package/lib/cjs/__generated__/superscript.props.js +111 -20
  57. package/lib/cjs/__generated__/text.props.js +112 -20
  58. package/lib/cjs/__generated__/textarea.props.js +177 -31
  59. package/lib/cjs/__generated__/vimeo-play-button.props.js +161 -29
  60. package/lib/cjs/__generated__/vimeo-preview-image.props.js +149 -29
  61. package/lib/cjs/__generated__/vimeo-spinner.props.js +111 -20
  62. package/lib/cjs/__generated__/vimeo.props.js +112 -21
  63. package/lib/cjs/blockquote.ws.js +1 -0
  64. package/lib/cjs/box.ws.js +1 -0
  65. package/lib/cjs/button.ws.js +1 -0
  66. package/lib/cjs/checkbox.ws.js +1 -0
  67. package/lib/cjs/code-text.ws.js +2 -0
  68. package/lib/cjs/form.ws.js +1 -0
  69. package/lib/cjs/heading.ws.js +2 -0
  70. package/lib/cjs/html-embed.ws.js +1 -0
  71. package/lib/cjs/image.ws.js +1 -0
  72. package/lib/cjs/input.ws.js +1 -0
  73. package/lib/cjs/label.ws.js +1 -1
  74. package/lib/cjs/link.ws.js +2 -0
  75. package/lib/cjs/list-item.ws.js +1 -0
  76. package/lib/cjs/list.ws.js +1 -0
  77. package/lib/cjs/paragraph.ws.js +2 -0
  78. package/lib/cjs/radio-button.ws.js +1 -0
  79. package/lib/cjs/separator.ws.js +1 -0
  80. package/lib/cjs/text.ws.js +1 -0
  81. package/lib/cjs/textarea.ws.js +1 -0
  82. package/lib/cjs/vimeo.ws.js +1 -0
  83. package/lib/code-text.ws.js +2 -0
  84. package/lib/form.ws.js +1 -0
  85. package/lib/heading.ws.js +2 -0
  86. package/lib/html-embed.ws.js +1 -0
  87. package/lib/image.ws.js +1 -0
  88. package/lib/input.ws.js +1 -0
  89. package/lib/label.ws.js +1 -1
  90. package/lib/link.ws.js +2 -0
  91. package/lib/list-item.ws.js +1 -0
  92. package/lib/list.ws.js +1 -0
  93. package/lib/paragraph.ws.js +2 -0
  94. package/lib/radio-button.ws.js +1 -0
  95. package/lib/separator.ws.js +1 -0
  96. package/lib/text.ws.js +1 -0
  97. package/lib/textarea.ws.js +1 -0
  98. package/lib/types/box.d.ts +1 -0
  99. package/lib/types/heading.d.ts +1 -0
  100. package/lib/types/list.d.ts +1 -0
  101. package/lib/types/text.d.ts +1 -0
  102. package/lib/types/vimeo.d.ts +1 -1
  103. package/lib/vimeo.ws.js +1 -0
  104. package/package.json +6 -6
  105. package/src/__generated__/blockquote.props.ts +131 -20
  106. package/src/__generated__/body.props.ts +124 -19
  107. package/src/__generated__/bold.props.ts +124 -19
  108. package/src/__generated__/box.props.ts +126 -19
  109. package/src/__generated__/button.props.ts +180 -27
  110. package/src/__generated__/checkbox.props.ts +292 -44
  111. package/src/__generated__/code-text.props.ts +124 -19
  112. package/src/__generated__/form.props.ts +179 -27
  113. package/src/__generated__/heading.props.ts +126 -19
  114. package/src/__generated__/image.props.ts +160 -24
  115. package/src/__generated__/input.props.ts +294 -44
  116. package/src/__generated__/italic.props.ts +124 -19
  117. package/src/__generated__/label.props.ts +137 -21
  118. package/src/__generated__/link.props.ts +159 -24
  119. package/src/__generated__/list-item.props.ts +124 -19
  120. package/src/__generated__/list.props.ts +140 -21
  121. package/src/__generated__/paragraph.props.ts +124 -19
  122. package/src/__generated__/radio-button.props.ts +292 -44
  123. package/src/__generated__/rich-text-link.props.ts +159 -24
  124. package/src/__generated__/separator.props.ts +124 -19
  125. package/src/__generated__/span.props.ts +124 -19
  126. package/src/__generated__/subscript.props.ts +124 -19
  127. package/src/__generated__/superscript.props.ts +124 -19
  128. package/src/__generated__/text.props.ts +126 -19
  129. package/src/__generated__/textarea.props.ts +195 -30
  130. package/src/__generated__/vimeo-play-button.props.ts +179 -27
  131. package/src/__generated__/vimeo-preview-image.props.ts +160 -24
  132. package/src/__generated__/vimeo-spinner.props.ts +124 -19
  133. package/src/__generated__/vimeo.props.ts +125 -20
  134. package/src/blockquote.ws.tsx +2 -0
  135. package/src/box.tsx +1 -0
  136. package/src/box.ws.ts +2 -0
  137. package/src/button.ws.tsx +2 -0
  138. package/src/checkbox.ws.tsx +2 -0
  139. package/src/code-text.ws.tsx +3 -0
  140. package/src/form.ws.tsx +1 -0
  141. package/src/heading.tsx +1 -0
  142. package/src/heading.ws.tsx +3 -0
  143. package/src/html-embed.ws.ts +1 -0
  144. package/src/image.ws.tsx +2 -0
  145. package/src/input.ws.tsx +2 -0
  146. package/src/label.ws.tsx +1 -1
  147. package/src/link.ws.tsx +3 -0
  148. package/src/list-item.ws.tsx +1 -0
  149. package/src/list.tsx +1 -0
  150. package/src/list.ws.tsx +1 -0
  151. package/src/paragraph.ws.tsx +2 -0
  152. package/src/radio-button.ws.tsx +2 -0
  153. package/src/separator.ws.tsx +2 -0
  154. package/src/text.tsx +1 -0
  155. package/src/text.ws.tsx +2 -0
  156. package/src/textarea.ws.tsx +2 -0
  157. package/src/vimeo.tsx +1 -1
  158. package/src/vimeo.ws.ts +2 -0
@@ -2,7 +2,12 @@ import type { PropMeta } from "@webstudio-is/generate-arg-types";
2
2
 
3
3
  export const props: Record<string, PropMeta> = {
4
4
  about: { required: false, control: "text", type: "string" },
5
- accessKey: { required: false, control: "text", type: "string" },
5
+ accessKey: {
6
+ required: false,
7
+ control: "text",
8
+ type: "string",
9
+ description: "Keyboard shortcut to activate or add focus to the element.",
10
+ },
6
11
  "aria-activedescendant": {
7
12
  description:
8
13
  "Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.",
@@ -183,7 +188,7 @@ export const props: Record<string, PropMeta> = {
183
188
  },
184
189
  "aria-label": {
185
190
  description:
186
- "Defines a string value that labels the current element.\n@see aria-labelledby.",
191
+ "Provides the accessible name that describes an interactive element if no other accessible name exists, for example in a button that contains an image with no text.",
187
192
  required: false,
188
193
  control: "text",
189
194
  type: "string",
@@ -382,20 +387,73 @@ export const props: Record<string, PropMeta> = {
382
387
  control: "text",
383
388
  type: "string",
384
389
  },
385
- autoCapitalize: { required: false, control: "text", type: "string" },
390
+ autoCapitalize: {
391
+ required: false,
392
+ control: "text",
393
+ type: "string",
394
+ description:
395
+ "Sets whether input is automatically capitalized when entered by user.",
396
+ },
386
397
  autoCorrect: { required: false, control: "text", type: "string" },
387
- autoFocus: { required: false, control: "boolean", type: "boolean" },
398
+ autoFocus: {
399
+ required: false,
400
+ control: "boolean",
401
+ type: "boolean",
402
+ description:
403
+ "Indicates that an element should be focused on page load, or when its parent dialog is displayed.",
404
+ },
388
405
  autoSave: { required: false, control: "text", type: "string" },
389
406
  className: { required: false, control: "text", type: "string" },
390
- color: { required: false, control: "color", type: "string" },
391
- content: { required: false, control: "text", type: "string" },
392
- contextMenu: { required: false, control: "text", type: "string" },
407
+ color: {
408
+ required: false,
409
+ control: "color",
410
+ type: "string",
411
+ description:
412
+ "This attribute sets the text color using either a named color or a color specified in the hexadecimal #RRGGBB format. Note: This is a legacy attribute. Please use the CSS color property instead.",
413
+ },
414
+ content: {
415
+ required: false,
416
+ control: "text",
417
+ type: "string",
418
+ description:
419
+ "A value associated with http-equiv orname depending on the context.",
420
+ },
421
+ contextMenu: {
422
+ required: false,
423
+ control: "text",
424
+ type: "string",
425
+ description:
426
+ "Defines the ID of a menu element which willserve as the element's context menu.",
427
+ },
393
428
  datatype: { required: false, control: "text", type: "string" },
394
429
  defaultChecked: { required: false, control: "boolean", type: "boolean" },
395
- dir: { required: false, control: "text", type: "string" },
396
- draggable: { required: false, control: "boolean", type: "boolean" },
397
- hidden: { required: false, control: "boolean", type: "boolean" },
398
- id: { required: false, control: "text", type: "string" },
430
+ dir: {
431
+ required: false,
432
+ control: "text",
433
+ type: "string",
434
+ description:
435
+ "Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)",
436
+ },
437
+ draggable: {
438
+ required: false,
439
+ control: "boolean",
440
+ type: "boolean",
441
+ description: "Defines whether the element can be dragged.",
442
+ },
443
+ hidden: {
444
+ required: false,
445
+ control: "boolean",
446
+ type: "boolean",
447
+ description:
448
+ "Prevents rendering of given element, while keeping child elements, e.g. script elements, active.",
449
+ },
450
+ id: {
451
+ required: false,
452
+ control: "text",
453
+ type: "string",
454
+ description:
455
+ "Often used with CSS to style a specific element. The value of this attribute must be unique.",
456
+ },
399
457
  inputMode: {
400
458
  description:
401
459
  "Hints at the type of data that might be entered by the user while editing the element or its contents\n@see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute",
@@ -425,20 +483,53 @@ export const props: Record<string, PropMeta> = {
425
483
  itemRef: { required: false, control: "text", type: "string" },
426
484
  itemScope: { required: false, control: "boolean", type: "boolean" },
427
485
  itemType: { required: false, control: "text", type: "string" },
428
- lang: { required: false, control: "text", type: "string" },
486
+ lang: {
487
+ required: false,
488
+ control: "text",
489
+ type: "string",
490
+ description: "Defines the language used in the element.",
491
+ },
429
492
  nonce: { required: false, control: "text", type: "string" },
430
- placeholder: { required: false, control: "text", type: "string" },
493
+ placeholder: {
494
+ required: false,
495
+ control: "text",
496
+ type: "string",
497
+ description:
498
+ "Provides a hint to the user of what can be entered in the field.",
499
+ },
431
500
  prefix: { required: false, control: "text", type: "string" },
432
501
  property: { required: false, control: "text", type: "string" },
433
502
  radioGroup: { required: false, control: "text", type: "string" },
434
- rel: { required: false, control: "text", type: "string" },
503
+ rel: {
504
+ required: false,
505
+ control: "text",
506
+ type: "string",
507
+ description:
508
+ "Specifies the relationship of the target object to the link object.",
509
+ },
435
510
  resource: { required: false, control: "text", type: "string" },
436
511
  results: { required: false, control: "number", type: "number" },
437
512
  rev: { required: false, control: "text", type: "string" },
438
- role: { required: false, control: "text", type: "string" },
513
+ role: {
514
+ required: false,
515
+ control: "text",
516
+ type: "string",
517
+ description:
518
+ "Defines an explicit role for an element for use by assistive technologies.",
519
+ },
439
520
  security: { required: false, control: "text", type: "string" },
440
- slot: { required: false, control: "text", type: "string" },
441
- spellCheck: { required: false, control: "boolean", type: "boolean" },
521
+ slot: {
522
+ required: false,
523
+ control: "text",
524
+ type: "string",
525
+ description: "Assigns a slot in a shadow DOM shadow tree to an element.",
526
+ },
527
+ spellCheck: {
528
+ required: false,
529
+ control: "boolean",
530
+ type: "boolean",
531
+ description: "Indicates whether spell checking is allowed for the element.",
532
+ },
442
533
  suppressContentEditableWarning: {
443
534
  required: false,
444
535
  control: "boolean",
@@ -449,13 +540,27 @@ export const props: Record<string, PropMeta> = {
449
540
  control: "boolean",
450
541
  type: "boolean",
451
542
  },
452
- tabIndex: { required: false, control: "number", type: "number" },
453
- title: { required: false, control: "text", type: "string" },
543
+ tabIndex: {
544
+ required: false,
545
+ control: "number",
546
+ type: "number",
547
+ description:
548
+ "Overrides the browser's default tab order and follows the one specified instead.",
549
+ },
550
+ title: {
551
+ required: false,
552
+ control: "text",
553
+ type: "string",
554
+ description:
555
+ "Text to be displayed in a tooltip when hovering over the element.",
556
+ },
454
557
  translate: {
455
558
  required: false,
456
559
  control: "radio",
457
560
  type: "string",
458
561
  options: ["yes", "no"],
562
+ description:
563
+ "Specify whether an element's attribute values and the values of its text node children are to be translated when the page is localized, or whether to leave them unchanged.",
459
564
  },
460
565
  typeof: { required: false, control: "text", type: "string" },
461
566
  unselectable: {
@@ -2,7 +2,12 @@ import type { PropMeta } from "@webstudio-is/generate-arg-types";
2
2
 
3
3
  export const props: Record<string, PropMeta> = {
4
4
  about: { required: false, control: "text", type: "string" },
5
- accessKey: { required: false, control: "text", type: "string" },
5
+ accessKey: {
6
+ required: false,
7
+ control: "text",
8
+ type: "string",
9
+ description: "Keyboard shortcut to activate or add focus to the element.",
10
+ },
6
11
  "aria-activedescendant": {
7
12
  description:
8
13
  "Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application.",
@@ -183,7 +188,7 @@ export const props: Record<string, PropMeta> = {
183
188
  },
184
189
  "aria-label": {
185
190
  description:
186
- "Defines a string value that labels the current element.\n@see aria-labelledby.",
191
+ "Provides the accessible name that describes an interactive element if no other accessible name exists, for example in a button that contains an image with no text.",
187
192
  required: false,
188
193
  control: "text",
189
194
  type: "string",
@@ -382,9 +387,21 @@ export const props: Record<string, PropMeta> = {
382
387
  control: "text",
383
388
  type: "string",
384
389
  },
385
- autoCapitalize: { required: false, control: "text", type: "string" },
390
+ autoCapitalize: {
391
+ required: false,
392
+ control: "text",
393
+ type: "string",
394
+ description:
395
+ "Sets whether input is automatically capitalized when entered by user.",
396
+ },
386
397
  autoCorrect: { required: false, control: "text", type: "string" },
387
- autoFocus: { required: false, control: "boolean", type: "boolean" },
398
+ autoFocus: {
399
+ required: false,
400
+ control: "boolean",
401
+ type: "boolean",
402
+ description:
403
+ "Indicates that an element should be focused on page load, or when its parent dialog is displayed.",
404
+ },
388
405
  autopause: {
389
406
  description:
390
407
  "Whether to pause the current video when another Vimeo video on the same page starts to play. Set this value to false to permit simultaneous playback of all the videos on the page. This option has no effect if you've disabled cookies in your browser, either through browser settings or with an extension or plugin.",
@@ -418,9 +435,27 @@ export const props: Record<string, PropMeta> = {
418
435
  defaultValue: false,
419
436
  },
420
437
  className: { required: false, control: "text", type: "string" },
421
- color: { required: false, control: "color", type: "string" },
422
- content: { required: false, control: "text", type: "string" },
423
- contextMenu: { required: false, control: "text", type: "string" },
438
+ color: {
439
+ required: false,
440
+ control: "color",
441
+ type: "string",
442
+ description:
443
+ "This attribute sets the text color using either a named color or a color specified in the hexadecimal #RRGGBB format. Note: This is a legacy attribute. Please use the CSS color property instead.",
444
+ },
445
+ content: {
446
+ required: false,
447
+ control: "text",
448
+ type: "string",
449
+ description:
450
+ "A value associated with http-equiv orname depending on the context.",
451
+ },
452
+ contextMenu: {
453
+ required: false,
454
+ control: "text",
455
+ type: "string",
456
+ description:
457
+ "Defines the ID of a menu element which willserve as the element's context menu.",
458
+ },
424
459
  controlsColor: {
425
460
  description:
426
461
  "A color value of the playback controls, which is normally #00ADEF. The embed settings of the video might override this value.",
@@ -430,7 +465,13 @@ export const props: Record<string, PropMeta> = {
430
465
  },
431
466
  datatype: { required: false, control: "text", type: "string" },
432
467
  defaultChecked: { required: false, control: "boolean", type: "boolean" },
433
- dir: { required: false, control: "text", type: "string" },
468
+ dir: {
469
+ required: false,
470
+ control: "text",
471
+ type: "string",
472
+ description:
473
+ "Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)",
474
+ },
434
475
  doNotTrack: {
435
476
  description:
436
477
  "Whether to prevent the player from tracking session data, including cookies. Keep in mind that setting this argument to true also blocks video stats.",
@@ -439,9 +480,26 @@ export const props: Record<string, PropMeta> = {
439
480
  type: "boolean",
440
481
  defaultValue: false,
441
482
  },
442
- draggable: { required: false, control: "boolean", type: "boolean" },
443
- hidden: { required: false, control: "boolean", type: "boolean" },
444
- id: { required: false, control: "text", type: "string" },
483
+ draggable: {
484
+ required: false,
485
+ control: "boolean",
486
+ type: "boolean",
487
+ description: "Defines whether the element can be dragged.",
488
+ },
489
+ hidden: {
490
+ required: false,
491
+ control: "boolean",
492
+ type: "boolean",
493
+ description:
494
+ "Prevents rendering of given element, while keeping child elements, e.g. script elements, active.",
495
+ },
496
+ id: {
497
+ required: false,
498
+ control: "text",
499
+ type: "string",
500
+ description:
501
+ "Often used with CSS to style a specific element. The value of this attribute must be unique.",
502
+ },
445
503
  inputMode: {
446
504
  description:
447
505
  "Hints at the type of data that might be entered by the user while editing the element or its contents\n@see https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute",
@@ -486,7 +544,12 @@ export const props: Record<string, PropMeta> = {
486
544
  type: "boolean",
487
545
  defaultValue: true,
488
546
  },
489
- lang: { required: false, control: "text", type: "string" },
547
+ lang: {
548
+ required: false,
549
+ control: "text",
550
+ type: "string",
551
+ description: "Defines the language used in the element.",
552
+ },
490
553
  loop: {
491
554
  description:
492
555
  "Whether to restart the video automatically after reaching the end.",
@@ -512,7 +575,13 @@ export const props: Record<string, PropMeta> = {
512
575
  type: "boolean",
513
576
  defaultValue: false,
514
577
  },
515
- placeholder: { required: false, control: "text", type: "string" },
578
+ placeholder: {
579
+ required: false,
580
+ control: "text",
581
+ type: "string",
582
+ description:
583
+ "Provides a hint to the user of what can be entered in the field.",
584
+ },
516
585
  playsinline: {
517
586
  description:
518
587
  "Whether the video plays inline on supported mobile devices. To force the device to play the video in fullscreen mode instead, set this value to false.",
@@ -533,7 +602,13 @@ export const props: Record<string, PropMeta> = {
533
602
  options: ["auto", "360p", "540p", "720p", "1080p", "2k", "4k"],
534
603
  },
535
604
  radioGroup: { required: false, control: "text", type: "string" },
536
- rel: { required: false, control: "text", type: "string" },
605
+ rel: {
606
+ required: false,
607
+ control: "text",
608
+ type: "string",
609
+ description:
610
+ "Specifies the relationship of the target object to the link object.",
611
+ },
537
612
  resource: { required: false, control: "text", type: "string" },
538
613
  responsive: {
539
614
  description:
@@ -545,7 +620,13 @@ export const props: Record<string, PropMeta> = {
545
620
  },
546
621
  results: { required: false, control: "number", type: "number" },
547
622
  rev: { required: false, control: "text", type: "string" },
548
- role: { required: false, control: "text", type: "string" },
623
+ role: {
624
+ required: false,
625
+ control: "text",
626
+ type: "string",
627
+ description:
628
+ "Defines an explicit role for an element for use by assistive technologies.",
629
+ },
549
630
  security: { required: false, control: "text", type: "string" },
550
631
  showByline: {
551
632
  description: "Whether to display the video owner's name.",
@@ -585,7 +666,12 @@ export const props: Record<string, PropMeta> = {
585
666
  type: "boolean",
586
667
  defaultValue: false,
587
668
  },
588
- slot: { required: false, control: "text", type: "string" },
669
+ slot: {
670
+ required: false,
671
+ control: "text",
672
+ type: "string",
673
+ description: "Assigns a slot in a shadow DOM shadow tree to an element.",
674
+ },
589
675
  speed: {
590
676
  description:
591
677
  "Whether the player displays speed controls in the preferences menu and enables the playback rate API.",
@@ -594,7 +680,12 @@ export const props: Record<string, PropMeta> = {
594
680
  type: "boolean",
595
681
  defaultValue: false,
596
682
  },
597
- spellCheck: { required: false, control: "boolean", type: "boolean" },
683
+ spellCheck: {
684
+ required: false,
685
+ control: "boolean",
686
+ type: "boolean",
687
+ description: "Indicates whether spell checking is allowed for the element.",
688
+ },
598
689
  suppressContentEditableWarning: {
599
690
  required: false,
600
691
  control: "boolean",
@@ -605,7 +696,13 @@ export const props: Record<string, PropMeta> = {
605
696
  control: "boolean",
606
697
  type: "boolean",
607
698
  },
608
- tabIndex: { required: false, control: "number", type: "number" },
699
+ tabIndex: {
700
+ required: false,
701
+ control: "number",
702
+ type: "number",
703
+ description:
704
+ "Overrides the browser's default tab order and follows the one specified instead.",
705
+ },
609
706
  texttrack: {
610
707
  description:
611
708
  "The text track to display with the video. Specify the text track by its language code (en), the language code and locale (en-US), or the language code and kind (en.captions). For this argument to work, the video must already have a text track of the given type; see our Help Center or Working with Text Track Uploads for more information.\nTo enable automatically generated closed captions instead, provide the value en-x-autogen. Please note that, at the present time, automatic captions are always in English.",
@@ -613,12 +710,20 @@ export const props: Record<string, PropMeta> = {
613
710
  control: "text",
614
711
  type: "string",
615
712
  },
616
- title: { required: false, control: "text", type: "string" },
713
+ title: {
714
+ required: false,
715
+ control: "text",
716
+ type: "string",
717
+ description:
718
+ "Text to be displayed in a tooltip when hovering over the element.",
719
+ },
617
720
  translate: {
618
721
  required: false,
619
722
  control: "radio",
620
723
  type: "string",
621
724
  options: ["yes", "no"],
725
+ description:
726
+ "Specify whether an element's attribute values and the values of its text node children are to be translated when the page is localized, or whether to leave them unchanged.",
622
727
  },
623
728
  transparent: {
624
729
  description:
@@ -637,7 +742,7 @@ export const props: Record<string, PropMeta> = {
637
742
  },
638
743
  url: {
639
744
  description:
640
- "The ID or the URL of the video on Vimeo. You must supply one of these values to identify the video. When the video's privacy setting is Private, you must use the URL, and the URL must include the h parameter. For more information, see our introductory guide.",
745
+ "The ID or the URL of the video on Vimeo. You must supply one of these values to identify the video. When the video's privacy setting is Private, you must use the URL, and the URL must include the h parameter. For more information, see Vimeo’s introductory guide.",
641
746
  required: false,
642
747
  control: "text",
643
748
  type: "string",
@@ -63,6 +63,8 @@ export const meta: WsComponentMeta = {
63
63
  category: "text",
64
64
  type: "container",
65
65
  label: "Blockquote",
66
+ description:
67
+ "Use to style a quote from an external source like an article or book.",
66
68
  icon: BlockquoteIcon,
67
69
  states: defaultStates,
68
70
  presetStyle,
package/src/box.tsx CHANGED
@@ -9,6 +9,7 @@ export const defaultTag = "div";
9
9
 
10
10
  // We don't want to enable all tags because Box is usually a container and we have specific components for many tags.
11
11
  type Props = ComponentProps<typeof defaultTag> & {
12
+ /** Use this property to change the HTML tag of this element to semantically structure and describe the content of a webpage. This can be important for accessibility tools and search engine optimization. */
12
13
  tag?:
13
14
  | "div"
14
15
  | "header"
package/src/box.ws.ts CHANGED
@@ -40,6 +40,8 @@ export const meta: WsComponentMeta = {
40
40
  category: "general",
41
41
  type: "container",
42
42
  label: "Box",
43
+ description:
44
+ "A container for content. By default this is a Div, but the tag can be changed in settings.",
43
45
  icon: BoxIcon,
44
46
  states: defaultStates,
45
47
  presetStyle,
package/src/button.ws.tsx CHANGED
@@ -18,6 +18,8 @@ export const meta: WsComponentMeta = {
18
18
  type: "container",
19
19
  invalidAncestors: ["Button"],
20
20
  label: "Button",
21
+ description:
22
+ "Use a button to submit forms or trigger actions within a page. Do not use a button to navigate users to another resource or another page - that’s what a link is used for.",
21
23
  icon: ButtonElementIcon,
22
24
  presetStyle,
23
25
  states: [
@@ -24,6 +24,8 @@ export const meta: WsComponentMeta = {
24
24
  invalidAncestors: ["Button"],
25
25
  type: "control",
26
26
  label: "Checkbox",
27
+ description:
28
+ "Use within a form to allow your users to toggle between checked and not checked. Group checkboxes by matching their “Name” properties. Unlike radios, any number of checkboxes in a group can be checked.",
27
29
  icon: CheckboxCheckedIcon,
28
30
  presetStyle,
29
31
  order: 6,
@@ -39,7 +39,10 @@ export const meta: WsComponentMeta = {
39
39
  category: "general",
40
40
  type: "container",
41
41
  label: "Code Text",
42
+ description:
43
+ "Use this component when you want to display code as text on the page.",
42
44
  icon: CodeTextIcon,
45
+ invalidAncestors: ["CodeText"],
43
46
  states: defaultStates,
44
47
  presetStyle,
45
48
  template: [
package/src/form.ws.tsx CHANGED
@@ -21,6 +21,7 @@ export const meta: WsComponentMeta = {
21
21
  type: "container",
22
22
  invalidAncestors: ["Form"],
23
23
  label: "Form",
24
+ description: "Collect information from your users using validation rules.",
24
25
  icon: FormIcon,
25
26
  states: defaultStates,
26
27
  presetStyle,
package/src/heading.tsx CHANGED
@@ -8,6 +8,7 @@ import {
8
8
  const defaultTag = "h1";
9
9
 
10
10
  type Props = ComponentProps<typeof defaultTag> & {
11
+ /** Use HTML heading levels (h1-h6) to structure content hierarchically, with h1 as the main title and subsequent levels representing sub-sections. Maintain a logical order and avoid skipping levels to ensure consistent and meaningful organization. */
11
12
  tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
12
13
  };
13
14
 
@@ -25,7 +25,10 @@ export const meta: WsComponentMeta = {
25
25
  category: "text",
26
26
  type: "container",
27
27
  label: "Heading",
28
+ description:
29
+ "Use HTML headings to structure and organize content. Use the Tag property in settings to change the heading level (h1-h6).",
28
30
  icon: HeadingIcon,
31
+ invalidAncestors: ["Heading"],
29
32
  states: defaultStates,
30
33
  presetStyle,
31
34
  template: [
@@ -9,6 +9,7 @@ export const meta: WsComponentMeta = {
9
9
  category: "general",
10
10
  type: "embed",
11
11
  label: "HTML Embed",
12
+ description: "Used to add HTML code to the page, such as an SVG or script.",
12
13
  icon: EmbedIcon,
13
14
  stylable: false,
14
15
  order: 7,
package/src/image.ws.tsx CHANGED
@@ -31,6 +31,8 @@ export const meta: WsComponentMeta = {
31
31
  category: "media",
32
32
  type: "embed",
33
33
  label: "Image",
34
+ description:
35
+ "Add an image asset to the page. Webstudio automatically converts images to WebP or AVIF format and makes them responsive for best performance.",
34
36
  icon: ImageIcon,
35
37
  states: defaultStates,
36
38
  presetStyle,
package/src/input.ws.tsx CHANGED
@@ -24,6 +24,8 @@ export const meta: WsComponentMeta = {
24
24
  invalidAncestors: ["Button"],
25
25
  type: "control",
26
26
  label: "Text Input",
27
+ description:
28
+ "A single-line text input for collecting string data from your users.",
27
29
  icon: FormTextFieldIcon,
28
30
  presetStyle,
29
31
  order: 3,
package/src/label.ws.tsx CHANGED
@@ -18,7 +18,7 @@ const presetStyle = {
18
18
 
19
19
  export const meta: WsComponentMeta = {
20
20
  category: "forms",
21
- invalidAncestors: ["Button"],
21
+ invalidAncestors: ["Button", "Label"],
22
22
  type: "container",
23
23
  label: "Input Label",
24
24
  icon: LabelIcon,
package/src/link.ws.tsx CHANGED
@@ -27,7 +27,10 @@ export const meta: WsComponentMeta = {
27
27
  category: "general",
28
28
  type: "container",
29
29
  label: "Link",
30
+ description:
31
+ "Use a link to send your users to another page, section, or resource. Configure links in the Settings panel.",
30
32
  icon: LinkIcon,
33
+ invalidAncestors: ["Link"],
31
34
  presetStyle,
32
35
  order: 1,
33
36
  states: [
@@ -18,6 +18,7 @@ export const meta: WsComponentMeta = {
18
18
  type: "container",
19
19
  requiredAncestors: ["List"],
20
20
  label: "List Item",
21
+ description: "Adds a new item to an existing list.",
21
22
  icon: ListItemIcon,
22
23
  states: defaultStates,
23
24
  presetStyle,
package/src/list.tsx CHANGED
@@ -12,6 +12,7 @@ export type ListTag = typeof unorderedTag | typeof orderedTag;
12
12
 
13
13
  type Props = ComponentProps<typeof unorderedTag> &
14
14
  ComponentProps<typeof orderedTag> & {
15
+ /** Shows numbers instead of bullets when toggled. See the “List Style Type” property under the “List Item” section in the Style panel for more options. */
15
16
  ordered?: boolean;
16
17
  };
17
18
 
package/src/list.ws.tsx CHANGED
@@ -46,6 +46,7 @@ export const meta: WsComponentMeta = {
46
46
  category: "general",
47
47
  type: "container",
48
48
  label: "List",
49
+ description: "Groups content, like links in a menu or steps in a recipe.",
49
50
  icon: ListIcon,
50
51
  states: defaultStates,
51
52
  presetStyle,
@@ -17,7 +17,9 @@ export const meta: WsComponentMeta = {
17
17
  category: "text",
18
18
  type: "container",
19
19
  label: "Paragraph",
20
+ description: "A container for multi-line text.",
20
21
  icon: TextAlignLeftIcon,
22
+ invalidAncestors: ["Paragraph"],
21
23
  states: defaultStates,
22
24
  presetStyle,
23
25
  template: [
@@ -24,6 +24,8 @@ export const meta: WsComponentMeta = {
24
24
  invalidAncestors: ["Button"],
25
25
  type: "control",
26
26
  label: "Radio",
27
+ description:
28
+ "Use within a form to allow your users to select a single option from a set of mutually exclusive choices. Group multiple radios by matching their “Name” properties.",
27
29
  icon: RadioCheckedIcon,
28
30
  presetStyle,
29
31
  order: 5,
@@ -44,6 +44,8 @@ export const meta: WsComponentMeta = {
44
44
  category: "general",
45
45
  type: "embed",
46
46
  label: "Separator",
47
+ description:
48
+ "Used to visually divide sections of content, helping to improve readability and organization within a webpage.",
47
49
  icon: DashIcon,
48
50
  states: defaultStates,
49
51
  presetStyle,
package/src/text.tsx CHANGED
@@ -9,6 +9,7 @@ export const defaultTag = "div";
9
9
 
10
10
  // We don't want to enable all tags because Box is usually a container and we have specific components for many tags.
11
11
  type Props = ComponentProps<typeof defaultTag> & {
12
+ /** Use this property to change the HTML tag of this element to semantically structure and describe the content of a webpage. This can be important for accessibility tools and search engine optimization. */
12
13
  tag?: "div" | "span" | "figcaption" | "cite";
13
14
  };
14
15