webstudio 0.219.0 → 0.220.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.
package/lib/cli.js CHANGED
@@ -1642,9 +1642,6 @@ var generateAtomic = (sheet, options) => {
1642
1642
  var AccordionIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M13.056 8H14.5V4.101a1.3 1.3 0 0 0-1.3-1.299H2.8a1.3 1.3 0 0 0-1.3 1.3V8H13.056ZM13.056 13.198h.145a1.3 1.3 0 0 0 1.299-1.3V8h-13v3.899a1.3 1.3 0 0 0 1.3 1.299h10.256Z"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m10.026 4.913.975.976.976-.976M10.026 10.111l.975.976.976-.976"/></svg>`;
1643
1643
  var AddTemplateInstanceIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M4.5 2H3.333A1.333 1.333 0 0 0 2 3.333V4.5M14 12.667c0 .021 0 .042-.002.063M11.5 14h1.167a1.333 1.333 0 0 0 1.331-1.27m0 0V11.5M2 11.5v1.167A1.333 1.333 0 0 0 3.333 14H4.5M7 14h2M2 7v2M8.461 4.77H14M11.23 2v5.538"/></svg>`;
1644
1644
  var AnimationGroupIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M4.5 8.3C6.3 7.7 7.8 8 9.3 11c.3-1.8 1.2-4.5 2.1-6M4.208 1.5H2.944A1.444 1.444 0 0 0 1.5 2.944v1.264m13 0V2.944A1.444 1.444 0 0 0 13.056 1.5h-1.264M14.5 13.056c0 .023 0 .046-.002.069M11.792 14.5h1.264a1.444 1.444 0 0 0 1.442-1.375m0 0v-1.333m-12.998 0v1.264A1.444 1.444 0 0 0 2.944 14.5h1.264m2.709-13h2.166m-2.166 13h2.166M1.5 6.917v2.166m13-2.166v2.166"/></svg>`;
1645
- var BlockquoteIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" d="M6.667 8H3.333a.667.667 0 0 1-.666-.667V5a.667.667 0 0 1 .666-.667H6A.667.667 0 0 1 6.667 5v3Zm0 0C6.667 9.667 6 10.667 4 11.667M13.333 8H10a.667.667 0 0 1-.667-.667V5A.667.667 0 0 1 10 4.333h2.667a.667.667 0 0 1 .666.667v3Zm0 0c0 1.667-.666 2.667-2.666 3.667"/></svg>`;
1646
- var BodyIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12.667 2H3.333C2.597 2 2 2.597 2 3.333v9.334C2 13.403 2.597 14 3.333 14h9.334c.736 0 1.333-.597 1.333-1.333V3.333C14 2.597 13.403 2 12.667 2ZM2 6h12"/></svg>`;
1647
- var BoldIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M4 8h6a2.667 2.667 0 0 1 0 5.333H4.667A.667.667 0 0 1 4 12.667V3.333a.667.667 0 0 1 .667-.666h4.666a2.667 2.667 0 1 1 0 5.333"/></svg>`;
1648
1645
  var BoxIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12.667 2H3.333C2.597 2 2 2.597 2 3.333v9.334C2 13.403 2.597 14 3.333 14h9.334c.736 0 1.333-.597 1.333-1.333V3.333C14 2.597 13.403 2 12.667 2Z"/></svg>`;
1649
1646
  var BracesIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M5.333 2h-.666a1.333 1.333 0 0 0-1.334 1.333v3.334A1.333 1.333 0 0 1 2 8a1.333 1.333 0 0 1 1.333 1.333v3.334c0 .733.6 1.333 1.334 1.333h.666M10.667 14h.666a1.333 1.333 0 0 0 1.334-1.333V9.333C12.667 8.6 13.267 8 14 8a1.333 1.333 0 0 1-1.333-1.333V3.333A1.333 1.333 0 0 0 11.333 2h-.666"/></svg>`;
1650
1647
  var ButtonElementIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path fill="currentColor" fill-rule="evenodd" d="M1.833 8a3.5 3.5 0 0 1 3.5-3.5h5.334a3.5 3.5 0 1 1 0 7H5.333a3.5 3.5 0 0 1-3.5-3.5Zm3.5-4.5a4.5 4.5 0 0 0 0 9h5.334a4.5 4.5 0 1 0 0-9H5.333ZM5.72 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM8 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4.28-1a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z" clip-rule="evenodd"/></svg>`;
@@ -1656,20 +1653,15 @@ var ContentBlockIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" view
1656
1653
  var ContentIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M4.667 5.333h4M4.666 8H10m-5.333 2.667h4M2 3.5A1.5 1.5 0 0 1 3.5 2h9A1.5 1.5 0 0 1 14 3.5v9.188c0 .724-.588 1.312-1.313 1.312H3.313A1.312 1.312 0 0 1 2 12.687V3.5Z"/></svg>`;
1657
1654
  var DialogIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path fill="#D2D2D2" d="M13.444 1H2.556C1.696 1 1 1.696 1 2.556v10.888C1 14.304 1.696 15 2.556 15h10.888c.86 0 1.556-.696 1.556-1.556V2.556C15 1.696 14.304 1 13.444 1Z"/><path fill="#fff" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M11.334 5.667H4.667v4.666h6.667V5.667Z"/></svg>`;
1658
1655
  var EmbedIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12 10.667 14.667 8 12 5.333M4 5.333 1.333 8 4 10.667M9.667 2.667 6.333 13.333"/></svg>`;
1659
- var FormTextAreaIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M3.333 14h9.334c.736 0 1.333-.597 1.333-1.333V3.522C14 2.682 13.318 2 12.478 2h-9C2.662 2 2 2.662 2 3.478v9.189C2 13.403 2.597 14 3.333 14ZM3.83 6.636V3.943"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m10.496 13.76 1.724-1.725 1.717-1.717"/></svg>`;
1660
1656
  var FormTextFieldIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M3.333 2.667H4a2 2 0 0 1 2 2 2 2 0 0 1 2-2h.667M8.667 13.333H8a2 2 0 0 1-2-2 2 2 0 0 1-2 2h-.667M3.333 10.667h-.666a1.333 1.333 0 0 1-1.334-1.334V6.667a1.333 1.333 0 0 1 1.334-1.334h.666M8.667 5.333h4.666a1.333 1.333 0 0 1 1.334 1.334v2.666a1.333 1.333 0 0 1-1.334 1.334H8.667M6 4.667v6.666"/></svg>`;
1661
- var FormIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M13.184 5.5h.731a.75.75 0 0 0 .75-.75v-1.5a.75.75 0 0 0-.75-.75H2.085a.75.75 0 0 0-.75.75v1.5c0 .414.336.75.75.75h11.099ZM13.184 10.5h.732a.75.75 0 0 0 .75-.75v-1.5a.75.75 0 0 0-.75-.75H2.084a.75.75 0 0 0-.75.75v1.5c0 .414.336.75.75.75h11.099Z"/><path fill="currentColor" d="M6.613 14.5h.222a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-5.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5H6.613Z"/></svg>`;
1662
1657
  var HeaderIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12.667 2H3.333C2.597 2 2 2.597 2 3.333v9.334C2 13.403 2.597 14 3.333 14h9.334c.736 0 1.333-.597 1.333-1.333V3.333C14 2.597 13.403 2 12.667 2ZM4 4h8"/></svg>`;
1663
1658
  var HeadingIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M4 8h8M4 13.333V2.667M12 13.333V2.667"/></svg>`;
1664
- var ImageIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12.667 2H3.333C2.597 2 2 2.597 2 3.333v9.334C2 13.403 2.597 14 3.333 14h9.334c.736 0 1.333-.597 1.333-1.333V3.333C14 2.597 13.403 2 12.667 2Z"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M6 7.333a1.333 1.333 0 1 0 0-2.666 1.333 1.333 0 0 0 0 2.666ZM14 10l-2.057-2.057a1.333 1.333 0 0 0-1.886 0L4 14"/></svg>`;
1665
1659
  var ItemIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M2 6h.007M5.333 10H14M5.333 6H14"/></svg>`;
1666
1660
  var LabelIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12.667 2H3.333C2.597 2 2 2.597 2 3.333v9.334C2 13.403 2.597 14 3.333 14h9.334c.736 0 1.333-.597 1.333-1.333V3.333C14 2.597 13.403 2 12.667 2Z"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M6.476 11.074V4.926m0 6.148h3.77v-.615m-3.77.615h-.722m.722-6.148h.632m-.632 0h-.722"/></svg>`;
1667
- var LinkIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M8.943 11.771 8 12.714A3.333 3.333 0 0 1 3.286 8l.943-.943M7.057 4.229 8 3.286A3.333 3.333 0 1 1 12.714 8l-.943.943M6.114 9.886l3.772-3.772"/></svg>`;
1668
1661
  var ListItemIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" width="100%" height="100%" style="display: block;"><path d="M3.7 6.175a.85.85 0 1 1-1.7 0 .85.85 0 0 1 1.7 0Z"/><path fill-rule="evenodd" d="M5 6.175c0-.345.28-.625.625-.625h7.75a.625.625 0 1 1 0 1.25h-7.75A.625.625 0 0 1 5 6.175ZM5 10.05c0-.345.28-.625.625-.625h7.75a.625.625 0 1 1 0 1.25h-7.75A.625.625 0 0 1 5 10.05Z" clip-rule="evenodd"/></svg>`;
1669
1662
  var ListViewIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path fill="currentColor" fill-rule="evenodd" d="M3.333 2.5a.833.833 0 0 0-.833.833v9.334c0 .46.373.833.833.833h9.334c.46 0 .833-.373.833-.833V3.333a.833.833 0 0 0-.833-.833H3.333ZM1.5 3.333c0-1.012.82-1.833 1.833-1.833h9.334c1.012 0 1.833.82 1.833 1.833v9.334c0 1.012-.82 1.833-1.833 1.833H3.333A1.833 1.833 0 0 1 1.5 12.667V3.333Z" clip-rule="evenodd"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M14 6H2M14 10H2"/></svg>`;
1670
1663
  var ListIcon = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" width="100%" height="100%" style="display: block;"><path d="M3.7 4.35a.85.85 0 1 1-1.7 0 .85.85 0 0 1 1.7 0Z"/><path fill-rule="evenodd" d="M5 4.35c0-.346.28-.626.625-.626h7.75a.625.625 0 1 1 0 1.25h-7.75A.625.625 0 0 1 5 4.35Z" clip-rule="evenodd"/><path d="M3.7 8A.85.85 0 1 1 2 8a.85.85 0 0 1 1.7 0Z"/><path fill-rule="evenodd" d="M5 8c0-.345.28-.625.625-.625h7.75a.625.625 0 1 1 0 1.25h-7.75A.625.625 0 0 1 5 8Z" clip-rule="evenodd"/><path d="M3.7 11.65a.85.85 0 1 1-1.7 0 .85.85 0 0 1 1.7 0Z"/><path fill-rule="evenodd" d="M5 11.65c0-.346.28-.626.625-.626h7.75a.625.625 0 1 1 0 1.25h-7.75A.625.625 0 0 1 5 11.65Z" clip-rule="evenodd"/></svg>`;
1671
1664
  var MarkdownEmbedIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M4.667 5.333h4M4.667 8H10M14 8.75V3.5A1.5 1.5 0 0 0 12.5 2h-9A1.5 1.5 0 0 0 2 3.5v9.191c0 .725.588 1.313 1.313 1.313h4.691"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M10 14.314v-4l2 2.03 2-2.03v4"/></svg>`;
1672
- var MinusIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M3.333 8h9.334"/></svg>`;
1673
1665
  var NavigationMenuIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M14 7v5.833c0 .645-.597 1.167-1.333 1.167H3.333C2.597 14 2 13.478 2 12.833V7"/><path fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M10.978 2.003H2.6a.6.6 0 0 0-.6.6v1.4h11.971v-1.4a.6.6 0 0 0-.6-.6h-2.393Z"/></svg>`;
1674
1666
  var OverlayIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path fill="#D2D2D2" d="M13.444 1H2.556C1.696 1 1 1.696 1 2.556v10.888C1 14.304 1.696 15 2.556 15h10.888c.86 0 1.556-.696 1.556-1.556V2.556C15 1.696 14.304 1 13.444 1Z"/></svg>`;
1675
1667
  var PaintBrushIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m6.04 7.933 5.38-5.373a1.9 1.9 0 1 1 2.687 2.687l-5.374 5.386M4.713 9.96c-1.106 0-2 .9-2 2.013 0 .887-1.666 1.014-1.333 1.347.72.733 1.66 1.347 2.667 1.347 1.466 0 2.666-1.2 2.666-2.694a2.007 2.007 0 0 0-2-2.013Z"/></svg>`;
@@ -1682,13 +1674,9 @@ var SelectIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0
1682
1674
  var SettingsIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M13.987 6H9.32M13.932 6h-12M14 10.5H2"/><rect width="4" height="4" x="1.932" y="8.534" fill="#fff" stroke="currentColor" rx="2"/><rect width="4" height="4" x="10.068" y="4" fill="#fff" stroke="currentColor" rx="2"/></svg>`;
1683
1675
  var SlotComponentIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M4.5 2H3.333A1.333 1.333 0 0 0 2 3.333V4.5M14 4.5V3.333A1.333 1.333 0 0 0 12.667 2H11.5M14 12.667c0 .021 0 .042-.002.063M11.5 14h1.167a1.333 1.333 0 0 0 1.331-1.27m0 0V11.5M2 11.5v1.167A1.333 1.333 0 0 0 3.333 14H4.5M7 2h2M7 14h2M2 7v2M14 7v2"/></svg>`;
1684
1676
  var StaggerAnimationIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M14.222 5H8.778A.778.778 0 0 0 8 5.778v5.444c0 .43.348.778.778.778h5.444c.43 0 .778-.348.778-.778V5.778A.778.778 0 0 0 14.222 5ZM5.444 6H1.556A.556.556 0 0 0 1 6.556v3.888c0 .307.249.556.556.556h3.888A.556.556 0 0 0 6 10.444V6.556A.556.556 0 0 0 5.444 6Z"/></svg>`;
1685
- var SubscriptIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M2.667 3.333 8 8.667M8 3.333 2.667 8.667M13.333 12.667h-2.666c0-1 .293-1.334 1-1.667.706-.333 1.666-.78 1.666-1.667 0-.313-.113-.62-.32-.86a1.407 1.407 0 0 0-1.746-.293c-.28.16-.494.413-.6.713"/></svg>`;
1686
- var SuperscriptIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M2.667 12.667 8 7.333M8 12.667 2.667 7.333M13.333 8h-2.666c0-1 .294-1.333 1-1.667.705-.333 1.666-.777 1.666-1.665 0-.315-.113-.62-.322-.86a1.403 1.403 0 0 0-1.745-.29c-.28.159-.492.409-.6.706"/></svg>`;
1687
1677
  var SwitchIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M10.667 4H5.333a4 4 0 1 0 0 8h5.334a4 4 0 0 0 0-8Z"/><path fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M5.333 9.333a1.333 1.333 0 1 0 0-2.666 1.333 1.333 0 0 0 0 2.666Z"/></svg>`;
1688
1678
  var TabsIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M9.75 5H13M9.75 5H7.401A1.684 1.684 0 0 1 6 4.25v0l-.5-.75-.5-.75L4.5 2m5.25 3-1-1.5-.5-.75-.5-.75M4.5 2H3v0a1.5 1.5 0 0 0-1.5 1.5v9A1.5 1.5 0 0 0 3 14h10v0a1.5 1.5 0 0 0 1.5-1.5v0-6A1.5 1.5 0 0 0 13 5v0M4.5 2h3.25m0 0h2.375v0c.547 0 1.057.273 1.36.728l.015.022.5.75L13 5"/></svg>`;
1689
- var TextAlignLeftIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M10 8H2M11.333 12H2M14 4H2"/></svg>`;
1690
1679
  var TextAnimationIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M7.476 4.3 7.817 3l6.935 1.817-.34 1.3m-6.245 4.386 2.601.682m.517-7.276-1.817 6.935M2 9.938V9h5v.938M3.562 14h1.875M4.5 9v5"/></svg>`;
1691
- var TextItalicIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M12.667 2.667h-6M9.333 13.333h-6M10 2.667 6 13.333"/></svg>`;
1692
1680
  var TextIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M2.667 4.667v-2h10.666v2M6 13.333h4M8 2.667v10.666"/></svg>`;
1693
1681
  var TooltipIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="#000" stroke-linecap="round" stroke-linejoin="round" d="M14 10a1.333 1.333 0 0 1-1.333 1.333h-8L2 14V3.333A1.333 1.333 0 0 1 3.333 2h9.334A1.333 1.333 0 0 1 14 3.333V10Z"/></svg>`;
1694
1682
  var TriggerIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16" width="100%" height="100%" style="display: block;"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M11.915 7.354v-.647a1.294 1.294 0 1 0-2.587 0"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M9.328 6.707V6.06a1.294 1.294 0 1 0-2.587 0v.647"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M6.74 6.383V2.826a1.293 1.293 0 1 0-2.586 0v6.467"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M11.914 7.353a1.293 1.293 0 0 1 2.587 0v1.94a5.174 5.174 0 0 1-5.174 5.174H8.034c-1.81 0-2.91-.556-3.874-1.513l-2.328-2.328a1.293 1.293 0 0 1 1.83-1.824L4.8 9.94"/></svg>`;
@@ -2484,11 +2472,6 @@ var PresetStyleDecl = z.object({
2484
2472
  property: z.string(),
2485
2473
  value: StyleValue
2486
2474
  });
2487
- z.object({
2488
- props: z.record(PropMeta),
2489
- // Props that will be always visible in properties panel.
2490
- initialProps: z.array(z.string()).optional()
2491
- });
2492
2475
  var componentCategories = [
2493
2476
  "general",
2494
2477
  "typography",
@@ -2533,11 +2516,6 @@ var ContentModel = z.object({
2533
2516
  });
2534
2517
  z.object({
2535
2518
  category: z.enum(componentCategories).optional(),
2536
- /**
2537
- * a property used as textual placeholder when no content specified while in builder
2538
- * also signals to not insert components inside unless dropped explicitly
2539
- */
2540
- placeholder: z.string().optional(),
2541
2519
  contentModel: ContentModel.optional(),
2542
2520
  // when this field is specified component receives
2543
2521
  // prop with index of same components withiin specified ancestor
@@ -2546,18 +2524,21 @@ z.object({
2546
2524
  indexWithinAncestor: z.optional(z.string()),
2547
2525
  label: z.optional(z.string()),
2548
2526
  description: z.string().optional(),
2549
- icon: z.string(),
2527
+ icon: z.string().optional(),
2550
2528
  presetStyle: z.optional(z.record(z.string(), z.array(PresetStyleDecl))),
2551
2529
  states: z.optional(z.array(ComponentState)),
2552
- order: z.number().optional()
2530
+ order: z.number().optional(),
2531
+ // properties and html attributes that will be always visible in properties panel
2532
+ initialProps: z.array(z.string()).optional(),
2533
+ props: z.record(PropMeta).optional()
2553
2534
  });
2554
2535
  var normalize_css_exports = {};
2555
2536
  __export(normalize_css_exports, {
2556
- a: () => a$b,
2537
+ a: () => a$d,
2557
2538
  address: () => address$1,
2558
2539
  article: () => article$1,
2559
2540
  aside: () => aside$1,
2560
- b: () => b$8,
2541
+ b: () => b$7,
2561
2542
  body: () => body$1,
2562
2543
  button: () => button$1,
2563
2544
  checkbox: () => checkbox$1,
@@ -2575,7 +2556,7 @@ __export(normalize_css_exports, {
2575
2556
  header: () => header$1,
2576
2557
  hr: () => hr$1,
2577
2558
  html: () => html,
2578
- i: () => i$8,
2559
+ i: () => i$c,
2579
2560
  img: () => img$1,
2580
2561
  input: () => input$1,
2581
2562
  kbd: () => kbd,
@@ -2586,7 +2567,7 @@ __export(normalize_css_exports, {
2586
2567
  nav: () => nav$1,
2587
2568
  ol: () => ol$1,
2588
2569
  optgroup: () => optgroup,
2589
- p: () => p$b,
2570
+ p: () => p$7,
2590
2571
  pre: () => pre,
2591
2572
  progress: () => progress,
2592
2573
  radio: () => radio$1,
@@ -2642,13 +2623,13 @@ var h3$1 = div$1;
2642
2623
  var h4$1 = div$1;
2643
2624
  var h5$1 = div$1;
2644
2625
  var h6$1 = div$1;
2645
- var i$8 = div$1;
2626
+ var i$c = div$1;
2646
2627
  var img$1 = div$1;
2647
- var a$b = div$1;
2628
+ var a$d = div$1;
2648
2629
  var li$1 = div$1;
2649
2630
  var ul$1 = div$1;
2650
2631
  var ol$1 = div$1;
2651
- var p$b = div$1;
2632
+ var p$7 = div$1;
2652
2633
  var span$1 = div$1;
2653
2634
  var html = [
2654
2635
  { property: "display", value: { type: "keyword", value: "grid" } },
@@ -2720,7 +2701,7 @@ var hr$1 = [
2720
2701
  value: { type: "unit", unit: "px", value: 1 }
2721
2702
  }
2722
2703
  ];
2723
- var b$8 = [
2704
+ var b$7 = [
2724
2705
  {
2725
2706
  property: "font-weight",
2726
2707
  value: { type: "unit", unit: "number", value: 700 }
@@ -2743,7 +2724,7 @@ var b$8 = [
2743
2724
  value: { type: "unit", unit: "px", value: 1 }
2744
2725
  }
2745
2726
  ];
2746
- var strong = b$8;
2727
+ var strong = b$7;
2747
2728
  var code$1 = [
2748
2729
  {
2749
2730
  property: "font-family",
@@ -3152,6 +3133,113 @@ var summary = [
3152
3133
  value: { type: "unit", unit: "px", value: 1 }
3153
3134
  }
3154
3135
  ];
3136
+ var tagProperty$1 = "data-ws-tag";
3137
+ var tags = [
3138
+ "div",
3139
+ "span",
3140
+ "a",
3141
+ "abbr",
3142
+ "address",
3143
+ "area",
3144
+ "article",
3145
+ "aside",
3146
+ "audio",
3147
+ "b",
3148
+ "bdi",
3149
+ "bdo",
3150
+ "blockquote",
3151
+ "body",
3152
+ "br",
3153
+ "button",
3154
+ "canvas",
3155
+ "caption",
3156
+ "cite",
3157
+ "code",
3158
+ "col",
3159
+ "colgroup",
3160
+ "data",
3161
+ "datalist",
3162
+ "dd",
3163
+ "del",
3164
+ "details",
3165
+ "dfn",
3166
+ "dialog",
3167
+ "dl",
3168
+ "dt",
3169
+ "em",
3170
+ "embed",
3171
+ "fieldset",
3172
+ "figcaption",
3173
+ "figure",
3174
+ "footer",
3175
+ "form",
3176
+ "h1",
3177
+ "h2",
3178
+ "h3",
3179
+ "h4",
3180
+ "h5",
3181
+ "h6",
3182
+ "head",
3183
+ "header",
3184
+ "hgroup",
3185
+ "hr",
3186
+ "html",
3187
+ "i",
3188
+ "iframe",
3189
+ "img",
3190
+ "input",
3191
+ "ins",
3192
+ "kbd",
3193
+ "label",
3194
+ "legend",
3195
+ "li",
3196
+ "main",
3197
+ "map",
3198
+ "mark",
3199
+ "menu",
3200
+ "meter",
3201
+ "nav",
3202
+ "object",
3203
+ "ol",
3204
+ "optgroup",
3205
+ "option",
3206
+ "output",
3207
+ "p",
3208
+ "picture",
3209
+ "pre",
3210
+ "progress",
3211
+ "q",
3212
+ "rp",
3213
+ "rt",
3214
+ "ruby",
3215
+ "s",
3216
+ "samp",
3217
+ "search",
3218
+ "section",
3219
+ "select",
3220
+ "slot",
3221
+ "small",
3222
+ "source",
3223
+ "strong",
3224
+ "sub",
3225
+ "summary",
3226
+ "sup",
3227
+ "table",
3228
+ "tbody",
3229
+ "td",
3230
+ "textarea",
3231
+ "tfoot",
3232
+ "th",
3233
+ "thead",
3234
+ "time",
3235
+ "tr",
3236
+ "track",
3237
+ "u",
3238
+ "ul",
3239
+ "var",
3240
+ "video",
3241
+ "wbr"
3242
+ ];
3155
3243
  var rootComponent = "ws:root";
3156
3244
  var rootMeta = {
3157
3245
  label: "Global Root",
@@ -3163,9 +3251,17 @@ var rootMeta = {
3163
3251
  var elementComponent = "ws:element";
3164
3252
  var elementMeta = {
3165
3253
  label: "Element",
3166
- icon: BoxIcon,
3167
3254
  // convert [object Module] to [object Object] to enable structured cloning
3168
- presetStyle: { ...normalize_css_exports }
3255
+ presetStyle: { ...normalize_css_exports },
3256
+ initialProps: [tagProperty$1, "id", "class"],
3257
+ props: {
3258
+ [tagProperty$1]: {
3259
+ type: "string",
3260
+ control: "tag",
3261
+ required: true,
3262
+ options: tags
3263
+ }
3264
+ }
3169
3265
  };
3170
3266
  var collectionComponent = "ws:collection";
3171
3267
  var collectionMeta = {
@@ -3174,6 +3270,14 @@ var collectionMeta = {
3174
3270
  contentModel: {
3175
3271
  category: "instance",
3176
3272
  children: ["instance"]
3273
+ },
3274
+ initialProps: ["data"],
3275
+ props: {
3276
+ data: {
3277
+ required: true,
3278
+ control: "json",
3279
+ type: "json"
3280
+ }
3177
3281
  }
3178
3282
  };
3179
3283
  var descendantComponent = "ws:descendant";
@@ -3185,7 +3289,33 @@ var descendantMeta = {
3185
3289
  children: []
3186
3290
  },
3187
3291
  // @todo infer possible presets
3188
- presetStyle: {}
3292
+ presetStyle: {},
3293
+ initialProps: ["selector"],
3294
+ props: {
3295
+ selector: {
3296
+ required: true,
3297
+ type: "string",
3298
+ control: "select",
3299
+ options: [
3300
+ " p",
3301
+ " h1",
3302
+ " h2",
3303
+ " h3",
3304
+ " h4",
3305
+ " h5",
3306
+ " h6",
3307
+ " :where(strong, b)",
3308
+ " :where(em, i)",
3309
+ " a",
3310
+ " img",
3311
+ " blockquote",
3312
+ " code",
3313
+ " :where(ul, ol)",
3314
+ " li",
3315
+ " hr"
3316
+ ]
3317
+ }
3318
+ }
3189
3319
  };
3190
3320
  var blockComponent = "ws:block";
3191
3321
  var blockTemplateComponent = "ws:block-template";
@@ -4288,6 +4418,7 @@ var generateJsxElement = ({
4288
4418
  context = "jsx",
4289
4419
  scope,
4290
4420
  metas,
4421
+ tagsOverrides,
4291
4422
  instance,
4292
4423
  props,
4293
4424
  dataSources,
@@ -4300,7 +4431,8 @@ var generateJsxElement = ({
4300
4431
  if (instance.component === descendantComponent) {
4301
4432
  return "";
4302
4433
  }
4303
- const hasTags = Object.keys(((_a2 = metas.get(instance.component)) == null ? void 0 : _a2.presetStyle) ?? {}).length > 0;
4434
+ const meta = metas.get(instance.component);
4435
+ const hasTags = Object.keys((meta == null ? void 0 : meta.presetStyle) ?? {}).length > 0;
4304
4436
  let generatedProps = "";
4305
4437
  const index = indexesWithinAncestors.get(instance.id);
4306
4438
  if (index !== void 0) {
@@ -4329,7 +4461,7 @@ ${tagProperty}=${JSON.stringify(instance.tag)}`;
4329
4461
  continue;
4330
4462
  }
4331
4463
  let name2 = prop.name;
4332
- if (instance.component === elementComponent || hasTags) {
4464
+ if (hasTags && !((_a2 = meta == null ? void 0 : meta.props) == null ? void 0 : _a2[prop.name])) {
4333
4465
  name2 = standardAttributesToReactProps[prop.name] ?? prop.name;
4334
4466
  }
4335
4467
  if (prop.name === showAttribute) {
@@ -4391,21 +4523,19 @@ ${name2}={${propValue}}`;
4391
4523
  `;
4392
4524
  } else if (instance.component === blockComponent) {
4393
4525
  generatedElement += children;
4394
- } else if (instance.component === elementComponent) {
4395
- const tagName = instance.tag ?? "div";
4396
- if (instance.children.length === 0) {
4397
- generatedElement += `<${tagName}${generatedProps} />
4398
- `;
4526
+ } else {
4527
+ let componentVariable;
4528
+ if (instance.component === elementComponent) {
4529
+ componentVariable = instance.tag ?? "div";
4530
+ const componentDescriptor = tagsOverrides == null ? void 0 : tagsOverrides[componentVariable];
4531
+ if (componentDescriptor !== void 0) {
4532
+ const [_importSource, importSpecifier] = componentDescriptor.split(":");
4533
+ componentVariable = scope.getName(componentDescriptor, importSpecifier);
4534
+ }
4399
4535
  } else {
4400
- generatedElement += `<${tagName}${generatedProps}>
4401
- `;
4402
- generatedElement += children;
4403
- generatedElement += `</${tagName}>
4404
- `;
4536
+ const [_namespace, shortName] = parseComponentName(instance.component);
4537
+ componentVariable = scope.getName(instance.component, shortName);
4405
4538
  }
4406
- } else {
4407
- const [_namespace, shortName] = parseComponentName(instance.component);
4408
- const componentVariable = scope.getName(instance.component, shortName);
4409
4539
  if (instance.children.length === 0) {
4410
4540
  generatedElement += `<${componentVariable}${generatedProps} />
4411
4541
  `;
@@ -4443,6 +4573,7 @@ ${name2}={${propValue}}`;
4443
4573
  var generateJsxChildren = ({
4444
4574
  scope,
4445
4575
  metas,
4576
+ tagsOverrides,
4446
4577
  children,
4447
4578
  instances,
4448
4579
  props,
@@ -4484,6 +4615,7 @@ var generateJsxChildren = ({
4484
4615
  context: "jsx",
4485
4616
  scope,
4486
4617
  metas,
4618
+ tagsOverrides,
4487
4619
  instance,
4488
4620
  props,
4489
4621
  dataSources,
@@ -4494,6 +4626,7 @@ var generateJsxChildren = ({
4494
4626
  classesMap,
4495
4627
  scope,
4496
4628
  metas,
4629
+ tagsOverrides,
4497
4630
  children: instance.children,
4498
4631
  instances,
4499
4632
  props,
@@ -4517,6 +4650,7 @@ var generateWebstudioComponent = ({
4517
4650
  props,
4518
4651
  dataSources,
4519
4652
  metas,
4653
+ tagsOverrides,
4520
4654
  classesMap
4521
4655
  }) => {
4522
4656
  const instance = instances.get(rootInstanceId);
@@ -4530,6 +4664,7 @@ var generateWebstudioComponent = ({
4530
4664
  context: "expression",
4531
4665
  scope,
4532
4666
  metas,
4667
+ tagsOverrides,
4533
4668
  instance,
4534
4669
  props,
4535
4670
  dataSources,
@@ -4539,6 +4674,7 @@ var generateWebstudioComponent = ({
4539
4674
  children: generateJsxChildren({
4540
4675
  scope,
4541
4676
  metas,
4677
+ tagsOverrides,
4542
4678
  children: instance.children,
4543
4679
  instances,
4544
4680
  props,
@@ -4714,24 +4850,29 @@ const htmlToJsx = (html2) => {
4714
4850
  }
4715
4851
  return result;
4716
4852
  };
4717
- const e$3 = {
4853
+ const o$H = {
4718
4854
  category: "general",
4719
4855
  description: "Slot is a container for content that you want to reference across the project. Changes made to a Slot's children will be reflected in all other instances of that Slot.",
4720
4856
  icon: SlotComponentIcon,
4721
4857
  order: 5
4722
4858
  };
4723
- const o$2 = {
4724
- icon: ""
4725
- };
4726
- const e$2 = {
4859
+ const t$e = {};
4860
+ const e$u = {
4861
+ className: {
4862
+ required: false,
4863
+ control: "text",
4864
+ type: "string",
4865
+ description: "Classes to which the element belongs"
4866
+ },
4727
4867
  clientOnly: { required: false, control: "boolean", type: "boolean" },
4868
+ code: { required: true, control: "text", type: "string" },
4728
4869
  executeScriptOnCanvas: {
4729
4870
  required: false,
4730
4871
  control: "boolean",
4731
4872
  type: "boolean"
4732
4873
  }
4733
4874
  };
4734
- const r$b = {
4875
+ const a$c = {
4735
4876
  category: "general",
4736
4877
  label: "HTML Embed",
4737
4878
  description: "Used to add HTML code to the page, such as an SVG or script.",
@@ -4752,19 +4893,37 @@ const r$b = {
4752
4893
  value: { type: "keyword", value: "collapse" }
4753
4894
  }
4754
4895
  ]
4755
- }
4756
- };
4757
- ({
4896
+ },
4897
+ initialProps: ["class", "clientOnly", "executeScriptOnCanvas"],
4758
4898
  props: {
4899
+ ...e$u,
4759
4900
  clientOnly: {
4760
- ...e$2.clientOnly
4901
+ ...e$u.clientOnly,
4902
+ description: "Activate it for any scripts that can mutate the DOM or introduce interactivity. This only affects the published site."
4761
4903
  },
4762
4904
  executeScriptOnCanvas: {
4763
- ...e$2.executeScriptOnCanvas
4905
+ ...e$u.executeScriptOnCanvas,
4906
+ label: "Run scripts on canvas",
4907
+ description: "Dangerously allow script execution on canvas without switching to preview mode. This only affects build mode, but may result in unwanted side effects inside builder!"
4908
+ },
4909
+ code: {
4910
+ required: true,
4911
+ control: "code",
4912
+ language: "html",
4913
+ type: "string"
4764
4914
  }
4765
4915
  }
4766
- });
4767
- const a$a = {
4916
+ };
4917
+ const e$t = {
4918
+ className: {
4919
+ required: false,
4920
+ control: "text",
4921
+ type: "string",
4922
+ description: "Classes to which the element belongs"
4923
+ },
4924
+ code: { required: true, control: "text", type: "string" }
4925
+ };
4926
+ const a$b = {
4768
4927
  icon: MarkdownEmbedIcon,
4769
4928
  contentModel: {
4770
4929
  category: "instance",
@@ -4781,6 +4940,16 @@ const a$a = {
4781
4940
  value: { type: "keyword", value: "collapse" }
4782
4941
  }
4783
4942
  ]
4943
+ },
4944
+ initialProps: ["class"],
4945
+ props: {
4946
+ ...e$t,
4947
+ code: {
4948
+ required: true,
4949
+ control: "code",
4950
+ language: "markdown",
4951
+ type: "string"
4952
+ }
4784
4953
  }
4785
4954
  };
4786
4955
  var div = [
@@ -4821,13 +4990,13 @@ var h3 = div;
4821
4990
  var h4 = div;
4822
4991
  var h5 = div;
4823
4992
  var h6 = div;
4824
- var i$7 = div;
4993
+ var i$b = div;
4825
4994
  var img = div;
4826
- var a$9 = div;
4995
+ var a$a = div;
4827
4996
  var li = div;
4828
4997
  var ul = div;
4829
4998
  var ol = div;
4830
- var p$a = div;
4999
+ var p$6 = div;
4831
5000
  var span = div;
4832
5001
  var body = [
4833
5002
  { property: "margin-top", value: { type: "unit", unit: "number", value: 0 } },
@@ -4882,7 +5051,7 @@ var hr = [
4882
5051
  value: { type: "unit", unit: "px", value: 1 }
4883
5052
  }
4884
5053
  ];
4885
- var b$7 = [
5054
+ var b$6 = [
4886
5055
  {
4887
5056
  property: "font-weight",
4888
5057
  value: { type: "unit", unit: "number", value: 700 }
@@ -5138,7 +5307,8 @@ var button = [
5138
5307
  { property: "text-transform", value: { type: "keyword", value: "none" } }
5139
5308
  ];
5140
5309
  var select = button;
5141
- const a$8 = {
5310
+ const o$G = {};
5311
+ const r$f = {
5142
5312
  body: [
5143
5313
  ...body,
5144
5314
  {
@@ -5150,15 +5320,18 @@ const a$8 = {
5150
5320
  value: { type: "keyword", value: "grayscale" }
5151
5321
  }
5152
5322
  ]
5153
- }, n$8 = {
5154
- icon: BodyIcon,
5323
+ }, i$a = {
5155
5324
  states: defaultStates,
5156
- presetStyle: a$8
5325
+ presetStyle: r$f,
5326
+ initialProps: ["id", "class"],
5327
+ props: o$G
5157
5328
  };
5158
- const v$3 = {
5329
+ const t$d = {
5330
+ tag: { required: false, control: "text", type: "string" }
5331
+ };
5332
+ const u$1 = {
5159
5333
  category: "general",
5160
5334
  description: "A container for content. By default this is a Div, but the tag can be changed in settings.",
5161
- icon: BoxIcon,
5162
5335
  states: defaultStates,
5163
5336
  presetStyle: {
5164
5337
  div,
@@ -5172,9 +5345,34 @@ const v$3 = {
5172
5345
  nav,
5173
5346
  section
5174
5347
  },
5175
- order: 0
5348
+ order: 0,
5349
+ initialProps: ["tag", "id", "class"],
5350
+ props: {
5351
+ ...t$d,
5352
+ tag: {
5353
+ required: true,
5354
+ control: "tag",
5355
+ type: "string",
5356
+ options: [
5357
+ "div",
5358
+ "header",
5359
+ "footer",
5360
+ "nav",
5361
+ "main",
5362
+ "section",
5363
+ "article",
5364
+ "aside",
5365
+ "address",
5366
+ "figure",
5367
+ "span"
5368
+ ]
5369
+ }
5370
+ }
5371
+ };
5372
+ const t$c = {
5373
+ tag: { required: false, control: "text", type: "string" }
5176
5374
  };
5177
- const n$7 = {
5375
+ const n$9 = {
5178
5376
  icon: TextIcon,
5179
5377
  states: defaultStates,
5180
5378
  presetStyle: {
@@ -5185,11 +5383,22 @@ const n$7 = {
5185
5383
  value: { type: "unit", unit: "em", value: 1 }
5186
5384
  }
5187
5385
  ]
5386
+ },
5387
+ initialProps: ["tag", "id", "class"],
5388
+ props: {
5389
+ ...t$c,
5390
+ tag: {
5391
+ required: true,
5392
+ control: "tag",
5393
+ type: "string",
5394
+ options: ["div", "cite", "figcaption", "span"]
5395
+ }
5188
5396
  }
5189
5397
  };
5190
- const d$6 = {
5191
- placeholder: "Heading",
5192
- icon: HeadingIcon,
5398
+ const t$b = {
5399
+ tag: { required: false, control: "text", type: "string" }
5400
+ };
5401
+ const n$8 = {
5193
5402
  states: defaultStates,
5194
5403
  presetStyle: {
5195
5404
  h1,
@@ -5198,28 +5407,59 @@ const d$6 = {
5198
5407
  h4,
5199
5408
  h5,
5200
5409
  h6
5410
+ },
5411
+ initialProps: ["tag", "id", "class"],
5412
+ props: {
5413
+ ...t$b,
5414
+ tag: {
5415
+ required: true,
5416
+ control: "tag",
5417
+ type: "string",
5418
+ options: ["h1", "h2", "h3", "h4", "h5", "h6"]
5419
+ }
5201
5420
  }
5202
5421
  };
5203
- const p$9 = {
5204
- p: p$a
5205
- }, c$5 = {
5206
- placeholder: "Paragraph",
5207
- icon: TextAlignLeftIcon,
5422
+ const o$F = {};
5423
+ const i$9 = {
5208
5424
  states: defaultStates,
5209
- presetStyle: p$9
5425
+ presetStyle: { p: p$6 },
5426
+ initialProps: ["id", "class"],
5427
+ props: o$F
5210
5428
  };
5211
- const a$7 = {
5429
+ const e$s = {
5430
+ download: {
5431
+ required: false,
5432
+ control: "boolean",
5433
+ type: "boolean",
5434
+ description: "Whether to download the resource instead of navigating to it, and its filename if so"
5435
+ },
5436
+ prefetch: {
5437
+ required: false,
5438
+ control: "select",
5439
+ type: "string",
5440
+ options: ["none", "intent", "render", "viewport"]
5441
+ },
5442
+ preventScrollReset: { required: false, control: "boolean", type: "boolean" },
5443
+ reloadDocument: { required: false, control: "boolean", type: "boolean" },
5444
+ replace: { required: false, control: "boolean", type: "boolean" },
5445
+ target: {
5446
+ required: false,
5447
+ control: "select",
5448
+ type: "string",
5449
+ options: ["_self", "_blank", "_parent", "_top"],
5450
+ description: "Navigable for form submission"
5451
+ }
5452
+ };
5453
+ const o$E = {
5212
5454
  a: [
5213
- ...a$9,
5455
+ ...a$a,
5214
5456
  {
5215
5457
  property: "display",
5216
5458
  value: { type: "keyword", value: "inline-block" }
5217
5459
  }
5218
5460
  ]
5219
- }, n$6 = {
5220
- placeholder: "Link",
5221
- icon: LinkIcon,
5222
- presetStyle: a$7,
5461
+ }, p$5 = {
5462
+ presetStyle: o$E,
5223
5463
  states: [
5224
5464
  ...defaultStates,
5225
5465
  {
@@ -5231,67 +5471,82 @@ const a$7 = {
5231
5471
  selector: "[aria-current=page]",
5232
5472
  label: "Current page"
5233
5473
  }
5234
- ]
5474
+ ],
5475
+ initialProps: ["id", "class", "href", "target", "prefetch", "download"],
5476
+ props: {
5477
+ ...e$s,
5478
+ href: {
5479
+ type: "string",
5480
+ control: "url",
5481
+ required: false
5482
+ }
5483
+ }
5235
5484
  };
5236
- const p$8 = n$6;
5237
- const e$1 = {
5238
- span
5239
- }, n$5 = {
5485
+ const a$9 = p$5;
5486
+ const o$D = {};
5487
+ const m$7 = {
5240
5488
  label: "Text",
5241
5489
  icon: PaintBrushIcon,
5242
5490
  states: defaultStates,
5243
- presetStyle: e$1
5491
+ presetStyle: { span },
5492
+ initialProps: ["id", "class"],
5493
+ props: o$D
5244
5494
  };
5245
- const s$5 = {
5246
- b: b$7
5247
- }, l$5 = {
5495
+ const o$C = {};
5496
+ const a$8 = {
5248
5497
  label: "Bold Text",
5249
- icon: BoldIcon,
5250
5498
  states: defaultStates,
5251
- presetStyle: s$5
5499
+ presetStyle: { b: b$6 },
5500
+ initialProps: ["id", "class"],
5501
+ props: o$C
5252
5502
  };
5253
- const i$6 = {
5503
+ const o$B = {};
5504
+ const r$e = {
5254
5505
  i: [
5255
- ...i$7,
5506
+ ...i$b,
5256
5507
  {
5257
5508
  property: "font-style",
5258
5509
  value: { type: "keyword", value: "italic" }
5259
5510
  }
5260
5511
  ]
5261
- }, m$4 = {
5512
+ }, p$4 = {
5262
5513
  label: "Italic Text",
5263
- icon: TextItalicIcon,
5264
5514
  states: defaultStates,
5265
- presetStyle: i$6
5515
+ presetStyle: r$e,
5516
+ initialProps: ["id", "class"],
5517
+ props: o$B
5266
5518
  };
5267
- const s$4 = {
5268
- sup
5269
- }, c$4 = {
5519
+ const o$A = {};
5520
+ const i$8 = {
5270
5521
  label: "Superscript Text",
5271
- icon: SuperscriptIcon,
5272
5522
  states: defaultStates,
5273
- presetStyle: s$4
5523
+ presetStyle: { sup },
5524
+ initialProps: ["id", "class"],
5525
+ props: o$A
5274
5526
  };
5275
- const p$7 = {
5276
- sub
5277
- }, c$3 = {
5527
+ const o$z = {};
5528
+ const i$7 = {
5278
5529
  label: "Subscript Text",
5279
- icon: SubscriptIcon,
5280
5530
  states: defaultStates,
5281
- presetStyle: p$7
5531
+ presetStyle: { sub },
5532
+ initialProps: ["id", "class"],
5533
+ props: o$z
5282
5534
  };
5283
- const l$4 = {
5535
+ const o$y = {};
5536
+ const a$7 = {
5284
5537
  button
5285
- }, m$3 = {
5286
- icon: ButtonElementIcon,
5287
- presetStyle: l$4,
5538
+ }, i$6 = {
5539
+ presetStyle: a$7,
5288
5540
  states: [
5289
5541
  ...defaultStates,
5290
5542
  { selector: ":disabled", label: "Disabled" },
5291
5543
  { selector: ":enabled", label: "Enabled" }
5292
- ]
5544
+ ],
5545
+ initialProps: ["id", "class", "type", "aria-label"],
5546
+ props: o$y
5293
5547
  };
5294
- const r$a = {
5548
+ const o$x = {};
5549
+ const r$d = {
5295
5550
  input: [
5296
5551
  ...input,
5297
5552
  {
@@ -5299,12 +5554,11 @@ const r$a = {
5299
5554
  value: { type: "keyword", value: "block" }
5300
5555
  }
5301
5556
  ]
5302
- }, c$2 = {
5557
+ }, s$8 = {
5303
5558
  category: "forms",
5304
5559
  label: "Text Input",
5305
5560
  description: "A single-line text input for collecting string data from your users.",
5306
- icon: FormTextFieldIcon,
5307
- presetStyle: r$a,
5561
+ presetStyle: r$d,
5308
5562
  order: 3,
5309
5563
  states: [
5310
5564
  ...defaultStates,
@@ -5318,7 +5572,28 @@ const r$a = {
5318
5572
  //{ selector: ":enabled", label: "Enabled" },
5319
5573
  //{ selector: ":read-only", label: "Read Only" },
5320
5574
  //{ selector: ":read-write", label: "Read Write" },
5321
- ]
5575
+ ],
5576
+ initialProps: [
5577
+ "id",
5578
+ "class",
5579
+ "name",
5580
+ "value",
5581
+ "type",
5582
+ "placeholder",
5583
+ "required",
5584
+ "autofocus"
5585
+ ],
5586
+ props: o$x
5587
+ };
5588
+ const e$r = {
5589
+ state: {
5590
+ description: "Use this property to reveal the Success and Error states on the canvas so they can be styled. The Initial state is displayed when the page first opens. The Success and Error states are displayed depending on whether the Form submits successfully or unsuccessfully.",
5591
+ required: false,
5592
+ control: "radio",
5593
+ type: "string",
5594
+ defaultValue: "initial",
5595
+ options: ["initial", "success", "error"]
5596
+ }
5322
5597
  };
5323
5598
  const c$1 = {
5324
5599
  label: "Webhook Form",
@@ -5329,23 +5604,45 @@ const c$1 = {
5329
5604
  states: [
5330
5605
  { selector: "[data-state=error]", label: "Error" },
5331
5606
  { selector: "[data-state=success]", label: "Success" }
5332
- ]
5607
+ ],
5608
+ initialProps: ["id", "class", "state", "action"],
5609
+ props: {
5610
+ ...e$r,
5611
+ action: {
5612
+ type: "resource",
5613
+ control: "resource",
5614
+ description: "The URI of a program that processes the information submitted via the form.",
5615
+ required: false
5616
+ }
5617
+ }
5333
5618
  };
5334
- const s$3 = {
5619
+ const o$w = {};
5620
+ const o$v = {
5335
5621
  form: [
5336
5622
  ...form,
5337
5623
  { property: "min-height", value: { type: "unit", unit: "px", value: 20 } }
5338
5624
  ]
5339
- }, n$4 = {
5625
+ }, m$6 = {
5340
5626
  category: "forms",
5341
5627
  label: "Form",
5342
5628
  description: "Create filters, surveys, searches and more.",
5343
- icon: FormIcon,
5344
5629
  states: defaultStates,
5345
- presetStyle: s$3,
5346
- order: 0
5630
+ presetStyle: o$v,
5631
+ order: 0,
5632
+ initialProps: ["id", "class", "action"],
5633
+ props: o$w
5634
+ };
5635
+ const e$q = {
5636
+ optimize: {
5637
+ description: "Optimize the image for enhanced performance.",
5638
+ required: false,
5639
+ control: "boolean",
5640
+ type: "boolean",
5641
+ defaultValue: true
5642
+ },
5643
+ quality: { required: false, control: "number", type: "number" }
5347
5644
  };
5348
- const a$6 = {
5645
+ const r$c = {
5349
5646
  img: [
5350
5647
  ...img,
5351
5648
  // Otherwise on new image insert onto canvas it can overfit screen size multiple times
@@ -5367,15 +5664,35 @@ const a$6 = {
5367
5664
  value: { type: "keyword", value: "auto" }
5368
5665
  }
5369
5666
  ]
5370
- }, l$3 = {
5667
+ }, s$7 = {
5371
5668
  category: "media",
5372
5669
  description: "Add an image asset to the page. Webstudio automatically converts images to WebP or AVIF format and makes them responsive for best performance.",
5373
- icon: ImageIcon,
5374
5670
  states: defaultStates,
5375
- presetStyle: a$6,
5376
- order: 0
5671
+ presetStyle: r$c,
5672
+ order: 0,
5673
+ initialProps: [
5674
+ "id",
5675
+ "class",
5676
+ "src",
5677
+ "width",
5678
+ "height",
5679
+ "alt",
5680
+ "loading",
5681
+ "optimize"
5682
+ ],
5683
+ props: {
5684
+ ...e$q,
5685
+ // Automatically generated props don't have the right control.
5686
+ src: {
5687
+ type: "string",
5688
+ control: "file",
5689
+ label: "Source",
5690
+ required: false
5691
+ }
5692
+ }
5377
5693
  };
5378
- const r$9 = {
5694
+ const o$u = {};
5695
+ const p$3 = {
5379
5696
  blockquote: [
5380
5697
  {
5381
5698
  property: "margin-top",
@@ -5422,13 +5739,22 @@ const r$9 = {
5422
5739
  value: { type: "rgb", r: 226, g: 226, b: 226, alpha: 1 }
5423
5740
  }
5424
5741
  ]
5425
- }, i$5 = {
5426
- placeholder: "Blockquote",
5427
- icon: BlockquoteIcon,
5742
+ }, a$6 = {
5428
5743
  states: defaultStates,
5429
- presetStyle: r$9
5744
+ presetStyle: p$3,
5745
+ initialProps: ["id", "class", "cite"],
5746
+ props: o$u
5430
5747
  };
5431
- const a$5 = {
5748
+ const e$p = {
5749
+ ordered: {
5750
+ description: "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.",
5751
+ required: false,
5752
+ control: "boolean",
5753
+ type: "boolean",
5754
+ defaultValue: false
5755
+ }
5756
+ };
5757
+ const o$t = {
5432
5758
  ol: [
5433
5759
  ...ol,
5434
5760
  {
@@ -5459,20 +5785,21 @@ const a$5 = {
5459
5785
  value: { type: "keyword", value: "40px" }
5460
5786
  }
5461
5787
  ]
5462
- }, d$5 = {
5463
- icon: ListIcon,
5788
+ }, d$4 = {
5464
5789
  states: defaultStates,
5465
- presetStyle: a$5
5790
+ presetStyle: o$t,
5791
+ initialProps: ["id", "class", "ordered", "start", "reversed"],
5792
+ props: e$p
5466
5793
  };
5467
- const a$4 = {
5468
- placeholder: "List item",
5469
- icon: ListItemIcon,
5794
+ const o$s = {};
5795
+ const p$2 = {
5470
5796
  states: defaultStates,
5471
- presetStyle: {
5472
- li
5473
- }
5797
+ presetStyle: { li },
5798
+ initialProps: ["id", "class"],
5799
+ props: o$s
5474
5800
  };
5475
- const p$6 = {
5801
+ const o$r = {};
5802
+ const t$a = {
5476
5803
  hr: [
5477
5804
  ...hr,
5478
5805
  {
@@ -5500,15 +5827,19 @@ const p$6 = {
5500
5827
  value: { type: "keyword", value: "none" }
5501
5828
  }
5502
5829
  ]
5503
- }, n$3 = {
5830
+ }, y$2 = {
5504
5831
  category: "general",
5505
5832
  description: "Used to visually divide sections of content, helping to improve readability and organization within a webpage.",
5506
- icon: MinusIcon,
5507
5833
  states: defaultStates,
5508
- presetStyle: p$6,
5509
- order: 3
5834
+ presetStyle: t$a,
5835
+ order: 3,
5836
+ initialProps: ["id", "class"],
5837
+ props: o$r
5838
+ };
5839
+ const e$o = {
5840
+ code: { required: false, control: "text", type: "string" }
5510
5841
  };
5511
- const p$5 = {
5842
+ const p$1 = {
5512
5843
  code: [
5513
5844
  ...code,
5514
5845
  {
@@ -5536,7 +5867,7 @@ const p$5 = {
5536
5867
  value: { type: "rgb", r: 238, g: 238, b: 238, alpha: 1 }
5537
5868
  }
5538
5869
  ]
5539
- }, i$4 = {
5870
+ }, c = {
5540
5871
  category: "general",
5541
5872
  description: "Use this component when you want to display code as text on the page.",
5542
5873
  icon: BracesIcon,
@@ -5545,21 +5876,33 @@ const p$5 = {
5545
5876
  children: []
5546
5877
  },
5547
5878
  states: defaultStates,
5548
- presetStyle: p$5,
5549
- order: 5
5879
+ presetStyle: p$1,
5880
+ order: 5,
5881
+ initialProps: ["id", "class", "lang", "code"],
5882
+ props: {
5883
+ ...e$o,
5884
+ code: {
5885
+ required: true,
5886
+ control: "codetext",
5887
+ type: "string"
5888
+ }
5889
+ }
5550
5890
  };
5551
- const r$8 = {
5891
+ const o$q = {};
5892
+ const o$p = {
5552
5893
  label: [
5553
5894
  ...label,
5554
5895
  { property: "display", value: { type: "keyword", value: "block" } }
5555
5896
  ]
5556
- }, i$3 = {
5897
+ }, s$6 = {
5557
5898
  label: "Input Label",
5558
- icon: LabelIcon,
5559
5899
  states: defaultStates,
5560
- presetStyle: r$8
5900
+ presetStyle: o$p,
5901
+ initialProps: ["id", "class", "for"],
5902
+ props: o$q
5561
5903
  };
5562
- const l$2 = {
5904
+ const o$o = {};
5905
+ const t$9 = {
5563
5906
  textarea: [
5564
5907
  ...textarea,
5565
5908
  // resize doesn't work well while on canvas
@@ -5569,12 +5912,11 @@ const l$2 = {
5569
5912
  value: { type: "keyword", value: "block" }
5570
5913
  }
5571
5914
  ]
5572
- }, n$2 = {
5915
+ }, s$5 = {
5573
5916
  category: "forms",
5574
5917
  label: "Text Area",
5575
5918
  description: "A multi-line text input for collecting longer string data from your users.",
5576
- icon: FormTextAreaIcon,
5577
- presetStyle: l$2,
5919
+ presetStyle: t$9,
5578
5920
  order: 4,
5579
5921
  contentModel: {
5580
5922
  category: "instance",
@@ -5592,9 +5934,27 @@ const l$2 = {
5592
5934
  //{ selector: ":enabled", label: "Enabled" },
5593
5935
  //{ selector: ":read-only", label: "Read Only" },
5594
5936
  //{ selector: ":read-write", label: "Read Write" },
5595
- ]
5937
+ ],
5938
+ initialProps: [
5939
+ "id",
5940
+ "class",
5941
+ "name",
5942
+ "value",
5943
+ "placeholder",
5944
+ "required",
5945
+ "autofocus"
5946
+ ],
5947
+ props: o$o
5596
5948
  };
5597
- const a$3 = {
5949
+ const e$n = {
5950
+ value: {
5951
+ required: false,
5952
+ control: "text",
5953
+ type: "string",
5954
+ description: "Current value of the element"
5955
+ }
5956
+ };
5957
+ const i$5 = {
5598
5958
  input: [
5599
5959
  ...radio,
5600
5960
  {
@@ -5602,10 +5962,10 @@ const a$3 = {
5602
5962
  value: { type: "unit", unit: "em", value: 0.5 }
5603
5963
  }
5604
5964
  ]
5605
- }, s$2 = {
5965
+ }, s$4 = {
5606
5966
  label: "Radio",
5607
5967
  icon: RadioCheckedIcon,
5608
- presetStyle: a$3,
5968
+ presetStyle: i$5,
5609
5969
  states: [
5610
5970
  ...defaultStates,
5611
5971
  { selector: ":checked", label: "Checked" },
@@ -5616,9 +5976,19 @@ const a$3 = {
5616
5976
  //{ selector: ":enabled", label: "Enabled" },
5617
5977
  //{ selector: ":read-only", label: "Read Only" },
5618
5978
  //{ selector: ":read-write", label: "Read Write" },
5619
- ]
5979
+ ],
5980
+ initialProps: ["id", "class", "name", "value", "required", "checked"],
5981
+ props: e$n
5982
+ };
5983
+ const e$m = {
5984
+ value: {
5985
+ required: false,
5986
+ control: "text",
5987
+ type: "string",
5988
+ description: "Current value of the element"
5989
+ }
5620
5990
  };
5621
- const o$1 = {
5991
+ const o$n = {
5622
5992
  input: [
5623
5993
  ...checkbox,
5624
5994
  {
@@ -5626,9 +5996,9 @@ const o$1 = {
5626
5996
  value: { type: "unit", unit: "em", value: 0.5 }
5627
5997
  }
5628
5998
  ]
5629
- }, d$4 = {
5999
+ }, d$3 = {
5630
6000
  icon: CheckboxCheckedIcon,
5631
- presetStyle: o$1,
6001
+ presetStyle: o$n,
5632
6002
  states: [
5633
6003
  ...defaultStates,
5634
6004
  { selector: ":checked", label: "Checked" },
@@ -5638,9 +6008,196 @@ const o$1 = {
5638
6008
  { selector: ":enabled", label: "Enabled" },
5639
6009
  { selector: ":read-only", label: "Read Only" },
5640
6010
  { selector: ":read-write", label: "Read Write" }
5641
- ]
6011
+ ],
6012
+ initialProps: ["id", "class", "name", "value", "required", "checked"],
6013
+ props: e$m
5642
6014
  };
5643
- const m$2 = {
6015
+ const e$l = {
6016
+ autopause: {
6017
+ description: "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.",
6018
+ required: false,
6019
+ control: "boolean",
6020
+ type: "boolean",
6021
+ defaultValue: true
6022
+ },
6023
+ autopip: {
6024
+ description: "Whether to enable the browser to enter picture-in-picture mode automatically when switching tabs or windows, where supported.",
6025
+ required: false,
6026
+ control: "boolean",
6027
+ type: "boolean"
6028
+ },
6029
+ autoplay: {
6030
+ description: "Whether to start playback of the video automatically. This feature might not work on all devices.\nSome browsers require the `muted` parameter to be set to `true` for autoplay to work.",
6031
+ required: false,
6032
+ control: "boolean",
6033
+ type: "boolean",
6034
+ defaultValue: false
6035
+ },
6036
+ backgroundMode: {
6037
+ description: "Whether the player is in background mode, which hides the playback controls, enables autoplay, and loops the video.",
6038
+ required: false,
6039
+ control: "boolean",
6040
+ type: "boolean"
6041
+ },
6042
+ controlsColor: {
6043
+ description: "A color value of the playback controls, which is normally #00ADEF. The embed settings of the video might override this value.",
6044
+ required: false,
6045
+ control: "color",
6046
+ type: "string"
6047
+ },
6048
+ doNotTrack: {
6049
+ description: "Whether to prevent the player from tracking session data, including cookies. Keep in mind that setting this argument to true also blocks video stats.",
6050
+ required: false,
6051
+ control: "boolean",
6052
+ type: "boolean",
6053
+ defaultValue: false
6054
+ },
6055
+ interactiveParams: {
6056
+ description: "Key-value pairs representing dynamic parameters that are utilized on interactive videos with live elements, such as title=my-video,subtitle=interactive.",
6057
+ required: false,
6058
+ control: "text",
6059
+ type: "string"
6060
+ },
6061
+ keyboard: {
6062
+ description: "Whether to enable keyboard input to trigger player events. This setting doesn't affect tab control.",
6063
+ required: false,
6064
+ control: "boolean",
6065
+ type: "boolean",
6066
+ defaultValue: true
6067
+ },
6068
+ loading: {
6069
+ description: "Not a Vimeo attribute: Loading attribute for the iframe allows to eager or lazy load the source",
6070
+ required: false,
6071
+ control: "radio",
6072
+ type: "string",
6073
+ defaultValue: "lazy",
6074
+ options: ["eager", "lazy"]
6075
+ },
6076
+ loop: {
6077
+ description: "Whether to restart the video automatically after reaching the end.",
6078
+ required: false,
6079
+ control: "boolean",
6080
+ type: "boolean",
6081
+ defaultValue: false
6082
+ },
6083
+ muted: {
6084
+ description: "Whether the video is muted upon loading. The true value is required for the autoplay behavior in some browsers.",
6085
+ required: false,
6086
+ control: "boolean",
6087
+ type: "boolean",
6088
+ defaultValue: false
6089
+ },
6090
+ pip: {
6091
+ description: "Whether to include the picture-in-picture button among the player controls and enable the picture-in-picture API.",
6092
+ required: false,
6093
+ control: "boolean",
6094
+ type: "boolean",
6095
+ defaultValue: false
6096
+ },
6097
+ playsinline: {
6098
+ description: "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.",
6099
+ required: false,
6100
+ control: "boolean",
6101
+ type: "boolean",
6102
+ defaultValue: false
6103
+ },
6104
+ quality: {
6105
+ description: "For videos on a Vimeo Plus account or higher: the playback quality of the video. Use auto for the best possible quality given available bandwidth and other factors. You can also specify 360p, 540p, 720p, 1080p, 2k, and 4k.",
6106
+ required: false,
6107
+ control: "select",
6108
+ type: "string",
6109
+ defaultValue: "auto",
6110
+ options: ["auto", "360p", "540p", "720p", "1080p", "2k", "4k"]
6111
+ },
6112
+ responsive: {
6113
+ description: "Whether to return a responsive embed code, or one that provides intelligent adjustments based on viewing conditions. We recommend this option for mobile-optimized sites.",
6114
+ required: false,
6115
+ control: "boolean",
6116
+ type: "boolean",
6117
+ defaultValue: true
6118
+ },
6119
+ showByline: {
6120
+ description: "Whether to display the video owner's name.",
6121
+ required: false,
6122
+ control: "boolean",
6123
+ type: "boolean",
6124
+ defaultValue: false
6125
+ },
6126
+ showControls: {
6127
+ description: "Whether to display the player's interactive elements, including the play bar and sharing buttons. Set this option to false for a chromeless experience. To control playback when the play/pause button is hidden, set autoplay to true, use keyboard controls (which remain active), or implement our player SDK.",
6128
+ required: false,
6129
+ control: "boolean",
6130
+ type: "boolean",
6131
+ defaultValue: true
6132
+ },
6133
+ showPortrait: {
6134
+ description: "Whether to display the video owner's portrait. Only works if either title or byline are also enabled",
6135
+ required: false,
6136
+ control: "boolean",
6137
+ type: "boolean",
6138
+ defaultValue: true
6139
+ },
6140
+ showPreview: {
6141
+ description: "Not a Vimeo attribute: Whether the preview image should be loaded from Vimeo API. Ideally don't use it, because it will show up with some delay and will make your project feel slower.",
6142
+ required: false,
6143
+ control: "boolean",
6144
+ type: "boolean",
6145
+ defaultValue: false
6146
+ },
6147
+ showTitle: {
6148
+ description: "Whether the player displays the title overlay.",
6149
+ required: false,
6150
+ control: "boolean",
6151
+ type: "boolean",
6152
+ defaultValue: false
6153
+ },
6154
+ speed: {
6155
+ description: "Whether the player displays speed controls in the preferences menu and enables the playback rate API.",
6156
+ required: false,
6157
+ control: "boolean",
6158
+ type: "boolean",
6159
+ defaultValue: false
6160
+ },
6161
+ texttrack: {
6162
+ description: `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.
6163
+ To 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.`,
6164
+ required: false,
6165
+ control: "text",
6166
+ type: "string"
6167
+ },
6168
+ transparent: {
6169
+ description: "Whether the responsive player and transparent background are enabled.",
6170
+ required: false,
6171
+ control: "boolean",
6172
+ type: "boolean",
6173
+ defaultValue: true
6174
+ },
6175
+ url: {
6176
+ description: "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.",
6177
+ required: false,
6178
+ control: "text",
6179
+ type: "string"
6180
+ }
6181
+ };
6182
+ const r$b = [
6183
+ "id",
6184
+ "className",
6185
+ "url",
6186
+ "title",
6187
+ "quality",
6188
+ "loading",
6189
+ "showPreview",
6190
+ "autoplay",
6191
+ "doNotTrack",
6192
+ "loop",
6193
+ "muted",
6194
+ "showPortrait",
6195
+ "showByline",
6196
+ "showTitle",
6197
+ "showControls",
6198
+ "controlsColor",
6199
+ "playsinline"
6200
+ ], m$5 = {
5644
6201
  icon: VimeoIcon,
5645
6202
  states: defaultStates,
5646
6203
  contentModel: {
@@ -5648,79 +6205,645 @@ const m$2 = {
5648
6205
  children: ["instance"],
5649
6206
  descendants: ["VimeoSpinner", "VimeoPlayButton", "VimeoPreviewImage"]
5650
6207
  },
5651
- presetStyle: {
5652
- div
5653
- }
6208
+ presetStyle: { div },
6209
+ initialProps: r$b,
6210
+ props: e$l
5654
6211
  };
5655
- const p$4 = {
5656
- icon: YoutubeIcon,
5657
- states: defaultStates,
5658
- contentModel: {
5659
- category: "instance",
5660
- children: ["instance"],
5661
- descendants: ["VimeoSpinner", "VimeoPlayButton", "VimeoPreviewImage"]
6212
+ const e$k = {
6213
+ allowFullscreen: {
6214
+ description: "Whether to allow fullscreen mode.\nOriginal parameter: `fs`",
6215
+ required: false,
6216
+ control: "boolean",
6217
+ type: "boolean",
6218
+ defaultValue: true
5662
6219
  },
5663
- presetStyle: {
5664
- div
5665
- }
5666
- };
5667
- const p$3 = {
5668
- ...l$3,
5669
- category: "hidden",
5670
- label: "Preview Image",
5671
- contentModel: {
5672
- category: "none",
5673
- children: []
5674
- }
5675
- };
5676
- const m$1 = {
5677
- category: "hidden",
5678
- label: "Play Button",
5679
- icon: ButtonElementIcon,
5680
- states: defaultStates,
5681
- contentModel: {
5682
- category: "none",
5683
- children: ["instance"]
6220
+ autoplay: {
6221
+ description: "Whether the video should autoplay.\nSome browsers require the `muted` parameter to be set to `true` for autoplay to work.",
6222
+ required: false,
6223
+ control: "boolean",
6224
+ type: "boolean",
6225
+ defaultValue: false
5684
6226
  },
5685
- presetStyle: {
5686
- button
5687
- }
5688
- };
5689
- const s$1 = {
5690
- icon: BoxIcon,
5691
- states: defaultStates,
6227
+ captionLanguage: {
6228
+ description: "Specifies the default language that the player will use to display captions.\nThe value is an ISO 639-1 two-letter language code.\nOriginal parameter: `cc_lang_pref`",
6229
+ required: false,
6230
+ control: "text",
6231
+ type: "string"
6232
+ },
6233
+ color: {
6234
+ description: `Specifies the color that will be used in the player's video progress bar to highlight the amount of the video that the viewer has already seen.
6235
+ Valid values are 'red' and 'white'.`,
6236
+ required: false,
6237
+ control: "radio",
6238
+ type: "string",
6239
+ options: ["red", "white"]
6240
+ },
6241
+ disableKeyboard: {
6242
+ description: "Whether to disable keyboard controls.\nOriginal parameter: `disablekb`",
6243
+ required: false,
6244
+ control: "boolean",
6245
+ type: "boolean",
6246
+ defaultValue: false
6247
+ },
6248
+ endTime: {
6249
+ description: "End time of the video in seconds.\nOriginal parameter: `end`",
6250
+ required: false,
6251
+ control: "number",
6252
+ type: "number"
6253
+ },
6254
+ inline: {
6255
+ description: "Whether to play inline on mobile (not fullscreen).",
6256
+ required: false,
6257
+ control: "boolean",
6258
+ type: "boolean",
6259
+ defaultValue: false
6260
+ },
6261
+ keyboard: {
6262
+ description: "Whether to enable keyboard controls.",
6263
+ required: false,
6264
+ control: "boolean",
6265
+ type: "boolean",
6266
+ defaultValue: true
6267
+ },
6268
+ language: {
6269
+ description: "Sets the player's interface language. The value is an ISO 639-1 two-letter language code or a fully specified locale.\nOriginal parameter: `hl`",
6270
+ required: false,
6271
+ control: "text",
6272
+ type: "string"
6273
+ },
6274
+ listId: {
6275
+ description: "ID of the playlist to load.\nOriginal parameter: `list`",
6276
+ required: false,
6277
+ control: "text",
6278
+ type: "string"
6279
+ },
6280
+ listType: {
6281
+ description: "Type of playlist to load.",
6282
+ required: false,
6283
+ control: "radio",
6284
+ type: "string",
6285
+ options: ["playlist", "user_uploads"]
6286
+ },
6287
+ loading: {
6288
+ description: "Loading strategy for iframe",
6289
+ required: false,
6290
+ control: "radio",
6291
+ type: "string",
6292
+ defaultValue: "lazy",
6293
+ options: ["eager", "lazy"]
6294
+ },
6295
+ loop: {
6296
+ description: "Whether the video should loop continuously.",
6297
+ required: false,
6298
+ control: "boolean",
6299
+ type: "boolean",
6300
+ defaultValue: false
6301
+ },
6302
+ muted: {
6303
+ description: "Whether the video should start muted.\nUseful for enabling autoplay in browsers that require videos to be muted.\nOriginal parameter: `mute`",
6304
+ required: false,
6305
+ control: "boolean",
6306
+ type: "boolean",
6307
+ defaultValue: false
6308
+ },
6309
+ origin: {
6310
+ description: "Your domain for API compliance (e.g., `https://yourdomain.com`).",
6311
+ required: false,
6312
+ control: "text",
6313
+ type: "string"
6314
+ },
6315
+ playlist: {
6316
+ description: "This parameter specifies a comma-separated list of video IDs to play",
6317
+ required: false,
6318
+ control: "text",
6319
+ type: "string"
6320
+ },
6321
+ privacyEnhancedMode: {
6322
+ description: `The Privacy Enhanced Mode of the YouTube embedded player prevents the use of views of embedded YouTube content from influencing the viewer’s browsing experience on YouTube.
6323
+ https://support.google.com/youtube/answer/171780?hl=en#zippy=%2Cturn-on-privacy-enhanced-mode`,
6324
+ required: false,
6325
+ control: "boolean",
6326
+ type: "boolean",
6327
+ defaultValue: true
6328
+ },
6329
+ referrer: {
6330
+ description: "Referrer URL for tracking purposes.\nOriginal parameter: `widget_referrer`",
6331
+ required: false,
6332
+ control: "text",
6333
+ type: "string"
6334
+ },
6335
+ showAnnotations: {
6336
+ description: "Whether to show annotations on the video.\nOriginal parameter: `iv_load_policy`",
6337
+ required: false,
6338
+ control: "boolean",
6339
+ type: "boolean",
6340
+ defaultValue: true
6341
+ },
6342
+ showCaptions: {
6343
+ description: "Whether captions should be shown by default.\nOriginal parameter: `cc_load_policy`",
6344
+ required: false,
6345
+ control: "boolean",
6346
+ type: "boolean",
6347
+ defaultValue: false
6348
+ },
6349
+ showControls: {
6350
+ description: "Whether to show player controls.",
6351
+ required: false,
6352
+ control: "boolean",
6353
+ type: "boolean",
6354
+ defaultValue: true
6355
+ },
6356
+ showPreview: { required: false, control: "boolean", type: "boolean" },
6357
+ showRelatedVideos: {
6358
+ description: "Whether to show related videos at the end.\nOriginal parameter: `rel`",
6359
+ required: false,
6360
+ control: "boolean",
6361
+ type: "boolean",
6362
+ defaultValue: true
6363
+ },
6364
+ startTime: {
6365
+ description: "Start time of the video in seconds.\nOriginal parameter: `start`",
6366
+ required: false,
6367
+ control: "number",
6368
+ type: "number"
6369
+ },
6370
+ url: {
6371
+ description: "The YouTube video URL or ID",
6372
+ required: false,
6373
+ control: "text",
6374
+ type: "string"
6375
+ }
6376
+ };
6377
+ const n$7 = [
6378
+ "id",
6379
+ "className",
6380
+ "url",
6381
+ "privacyEnhancedMode",
6382
+ "title",
6383
+ "loading",
6384
+ "showPreview",
6385
+ "autoplay",
6386
+ "showControls",
6387
+ "showRelatedVideos",
6388
+ "keyboard",
6389
+ "loop",
6390
+ "inline",
6391
+ "allowFullscreen",
6392
+ "showCaptions",
6393
+ "showAnnotations",
6394
+ "startTime",
6395
+ "endTime",
6396
+ "disableKeyboard",
6397
+ "referrer",
6398
+ "listType",
6399
+ "listId",
6400
+ "origin",
6401
+ "captionLanguage",
6402
+ "language",
6403
+ "color",
6404
+ "playlist"
6405
+ ], d$2 = {
6406
+ icon: YoutubeIcon,
6407
+ states: defaultStates,
6408
+ contentModel: {
6409
+ category: "instance",
6410
+ children: ["instance"],
6411
+ descendants: ["VimeoSpinner", "VimeoPlayButton", "VimeoPreviewImage"]
6412
+ },
6413
+ presetStyle: { div },
6414
+ initialProps: n$7,
6415
+ props: e$k
6416
+ };
6417
+ const e$j = {
6418
+ optimize: {
6419
+ description: "Optimize the image for enhanced performance.",
6420
+ required: false,
6421
+ control: "boolean",
6422
+ type: "boolean"
6423
+ },
6424
+ quality: { required: false, control: "number", type: "number" }
6425
+ };
6426
+ const i$4 = {
6427
+ ...s$7,
6428
+ category: "hidden",
6429
+ label: "Preview Image",
6430
+ contentModel: {
6431
+ category: "none",
6432
+ children: []
6433
+ },
6434
+ initialProps: s$7.initialProps,
6435
+ props: {
6436
+ ...e$j,
6437
+ // Automatically generated props don't have the right control.
6438
+ src: {
6439
+ type: "string",
6440
+ control: "file",
6441
+ label: "Source",
6442
+ required: false
6443
+ }
6444
+ }
6445
+ };
6446
+ const o$m = {};
6447
+ const m$4 = {
6448
+ category: "hidden",
6449
+ label: "Play Button",
6450
+ icon: ButtonElementIcon,
6451
+ states: defaultStates,
6452
+ contentModel: {
6453
+ category: "none",
6454
+ children: ["instance"]
6455
+ },
6456
+ presetStyle: { button },
6457
+ initialProps: ["id", "class"],
6458
+ props: o$m
6459
+ };
6460
+ const o$l = {};
6461
+ const s$3 = {
6462
+ icon: BoxIcon,
6463
+ states: defaultStates,
5692
6464
  category: "hidden",
5693
6465
  label: "Spinner",
5694
6466
  contentModel: {
5695
6467
  category: "none",
5696
6468
  children: ["instance"]
5697
6469
  },
5698
- presetStyle: {
5699
- div
5700
- }
6470
+ presetStyle: { div },
6471
+ initialProps: ["id", "class"],
6472
+ props: o$l
5701
6473
  };
5702
- const i$2 = {
6474
+ const e$i = {
6475
+ href: {
6476
+ required: false,
6477
+ control: "text",
6478
+ type: "string",
6479
+ description: "Document base URL"
6480
+ },
6481
+ hreflang: {
6482
+ required: false,
6483
+ control: "text",
6484
+ type: "string",
6485
+ description: "Language of the linked resource"
6486
+ },
6487
+ rel: {
6488
+ required: false,
6489
+ control: "text",
6490
+ type: "string",
6491
+ description: "Relationship between the location in the document containing the hyperlink and the destination resource"
6492
+ },
6493
+ tag: { required: false, control: "text", type: "string", defaultValue: "" },
6494
+ xmlns: { required: false, control: "text", type: "string" },
6495
+ "xmlns:xhtml": { required: false, control: "text", type: "string" }
6496
+ };
6497
+ const m$3 = {
5703
6498
  category: "xml",
5704
6499
  order: 6,
5705
6500
  icon: XmlIcon,
5706
- description: "XML Node"
6501
+ description: "XML Node",
6502
+ initialProps: ["tag"],
6503
+ props: e$i
5707
6504
  };
5708
- const a$2 = {
6505
+ const e$h = {
6506
+ dateStyle: {
6507
+ required: false,
6508
+ control: "radio",
6509
+ type: "string",
6510
+ defaultValue: "short",
6511
+ options: ["long", "short"]
6512
+ },
6513
+ datetime: {
6514
+ required: false,
6515
+ control: "text",
6516
+ type: "string",
6517
+ defaultValue: "dateTime attribute is not set",
6518
+ description: "Machine-readable value"
6519
+ }
6520
+ };
6521
+ const a$5 = {
5709
6522
  category: "xml",
5710
6523
  description: "Converts machine-readable date and time to ISO format.",
5711
6524
  icon: CalendarIcon,
5712
- order: 7
6525
+ order: 7,
6526
+ initialProps: ["datetime", "dateStyle"],
6527
+ props: e$h
5713
6528
  };
5714
- const r$7 = {
5715
- time
5716
- }, s = {
6529
+ const e$g = {
6530
+ country: {
6531
+ required: false,
6532
+ control: "select",
6533
+ type: "string",
6534
+ defaultValue: "GB",
6535
+ options: [
6536
+ "AF",
6537
+ "AL",
6538
+ "DZ",
6539
+ "AS",
6540
+ "AD",
6541
+ "AO",
6542
+ "AI",
6543
+ "AQ",
6544
+ "AG",
6545
+ "AR",
6546
+ "AM",
6547
+ "AW",
6548
+ "AU",
6549
+ "AT",
6550
+ "AZ",
6551
+ "BS",
6552
+ "BH",
6553
+ "BD",
6554
+ "BB",
6555
+ "BY",
6556
+ "BE",
6557
+ "BZ",
6558
+ "BJ",
6559
+ "BM",
6560
+ "BT",
6561
+ "BO",
6562
+ "BA",
6563
+ "BW",
6564
+ "BR",
6565
+ "BN",
6566
+ "BG",
6567
+ "BF",
6568
+ "BI",
6569
+ "CV",
6570
+ "KH",
6571
+ "CM",
6572
+ "CA",
6573
+ "KY",
6574
+ "CF",
6575
+ "TD",
6576
+ "CL",
6577
+ "CN",
6578
+ "CO",
6579
+ "KM",
6580
+ "CG",
6581
+ "CD",
6582
+ "CR",
6583
+ "HR",
6584
+ "CU",
6585
+ "CY",
6586
+ "CZ",
6587
+ "DK",
6588
+ "DJ",
6589
+ "DM",
6590
+ "DO",
6591
+ "EC",
6592
+ "EG",
6593
+ "SV",
6594
+ "GQ",
6595
+ "ER",
6596
+ "EE",
6597
+ "SZ",
6598
+ "ET",
6599
+ "FJ",
6600
+ "FI",
6601
+ "FR",
6602
+ "GA",
6603
+ "GM",
6604
+ "GE",
6605
+ "DE",
6606
+ "GH",
6607
+ "GR",
6608
+ "GD",
6609
+ "GT",
6610
+ "GN",
6611
+ "GW",
6612
+ "GY",
6613
+ "HT",
6614
+ "HN",
6615
+ "HU",
6616
+ "IS",
6617
+ "IN",
6618
+ "ID",
6619
+ "IR",
6620
+ "IQ",
6621
+ "IE",
6622
+ "IL",
6623
+ "IT",
6624
+ "JM",
6625
+ "JP",
6626
+ "JO",
6627
+ "KZ",
6628
+ "KE",
6629
+ "KI",
6630
+ "KP",
6631
+ "KR",
6632
+ "KW",
6633
+ "KG",
6634
+ "LA",
6635
+ "LV",
6636
+ "LB",
6637
+ "LS",
6638
+ "LR",
6639
+ "LY",
6640
+ "LI",
6641
+ "LT",
6642
+ "LU",
6643
+ "MG",
6644
+ "MW",
6645
+ "MY",
6646
+ "MV",
6647
+ "ML",
6648
+ "MT",
6649
+ "MH",
6650
+ "MR",
6651
+ "MU",
6652
+ "MX",
6653
+ "FM",
6654
+ "MD",
6655
+ "MC",
6656
+ "MN",
6657
+ "ME",
6658
+ "MA",
6659
+ "MZ",
6660
+ "MM",
6661
+ "NA",
6662
+ "NR",
6663
+ "NP",
6664
+ "NL",
6665
+ "NZ",
6666
+ "NI",
6667
+ "NE",
6668
+ "NG",
6669
+ "NO",
6670
+ "OM",
6671
+ "PK",
6672
+ "PW",
6673
+ "PA",
6674
+ "PG",
6675
+ "PY",
6676
+ "PE",
6677
+ "PH",
6678
+ "PL",
6679
+ "PT",
6680
+ "QA",
6681
+ "RO",
6682
+ "RU",
6683
+ "RW",
6684
+ "KN",
6685
+ "LC",
6686
+ "VC",
6687
+ "WS",
6688
+ "SM",
6689
+ "ST",
6690
+ "SA",
6691
+ "SN",
6692
+ "RS",
6693
+ "SC",
6694
+ "SL",
6695
+ "SG",
6696
+ "SK",
6697
+ "SI",
6698
+ "SB",
6699
+ "SO",
6700
+ "ZA",
6701
+ "SS",
6702
+ "ES",
6703
+ "LK",
6704
+ "SD",
6705
+ "SR",
6706
+ "SE",
6707
+ "CH",
6708
+ "SY",
6709
+ "TW",
6710
+ "TJ",
6711
+ "TZ",
6712
+ "TH",
6713
+ "TL",
6714
+ "TG",
6715
+ "TO",
6716
+ "TT",
6717
+ "TN",
6718
+ "TR",
6719
+ "TM",
6720
+ "TV",
6721
+ "UG",
6722
+ "UA",
6723
+ "AE",
6724
+ "GB",
6725
+ "US",
6726
+ "UY",
6727
+ "UZ",
6728
+ "VU",
6729
+ "VA",
6730
+ "VE",
6731
+ "VN",
6732
+ "YE",
6733
+ "ZM",
6734
+ "ZW"
6735
+ ]
6736
+ },
6737
+ dateStyle: {
6738
+ required: false,
6739
+ control: "select",
6740
+ type: "string",
6741
+ defaultValue: "medium",
6742
+ options: ["full", "long", "medium", "short", "none"]
6743
+ },
6744
+ language: {
6745
+ required: false,
6746
+ control: "select",
6747
+ type: "string",
6748
+ defaultValue: "en",
6749
+ options: [
6750
+ "hr",
6751
+ "th",
6752
+ "tr",
6753
+ "id",
6754
+ "is",
6755
+ "cy",
6756
+ "fr",
6757
+ "af",
6758
+ "am",
6759
+ "ar",
6760
+ "az",
6761
+ "be",
6762
+ "bg",
6763
+ "bn",
6764
+ "bs",
6765
+ "ca",
6766
+ "cs",
6767
+ "da",
6768
+ "de",
6769
+ "el",
6770
+ "en",
6771
+ "es",
6772
+ "et",
6773
+ "eu",
6774
+ "fa",
6775
+ "fi",
6776
+ "ga",
6777
+ "gl",
6778
+ "gu",
6779
+ "he",
6780
+ "hi",
6781
+ "hu",
6782
+ "hy",
6783
+ "it",
6784
+ "ja",
6785
+ "ka",
6786
+ "kk",
6787
+ "km",
6788
+ "kn",
6789
+ "ko",
6790
+ "ky",
6791
+ "lb",
6792
+ "lt",
6793
+ "lv",
6794
+ "mk",
6795
+ "ml",
6796
+ "mn",
6797
+ "mr",
6798
+ "ms",
6799
+ "mt",
6800
+ "nb",
6801
+ "nl",
6802
+ "nn",
6803
+ "pl",
6804
+ "pt",
6805
+ "ro",
6806
+ "ru",
6807
+ "si",
6808
+ "sk",
6809
+ "sl",
6810
+ "sq",
6811
+ "sr",
6812
+ "sv",
6813
+ "sw",
6814
+ "ta",
6815
+ "te",
6816
+ "uk",
6817
+ "ur",
6818
+ "uz",
6819
+ "vi",
6820
+ "zh"
6821
+ ]
6822
+ },
6823
+ timeStyle: {
6824
+ required: false,
6825
+ control: "select",
6826
+ type: "string",
6827
+ defaultValue: "none",
6828
+ options: ["full", "long", "medium", "short", "none"]
6829
+ }
6830
+ };
6831
+ const n$6 = {
5717
6832
  category: "localization",
5718
6833
  description: "Converts machine-readable date and time to a human-readable format.",
5719
- icon: CalendarIcon,
6834
+ contentModel: {
6835
+ category: "instance",
6836
+ children: []
6837
+ },
5720
6838
  states: defaultStates,
5721
- presetStyle: r$7
6839
+ presetStyle: {
6840
+ time
6841
+ },
6842
+ initialProps: ["datetime", "language", "country", "dateStyle", "timeStyle"],
6843
+ props: e$g
5722
6844
  };
5723
- const r$6 = {
6845
+ const o$k = {};
6846
+ const o$j = {
5724
6847
  select: [
5725
6848
  ...select,
5726
6849
  {
@@ -5728,9 +6851,8 @@ const r$6 = {
5728
6851
  value: { type: "keyword", value: "block" }
5729
6852
  }
5730
6853
  ]
5731
- }, c = {
5732
- icon: SelectIcon,
5733
- presetStyle: r$6,
6854
+ }, s$2 = {
6855
+ presetStyle: o$j,
5734
6856
  states: [
5735
6857
  ...defaultStates,
5736
6858
  { selector: "::placeholder", label: "Placeholder" },
@@ -5738,8 +6860,19 @@ const r$6 = {
5738
6860
  { selector: ":invalid", label: "Invalid" },
5739
6861
  { selector: ":required", label: "Required" },
5740
6862
  { selector: ":optional", label: "Optional" }
5741
- ]
6863
+ ],
6864
+ initialProps: [
6865
+ "id",
6866
+ "class",
6867
+ "name",
6868
+ "value",
6869
+ "multiple",
6870
+ "required",
6871
+ "autofocus"
6872
+ ],
6873
+ props: o$k
5742
6874
  };
6875
+ const o$i = {};
5743
6876
  const l$1 = {
5744
6877
  option: [
5745
6878
  {
@@ -5754,10 +6887,9 @@ const l$1 = {
5754
6887
  }
5755
6888
  }
5756
6889
  ]
5757
- }, r$5 = {
6890
+ }, a$4 = {
5758
6891
  category: "hidden",
5759
6892
  description: "An item within a drop-down menu that users can select as their chosen value.",
5760
- icon: ItemIcon,
5761
6893
  presetStyle: l$1,
5762
6894
  states: [
5763
6895
  // Applies when option is being activated (clicked)
@@ -5768,38 +6900,51 @@ const l$1 = {
5768
6900
  { selector: ":default", label: "Default" },
5769
6901
  { selector: ":hover", label: "Hover" },
5770
6902
  { selector: ":disabled", label: "Disabled" }
5771
- ]
6903
+ ],
6904
+ initialProps: ["label", "selected", "value", "label", "disabled"],
6905
+ props: o$i
5772
6906
  };
5773
- const r$4 = {
6907
+ const o$h = {};
6908
+ const r$a = {
5774
6909
  icon: HeaderIcon,
5775
6910
  description: "Inserts children into the head of the document",
5776
6911
  contentModel: {
5777
6912
  category: "instance",
5778
6913
  children: ["HeadLink", "HeadMeta", "HeadTitle"]
5779
- }
6914
+ },
6915
+ props: o$h
5780
6916
  };
5781
- const p$2 = {
6917
+ const o$g = {};
6918
+ const t$8 = {
5782
6919
  icon: ResourceIcon,
5783
6920
  contentModel: {
5784
6921
  category: "none",
5785
6922
  children: []
5786
- }
6923
+ },
6924
+ initialProps: ["rel", "hrefLang", "href", "type", "as"],
6925
+ props: o$g
5787
6926
  };
5788
- const p$1 = {
6927
+ const o$f = {};
6928
+ const e$f = {
5789
6929
  icon: WindowInfoIcon,
5790
6930
  contentModel: {
5791
6931
  category: "none",
5792
6932
  children: []
5793
- }
6933
+ },
6934
+ initialProps: ["name", "property", "content"],
6935
+ props: o$f
5794
6936
  };
5795
- const r$3 = {
6937
+ const o$e = {};
6938
+ const r$9 = {
5796
6939
  icon: WindowTitleIcon,
5797
6940
  contentModel: {
5798
6941
  category: "none",
5799
6942
  children: ["text"]
5800
- }
6943
+ },
6944
+ props: o$e
5801
6945
  };
5802
- const i$1 = {
6946
+ const o$d = {};
6947
+ const i$3 = {
5803
6948
  icon: VideoIcon,
5804
6949
  contentModel: {
5805
6950
  category: "instance",
@@ -5812,67 +6957,91 @@ const i$1 = {
5812
6957
  value: { type: "unit", unit: "%", value: 100 }
5813
6958
  }
5814
6959
  ]
6960
+ },
6961
+ initialProps: [
6962
+ "id",
6963
+ "class",
6964
+ "width",
6965
+ "height",
6966
+ "src",
6967
+ "autoPlay",
6968
+ "controls",
6969
+ "loop",
6970
+ "muted",
6971
+ "preload",
6972
+ "playsInline"
6973
+ ],
6974
+ props: {
6975
+ ...o$d,
6976
+ // Automatically generated props don't have the right control.
6977
+ src: {
6978
+ type: "string",
6979
+ control: "file",
6980
+ label: "Source",
6981
+ required: false,
6982
+ accept: ".mp4,.webm,.mpg,.mpeg,.mov"
6983
+ }
5815
6984
  }
5816
6985
  };
5817
6986
  const baseComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5818
6987
  __proto__: null,
5819
- Blockquote: i$5,
5820
- Body: n$8,
5821
- Bold: l$5,
5822
- Box: v$3,
5823
- Button: m$3,
5824
- Checkbox: d$4,
5825
- CodeText: i$4,
6988
+ Blockquote: a$6,
6989
+ Body: i$a,
6990
+ Bold: a$8,
6991
+ Box: u$1,
6992
+ Button: i$6,
6993
+ Checkbox: d$3,
6994
+ CodeText: c,
5826
6995
  Form: c$1,
5827
- Fragment: o$2,
5828
- HeadLink: p$2,
5829
- HeadMeta: p$1,
5830
- HeadSlot: r$4,
5831
- HeadTitle: r$3,
5832
- Heading: d$6,
5833
- HtmlEmbed: r$b,
5834
- Image: l$3,
5835
- Input: c$2,
5836
- Italic: m$4,
5837
- Label: i$3,
5838
- Link: n$6,
5839
- List: d$5,
5840
- ListItem: a$4,
5841
- MarkdownEmbed: a$a,
5842
- Option: r$5,
5843
- Paragraph: c$5,
5844
- RadioButton: s$2,
5845
- RemixForm: n$4,
5846
- RichTextLink: p$8,
5847
- Select: c,
5848
- Separator: n$3,
5849
- Slot: e$3,
5850
- Span: n$5,
5851
- Subscript: c$3,
5852
- Superscript: c$4,
5853
- Text: n$7,
5854
- Textarea: n$2,
5855
- Time: s,
5856
- Video: i$1,
5857
- Vimeo: m$2,
5858
- VimeoPlayButton: m$1,
5859
- VimeoPreviewImage: p$3,
5860
- VimeoSpinner: s$1,
5861
- XmlNode: i$2,
5862
- XmlTime: a$2,
5863
- YouTube: p$4
6996
+ Fragment: t$e,
6997
+ HeadLink: t$8,
6998
+ HeadMeta: e$f,
6999
+ HeadSlot: r$a,
7000
+ HeadTitle: r$9,
7001
+ Heading: n$8,
7002
+ HtmlEmbed: a$c,
7003
+ Image: s$7,
7004
+ Input: s$8,
7005
+ Italic: p$4,
7006
+ Label: s$6,
7007
+ Link: p$5,
7008
+ List: d$4,
7009
+ ListItem: p$2,
7010
+ MarkdownEmbed: a$b,
7011
+ Option: a$4,
7012
+ Paragraph: i$9,
7013
+ RadioButton: s$4,
7014
+ RemixForm: m$6,
7015
+ RichTextLink: a$9,
7016
+ Select: s$2,
7017
+ Separator: y$2,
7018
+ Slot: o$H,
7019
+ Span: m$7,
7020
+ Subscript: i$7,
7021
+ Superscript: i$8,
7022
+ Text: n$9,
7023
+ Textarea: s$5,
7024
+ Time: n$6,
7025
+ Video: i$3,
7026
+ Vimeo: m$5,
7027
+ VimeoPlayButton: m$4,
7028
+ VimeoPreviewImage: i$4,
7029
+ VimeoSpinner: s$3,
7030
+ XmlNode: m$3,
7031
+ XmlTime: a$5,
7032
+ YouTube: d$2
5864
7033
  }, Symbol.toStringTag, { value: "Module" }));
5865
- const n$1 = (t) => new Proxy(
7034
+ const n$5 = (t2) => new Proxy(
5866
7035
  {},
5867
7036
  {
5868
7037
  get(o2, e2) {
5869
- return `${t}${e2}`;
7038
+ return `${t2}${e2}`;
5870
7039
  }
5871
7040
  }
5872
- ), r$2 = n$1(
7041
+ ), r$8 = n$5(
5873
7042
  "@webstudio-is/sdk-components-animation:"
5874
7043
  );
5875
- const a$1 = {
7044
+ const a$3 = {
5876
7045
  category: "animations",
5877
7046
  description: "Animation Group component is designed to animate its children.",
5878
7047
  icon: AnimationGroupIcon,
@@ -5882,13 +7051,67 @@ const a$1 = {
5882
7051
  category: "instance",
5883
7052
  children: [
5884
7053
  "instance",
5885
- r$2.AnimateText,
5886
- r$2.StaggerAnimation,
5887
- r$2.VideoAnimation
7054
+ r$8.AnimateText,
7055
+ r$8.StaggerAnimation,
7056
+ r$8.VideoAnimation
5888
7057
  ]
7058
+ },
7059
+ initialProps: ["action"],
7060
+ props: {
7061
+ action: {
7062
+ required: false,
7063
+ control: "animationAction",
7064
+ type: "animationAction",
7065
+ description: "Animation Action"
7066
+ }
7067
+ }
7068
+ };
7069
+ const e$e = {
7070
+ className: {
7071
+ required: false,
7072
+ control: "text",
7073
+ type: "string",
7074
+ description: "Classes to which the element belongs"
7075
+ },
7076
+ easing: {
7077
+ description: "Easing function applied within the sliding window.",
7078
+ required: false,
7079
+ control: "select",
7080
+ type: "string",
7081
+ defaultValue: "linear",
7082
+ options: [
7083
+ "linear",
7084
+ "easeIn",
7085
+ "easeInCubic",
7086
+ "easeInQuart",
7087
+ "easeOut",
7088
+ "easeOutCubic",
7089
+ "easeOutQuart",
7090
+ "ease",
7091
+ "easeInOutCubic",
7092
+ "easeInOutQuart"
7093
+ ]
7094
+ },
7095
+ slidingWindow: {
7096
+ description: `Size of the sliding window for the animation:
7097
+ - 0: Typewriter effect (no animation).
7098
+ - (0..1]: Animates one part of the text at a time.
7099
+ - (1..n]: Animates multiple parts of the text within the sliding window.`,
7100
+ required: false,
7101
+ control: "number",
7102
+ type: "number",
7103
+ defaultValue: 5
7104
+ },
7105
+ splitBy: {
7106
+ description: "Defines how the text is split for animation (e.g., by character, space, or symbol).",
7107
+ required: false,
7108
+ control: "select",
7109
+ type: "string",
7110
+ defaultValue: "char",
7111
+ options: ["char", "space", 'symbol "#"', 'symbol "~"']
5889
7112
  }
5890
7113
  };
5891
- const a = {
7114
+ const a$2 = {
5892
7115
  category: "animations",
5893
7116
  description: "Text animation allows you to split text by char or by word to animate it.",
5894
7117
  icon: TextAnimationIcon,
@@ -5898,11 +7121,48 @@ const a = {
5898
7121
  category: "none",
5899
7122
  children: ["instance"]
5900
7123
  },
5901
- presetStyle: {
5902
- div
7124
+ presetStyle: { div },
7125
+ initialProps: ["slidingWindow", "easing", "splitBy"],
7126
+ props: e$e
7127
+ };
7128
+ const e$d = {
7129
+ className: {
7130
+ required: false,
7131
+ control: "text",
7132
+ type: "string",
7133
+ description: "Classes to which the element belongs"
7134
+ },
7135
+ easing: {
7136
+ description: "Easing function applied within the sliding window.",
7137
+ required: false,
7138
+ control: "select",
7139
+ type: "string",
7140
+ defaultValue: "linear",
7141
+ options: [
7142
+ "linear",
7143
+ "easeIn",
7144
+ "easeInCubic",
7145
+ "easeInQuart",
7146
+ "easeOut",
7147
+ "easeOutCubic",
7148
+ "easeOutQuart",
7149
+ "ease",
7150
+ "easeInOutCubic",
7151
+ "easeInOutQuart"
7152
+ ]
7153
+ },
7154
+ slidingWindow: {
7155
+ description: `Size of the sliding window for the animation:
7156
+ - 0: Typewriter effect (no animation).
7157
+ - (0..1]: Animates one child at a time.
7158
+ - (1..n]: Animates multiple children within the sliding window.`,
7159
+ required: false,
7160
+ control: "number",
7161
+ type: "number",
7162
+ defaultValue: 1
5903
7163
  }
5904
7164
  };
5905
- const r$1 = {
7165
+ const r$7 = {
5906
7166
  category: "animations",
5907
7167
  description: "Stagger animation allows you to animate children elements with a sliding window.",
5908
7168
  icon: StaggerAnimationIcon,
@@ -5912,63 +7172,75 @@ const r$1 = {
5912
7172
  category: "none",
5913
7173
  children: ["instance"]
5914
7174
  },
5915
- presetStyle: {
5916
- div
5917
- }
7175
+ presetStyle: { div },
7176
+ initialProps: ["slidingWindow", "easing"],
7177
+ props: e$d
5918
7178
  };
5919
- const p = {
7179
+ const e$c = {
7180
+ timeline: { required: false, control: "boolean", type: "boolean" }
7181
+ };
7182
+ const m$2 = {
5920
7183
  icon: PlayIcon,
5921
7184
  label: "Video Animation",
5922
7185
  contentModel: {
5923
7186
  category: "none",
5924
7187
  children: ["instance"]
5925
7188
  },
5926
- presetStyle: {
5927
- div
5928
- }
7189
+ presetStyle: { div },
7190
+ props: e$c,
7191
+ initialProps: ["timeline"]
5929
7192
  };
5930
7193
  const animationComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5931
7194
  __proto__: null,
5932
- AnimateChildren: a$1,
5933
- AnimateText: a,
5934
- StaggerAnimation: r$1,
5935
- VideoAnimation: p
7195
+ AnimateChildren: a$3,
7196
+ AnimateText: a$2,
7197
+ StaggerAnimation: r$7,
7198
+ VideoAnimation: m$2
5936
7199
  }, Symbol.toStringTag, { value: "Module" }));
5937
- const remixComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5938
- __proto__: null,
5939
- Body: n$8,
5940
- Form: c$1,
5941
- Link: n$6,
5942
- RemixForm: n$4,
5943
- RichTextLink: p$8
5944
- }, Symbol.toStringTag, { value: "Module" }));
5945
- const r = (t) => new Proxy(
7200
+ const r$6 = (t2) => new Proxy(
5946
7201
  {},
5947
7202
  {
5948
7203
  get(o2, e2) {
5949
- return `${t}${e2}`;
7204
+ return `${t2}${e2}`;
5950
7205
  }
5951
7206
  }
5952
- ), n = r(
7207
+ ), n$4 = r$6(
5953
7208
  "@webstudio-is/sdk-components-react-radix:"
5954
7209
  );
7210
+ const o$c = {
7211
+ disabled: {
7212
+ required: false,
7213
+ control: "boolean",
7214
+ type: "boolean",
7215
+ description: "Whether the form control is disabled"
7216
+ },
7217
+ open: {
7218
+ required: false,
7219
+ control: "boolean",
7220
+ type: "boolean",
7221
+ description: "Show or hide the content of this component on the canvas. This will not affect the initial state of the component."
7222
+ }
7223
+ }, e$b = {}, t$7 = {};
5955
7224
  const g$2 = {
5956
7225
  icon: CollapsibleIcon,
5957
7226
  contentModel: {
5958
7227
  category: "instance",
5959
7228
  children: ["instance"],
5960
- descendants: [n.CollapsibleTrigger, n.CollapsibleContent]
7229
+ descendants: [n$4.CollapsibleTrigger, n$4.CollapsibleContent]
5961
7230
  },
5962
7231
  presetStyle: {
5963
7232
  div
5964
- }
5965
- }, b$6 = {
7233
+ },
7234
+ initialProps: ["open"],
7235
+ props: o$c
7236
+ }, m$1 = {
5966
7237
  icon: TriggerIcon,
5967
7238
  contentModel: {
5968
7239
  category: "none",
5969
7240
  children: ["instance", "rich-text"]
5970
- }
5971
- }, d$3 = {
7241
+ },
7242
+ props: e$b
7243
+ }, d$1 = {
5972
7244
  icon: ContentIcon,
5973
7245
  contentModel: {
5974
7246
  category: "none",
@@ -5976,17 +7248,33 @@ const g$2 = {
5976
7248
  },
5977
7249
  presetStyle: {
5978
7250
  div
5979
- }
7251
+ },
7252
+ props: t$7
5980
7253
  };
5981
- const o = (r2, t, p2) => ({
7254
+ const o$b = {
7255
+ open: {
7256
+ required: false,
7257
+ control: "boolean",
7258
+ type: "boolean",
7259
+ description: "Show or hide the content of this component on the canvas. This will not affect the initial state of the component."
7260
+ }
7261
+ }, t$6 = {}, e$a = {}, n$3 = {}, s$1 = {}, i$2 = {
7262
+ tag: {
7263
+ required: false,
7264
+ control: "select",
7265
+ type: "string",
7266
+ options: ["h2", "h3", "h1", "h4", "h5", "h6"]
7267
+ }
7268
+ }, p = {};
7269
+ const o$a = (r2, t2, p2) => ({
5982
7270
  property: r2,
5983
- value: { type: "unit", unit: p2, value: t }
5984
- }), e = (r2, t) => ({
7271
+ value: { type: "unit", unit: p2, value: t2 }
7272
+ }), e$9 = (r2, t2) => ({
5985
7273
  property: r2,
5986
- value: { type: "keyword", value: t }
5987
- }), d$2 = (r2, t, p2, l2) => ({
7274
+ value: { type: "keyword", value: t2 }
7275
+ }), d = (r2, t2, p2, l2) => ({
5988
7276
  property: r2,
5989
- value: { type: "rgb", alpha: 1, r: t, g: p2, b: l2 }
7277
+ value: { type: "rgb", alpha: 1, r: t2, g: p2, b: l2 }
5990
7278
  }), b$5 = [
5991
7279
  {
5992
7280
  property: "background-color",
@@ -5996,72 +7284,69 @@ const o = (r2, t, p2) => ({
5996
7284
  property: "background-image",
5997
7285
  value: { type: "keyword", value: "none" }
5998
7286
  },
5999
- o("border-top-width", 0, "px"),
6000
- o("border-right-width", 0, "px"),
6001
- o("border-bottom-width", 0, "px"),
6002
- o("border-left-width", 0, "px"),
6003
- e("border-top-style", "solid"),
6004
- e("border-right-style", "solid"),
6005
- e("border-bottom-style", "solid"),
6006
- e("border-left-style", "solid"),
6007
- d$2("border-top-color", 226, 232, 240),
6008
- d$2("border-right-color", 226, 232, 240),
6009
- d$2("border-bottom-color", 226, 232, 240),
6010
- d$2("border-left-color", 226, 232, 240),
6011
- o("padding-top", 0, "px"),
6012
- o("padding-right", 0, "px"),
6013
- o("padding-bottom", 0, "px"),
6014
- o("padding-left", 0, "px")
7287
+ o$a("border-top-width", 0, "px"),
7288
+ o$a("border-right-width", 0, "px"),
7289
+ o$a("border-bottom-width", 0, "px"),
7290
+ o$a("border-left-width", 0, "px"),
7291
+ e$9("border-top-style", "solid"),
7292
+ e$9("border-right-style", "solid"),
7293
+ e$9("border-bottom-style", "solid"),
7294
+ e$9("border-left-style", "solid"),
7295
+ d("border-top-color", 226, 232, 240),
7296
+ d("border-right-color", 226, 232, 240),
7297
+ d("border-bottom-color", 226, 232, 240),
7298
+ d("border-left-color", 226, 232, 240),
7299
+ o$a("padding-top", 0, "px"),
7300
+ o$a("padding-right", 0, "px"),
7301
+ o$a("padding-bottom", 0, "px"),
7302
+ o$a("padding-left", 0, "px")
6015
7303
  ];
6016
7304
  const O = {
6017
7305
  icon: TriggerIcon,
6018
7306
  contentModel: {
6019
7307
  category: "none",
6020
7308
  children: ["instance"]
6021
- }
6022
- }, b$4 = {
7309
+ },
7310
+ props: t$6
7311
+ }, B = {
6023
7312
  icon: OverlayIcon,
6024
7313
  contentModel: {
6025
7314
  category: "none",
6026
7315
  children: ["instance"],
6027
- descendants: [n.DialogContent]
7316
+ descendants: [n$4.DialogContent]
6028
7317
  },
6029
- presetStyle: {
6030
- div
6031
- }
6032
- }, B = {
7318
+ presetStyle: { div },
7319
+ props: e$a
7320
+ }, E = {
6033
7321
  icon: ContentIcon,
6034
7322
  contentModel: {
6035
7323
  category: "none",
6036
7324
  children: ["instance"],
6037
7325
  descendants: [
6038
- n.DialogTitle,
6039
- n.DialogDescription,
6040
- n.DialogClose
7326
+ n$4.DialogTitle,
7327
+ n$4.DialogDescription,
7328
+ n$4.DialogClose
6041
7329
  ]
6042
7330
  },
6043
- presetStyle: {
6044
- div
6045
- }
6046
- }, E = {
7331
+ presetStyle: { div },
7332
+ props: n$3
7333
+ }, H$1 = {
6047
7334
  icon: HeadingIcon,
6048
7335
  contentModel: {
6049
7336
  category: "none",
6050
7337
  children: ["instance", "rich-text"]
6051
7338
  },
6052
- presetStyle: {
6053
- h2
6054
- }
6055
- }, H$1 = {
7339
+ presetStyle: { h2 },
7340
+ props: i$2
7341
+ }, R = {
6056
7342
  icon: TextIcon,
6057
7343
  contentModel: {
6058
7344
  category: "none",
6059
7345
  children: ["instance", "rich-text"]
6060
7346
  },
6061
- presetStyle: {
6062
- p: p$a
6063
- }
6064
- }, R = {
7347
+ presetStyle: { p: p$6 },
7348
+ props: p
7349
+ }, j = {
6065
7350
  icon: ButtonElementIcon,
6066
7351
  label: "Close Button",
6067
7352
  contentModel: {
@@ -6071,36 +7356,185 @@ const O = {
6071
7356
  states: defaultStates,
6072
7357
  presetStyle: {
6073
7358
  button: [b$5, button].flat()
6074
- }
6075
- }, j = {
7359
+ },
7360
+ props: s$1
7361
+ }, k$3 = {
6076
7362
  icon: DialogIcon,
6077
7363
  contentModel: {
6078
7364
  category: "instance",
6079
7365
  children: ["instance"],
6080
- descendants: [n.DialogTrigger, n.DialogOverlay]
6081
- }
7366
+ descendants: [n$4.DialogTrigger, n$4.DialogOverlay]
7367
+ },
7368
+ props: o$b
6082
7369
  };
6083
- const v$2 = {
7370
+ const e$8 = {
7371
+ open: {
7372
+ required: false,
7373
+ control: "boolean",
7374
+ type: "boolean",
7375
+ description: "Show or hide the content of this component on the canvas. This will not affect the initial state of the component."
7376
+ }
7377
+ }, o$9 = {}, t$5 = {
7378
+ align: {
7379
+ required: false,
7380
+ control: "radio",
7381
+ type: "string",
7382
+ defaultValue: "center",
7383
+ options: ["center", "start", "end"]
7384
+ },
7385
+ alignOffset: {
7386
+ required: false,
7387
+ control: "number",
7388
+ type: "number",
7389
+ description: "The offset in pixels from the “start“ or “end“ alignment options."
7390
+ },
7391
+ arrowPadding: { required: false, control: "number", type: "number" },
7392
+ avoidCollisions: { required: false, control: "boolean", type: "boolean" },
7393
+ hideWhenDetached: {
7394
+ required: false,
7395
+ control: "boolean",
7396
+ type: "boolean",
7397
+ defaultValue: true
7398
+ },
7399
+ side: {
7400
+ required: false,
7401
+ control: "select",
7402
+ type: "string",
7403
+ options: ["top", "right", "bottom", "left"],
7404
+ description: "The preferred alignment against the Trigger. May change when collisions occur."
7405
+ },
7406
+ sideOffset: {
7407
+ required: false,
7408
+ control: "number",
7409
+ type: "number",
7410
+ defaultValue: 4,
7411
+ description: "The distance in pixels between the Content and the Trigger."
7412
+ },
7413
+ sticky: {
7414
+ required: false,
7415
+ control: "radio",
7416
+ type: "string",
7417
+ options: ["partial", "always"]
7418
+ },
7419
+ updatePositionStrategy: {
7420
+ required: false,
7421
+ control: "radio",
7422
+ type: "string",
7423
+ options: ["always", "optimized"]
7424
+ }
7425
+ }, r$5 = {};
7426
+ const y$1 = {
6084
7427
  icon: TriggerIcon,
6085
7428
  contentModel: {
6086
7429
  category: "none",
6087
7430
  children: ["instance"]
6088
- }
6089
- }, d$1 = {
7431
+ },
7432
+ props: o$9
7433
+ }, h$2 = {
6090
7434
  icon: ContentIcon,
6091
7435
  contentModel: {
6092
7436
  category: "none",
6093
- children: ["instance"]
7437
+ children: ["instance"],
7438
+ descendants: [n$4.PopoverClose]
6094
7439
  },
6095
7440
  presetStyle: {
6096
7441
  div
6097
- }
6098
- }, l = {
7442
+ },
7443
+ initialProps: ["side", "sideOffset", "align", "alignOffset"],
7444
+ props: t$5
7445
+ }, b$4 = {
6099
7446
  icon: PopoverIcon,
6100
7447
  contentModel: {
6101
7448
  category: "instance",
6102
7449
  children: ["instance"],
6103
- descendants: [n.PopoverTrigger, n.PopoverContent]
7450
+ descendants: [n$4.PopoverTrigger, n$4.PopoverContent]
7451
+ },
7452
+ initialProps: ["open"],
7453
+ props: e$8
7454
+ }, I = {
7455
+ icon: ButtonElementIcon,
7456
+ label: "Close Button",
7457
+ contentModel: {
7458
+ category: "none",
7459
+ children: ["instance", "rich-text"]
7460
+ },
7461
+ states: defaultStates,
7462
+ presetStyle: {
7463
+ button: [b$5, button].flat()
7464
+ },
7465
+ props: r$5
7466
+ };
7467
+ const e$7 = {
7468
+ delayDuration: {
7469
+ description: "The delay before the Tooltip shows after the Trigger is hovered, in milliseconds. If no value is specified, the default is 700ms",
7470
+ required: false,
7471
+ control: "number",
7472
+ type: "number"
7473
+ },
7474
+ disableHoverableContent: {
7475
+ description: "When toggled, prevents the Tooltip content from showing when the Trigger is hovered.",
7476
+ required: false,
7477
+ control: "boolean",
7478
+ type: "boolean"
7479
+ },
7480
+ open: {
7481
+ required: false,
7482
+ control: "boolean",
7483
+ type: "boolean",
7484
+ description: "Show or hide the content of this component on the canvas. This will not affect the initial state of the component."
7485
+ }
7486
+ }, o$8 = {}, t$4 = {
7487
+ align: {
7488
+ required: false,
7489
+ control: "radio",
7490
+ type: "string",
7491
+ options: ["center", "start", "end"]
7492
+ },
7493
+ alignOffset: {
7494
+ required: false,
7495
+ control: "number",
7496
+ type: "number",
7497
+ description: "The offset in pixels from the “start“ or “end“ alignment options."
7498
+ },
7499
+ "aria-label": {
7500
+ description: "A more descriptive label for accessibility purpose",
7501
+ required: false,
7502
+ control: "text",
7503
+ type: "string"
7504
+ },
7505
+ arrowPadding: { required: false, control: "number", type: "number" },
7506
+ avoidCollisions: { required: false, control: "boolean", type: "boolean" },
7507
+ hideWhenDetached: {
7508
+ required: false,
7509
+ control: "boolean",
7510
+ type: "boolean",
7511
+ defaultValue: true
7512
+ },
7513
+ side: {
7514
+ required: false,
7515
+ control: "select",
7516
+ type: "string",
7517
+ options: ["top", "right", "bottom", "left"],
7518
+ description: "The preferred alignment against the Trigger. May change when collisions occur."
7519
+ },
7520
+ sideOffset: {
7521
+ required: false,
7522
+ control: "number",
7523
+ type: "number",
7524
+ defaultValue: 4,
7525
+ description: "The distance in pixels between the Content and the Trigger."
7526
+ },
7527
+ sticky: {
7528
+ required: false,
7529
+ control: "radio",
7530
+ type: "string",
7531
+ options: ["partial", "always"]
7532
+ },
7533
+ updatePositionStrategy: {
7534
+ required: false,
7535
+ control: "radio",
7536
+ type: "string",
7537
+ options: ["always", "optimized"]
6104
7538
  }
6105
7539
  };
6106
7540
  const g$1 = {
@@ -6108,48 +7542,108 @@ const g$1 = {
6108
7542
  contentModel: {
6109
7543
  category: "none",
6110
7544
  children: ["instance"]
6111
- }
6112
- }, d = {
7545
+ },
7546
+ props: o$8
7547
+ }, T = {
6113
7548
  icon: ContentIcon,
6114
7549
  contentModel: {
6115
7550
  category: "none",
6116
7551
  children: ["instance"]
6117
7552
  },
6118
- presetStyle: {
6119
- div
6120
- }
7553
+ presetStyle: { div },
7554
+ initialProps: ["side", "sideOffset", "align", "alignOffset"],
7555
+ props: t$4
6121
7556
  }, m = {
6122
7557
  icon: TooltipIcon,
6123
7558
  contentModel: {
6124
7559
  category: "instance",
6125
7560
  children: ["instance"],
6126
- descendants: [n.TooltipTrigger, n.TooltipContent]
7561
+ descendants: [n$4.TooltipTrigger, n$4.TooltipContent]
7562
+ },
7563
+ initialProps: ["open", "delayDuration", "disableHoverableContent"],
7564
+ props: e$7
7565
+ };
7566
+ const e$6 = {
7567
+ activationMode: {
7568
+ description: `Whether a tab is activated automatically or manually.
7569
+ @defaultValue automatic`,
7570
+ required: false,
7571
+ control: "radio",
7572
+ type: "string",
7573
+ options: ["automatic", "manual"]
7574
+ },
7575
+ defaultValue: {
7576
+ description: "The value of the tab to select by default, if uncontrolled",
7577
+ required: false,
7578
+ control: "text",
7579
+ type: "string"
7580
+ },
7581
+ dir: {
7582
+ description: "The direction of navigation between toolbar items.",
7583
+ required: false,
7584
+ control: "radio",
7585
+ type: "string",
7586
+ options: ["ltr", "rtl"]
7587
+ },
7588
+ orientation: {
7589
+ description: `The orientation the tabs are layed out.
7590
+ Mainly so arrow navigation is done accordingly (left & right vs. up & down)
7591
+ @defaultValue horizontal`,
7592
+ required: false,
7593
+ control: "radio",
7594
+ type: "string",
7595
+ options: ["horizontal", "vertical"]
7596
+ },
7597
+ value: {
7598
+ required: false,
7599
+ control: "text",
7600
+ type: "string",
7601
+ description: "Current value of the element"
7602
+ }
7603
+ }, t$3 = {
7604
+ loop: {
7605
+ required: false,
7606
+ control: "boolean",
7607
+ type: "boolean",
7608
+ description: "Whether to loop the media resource"
7609
+ }
7610
+ }, o$7 = {
7611
+ value: {
7612
+ required: false,
7613
+ control: "text",
7614
+ type: "string",
7615
+ description: "Current value of the element"
7616
+ }
7617
+ }, r$4 = {
7618
+ value: {
7619
+ required: false,
7620
+ control: "text",
7621
+ type: "string",
7622
+ description: "Current value of the element"
6127
7623
  }
6128
7624
  };
6129
- const M = {
7625
+ const x$2 = {
6130
7626
  icon: TabsIcon,
6131
7627
  contentModel: {
6132
7628
  category: "instance",
6133
7629
  children: ["instance"],
6134
- descendants: [n.TabsList, n.TabsContent]
7630
+ descendants: [n$4.TabsList, n$4.TabsContent]
6135
7631
  },
6136
- presetStyle: {
6137
- div
6138
- }
6139
- }, x$2 = {
7632
+ presetStyle: { div },
7633
+ props: e$6
7634
+ }, C$2 = {
6140
7635
  icon: HeaderIcon,
6141
7636
  contentModel: {
6142
7637
  category: "none",
6143
7638
  children: ["instance"],
6144
- descendants: [n.TabsTrigger]
7639
+ descendants: [n$4.TabsTrigger]
6145
7640
  },
6146
- presetStyle: {
6147
- div
6148
- }
6149
- }, C$2 = {
7641
+ presetStyle: { div },
7642
+ props: t$3
7643
+ }, S$2 = {
6150
7644
  icon: TriggerIcon,
6151
7645
  label: "Tab Trigger",
6152
- indexWithinAncestor: n.Tabs,
7646
+ indexWithinAncestor: n$4.Tabs,
6153
7647
  contentModel: {
6154
7648
  category: "none",
6155
7649
  children: ["instance", "rich-text"]
@@ -6164,55 +7658,115 @@ const M = {
6164
7658
  ],
6165
7659
  presetStyle: {
6166
7660
  button: [button, b$5].flat()
6167
- }
6168
- }, S$2 = {
7661
+ },
7662
+ props: o$7
7663
+ }, u = {
6169
7664
  label: "Tab Content",
6170
7665
  icon: ContentIcon,
6171
- indexWithinAncestor: n.Tabs,
7666
+ indexWithinAncestor: n$4.Tabs,
6172
7667
  contentModel: {
6173
7668
  category: "none",
6174
7669
  children: ["instance", "rich-text"]
6175
7670
  },
6176
- presetStyle: {
6177
- div
6178
- }
7671
+ presetStyle: { div },
7672
+ props: r$4
6179
7673
  };
6180
- const i = {
7674
+ const o$6 = {};
7675
+ const a$1 = {
6181
7676
  icon: LabelIcon,
6182
7677
  states: defaultStates,
6183
7678
  presetStyle: {
6184
7679
  label
6185
- }
7680
+ },
7681
+ initialProps: ["id", "class", "for"],
7682
+ props: o$6
6186
7683
  };
6187
- const v$1 = {
7684
+ const e$5 = {
7685
+ collapsible: {
7686
+ description: "Whether an accordion item can be collapsed after it has been opened.",
7687
+ required: false,
7688
+ control: "boolean",
7689
+ type: "boolean",
7690
+ defaultValue: false
7691
+ },
7692
+ defaultValue: {
7693
+ description: "The value of the item whose content is expanded when the accordion is initially rendered. Use\n`defaultValue` if you do not need to control the state of an accordion.",
7694
+ required: false,
7695
+ control: "text",
7696
+ type: "string"
7697
+ },
7698
+ dir: {
7699
+ description: "The language read direction.",
7700
+ required: false,
7701
+ control: "radio",
7702
+ type: "string",
7703
+ options: ["ltr", "rtl"]
7704
+ },
7705
+ disabled: {
7706
+ description: `Whether or not an accordion is disabled from user interaction.
7707
+ @defaultValue false`,
7708
+ required: false,
7709
+ control: "boolean",
7710
+ type: "boolean"
7711
+ },
7712
+ orientation: {
7713
+ description: "The layout in which the Accordion operates.",
7714
+ required: false,
7715
+ control: "radio",
7716
+ type: "string",
7717
+ defaultValue: "vertical",
7718
+ options: ["horizontal", "vertical"]
7719
+ },
7720
+ value: {
7721
+ description: "The controlled stateful value of the accordion item whose content is expanded.",
7722
+ required: false,
7723
+ control: "text",
7724
+ type: "string"
7725
+ }
7726
+ }, o$5 = {
7727
+ disabled: {
7728
+ description: `Whether or not an accordion item is disabled from user interaction.
7729
+ @defaultValue false`,
7730
+ required: false,
7731
+ control: "boolean",
7732
+ type: "boolean"
7733
+ },
7734
+ value: {
7735
+ required: false,
7736
+ control: "text",
7737
+ type: "string",
7738
+ description: "Current value of the element"
7739
+ }
7740
+ }, t$2 = {}, r$3 = {}, n$2 = {};
7741
+ const x$1 = {
6188
7742
  icon: AccordionIcon,
6189
7743
  contentModel: {
6190
7744
  category: "instance",
6191
7745
  children: ["instance"],
6192
- descendants: [n.AccordionItem]
7746
+ descendants: [n$4.AccordionItem]
6193
7747
  },
6194
- presetStyle: {
6195
- div
6196
- }
6197
- }, x$1 = {
7748
+ presetStyle: { div },
7749
+ initialProps: ["value", "collapsible"],
7750
+ props: e$5
7751
+ }, S$1 = {
6198
7752
  label: "Item",
6199
7753
  icon: ItemIcon,
6200
- indexWithinAncestor: n.Accordion,
7754
+ indexWithinAncestor: n$4.Accordion,
6201
7755
  contentModel: {
6202
7756
  category: "none",
6203
7757
  children: ["instance"],
6204
- descendants: [n.AccordionHeader, n.AccordionContent]
7758
+ descendants: [n$4.AccordionHeader, n$4.AccordionContent]
6205
7759
  },
6206
- presetStyle: {
6207
- div
6208
- }
7760
+ presetStyle: { div },
7761
+ initialProps: ["value"],
7762
+ props: o$5
6209
7763
  }, C$1 = {
6210
7764
  label: "Item Header",
6211
7765
  icon: HeaderIcon,
6212
7766
  contentModel: {
6213
7767
  category: "none",
6214
7768
  children: ["instance"],
6215
- descendants: [n.AccordionTrigger]
7769
+ descendants: [n$4.AccordionTrigger]
6216
7770
  },
6217
7771
  presetStyle: {
6218
7772
  h3: [
@@ -6226,7 +7780,8 @@ const v$1 = {
6226
7780
  value: { type: "unit", unit: "px", value: 0 }
6227
7781
  }
6228
7782
  ]
6229
- }
7783
+ },
7784
+ props: t$2
6230
7785
  }, H = {
6231
7786
  label: "Item Trigger",
6232
7787
  icon: TriggerIcon,
@@ -6244,8 +7799,9 @@ const v$1 = {
6244
7799
  ],
6245
7800
  presetStyle: {
6246
7801
  button: [button, b$5].flat()
6247
- }
6248
- }, S$1 = {
7802
+ },
7803
+ props: r$3
7804
+ }, M = {
6249
7805
  label: "Item Content",
6250
7806
  icon: ContentIcon,
6251
7807
  contentModel: {
@@ -6254,71 +7810,117 @@ const v$1 = {
6254
7810
  },
6255
7811
  presetStyle: {
6256
7812
  div
6257
- }
7813
+ },
7814
+ props: n$2
6258
7815
  };
6259
- const y$1 = {
7816
+ const e$4 = {
7817
+ defaultValue: { required: false, control: "text", type: "string" },
7818
+ delayDuration: {
7819
+ description: `The duration from when the pointer enters the trigger until the tooltip gets opened.
7820
+ @defaultValue 200`,
7821
+ required: false,
7822
+ control: "number",
7823
+ type: "number"
7824
+ },
7825
+ dir: {
7826
+ required: false,
7827
+ control: "radio",
7828
+ type: "string",
7829
+ options: ["ltr", "rtl"],
7830
+ description: "The text directionality of the element"
7831
+ },
7832
+ skipDelayDuration: {
7833
+ description: `How much time a user has to enter another trigger without incurring a delay again.
7834
+ @defaultValue 300`,
7835
+ required: false,
7836
+ control: "number",
7837
+ type: "number"
7838
+ },
7839
+ value: {
7840
+ required: false,
7841
+ control: "text",
7842
+ type: "string",
7843
+ description: "Current value of the element"
7844
+ }
7845
+ }, t$1 = {}, r$2 = {}, n$1 = {}, o$4 = {
7846
+ value: {
7847
+ required: false,
7848
+ control: "text",
7849
+ type: "string",
7850
+ description: "Current value of the element"
7851
+ }
7852
+ }, i$1 = {
7853
+ active: { required: false, control: "boolean", type: "boolean" }
7854
+ }, a = {};
7855
+ const L = {
6260
7856
  icon: NavigationMenuIcon,
6261
7857
  contentModel: {
6262
7858
  category: "instance",
6263
7859
  children: ["instance"],
6264
- descendants: [n.NavigationMenuList, n.NavigationMenuViewport]
7860
+ descendants: [n$4.NavigationMenuList, n$4.NavigationMenuViewport]
6265
7861
  },
6266
7862
  presetStyle: {
6267
7863
  div
6268
- }
7864
+ },
7865
+ props: e$4
6269
7866
  }, h$1 = {
6270
7867
  icon: ListIcon,
6271
7868
  label: "Menu List",
6272
7869
  contentModel: {
6273
7870
  category: "none",
6274
7871
  children: ["instance"],
6275
- descendants: [n.NavigationMenuItem]
7872
+ descendants: [n$4.NavigationMenuItem]
6276
7873
  },
6277
7874
  presetStyle: {
6278
7875
  div
6279
- }
7876
+ },
7877
+ props: t$1
6280
7878
  }, b$3 = {
6281
7879
  icon: ListItemIcon,
6282
7880
  label: "Menu Item",
6283
- indexWithinAncestor: n.NavigationMenu,
7881
+ indexWithinAncestor: n$4.NavigationMenu,
6284
7882
  contentModel: {
6285
7883
  category: "none",
6286
7884
  children: ["instance"],
6287
7885
  descendants: [
6288
- n.NavigationMenuTrigger,
6289
- n.NavigationMenuContent,
6290
- n.NavigationMenuLink
7886
+ n$4.NavigationMenuTrigger,
7887
+ n$4.NavigationMenuContent,
7888
+ n$4.NavigationMenuLink
6291
7889
  ]
6292
7890
  },
6293
7891
  presetStyle: {
6294
7892
  div
6295
- }
6296
- }, k$1 = {
7893
+ },
7894
+ props: o$4
7895
+ }, k$2 = {
6297
7896
  icon: TriggerIcon,
6298
7897
  label: "Menu Trigger",
6299
7898
  contentModel: {
6300
7899
  category: "none",
6301
7900
  children: ["instance"]
6302
- }
7901
+ },
7902
+ props: a
6303
7903
  }, w$1 = {
6304
7904
  icon: ContentIcon,
6305
7905
  label: "Menu Content",
6306
7906
  contentModel: {
6307
7907
  category: "none",
6308
7908
  children: ["instance"],
6309
- descendants: [n.NavigationMenuLink]
7909
+ descendants: [n$4.NavigationMenuLink]
6310
7910
  },
6311
7911
  presetStyle: {
6312
7912
  div
6313
- }
7913
+ },
7914
+ props: n$1
6314
7915
  }, C = {
6315
7916
  icon: BoxIcon,
6316
7917
  label: "Accessible Link Wrapper",
6317
7918
  contentModel: {
6318
7919
  category: "none",
6319
7920
  children: ["instance"]
6320
- }
6321
- }, T = {
7921
+ },
7922
+ props: i$1
7923
+ }, S = {
6322
7924
  icon: ViewportIcon,
6323
7925
  label: "Menu Viewport",
6324
7926
  contentModel: {
@@ -6327,65 +7929,169 @@ const y$1 = {
6327
7929
  },
6328
7930
  presetStyle: {
6329
7931
  div
6330
- }
7932
+ },
7933
+ props: r$2
6331
7934
  };
6332
- const w = {
7935
+ const e$3 = {
7936
+ autoComplete: {
7937
+ required: false,
7938
+ control: "text",
7939
+ type: "string",
7940
+ description: "Hint for form autofill feature"
7941
+ },
7942
+ defaultValue: { required: false, control: "text", type: "string" },
7943
+ dir: {
7944
+ required: false,
7945
+ control: "radio",
7946
+ type: "string",
7947
+ options: ["ltr", "rtl"],
7948
+ description: "The text directionality of the element"
7949
+ },
7950
+ disabled: {
7951
+ required: false,
7952
+ control: "boolean",
7953
+ type: "boolean",
7954
+ description: "Whether the form control is disabled"
7955
+ },
7956
+ form: {
7957
+ required: false,
7958
+ control: "text",
7959
+ type: "string",
7960
+ description: "Associates the element with a form element"
7961
+ },
7962
+ name: {
7963
+ required: false,
7964
+ control: "text",
7965
+ type: "string",
7966
+ description: "Name of the element to use for form submission and in the form.elements API"
7967
+ },
7968
+ open: {
7969
+ required: false,
7970
+ control: "boolean",
7971
+ type: "boolean",
7972
+ description: "Whether the dialog box is showing"
7973
+ },
7974
+ required: {
7975
+ required: false,
7976
+ control: "boolean",
7977
+ type: "boolean",
7978
+ description: "Whether the control is required for form submission"
7979
+ },
7980
+ value: {
7981
+ required: false,
7982
+ control: "text",
7983
+ type: "string",
7984
+ description: "Current value of the element"
7985
+ }
7986
+ }, t = {}, o$3 = {
7987
+ placeholder: {
7988
+ required: false,
7989
+ control: "text",
7990
+ type: "string",
7991
+ description: "User-visible label to be placed within the form control"
7992
+ }
7993
+ }, r$1 = {
7994
+ align: {
7995
+ required: false,
7996
+ control: "radio",
7997
+ type: "string",
7998
+ options: ["center", "start", "end"]
7999
+ },
8000
+ alignOffset: { required: false, control: "number", type: "number" },
8001
+ arrowPadding: { required: false, control: "number", type: "number" },
8002
+ avoidCollisions: { required: false, control: "boolean", type: "boolean" },
8003
+ hideWhenDetached: { required: false, control: "boolean", type: "boolean" },
8004
+ sideOffset: { required: false, control: "number", type: "number" },
8005
+ sticky: {
8006
+ required: false,
8007
+ control: "radio",
8008
+ type: "string",
8009
+ options: ["partial", "always"]
8010
+ },
8011
+ updatePositionStrategy: {
8012
+ required: false,
8013
+ control: "radio",
8014
+ type: "string",
8015
+ options: ["always", "optimized"]
8016
+ }
8017
+ }, n = {
8018
+ nonce: {
8019
+ required: false,
8020
+ control: "text",
8021
+ type: "string",
8022
+ description: "Cryptographic nonce used in Content Security Policy checks [CSP]"
8023
+ }
8024
+ }, i = {
8025
+ disabled: {
8026
+ required: false,
8027
+ control: "boolean",
8028
+ type: "boolean",
8029
+ description: "Whether the form control is disabled"
8030
+ },
8031
+ textValue: { required: false, control: "text", type: "string" },
8032
+ value: {
8033
+ required: true,
8034
+ control: "text",
8035
+ type: "string",
8036
+ description: "Current value of the element"
8037
+ }
8038
+ }, l = {}, s = {};
8039
+ const b$2 = {
6333
8040
  icon: SelectIcon,
6334
8041
  contentModel: {
6335
8042
  category: "instance",
6336
8043
  children: ["instance"],
6337
- descendants: [n.SelectTrigger, n.SelectContent]
6338
- }
6339
- }, b$2 = {
8044
+ descendants: [n$4.SelectTrigger, n$4.SelectContent]
8045
+ },
8046
+ initialProps: ["name", "value", "open", "required"],
8047
+ props: e$3
8048
+ }, f = {
6340
8049
  icon: TriggerIcon,
6341
8050
  contentModel: {
6342
8051
  category: "none",
6343
8052
  children: ["instance"],
6344
- descendants: [n.SelectValue]
8053
+ descendants: [n$4.SelectValue]
6345
8054
  },
6346
- presetStyle: {
6347
- button
6348
- }
6349
- }, f = {
8055
+ presetStyle: { button },
8056
+ props: t
8057
+ }, w = {
6350
8058
  label: "Value",
6351
8059
  icon: FormTextFieldIcon,
6352
8060
  contentModel: {
6353
8061
  category: "none",
6354
8062
  children: []
6355
8063
  },
6356
- presetStyle: {
6357
- span
6358
- }
8064
+ presetStyle: { span },
8065
+ initialProps: ["placeholder"],
8066
+ props: o$3
6359
8067
  }, v = {
6360
8068
  icon: ContentIcon,
6361
8069
  contentModel: {
6362
8070
  category: "none",
6363
8071
  children: ["instance"],
6364
- descendants: [n.SelectViewport]
8072
+ descendants: [n$4.SelectViewport]
6365
8073
  },
6366
- presetStyle: {
6367
- div
6368
- }
8074
+ presetStyle: { div },
8075
+ props: r$1
6369
8076
  }, P = {
6370
8077
  icon: ViewportIcon,
6371
8078
  contentModel: {
6372
8079
  category: "none",
6373
8080
  children: ["instance"],
6374
- descendants: [n.SelectItem]
8081
+ descendants: [n$4.SelectItem]
6375
8082
  },
6376
- presetStyle: {
6377
- div
6378
- }
6379
- }, k = {
8083
+ presetStyle: { div },
8084
+ props: n
8085
+ }, k$1 = {
6380
8086
  icon: ItemIcon,
6381
8087
  contentModel: {
6382
8088
  category: "none",
6383
8089
  children: ["instance"],
6384
- descendants: [n.SelectItemIndicator, n.SelectItemText]
8090
+ descendants: [n$4.SelectItemIndicator, n$4.SelectItemText]
6385
8091
  },
6386
- presetStyle: {
6387
- div
6388
- }
8092
+ presetStyle: { div },
8093
+ initialProps: ["value"],
8094
+ props: i
6389
8095
  }, F = {
6390
8096
  label: "Indicator",
6391
8097
  icon: CheckMarkIcon,
@@ -6393,9 +8099,8 @@ const w = {
6393
8099
  category: "none",
6394
8100
  children: ["instance"]
6395
8101
  },
6396
- presetStyle: {
6397
- span
6398
- }
8102
+ presetStyle: { span },
8103
+ props: l
6399
8104
  }, q = {
6400
8105
  label: "Item Text",
6401
8106
  icon: TextIcon,
@@ -6403,16 +8108,29 @@ const w = {
6403
8108
  category: "none",
6404
8109
  children: ["instance", "rich-text"]
6405
8110
  },
6406
- presetStyle: {
6407
- span
6408
- }
8111
+ presetStyle: { span },
8112
+ props: s
6409
8113
  };
8114
+ const e$2 = {
8115
+ checked: {
8116
+ required: false,
8117
+ control: "boolean",
8118
+ type: "boolean",
8119
+ description: "Whether the control is checked"
8120
+ },
8121
+ required: {
8122
+ required: false,
8123
+ control: "boolean",
8124
+ type: "boolean",
8125
+ description: "Whether the control is required for form submission"
8126
+ }
8127
+ }, o$2 = {};
6410
8128
  const b$1 = {
6411
8129
  icon: SwitchIcon,
6412
8130
  contentModel: {
6413
8131
  category: "instance",
6414
8132
  children: ["instance"],
6415
- descendants: [n.SwitchThumb]
8133
+ descendants: [n$4.SwitchThumb]
6416
8134
  },
6417
8135
  states: [
6418
8136
  ...defaultStates,
@@ -6429,8 +8147,10 @@ const b$1 = {
6429
8147
  ],
6430
8148
  presetStyle: {
6431
8149
  button: [button, b$5].flat()
6432
- }
6433
- }, S = {
8150
+ },
8151
+ initialProps: ["id", "class", "name", "value", "checked", "required"],
8152
+ props: e$2
8153
+ }, k = {
6434
8154
  icon: TriggerIcon,
6435
8155
  contentModel: {
6436
8156
  category: "none",
@@ -6451,14 +8171,29 @@ const b$1 = {
6451
8171
  ],
6452
8172
  presetStyle: {
6453
8173
  span
6454
- }
8174
+ },
8175
+ props: o$2
6455
8176
  };
8177
+ const e$1 = {
8178
+ checked: {
8179
+ required: false,
8180
+ control: "boolean",
8181
+ type: "boolean",
8182
+ description: "Whether the control is checked"
8183
+ },
8184
+ required: {
8185
+ required: false,
8186
+ control: "boolean",
8187
+ type: "boolean",
8188
+ description: "Whether the control is required for form submission"
8189
+ }
8190
+ }, o$1 = {};
6456
8191
  const b = {
6457
8192
  icon: CheckboxCheckedIcon,
6458
8193
  contentModel: {
6459
8194
  category: "instance",
6460
8195
  children: ["instance"],
6461
- descendants: [n.CheckboxIndicator]
8196
+ descendants: [n$4.CheckboxIndicator]
6462
8197
  },
6463
8198
  states: [
6464
8199
  ...defaultStates,
@@ -6475,7 +8210,9 @@ const b = {
6475
8210
  ],
6476
8211
  presetStyle: {
6477
8212
  button: [button, b$5].flat()
6478
- }
8213
+ },
8214
+ initialProps: ["id", "class", "name", "value", "required", "checked"],
8215
+ props: e$1
6479
8216
  }, x = {
6480
8217
  icon: TriggerIcon,
6481
8218
  contentModel: {
@@ -6485,14 +8222,80 @@ const b = {
6485
8222
  states: defaultStates,
6486
8223
  presetStyle: {
6487
8224
  span
6488
- }
8225
+ },
8226
+ props: o$1
6489
8227
  };
8228
+ const e = {
8229
+ defaultValue: { required: false, control: "text", type: "string" },
8230
+ dir: {
8231
+ required: false,
8232
+ control: "radio",
8233
+ type: "string",
8234
+ options: ["ltr", "rtl"],
8235
+ description: "The text directionality of the element"
8236
+ },
8237
+ disabled: {
8238
+ required: false,
8239
+ control: "boolean",
8240
+ type: "boolean",
8241
+ description: "Whether the form control is disabled"
8242
+ },
8243
+ loop: {
8244
+ required: false,
8245
+ control: "boolean",
8246
+ type: "boolean",
8247
+ description: "Whether to loop the media resource"
8248
+ },
8249
+ name: {
8250
+ required: false,
8251
+ control: "text",
8252
+ type: "string",
8253
+ description: "Name of the element to use for form submission and in the form.elements API"
8254
+ },
8255
+ orientation: {
8256
+ required: false,
8257
+ control: "radio",
8258
+ type: "string",
8259
+ options: ["horizontal", "vertical"]
8260
+ },
8261
+ required: {
8262
+ required: false,
8263
+ control: "boolean",
8264
+ type: "boolean",
8265
+ description: "Whether the control is required for form submission"
8266
+ },
8267
+ value: {
8268
+ required: false,
8269
+ control: "text",
8270
+ type: "string",
8271
+ description: "Current value of the element"
8272
+ }
8273
+ }, o = {
8274
+ checked: {
8275
+ required: false,
8276
+ control: "boolean",
8277
+ type: "boolean",
8278
+ description: "Whether the control is checked"
8279
+ },
8280
+ required: {
8281
+ required: false,
8282
+ control: "boolean",
8283
+ type: "boolean",
8284
+ description: "Whether the control is required for form submission"
8285
+ },
8286
+ value: {
8287
+ required: true,
8288
+ control: "text",
8289
+ type: "string",
8290
+ description: "Current value of the element"
8291
+ }
8292
+ }, r = {};
6490
8293
  const y = {
6491
8294
  icon: RadioGroupIcon,
6492
8295
  contentModel: {
6493
8296
  category: "instance",
6494
8297
  children: ["instance"],
6495
- descendants: [n.RadioGroupItem]
8298
+ descendants: [n$4.RadioGroupItem]
6496
8299
  },
6497
8300
  states: [
6498
8301
  ...defaultStates,
@@ -6509,18 +8312,22 @@ const y = {
6509
8312
  ],
6510
8313
  presetStyle: {
6511
8314
  div
6512
- }
8315
+ },
8316
+ initialProps: ["id", "class", "name", "value", "required"],
8317
+ props: e
6513
8318
  }, g = {
6514
8319
  icon: ItemIcon,
6515
8320
  contentModel: {
6516
8321
  category: "none",
6517
8322
  children: ["instance"],
6518
- descendants: [n.RadioGroupIndicator]
8323
+ descendants: [n$4.RadioGroupIndicator]
6519
8324
  },
6520
8325
  states: defaultStates,
6521
8326
  presetStyle: {
6522
8327
  button: [button, b$5].flat()
6523
- }
8328
+ },
8329
+ initialProps: ["value"],
8330
+ props: o
6524
8331
  }, h = {
6525
8332
  icon: TriggerIcon,
6526
8333
  contentModel: {
@@ -6530,57 +8337,59 @@ const y = {
6530
8337
  states: defaultStates,
6531
8338
  presetStyle: {
6532
8339
  span
6533
- }
8340
+ },
8341
+ props: r
6534
8342
  };
6535
8343
  const radixComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6536
8344
  __proto__: null,
6537
- Accordion: v$1,
6538
- AccordionContent: S$1,
8345
+ Accordion: x$1,
8346
+ AccordionContent: M,
6539
8347
  AccordionHeader: C$1,
6540
- AccordionItem: x$1,
8348
+ AccordionItem: S$1,
6541
8349
  AccordionTrigger: H,
6542
8350
  Checkbox: b,
6543
8351
  CheckboxIndicator: x,
6544
8352
  Collapsible: g$2,
6545
- CollapsibleContent: d$3,
6546
- CollapsibleTrigger: b$6,
6547
- Dialog: j,
6548
- DialogClose: R,
6549
- DialogContent: B,
6550
- DialogDescription: H$1,
6551
- DialogOverlay: b$4,
6552
- DialogTitle: E,
8353
+ CollapsibleContent: d$1,
8354
+ CollapsibleTrigger: m$1,
8355
+ Dialog: k$3,
8356
+ DialogClose: j,
8357
+ DialogContent: E,
8358
+ DialogDescription: R,
8359
+ DialogOverlay: B,
8360
+ DialogTitle: H$1,
6553
8361
  DialogTrigger: O,
6554
- Label: i,
6555
- NavigationMenu: y$1,
8362
+ Label: a$1,
8363
+ NavigationMenu: L,
6556
8364
  NavigationMenuContent: w$1,
6557
8365
  NavigationMenuItem: b$3,
6558
8366
  NavigationMenuLink: C,
6559
8367
  NavigationMenuList: h$1,
6560
- NavigationMenuTrigger: k$1,
6561
- NavigationMenuViewport: T,
6562
- Popover: l,
6563
- PopoverContent: d$1,
6564
- PopoverTrigger: v$2,
8368
+ NavigationMenuTrigger: k$2,
8369
+ NavigationMenuViewport: S,
8370
+ Popover: b$4,
8371
+ PopoverClose: I,
8372
+ PopoverContent: h$2,
8373
+ PopoverTrigger: y$1,
6565
8374
  RadioGroup: y,
6566
8375
  RadioGroupIndicator: h,
6567
8376
  RadioGroupItem: g,
6568
- Select: w,
8377
+ Select: b$2,
6569
8378
  SelectContent: v,
6570
- SelectItem: k,
8379
+ SelectItem: k$1,
6571
8380
  SelectItemIndicator: F,
6572
8381
  SelectItemText: q,
6573
- SelectTrigger: b$2,
6574
- SelectValue: f,
8382
+ SelectTrigger: f,
8383
+ SelectValue: w,
6575
8384
  SelectViewport: P,
6576
8385
  Switch: b$1,
6577
- SwitchThumb: S,
6578
- Tabs: M,
6579
- TabsContent: S$2,
6580
- TabsList: x$2,
6581
- TabsTrigger: C$2,
8386
+ SwitchThumb: k,
8387
+ Tabs: x$2,
8388
+ TabsContent: u,
8389
+ TabsList: C$2,
8390
+ TabsTrigger: S$2,
6582
8391
  Tooltip: m,
6583
- TooltipContent: d,
8392
+ TooltipContent: T,
6584
8393
  TooltipTrigger: g$1
6585
8394
  }, Symbol.toStringTag, { value: "Module" }));
6586
8395
  const createFramework$2 = async () => {
@@ -6602,35 +8411,35 @@ const createFramework$2 = async () => {
6602
8411
  "utf8"
6603
8412
  );
6604
8413
  await rm(routeTemplatesDir, { recursive: true, force: true });
6605
- const radixComponentNamespacedMetas = {};
8414
+ const base = "@webstudio-is/sdk-components-react";
8415
+ const remix = "@webstudio-is/sdk-components-react-remix";
8416
+ const reactRadix = "@webstudio-is/sdk-components-react-radix";
8417
+ const animation = "@webstudio-is/sdk-components-animation";
8418
+ const components = {};
8419
+ const metas = {};
8420
+ for (const [name2, meta] of Object.entries(baseComponentMetas)) {
8421
+ components[name2] = `${base}:${name2}`;
8422
+ metas[name2] = meta;
8423
+ }
8424
+ for (const name2 of ["Body", "Link", "RichTextLink", "Form", "RemixForm"]) {
8425
+ components[name2] = `${remix}:${name2}`;
8426
+ }
6606
8427
  for (const [name2, meta] of Object.entries(radixComponentMetas)) {
6607
- const namespace = "@webstudio-is/sdk-components-react-radix";
6608
- radixComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
8428
+ components[`${reactRadix}:${name2}`] = `${reactRadix}:${name2}`;
8429
+ metas[`${reactRadix}:${name2}`] = meta;
6609
8430
  }
6610
- const animationComponentNamespacedMetas = {};
6611
8431
  for (const [name2, meta] of Object.entries(animationComponentMetas)) {
6612
- const namespace = "@webstudio-is/sdk-components-animation";
6613
- animationComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
8432
+ components[`${animation}:${name2}`] = `${animation}:${name2}`;
8433
+ metas[`${animation}:${name2}`] = meta;
6614
8434
  }
6615
8435
  return {
6616
- components: [
6617
- {
6618
- source: "@webstudio-is/sdk-components-react",
6619
- metas: baseComponentMetas
6620
- },
6621
- {
6622
- source: "@webstudio-is/sdk-components-animation",
6623
- metas: animationComponentNamespacedMetas
6624
- },
6625
- {
6626
- source: "@webstudio-is/sdk-components-react-radix",
6627
- metas: radixComponentNamespacedMetas
6628
- },
6629
- {
6630
- source: "@webstudio-is/sdk-components-react-remix",
6631
- metas: remixComponentMetas
6632
- }
6633
- ],
8436
+ metas,
8437
+ components,
8438
+ tags: {
8439
+ body: `${remix}:Body`,
8440
+ a: `${remix}:Link`,
8441
+ form: `${remix}:RemixForm`
8442
+ },
6634
8443
  html: ({ pagePath }) => [
6635
8444
  {
6636
8445
  file: join("app", "routes", `${generateRemixRoute(pagePath)}.tsx`),
@@ -6661,14 +8470,6 @@ const createFramework$2 = async () => {
6661
8470
  ]
6662
8471
  };
6663
8472
  };
6664
- const reactRouterComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6665
- __proto__: null,
6666
- Body: n$8,
6667
- Form: c$1,
6668
- Link: n$6,
6669
- RemixForm: n$4,
6670
- RichTextLink: p$8
6671
- }, Symbol.toStringTag, { value: "Module" }));
6672
8473
  const createFramework$1 = async () => {
6673
8474
  const routeTemplatesDir = join("app", "route-templates");
6674
8475
  const htmlTemplate = await readFile(
@@ -6688,35 +8489,35 @@ const createFramework$1 = async () => {
6688
8489
  "utf8"
6689
8490
  );
6690
8491
  await rm(routeTemplatesDir, { recursive: true, force: true });
6691
- const radixComponentNamespacedMetas = {};
8492
+ const base = "@webstudio-is/sdk-components-react";
8493
+ const reactRouter = "@webstudio-is/sdk-components-react-router";
8494
+ const reactRadix = "@webstudio-is/sdk-components-react-radix";
8495
+ const animation = "@webstudio-is/sdk-components-animation";
8496
+ const components = {};
8497
+ const metas = {};
8498
+ for (const [name2, meta] of Object.entries(baseComponentMetas)) {
8499
+ components[name2] = `${base}:${name2}`;
8500
+ metas[name2] = meta;
8501
+ }
8502
+ for (const name2 of ["Body", "Link", "RichTextLink", "Form", "RemixForm"]) {
8503
+ components[name2] = `${reactRouter}:${name2}`;
8504
+ }
6692
8505
  for (const [name2, meta] of Object.entries(radixComponentMetas)) {
6693
- const namespace = "@webstudio-is/sdk-components-react-radix";
6694
- radixComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
8506
+ components[`${reactRadix}:${name2}`] = `${reactRadix}:${name2}`;
8507
+ metas[`${reactRadix}:${name2}`] = meta;
6695
8508
  }
6696
- const animationComponentNamespacedMetas = {};
6697
8509
  for (const [name2, meta] of Object.entries(animationComponentMetas)) {
6698
- const namespace = "@webstudio-is/sdk-components-animation";
6699
- animationComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
8510
+ components[`${animation}:${name2}`] = `${animation}:${name2}`;
8511
+ metas[`${animation}:${name2}`] = meta;
6700
8512
  }
6701
8513
  return {
6702
- components: [
6703
- {
6704
- source: "@webstudio-is/sdk-components-react",
6705
- metas: baseComponentMetas
6706
- },
6707
- {
6708
- source: "@webstudio-is/sdk-components-animation",
6709
- metas: animationComponentNamespacedMetas
6710
- },
6711
- {
6712
- source: "@webstudio-is/sdk-components-react-radix",
6713
- metas: radixComponentNamespacedMetas
6714
- },
6715
- {
6716
- source: "@webstudio-is/sdk-components-react-router",
6717
- metas: reactRouterComponentMetas
6718
- }
6719
- ],
8514
+ metas,
8515
+ components,
8516
+ tags: {
8517
+ body: `${reactRouter}:Body`,
8518
+ a: `${reactRouter}:Link`,
8519
+ form: `${reactRouter}:RemixForm`
8520
+ },
6720
8521
  html: ({ pagePath }) => [
6721
8522
  {
6722
8523
  file: join("app", "routes", `${generateRemixRoute(pagePath)}.tsx`),
@@ -6768,31 +8569,27 @@ const createFramework = async () => {
6768
8569
  "utf8"
6769
8570
  );
6770
8571
  await rm(routeTemplatesDir, { recursive: true, force: true });
6771
- const radixComponentNamespacedMetas = {};
8572
+ const base = "@webstudio-is/sdk-components-react";
8573
+ const reactRadix = "@webstudio-is/sdk-components-react-radix";
8574
+ const animation = "@webstudio-is/sdk-components-animation";
8575
+ const components = {};
8576
+ const metas = {};
8577
+ for (const [name2, meta] of Object.entries(baseComponentMetas)) {
8578
+ components[name2] = `${base}:${name2}`;
8579
+ metas[name2] = meta;
8580
+ }
6772
8581
  for (const [name2, meta] of Object.entries(radixComponentMetas)) {
6773
- const namespace = "@webstudio-is/sdk-components-react-radix";
6774
- radixComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
8582
+ components[`${reactRadix}:${name2}`] = `${reactRadix}:${name2}`;
8583
+ metas[`${reactRadix}:${name2}`] = meta;
6775
8584
  }
6776
- const animationComponentNamespacedMetas = {};
6777
8585
  for (const [name2, meta] of Object.entries(animationComponentMetas)) {
6778
- const namespace = "@webstudio-is/sdk-components-animation";
6779
- animationComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
8586
+ components[`${animation}:${name2}`] = `${animation}:${name2}`;
8587
+ metas[`${animation}:${name2}`] = meta;
6780
8588
  }
6781
8589
  return {
6782
- components: [
6783
- {
6784
- source: "@webstudio-is/sdk-components-react",
6785
- metas: baseComponentMetas
6786
- },
6787
- {
6788
- source: "@webstudio-is/sdk-components-animation",
6789
- metas: animationComponentNamespacedMetas
6790
- },
6791
- {
6792
- source: "@webstudio-is/sdk-components-react-radix",
6793
- metas: radixComponentNamespacedMetas
6794
- }
6795
- ],
8590
+ metas,
8591
+ components,
8592
+ tags: {},
6796
8593
  html: ({ pagePath }) => {
6797
8594
  if (isPathnamePattern(pagePath)) {
6798
8595
  return [];
@@ -6910,7 +8707,7 @@ audit=false
6910
8707
  fund=false
6911
8708
  `;
6912
8709
  const prebuild = async (options) => {
6913
- var _a2, _b2, _c2, _d2, _e2, _f2, _g, _h, _i, _j, _k, _l;
8710
+ var _a2, _b2, _c2, _d2, _e2, _f2, _g, _h, _i, _j, _k;
6914
8711
  if (options.template.length === 0) {
6915
8712
  log.error(
6916
8713
  `Template is not provided
@@ -6956,14 +8753,6 @@ Please check webstudio --help for more details`
6956
8753
  `Project data is missing, please make sure you the project is synced.`
6957
8754
  );
6958
8755
  }
6959
- const metas = /* @__PURE__ */ new Map();
6960
- const componentSources = /* @__PURE__ */ new Map();
6961
- for (const entry of framework.components) {
6962
- for (const [componentName, meta] of Object.entries(entry.metas)) {
6963
- metas.set(componentName, meta);
6964
- componentSources.set(componentName, entry.source);
6965
- }
6966
- }
6967
8756
  const usedMetas = new Map(
6968
8757
  Object.entries(coreMetas)
6969
8758
  );
@@ -6989,7 +8778,7 @@ Please check webstudio --help for more details`
6989
8778
  for (const [_instanceId, instance] of siteData.build.instances) {
6990
8779
  if (pageInstanceSet.has(instance.id)) {
6991
8780
  instances.push([instance.id, instance]);
6992
- const meta = metas.get(instance.component);
8781
+ const meta = framework.metas[instance.component];
6993
8782
  if (meta) {
6994
8783
  usedMetas.set(instance.component, meta);
6995
8784
  }
@@ -7127,31 +8916,31 @@ Please check webstudio --help for more details`
7127
8916
  instances.delete(instance.id);
7128
8917
  }
7129
8918
  }
7130
- const pageComponents = /* @__PURE__ */ new Set();
8919
+ const imports2 = /* @__PURE__ */ new Map();
7131
8920
  for (const instance of instances.values()) {
7132
- pageComponents.add(instance.component);
7133
- }
7134
- const namespaces = /* @__PURE__ */ new Map();
7135
- for (const component of pageComponents) {
7136
- const namespace = componentSources.get(component);
7137
- if (namespace === void 0) {
8921
+ let descriptor = framework.components[instance.component];
8922
+ let id = instance.component;
8923
+ if (instance.component === elementComponent && instance.tag) {
8924
+ descriptor = framework.tags[instance.tag];
8925
+ id = descriptor;
8926
+ }
8927
+ if (descriptor === void 0) {
7138
8928
  continue;
7139
8929
  }
7140
- if (namespaces.has(namespace) === false) {
7141
- namespaces.set(
7142
- namespace,
7143
- /* @__PURE__ */ new Set()
7144
- );
8930
+ const [importSource, importSpecifier] = descriptor.split(":");
8931
+ let specifiers = imports2.get(importSource);
8932
+ if (specifiers === void 0) {
8933
+ specifiers = /* @__PURE__ */ new Map();
8934
+ imports2.set(importSource, specifiers);
7145
8935
  }
7146
- const [_namespace, shortName] = parseComponentName(component);
7147
- (_i = namespaces.get(namespace)) == null ? void 0 : _i.add([shortName, component]);
8936
+ specifiers.set(id, importSpecifier);
7148
8937
  }
7149
- let componentImports = "";
7150
- for (const [namespace, componentsSet] of namespaces.entries()) {
7151
- const specifiers = Array.from(componentsSet).map(
7152
- ([shortName, component]) => `${shortName} as ${scope.getName(component, shortName)}`
8938
+ let importsString = "";
8939
+ for (const [importSource, specifiers] of imports2) {
8940
+ const specifiersString = Array.from(specifiers).map(
8941
+ ([id, importSpecifier]) => `${importSpecifier} as ${scope.getName(id, importSpecifier)}`
7153
8942
  ).join(", ");
7154
- componentImports += `import { ${specifiers} } from "${namespace}";
8943
+ importsString += `import { ${specifiersString} } from "${importSource}";
7155
8944
  `;
7156
8945
  }
7157
8946
  const pageFontAssets = fontAssetsByPage[page.id];
@@ -7188,14 +8977,15 @@ Please check webstudio --help for more details`
7188
8977
  props,
7189
8978
  dataSources,
7190
8979
  classesMap: classes,
7191
- metas: usedMetas
8980
+ metas: usedMetas,
8981
+ tagsOverrides: framework.tags
7192
8982
  });
7193
8983
  const projectMeta = siteData.build.pages.meta;
7194
8984
  const contactEmail = (
7195
8985
  // fallback to user email when contact email is empty string
7196
- (projectMeta == null ? void 0 : projectMeta.contactEmail) || ((_j = siteData.user) == null ? void 0 : _j.email) || void 0
8986
+ (projectMeta == null ? void 0 : projectMeta.contactEmail) || ((_i = siteData.user) == null ? void 0 : _i.email) || void 0
7197
8987
  );
7198
- const favIconAsset = (_k = assets.get((projectMeta == null ? void 0 : projectMeta.faviconAssetId) ?? "")) == null ? void 0 : _k.name;
8988
+ const favIconAsset = (_j = assets.get((projectMeta == null ? void 0 : projectMeta.faviconAssetId) ?? "")) == null ? void 0 : _j.name;
7199
8989
  const pagePath = getPagePath(page.id, siteData.build.pages);
7200
8990
  const breakpoints = siteData.build.breakpoints.map(([_, value]) => ({
7201
8991
  id: value.id,
@@ -7208,7 +8998,7 @@ Please check webstudio --help for more details`
7208
8998
 
7209
8999
  import { Fragment, useState } from "react";
7210
9000
  import { useResource, useVariableState } from "@webstudio-is/react-sdk/runtime";
7211
- ${componentImports}
9001
+ ${importsString}
7212
9002
 
7213
9003
  export const projectId = "${siteData.build.projectId}";
7214
9004
 
@@ -7319,7 +9109,7 @@ Please check webstudio --help for more details`
7319
9109
  )};
7320
9110
  `
7321
9111
  );
7322
- const redirects = (_l = siteData.build.pages) == null ? void 0 : _l.redirects;
9112
+ const redirects = (_k = siteData.build.pages) == null ? void 0 : _k.redirects;
7323
9113
  if (redirects !== void 0 && redirects.length > 0) {
7324
9114
  for (const redirect of redirects) {
7325
9115
  const generatedBasename = generateRemixRoute(redirect.old);
@@ -7494,7 +9284,7 @@ const getDeploymentInstructions = (deployTarget) => {
7494
9284
  }
7495
9285
  };
7496
9286
  const name = "webstudio";
7497
- const version = "0.219.0";
9287
+ const version = "0.220.0";
7498
9288
  const description = "Webstudio CLI";
7499
9289
  const author = "Webstudio <github@webstudio.is>";
7500
9290
  const homepage = "https://webstudio.is";