webstudio 0.208.0 → 0.210.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
@@ -30,7 +30,7 @@ import reservedIdentifiers from "reserved-identifiers";
30
30
  import { kebabCase, camelCase } from "change-case";
31
31
  import "nanoid";
32
32
  import { parseFragment, defaultTreeAdapter } from "parse5";
33
- import { x as x$2 } from "tinyexec";
33
+ import { x as x$4 } from "tinyexec";
34
34
  import makeCLI from "yargs";
35
35
  const GLOBAL_CONFIG_FOLDER = envPaths("webstudio").config;
36
36
  const GLOBAL_CONFIG_FILE_NAME = "webstudio-config.json";
@@ -837,6 +837,22 @@ var toValue = (styleValue, transformValue) => {
837
837
  }
838
838
  return value.value.filter((value2) => value2.hidden !== true).map((value2) => toValue(value2, transformValue)).join(" ");
839
839
  }
840
+ if (value.type === "shadow") {
841
+ let shadow = `${toValue(value.offsetX)} ${toValue(value.offsetY)}`;
842
+ if (value.blur) {
843
+ shadow += ` ${toValue(value.blur)}`;
844
+ }
845
+ if (value.spread) {
846
+ shadow += ` ${toValue(value.spread)}`;
847
+ }
848
+ if (value.color) {
849
+ shadow += ` ${toValue(value.color)}`;
850
+ }
851
+ if (value.position === "inset") {
852
+ shadow += ` inset`;
853
+ }
854
+ return shadow;
855
+ }
840
856
  if (value.type === "function") {
841
857
  if (value.hidden === true) {
842
858
  return "";
@@ -937,12 +953,23 @@ var TupleValue = z.object({
937
953
  value: z.array(TupleValueItem),
938
954
  hidden: z.boolean().optional()
939
955
  });
956
+ var ShadowValue = z.object({
957
+ type: z.literal("shadow"),
958
+ hidden: z.boolean().optional(),
959
+ position: z.union([z.literal("inset"), z.literal("outset")]),
960
+ offsetX: z.union([UnitValue, VarValue]),
961
+ offsetY: z.union([UnitValue, VarValue]),
962
+ blur: z.union([UnitValue, VarValue]).optional(),
963
+ spread: z.union([UnitValue, VarValue]).optional(),
964
+ color: z.union([RgbValue, KeywordValue, VarValue]).optional()
965
+ });
940
966
  var LayerValueItem = z.union([
941
967
  UnitValue,
942
968
  KeywordValue,
943
969
  UnparsedValue,
944
970
  ImageValue,
945
971
  TupleValue,
972
+ ShadowValue,
946
973
  RgbValue,
947
974
  InvalidValue,
948
975
  FunctionValue,
@@ -966,7 +993,8 @@ var StyleValue = z.union([
966
993
  GuaranteedInvalidValue,
967
994
  InvalidValue,
968
995
  UnsetValue,
969
- VarValue
996
+ VarValue,
997
+ ShadowValue
970
998
  ]);
971
999
  var cssWideKeywords = /* @__PURE__ */ new Set([
972
1000
  "initial",
@@ -1609,6 +1637,7 @@ var generateAtomic = (sheet, options) => {
1609
1637
  };
1610
1638
  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>`;
1611
1639
  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>`;
1640
+ 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>`;
1612
1641
  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>`;
1613
1642
  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>`;
1614
1643
  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>`;
@@ -1647,11 +1676,13 @@ var ResourceIcon = `<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox=
1647
1676
  var SelectIcon = `<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 10.33h.149c.736 0 1.332-.597 1.332-1.332V6.332c0-.735-.596-1.332-1.332-1.332H2.667c-.735 0-1.332.597-1.332 1.332v2.666c0 .735.597 1.332 1.333 1.332h10.516Z"/><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m10.078 7.165 1 1 1-1"/></svg>`;
1648
1677
  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>`;
1649
1678
  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>`;
1679
+ 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>`;
1650
1680
  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>`;
1651
1681
  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>`;
1652
1682
  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>`;
1653
1683
  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>`;
1654
1684
  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>`;
1685
+ 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>`;
1655
1686
  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>`;
1656
1687
  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>`;
1657
1688
  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>`;
@@ -1843,7 +1874,13 @@ var MatcherOperation = z.object({
1843
1874
  var Matcher = z.object({
1844
1875
  relation: MatcherRelation,
1845
1876
  component: MatcherOperation.optional(),
1846
- tag: MatcherOperation.optional()
1877
+ tag: MatcherOperation.optional(),
1878
+ text: z.literal(false).describe(
1879
+ `
1880
+ To disallow text editing on a container instance,
1881
+ use: { relation: 'child', text: false }
1882
+ `
1883
+ ).optional()
1847
1884
  });
1848
1885
  var Matchers = z.union([Matcher, z.array(Matcher)]);
1849
1886
  var DataSourceId = z.string();
@@ -2523,6 +2560,7 @@ var componentCategories = [
2523
2560
  "general",
2524
2561
  "typography",
2525
2562
  "media",
2563
+ "animations",
2526
2564
  "data",
2527
2565
  "forms",
2528
2566
  "localization",
@@ -2567,7 +2605,6 @@ z.object({
2567
2605
  icon: z.string(),
2568
2606
  presetStyle: z.optional(z.record(z.string(), z.array(PresetStyleDecl))),
2569
2607
  states: z.optional(z.array(ComponentState)),
2570
- template: z.optional(WsEmbedTemplate),
2571
2608
  order: z.number().optional()
2572
2609
  });
2573
2610
  var html = [
@@ -3561,73 +3598,6 @@ var isAttributeNameSafe = (attributeName) => {
3561
3598
  illegalAttributeNameCache.set(attributeName, true);
3562
3599
  return false;
3563
3600
  };
3564
- var namespaceEmbedTemplateComponents = (template, namespace, components) => {
3565
- return template.map((item) => {
3566
- if (item.type === "text") {
3567
- return item;
3568
- }
3569
- if (item.type === "expression") {
3570
- return item;
3571
- }
3572
- if (item.type === "instance") {
3573
- const prefix = components.has(item.component) ? `${namespace}:` : "";
3574
- return {
3575
- ...item,
3576
- component: `${prefix}${item.component}`,
3577
- children: namespaceEmbedTemplateComponents(
3578
- item.children,
3579
- namespace,
3580
- components
3581
- )
3582
- };
3583
- }
3584
- throw Error("Impossible case");
3585
- });
3586
- };
3587
- var namespaceMatcher = (namespace, matcher) => {
3588
- var _a2, _b2, _c2, _d2;
3589
- const newMatcher = structuredClone(matcher);
3590
- if ((_a2 = newMatcher.component) == null ? void 0 : _a2.$eq) {
3591
- newMatcher.component.$eq = `${namespace}:${newMatcher.component.$eq}`;
3592
- }
3593
- if ((_b2 = newMatcher.component) == null ? void 0 : _b2.$neq) {
3594
- newMatcher.component.$neq = `${namespace}:${newMatcher.component.$neq}`;
3595
- }
3596
- if ((_c2 = newMatcher.component) == null ? void 0 : _c2.$in) {
3597
- newMatcher.component.$in = newMatcher.component.$in.map(
3598
- (component) => `${namespace}:${component}`
3599
- );
3600
- }
3601
- if ((_d2 = newMatcher.component) == null ? void 0 : _d2.$nin) {
3602
- newMatcher.component.$nin = newMatcher.component.$nin.map(
3603
- (component) => `${namespace}:${component}`
3604
- );
3605
- }
3606
- return newMatcher;
3607
- };
3608
- var namespaceMeta = (meta, namespace, components) => {
3609
- const newMeta = { ...meta };
3610
- if (newMeta.constraints) {
3611
- if (Array.isArray(newMeta.constraints)) {
3612
- newMeta.constraints = newMeta.constraints.map(
3613
- (matcher) => namespaceMatcher(namespace, matcher)
3614
- );
3615
- } else {
3616
- newMeta.constraints = namespaceMatcher(namespace, newMeta.constraints);
3617
- }
3618
- }
3619
- if (newMeta.indexWithinAncestor) {
3620
- newMeta.indexWithinAncestor = components.has(newMeta.indexWithinAncestor) ? `${namespace}:${newMeta.indexWithinAncestor}` : newMeta.indexWithinAncestor;
3621
- }
3622
- if (newMeta.template) {
3623
- newMeta.template = namespaceEmbedTemplateComponents(
3624
- newMeta.template,
3625
- namespace,
3626
- components
3627
- );
3628
- }
3629
- return newMeta;
3630
- };
3631
3601
  var generateAction = ({
3632
3602
  scope,
3633
3603
  prop,
@@ -4125,7 +4095,7 @@ const e$5 = {
4125
4095
  icon: SlotComponentIcon,
4126
4096
  order: 5
4127
4097
  };
4128
- const o$3 = {
4098
+ const o$4 = {
4129
4099
  type: "container",
4130
4100
  icon: ""
4131
4101
  };
@@ -4139,7 +4109,7 @@ const e$4 = {
4139
4109
  type: "boolean"
4140
4110
  }
4141
4111
  };
4142
- const i$9 = {
4112
+ const i$4 = {
4143
4113
  div: [
4144
4114
  {
4145
4115
  property: "display",
@@ -4156,7 +4126,7 @@ const i$9 = {
4156
4126
  label: "HTML Embed",
4157
4127
  description: "Used to add HTML code to the page, such as an SVG or script.",
4158
4128
  icon: EmbedIcon,
4159
- presetStyle: i$9,
4129
+ presetStyle: i$4,
4160
4130
  order: 2
4161
4131
  };
4162
4132
  ({
@@ -4234,13 +4204,13 @@ var h3 = div;
4234
4204
  var h4 = div;
4235
4205
  var h5 = div;
4236
4206
  var h6 = div;
4237
- var i$8 = div;
4207
+ var i$3 = div;
4238
4208
  var img = div;
4239
4209
  var a$b = div;
4240
4210
  var li = div;
4241
4211
  var ul = div;
4242
4212
  var ol = div;
4243
- var p$d = div;
4213
+ var p$a = div;
4244
4214
  var span = div;
4245
4215
  var body = [
4246
4216
  { property: "margin-top", value: { type: "unit", unit: "number", value: 0 } },
@@ -4295,7 +4265,7 @@ var hr = [
4295
4265
  value: { type: "unit", unit: "px", value: 1 }
4296
4266
  }
4297
4267
  ];
4298
- var b$5 = [
4268
+ var b$8 = [
4299
4269
  {
4300
4270
  property: "font-weight",
4301
4271
  value: { type: "unit", unit: "number", value: 700 }
@@ -4563,13 +4533,13 @@ const a$a = {
4563
4533
  value: { type: "keyword", value: "grayscale" }
4564
4534
  }
4565
4535
  ]
4566
- }, n$5 = {
4536
+ }, n$9 = {
4567
4537
  type: "container",
4568
4538
  icon: BodyIcon,
4569
4539
  states: defaultStates,
4570
4540
  presetStyle: a$a
4571
4541
  };
4572
- const g = {
4542
+ const g$3 = {
4573
4543
  div,
4574
4544
  address,
4575
4545
  article,
@@ -4580,16 +4550,16 @@ const g = {
4580
4550
  main: main$1,
4581
4551
  nav,
4582
4552
  section
4583
- }, v$3 = {
4553
+ }, v$2 = {
4584
4554
  category: "general",
4585
4555
  type: "container",
4586
4556
  description: "A container for content. By default this is a Div, but the tag can be changed in settings.",
4587
4557
  icon: BoxIcon,
4588
4558
  states: defaultStates,
4589
- presetStyle: g,
4559
+ presetStyle: g$3,
4590
4560
  order: 0
4591
4561
  };
4592
- const r$a = {
4562
+ const r$d = {
4593
4563
  div: [
4594
4564
  ...div,
4595
4565
  {
@@ -4597,44 +4567,36 @@ const r$a = {
4597
4567
  value: { type: "unit", unit: "em", value: 1 }
4598
4568
  }
4599
4569
  ]
4600
- }, n$4 = {
4570
+ }, n$8 = {
4601
4571
  type: "container",
4602
4572
  icon: TextIcon,
4603
4573
  states: defaultStates,
4604
- presetStyle: r$a
4574
+ presetStyle: r$d
4605
4575
  };
4606
- const c$7 = {
4576
+ const n$7 = {
4607
4577
  h1,
4608
4578
  h2,
4609
4579
  h3,
4610
4580
  h4,
4611
4581
  h5,
4612
4582
  h6
4613
- }, f$3 = {
4583
+ }, f$1 = {
4614
4584
  type: "container",
4615
4585
  placeholder: "Heading",
4616
4586
  icon: HeadingIcon,
4617
- constraints: {
4618
- relation: "ancestor",
4619
- component: { $neq: "Heading" }
4620
- },
4621
4587
  states: defaultStates,
4622
- presetStyle: c$7
4588
+ presetStyle: n$7
4623
4589
  };
4624
- const a$9 = {
4625
- p: p$d
4626
- }, c$6 = {
4590
+ const p$9 = {
4591
+ p: p$a
4592
+ }, n$6 = {
4627
4593
  type: "container",
4628
4594
  placeholder: "Paragraph",
4629
4595
  icon: TextAlignLeftIcon,
4630
- constraints: {
4631
- relation: "ancestor",
4632
- component: { $neq: "Paragraph" }
4633
- },
4634
4596
  states: defaultStates,
4635
- presetStyle: a$9
4597
+ presetStyle: p$9
4636
4598
  };
4637
- const a$8 = {
4599
+ const a$9 = {
4638
4600
  a: [
4639
4601
  ...a$b,
4640
4602
  {
@@ -4642,15 +4604,11 @@ const a$8 = {
4642
4604
  value: { type: "keyword", value: "inline-block" }
4643
4605
  }
4644
4606
  ]
4645
- }, l$6 = {
4607
+ }, n$5 = {
4646
4608
  type: "container",
4647
4609
  placeholder: "Link",
4648
4610
  icon: LinkIcon,
4649
- constraints: {
4650
- relation: "ancestor",
4651
- component: { $nin: ["Button", "Link"] }
4652
- },
4653
- presetStyle: a$8,
4611
+ presetStyle: a$9,
4654
4612
  states: [
4655
4613
  ...defaultStates,
4656
4614
  {
@@ -4664,46 +4622,46 @@ const a$8 = {
4664
4622
  }
4665
4623
  ]
4666
4624
  };
4667
- const a$7 = {
4668
- ...l$6,
4625
+ const a$8 = {
4626
+ ...n$5,
4669
4627
  type: "rich-text-child"
4670
4628
  };
4671
4629
  const s$3 = {
4672
4630
  span
4673
- }, c$5 = {
4631
+ }, c$7 = {
4674
4632
  type: "rich-text-child",
4675
4633
  label: "Text",
4676
4634
  icon: PaintBrushIcon,
4677
4635
  states: defaultStates,
4678
4636
  presetStyle: s$3
4679
4637
  };
4680
- const p$c = {
4681
- b: b$5
4682
- }, l$5 = {
4638
+ const p$8 = {
4639
+ b: b$8
4640
+ }, l$6 = {
4683
4641
  type: "rich-text-child",
4684
4642
  label: "Bold Text",
4685
4643
  icon: BoldIcon,
4686
4644
  states: defaultStates,
4687
- presetStyle: p$c
4645
+ presetStyle: p$8
4688
4646
  };
4689
- const r$9 = {
4647
+ const r$c = {
4690
4648
  i: [
4691
- ...i$8,
4649
+ ...i$3,
4692
4650
  {
4693
4651
  property: "font-style",
4694
4652
  value: { type: "keyword", value: "italic" }
4695
4653
  }
4696
4654
  ]
4697
- }, c$4 = {
4655
+ }, c$6 = {
4698
4656
  type: "rich-text-child",
4699
4657
  label: "Italic Text",
4700
4658
  icon: TextItalicIcon,
4701
4659
  states: defaultStates,
4702
- presetStyle: r$9
4660
+ presetStyle: r$c
4703
4661
  };
4704
4662
  const e$3 = {
4705
4663
  sup
4706
- }, a$6 = {
4664
+ }, a$7 = {
4707
4665
  type: "rich-text-child",
4708
4666
  label: "Superscript Text",
4709
4667
  icon: SuperscriptIcon,
@@ -4712,30 +4670,26 @@ const e$3 = {
4712
4670
  };
4713
4671
  const e$2 = {
4714
4672
  sub
4715
- }, a$5 = {
4673
+ }, a$6 = {
4716
4674
  type: "rich-text-child",
4717
4675
  label: "Subscript Text",
4718
4676
  icon: SubscriptIcon,
4719
4677
  states: defaultStates,
4720
4678
  presetStyle: e$2
4721
4679
  };
4722
- const a$4 = {
4680
+ const l$5 = {
4723
4681
  button
4724
- }, p$b = {
4682
+ }, p$7 = {
4725
4683
  icon: ButtonElementIcon,
4726
4684
  type: "container",
4727
- constraints: {
4728
- relation: "ancestor",
4729
- component: { $nin: ["Button", "Link"] }
4730
- },
4731
- presetStyle: a$4,
4685
+ presetStyle: l$5,
4732
4686
  states: [
4733
4687
  ...defaultStates,
4734
4688
  { selector: ":disabled", label: "Disabled" },
4735
4689
  { selector: ":enabled", label: "Enabled" }
4736
4690
  ]
4737
4691
  };
4738
- const r$8 = {
4692
+ const r$b = {
4739
4693
  input: [
4740
4694
  ...input,
4741
4695
  {
@@ -4743,17 +4697,13 @@ const r$8 = {
4743
4697
  value: { type: "keyword", value: "block" }
4744
4698
  }
4745
4699
  ]
4746
- }, p$a = {
4700
+ }, c$5 = {
4747
4701
  category: "forms",
4748
- constraints: {
4749
- relation: "ancestor",
4750
- component: { $nin: ["Button", "Link"] }
4751
- },
4752
4702
  type: "control",
4753
4703
  label: "Text Input",
4754
4704
  description: "A single-line text input for collecting string data from your users.",
4755
4705
  icon: FormTextFieldIcon,
4756
- presetStyle: r$8,
4706
+ presetStyle: r$b,
4757
4707
  order: 3,
4758
4708
  states: [
4759
4709
  ...defaultStates,
@@ -4769,14 +4719,10 @@ const r$8 = {
4769
4719
  //{ selector: ":read-write", label: "Read Write" },
4770
4720
  ]
4771
4721
  };
4772
- const n$3 = {
4722
+ const c$4 = {
4773
4723
  label: "Webhook Form",
4774
4724
  icon: WebhookFormIcon,
4775
4725
  type: "container",
4776
- constraints: {
4777
- relation: "ancestor",
4778
- component: { $nin: ["Form", "Button", "Link"] }
4779
- },
4780
4726
  presetStyle: {
4781
4727
  form
4782
4728
  },
@@ -4785,26 +4731,22 @@ const n$3 = {
4785
4731
  { selector: "[data-state=success]", label: "Success" }
4786
4732
  ]
4787
4733
  };
4788
- const n$2 = {
4734
+ const s$2 = {
4789
4735
  form: [
4790
4736
  ...form,
4791
4737
  { property: "min-height", value: { type: "unit", unit: "px", value: 20 } }
4792
4738
  ]
4793
- }, p$9 = {
4739
+ }, n$4 = {
4794
4740
  category: "forms",
4795
4741
  type: "container",
4796
4742
  label: "Form",
4797
- constraints: {
4798
- relation: "ancestor",
4799
- component: { $nin: ["Form", "Button", "Link"] }
4800
- },
4801
4743
  description: "Create filters, surveys, searches and more.",
4802
4744
  icon: FormIcon,
4803
4745
  states: defaultStates,
4804
- presetStyle: n$2,
4746
+ presetStyle: s$2,
4805
4747
  order: 0
4806
4748
  };
4807
- const a$3 = {
4749
+ const a$5 = {
4808
4750
  img: [
4809
4751
  ...img,
4810
4752
  // Otherwise on new image insert onto canvas it can overfit screen size multiple times
@@ -4832,10 +4774,10 @@ const a$3 = {
4832
4774
  description: "Add an image asset to the page. Webstudio automatically converts images to WebP or AVIF format and makes them responsive for best performance.",
4833
4775
  icon: ImageIcon,
4834
4776
  states: defaultStates,
4835
- presetStyle: a$3,
4777
+ presetStyle: a$5,
4836
4778
  order: 0
4837
4779
  };
4838
- const r$7 = {
4780
+ const r$a = {
4839
4781
  blockquote: [
4840
4782
  {
4841
4783
  property: "margin-top",
@@ -4882,14 +4824,14 @@ const r$7 = {
4882
4824
  value: { type: "rgb", r: 226, g: 226, b: 226, alpha: 1 }
4883
4825
  }
4884
4826
  ]
4885
- }, i$7 = {
4827
+ }, i$2 = {
4886
4828
  type: "container",
4887
4829
  placeholder: "Blockquote",
4888
4830
  icon: BlockquoteIcon,
4889
4831
  states: defaultStates,
4890
- presetStyle: r$7
4832
+ presetStyle: r$a
4891
4833
  };
4892
- const a$2 = {
4834
+ const a$4 = {
4893
4835
  ol: [
4894
4836
  ...ol,
4895
4837
  {
@@ -4920,29 +4862,22 @@ const a$2 = {
4920
4862
  value: { type: "keyword", value: "40px" }
4921
4863
  }
4922
4864
  ]
4923
- }, d$3 = {
4865
+ }, d$5 = {
4924
4866
  type: "container",
4925
4867
  icon: ListIcon,
4926
4868
  states: defaultStates,
4927
- presetStyle: a$2
4869
+ presetStyle: a$4
4928
4870
  };
4929
- const s$2 = {
4930
- li
4931
- }, m$3 = {
4871
+ const a$3 = {
4932
4872
  type: "container",
4933
4873
  placeholder: "List item",
4934
- constraints: {
4935
- // cannot use parent relation here
4936
- // because list item can be put inside of collection or slot
4937
- // perhaps can be eventually fixed with tag matchers
4938
- relation: "ancestor",
4939
- component: { $eq: "List" }
4940
- },
4941
4874
  icon: ListItemIcon,
4942
4875
  states: defaultStates,
4943
- presetStyle: s$2
4876
+ presetStyle: {
4877
+ li
4878
+ }
4944
4879
  };
4945
- const p$8 = {
4880
+ const p$6 = {
4946
4881
  hr: [
4947
4882
  ...hr,
4948
4883
  {
@@ -4970,16 +4905,16 @@ const p$8 = {
4970
4905
  value: { type: "keyword", value: "none" }
4971
4906
  }
4972
4907
  ]
4973
- }, n$1 = {
4908
+ }, n$3 = {
4974
4909
  category: "general",
4975
4910
  type: "embed",
4976
4911
  description: "Used to visually divide sections of content, helping to improve readability and organization within a webpage.",
4977
4912
  icon: MinusIcon,
4978
4913
  states: defaultStates,
4979
- presetStyle: p$8,
4914
+ presetStyle: p$6,
4980
4915
  order: 3
4981
4916
  };
4982
- const p$7 = {
4917
+ const p$5 = {
4983
4918
  code: [
4984
4919
  ...code,
4985
4920
  {
@@ -5007,34 +4942,26 @@ const p$7 = {
5007
4942
  value: { type: "rgb", r: 238, g: 238, b: 238, alpha: 1 }
5008
4943
  }
5009
4944
  ]
5010
- }, i$6 = {
4945
+ }, d$4 = {
5011
4946
  category: "general",
5012
4947
  type: "embed",
5013
4948
  description: "Use this component when you want to display code as text on the page.",
5014
4949
  icon: BracesIcon,
5015
- constraints: {
5016
- relation: "ancestor",
5017
- component: { $neq: "CodeText" }
5018
- },
5019
4950
  states: defaultStates,
5020
- presetStyle: p$7,
4951
+ presetStyle: p$5,
5021
4952
  order: 5
5022
4953
  };
5023
- const a$1 = {
4954
+ const a$2 = {
5024
4955
  label: [
5025
4956
  ...label,
5026
4957
  { property: "display", value: { type: "keyword", value: "block" } }
5027
4958
  ]
5028
- }, i$5 = {
5029
- constraints: {
5030
- relation: "ancestor",
5031
- component: { $nin: ["Button", "Link"] }
5032
- },
4959
+ }, m$3 = {
5033
4960
  type: "container",
5034
4961
  label: "Input Label",
5035
4962
  icon: LabelIcon,
5036
4963
  states: defaultStates,
5037
- presetStyle: a$1
4964
+ presetStyle: a$2
5038
4965
  };
5039
4966
  const l$3 = {
5040
4967
  textarea: [
@@ -5046,7 +4973,7 @@ const l$3 = {
5046
4973
  value: { type: "keyword", value: "block" }
5047
4974
  }
5048
4975
  ]
5049
- }, p$6 = {
4976
+ }, c$3 = {
5050
4977
  category: "forms",
5051
4978
  type: "control",
5052
4979
  label: "Text Area",
@@ -5054,10 +4981,6 @@ const l$3 = {
5054
4981
  icon: FormTextAreaIcon,
5055
4982
  presetStyle: l$3,
5056
4983
  order: 4,
5057
- constraints: {
5058
- relation: "ancestor",
5059
- component: { $nin: ["Button", "Link"] }
5060
- },
5061
4984
  states: [
5062
4985
  ...defaultStates,
5063
4986
  { selector: "::placeholder", label: "Placeholder" },
@@ -5072,7 +4995,7 @@ const l$3 = {
5072
4995
  //{ selector: ":read-write", label: "Read Write" },
5073
4996
  ]
5074
4997
  };
5075
- const i$4 = {
4998
+ const a$1 = {
5076
4999
  input: [
5077
5000
  ...radio,
5078
5001
  {
@@ -5080,15 +5003,11 @@ const i$4 = {
5080
5003
  value: { type: "unit", unit: "em", value: 0.5 }
5081
5004
  }
5082
5005
  ]
5083
- }, p$5 = {
5084
- constraints: {
5085
- relation: "ancestor",
5086
- component: { $nin: ["Button", "Link"] }
5087
- },
5006
+ }, s$1 = {
5088
5007
  type: "control",
5089
5008
  label: "Radio",
5090
5009
  icon: RadioCheckedIcon,
5091
- presetStyle: i$4,
5010
+ presetStyle: a$1,
5092
5011
  states: [
5093
5012
  ...defaultStates,
5094
5013
  { selector: ":checked", label: "Checked" },
@@ -5101,7 +5020,7 @@ const i$4 = {
5101
5020
  //{ selector: ":read-write", label: "Read Write" },
5102
5021
  ]
5103
5022
  };
5104
- const r$6 = {
5023
+ const o$3 = {
5105
5024
  input: [
5106
5025
  ...checkbox,
5107
5026
  {
@@ -5109,14 +5028,10 @@ const r$6 = {
5109
5028
  value: { type: "unit", unit: "em", value: 0.5 }
5110
5029
  }
5111
5030
  ]
5112
- }, s$1 = {
5113
- constraints: {
5114
- relation: "ancestor",
5115
- component: { $nin: ["Button", "Link"] }
5116
- },
5031
+ }, d$3 = {
5117
5032
  type: "control",
5118
5033
  icon: CheckboxCheckedIcon,
5119
- presetStyle: r$6,
5034
+ presetStyle: o$3,
5120
5035
  states: [
5121
5036
  ...defaultStates,
5122
5037
  { selector: ":checked", label: "Checked" },
@@ -5128,31 +5043,31 @@ const r$6 = {
5128
5043
  { selector: ":read-write", label: "Read Write" }
5129
5044
  ]
5130
5045
  };
5131
- const r$5 = {
5046
+ const r$9 = {
5132
5047
  div
5133
- }, c$3 = {
5048
+ }, c$2 = {
5134
5049
  type: "container",
5135
5050
  icon: VimeoIcon,
5136
5051
  states: defaultStates,
5137
- presetStyle: r$5,
5052
+ presetStyle: r$9,
5138
5053
  constraints: {
5139
5054
  relation: "ancestor",
5140
5055
  component: { $nin: ["Button", "Link", "Heading"] }
5141
5056
  }
5142
5057
  };
5143
- const i$3 = {
5058
+ const i$1 = {
5144
5059
  div
5145
- }, c$2 = {
5060
+ }, c$1 = {
5146
5061
  type: "container",
5147
5062
  icon: YoutubeIcon,
5148
5063
  states: defaultStates,
5149
- presetStyle: i$3,
5064
+ presetStyle: i$1,
5150
5065
  constraints: {
5151
5066
  relation: "ancestor",
5152
5067
  component: { $nin: ["Button", "Link", "Heading"] }
5153
5068
  }
5154
5069
  };
5155
- const i$2 = {
5070
+ const i = {
5156
5071
  ...l$4,
5157
5072
  category: "hidden",
5158
5073
  label: "Preview Image",
@@ -5161,7 +5076,7 @@ const i$2 = {
5161
5076
  component: { $in: ["Vimeo", "YouTube"] }
5162
5077
  }
5163
5078
  };
5164
- const r$4 = {
5079
+ const r$8 = {
5165
5080
  button
5166
5081
  }, p$4 = {
5167
5082
  category: "hidden",
@@ -5178,10 +5093,10 @@ const r$4 = {
5178
5093
  ],
5179
5094
  label: "Play Button",
5180
5095
  icon: ButtonElementIcon,
5181
- presetStyle: r$4,
5096
+ presetStyle: r$8,
5182
5097
  states: defaultStates
5183
5098
  };
5184
- const n = {
5099
+ const n$2 = {
5185
5100
  div
5186
5101
  }, m$2 = {
5187
5102
  type: "container",
@@ -5191,7 +5106,7 @@ const n = {
5191
5106
  },
5192
5107
  icon: BoxIcon,
5193
5108
  states: defaultStates,
5194
- presetStyle: n,
5109
+ presetStyle: n$2,
5195
5110
  category: "hidden",
5196
5111
  label: "Spinner"
5197
5112
  };
@@ -5209,7 +5124,7 @@ const a = {
5209
5124
  icon: CalendarIcon,
5210
5125
  order: 7
5211
5126
  };
5212
- const r$3 = {
5127
+ const r$7 = {
5213
5128
  time
5214
5129
  }, s = {
5215
5130
  category: "localization",
@@ -5217,9 +5132,9 @@ const r$3 = {
5217
5132
  description: "Converts machine-readable date and time to a human-readable format.",
5218
5133
  icon: CalendarIcon,
5219
5134
  states: defaultStates,
5220
- presetStyle: r$3
5135
+ presetStyle: r$7
5221
5136
  };
5222
- const r$2 = {
5137
+ const r$6 = {
5223
5138
  select: [
5224
5139
  ...select,
5225
5140
  {
@@ -5227,14 +5142,10 @@ const r$2 = {
5227
5142
  value: { type: "keyword", value: "block" }
5228
5143
  }
5229
5144
  ]
5230
- }, c$1 = {
5231
- constraints: {
5232
- relation: "ancestor",
5233
- component: { $nin: ["Button", "Link"] }
5234
- },
5145
+ }, c = {
5235
5146
  type: "container",
5236
5147
  icon: SelectIcon,
5237
- presetStyle: r$2,
5148
+ presetStyle: r$6,
5238
5149
  states: [
5239
5150
  ...defaultStates,
5240
5151
  { selector: "::placeholder", label: "Placeholder" },
@@ -5244,7 +5155,7 @@ const r$2 = {
5244
5155
  { selector: ":optional", label: "Optional" }
5245
5156
  ]
5246
5157
  };
5247
- const o$2 = {
5158
+ const l$2 = {
5248
5159
  option: [
5249
5160
  {
5250
5161
  property: "background-color",
@@ -5258,16 +5169,12 @@ const o$2 = {
5258
5169
  }
5259
5170
  }
5260
5171
  ]
5261
- }, r$1 = {
5172
+ }, r$5 = {
5262
5173
  category: "hidden",
5263
- constraints: {
5264
- relation: "parent",
5265
- component: { $eq: "Select" }
5266
- },
5267
5174
  type: "control",
5268
5175
  description: "An item within a drop-down menu that users can select as their chosen value.",
5269
5176
  icon: ItemIcon,
5270
- presetStyle: o$2,
5177
+ presetStyle: l$2,
5271
5178
  states: [
5272
5179
  // Applies when option is being activated (clicked)
5273
5180
  { selector: ":active", label: "Active" },
@@ -5279,7 +5186,7 @@ const o$2 = {
5279
5186
  { selector: ":disabled", label: "Disabled" }
5280
5187
  ]
5281
5188
  };
5282
- const r = {
5189
+ const r$4 = {
5283
5190
  icon: HeaderIcon,
5284
5191
  type: "container",
5285
5192
  description: "Inserts children into the head of the document",
@@ -5323,104 +5230,151 @@ const p$1 = {
5323
5230
  };
5324
5231
  const baseComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5325
5232
  __proto__: null,
5326
- Blockquote: i$7,
5327
- Body: n$5,
5328
- Bold: l$5,
5329
- Box: v$3,
5330
- Button: p$b,
5331
- Checkbox: s$1,
5332
- CodeText: i$6,
5333
- Form: n$3,
5334
- Fragment: o$3,
5233
+ Blockquote: i$2,
5234
+ Body: n$9,
5235
+ Bold: l$6,
5236
+ Box: v$2,
5237
+ Button: p$7,
5238
+ Checkbox: d$3,
5239
+ CodeText: d$4,
5240
+ Form: c$4,
5241
+ Fragment: o$4,
5335
5242
  HeadLink: p$3,
5336
5243
  HeadMeta: p$2,
5337
- HeadSlot: r,
5244
+ HeadSlot: r$4,
5338
5245
  HeadTitle: p$1,
5339
- Heading: f$3,
5246
+ Heading: f$1,
5340
5247
  HtmlEmbed: a$c,
5341
5248
  Image: l$4,
5342
- Input: p$a,
5343
- Italic: c$4,
5344
- Label: i$5,
5345
- Link: l$6,
5346
- List: d$3,
5347
- ListItem: m$3,
5249
+ Input: c$5,
5250
+ Italic: c$6,
5251
+ Label: m$3,
5252
+ Link: n$5,
5253
+ List: d$5,
5254
+ ListItem: a$3,
5348
5255
  MarkdownEmbed: t$1,
5349
- Option: r$1,
5350
- Paragraph: c$6,
5351
- RadioButton: p$5,
5352
- RemixForm: p$9,
5353
- RichTextLink: a$7,
5354
- Select: c$1,
5355
- Separator: n$1,
5256
+ Option: r$5,
5257
+ Paragraph: n$6,
5258
+ RadioButton: s$1,
5259
+ RemixForm: n$4,
5260
+ RichTextLink: a$8,
5261
+ Select: c,
5262
+ Separator: n$3,
5356
5263
  Slot: e$5,
5357
- Span: c$5,
5358
- Subscript: a$5,
5359
- Superscript: a$6,
5360
- Text: n$4,
5361
- Textarea: p$6,
5264
+ Span: c$7,
5265
+ Subscript: a$6,
5266
+ Superscript: a$7,
5267
+ Text: n$8,
5268
+ Textarea: c$3,
5362
5269
  Time: s,
5363
- Vimeo: c$3,
5270
+ Vimeo: c$2,
5364
5271
  VimeoPlayButton: p$4,
5365
- VimeoPreviewImage: i$2,
5272
+ VimeoPreviewImage: i,
5366
5273
  VimeoSpinner: m$2,
5367
5274
  XmlNode: e$1,
5368
5275
  XmlTime: a,
5369
- YouTube: c$2
5276
+ YouTube: c$1
5370
5277
  }, Symbol.toStringTag, { value: "Module" }));
5371
- const i$1 = {
5372
- category: "general",
5278
+ const o$2 = {
5279
+ category: "animations",
5373
5280
  type: "container",
5374
- description: "Animate Children",
5375
- icon: SlotComponentIcon,
5281
+ description: "Animation Group component is designed to animate its children.",
5282
+ icon: AnimationGroupIcon,
5376
5283
  order: 5,
5377
- label: "Animate Children"
5284
+ label: "Animation Group",
5285
+ constraints: {
5286
+ relation: "child",
5287
+ text: false
5288
+ }
5378
5289
  };
5379
- const i = {
5380
- category: "general",
5290
+ const n$1 = (t2) => new Proxy(
5291
+ {},
5292
+ {
5293
+ get(o2, e2) {
5294
+ return `${t2}${e2}`;
5295
+ }
5296
+ }
5297
+ ), r$3 = n$1(
5298
+ "@webstudio-is/sdk-components-animation:"
5299
+ );
5300
+ const r$2 = {
5301
+ category: "animations",
5381
5302
  type: "container",
5382
- description: "Animate Text",
5383
- icon: TextIcon,
5303
+ description: "Text animation allows you to split text by char or by word to animate it.",
5304
+ icon: TextAnimationIcon,
5384
5305
  order: 6,
5385
- label: "Animate Text"
5306
+ label: "Text Animation",
5307
+ constraints: [
5308
+ { relation: "parent", component: { $eq: r$3.AnimateChildren } },
5309
+ {
5310
+ relation: "child",
5311
+ text: false
5312
+ }
5313
+ ]
5314
+ };
5315
+ const r$1 = {
5316
+ category: "animations",
5317
+ type: "container",
5318
+ description: "Stagger animation allows you to animate children elements with a sliding window.",
5319
+ icon: StaggerAnimationIcon,
5320
+ order: 6,
5321
+ label: "Stagger Animation",
5322
+ constraints: [
5323
+ { relation: "parent", component: { $eq: r$3.AnimateChildren } },
5324
+ {
5325
+ relation: "child",
5326
+ text: false
5327
+ }
5328
+ ]
5386
5329
  };
5387
5330
  const animationComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5388
5331
  __proto__: null,
5389
- AnimateChildren: i$1,
5390
- AnimateText: i
5332
+ AnimateChildren: o$2,
5333
+ AnimateText: r$2,
5334
+ StaggerAnimation: r$1
5391
5335
  }, Symbol.toStringTag, { value: "Module" }));
5392
5336
  const remixComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5393
5337
  __proto__: null,
5394
- Body: n$5,
5395
- Form: n$3,
5396
- Link: l$6,
5397
- RemixForm: p$9,
5398
- RichTextLink: a$7
5338
+ Body: n$9,
5339
+ Form: c$4,
5340
+ Link: n$5,
5341
+ RemixForm: n$4,
5342
+ RichTextLink: a$8
5399
5343
  }, Symbol.toStringTag, { value: "Module" }));
5400
- const c = {
5344
+ const r = (t2) => new Proxy(
5345
+ {},
5346
+ {
5347
+ get(o2, e2) {
5348
+ return `${t2}${e2}`;
5349
+ }
5350
+ }
5351
+ ), n = r(
5352
+ "@webstudio-is/sdk-components-react-radix:"
5353
+ );
5354
+ const m$1 = {
5401
5355
  type: "container",
5402
5356
  constraints: [
5403
5357
  {
5404
5358
  relation: "descendant",
5405
- component: { $eq: "CollapsibleTrigger" }
5359
+ component: { $eq: n.CollapsibleTrigger }
5406
5360
  },
5407
5361
  {
5408
5362
  relation: "descendant",
5409
- component: { $eq: "CollapsibleContent" }
5363
+ component: { $eq: n.CollapsibleContent }
5410
5364
  }
5411
5365
  ],
5412
5366
  presetStyle: {
5413
5367
  div
5414
5368
  },
5415
5369
  icon: CollapsibleIcon
5416
- }, C$3 = {
5370
+ }, b$7 = {
5417
5371
  type: "container",
5418
5372
  icon: TriggerIcon,
5419
5373
  constraints: {
5420
5374
  relation: "ancestor",
5421
- component: { $eq: "Collapsible" }
5375
+ component: { $eq: n.Collapsible }
5422
5376
  }
5423
- }, b$4 = {
5377
+ }, g$2 = {
5424
5378
  type: "container",
5425
5379
  presetStyle: {
5426
5380
  div
@@ -5428,7 +5382,7 @@ const c = {
5428
5382
  icon: ContentIcon,
5429
5383
  constraints: {
5430
5384
  relation: "ancestor",
5431
- component: { $eq: "Collapsible" }
5385
+ component: { $eq: n.Collapsible }
5432
5386
  }
5433
5387
  };
5434
5388
  const o$1 = (r2, t2, p2) => ({
@@ -5440,7 +5394,7 @@ const o$1 = (r2, t2, p2) => ({
5440
5394
  }), d$2 = (r2, t2, p2, l2) => ({
5441
5395
  property: r2,
5442
5396
  value: { type: "rgb", alpha: 1, r: t2, g: p2, b: l2 }
5443
- }), b$3 = [
5397
+ }), b$6 = [
5444
5398
  {
5445
5399
  property: "background-color",
5446
5400
  value: { type: "keyword", value: "transparent" }
@@ -5466,14 +5420,14 @@ const o$1 = (r2, t2, p2) => ({
5466
5420
  o$1("padding-bottom", 0, "px"),
5467
5421
  o$1("padding-left", 0, "px")
5468
5422
  ];
5469
- const O = {
5423
+ const S$1 = {
5470
5424
  type: "container",
5471
5425
  icon: TriggerIcon,
5472
5426
  constraints: {
5473
5427
  relation: "ancestor",
5474
- component: { $eq: "Dialog" }
5428
+ component: { $eq: n.Dialog }
5475
5429
  }
5476
- }, P$2 = {
5430
+ }, b$5 = {
5477
5431
  type: "container",
5478
5432
  presetStyle: {
5479
5433
  div
@@ -5482,14 +5436,14 @@ const O = {
5482
5436
  constraints: [
5483
5437
  {
5484
5438
  relation: "ancestor",
5485
- component: { $eq: "Dialog" }
5439
+ component: { $eq: n.Dialog }
5486
5440
  },
5487
5441
  {
5488
5442
  relation: "descendant",
5489
- component: { $eq: "DialogContent" }
5443
+ component: { $eq: n.DialogContent }
5490
5444
  }
5491
5445
  ]
5492
- }, S = {
5446
+ }, x$3 = {
5493
5447
  type: "container",
5494
5448
  presetStyle: {
5495
5449
  div
@@ -5498,26 +5452,26 @@ const O = {
5498
5452
  constraints: [
5499
5453
  {
5500
5454
  relation: "ancestor",
5501
- component: { $eq: "DialogOverlay" }
5455
+ component: { $eq: n.DialogOverlay }
5502
5456
  },
5503
5457
  // often deleted by users
5504
5458
  // though radix starts throwing warnings in console
5505
5459
  /*
5506
5460
  {
5507
5461
  relation: "descendant",
5508
- component: { $eq: "DialogTitle" },
5462
+ component: { $eq: radix.DialogTitle },
5509
5463
  },
5510
5464
  {
5511
5465
  relation: "descendant",
5512
- component: { $eq: "DialogDescription" },
5466
+ component: { $eq: radix.DialogDescription },
5513
5467
  },
5514
5468
  */
5515
5469
  {
5516
5470
  relation: "descendant",
5517
- component: { $eq: "DialogClose" }
5471
+ component: { $eq: n.DialogClose }
5518
5472
  }
5519
5473
  ]
5520
- }, b$2 = {
5474
+ }, B = {
5521
5475
  type: "container",
5522
5476
  presetStyle: {
5523
5477
  h2
@@ -5525,52 +5479,52 @@ const O = {
5525
5479
  icon: HeadingIcon,
5526
5480
  constraints: {
5527
5481
  relation: "ancestor",
5528
- component: { $eq: "DialogContent" }
5482
+ component: { $eq: n.DialogContent }
5529
5483
  }
5530
- }, x$1 = {
5484
+ }, h$1 = {
5531
5485
  type: "container",
5532
5486
  presetStyle: {
5533
- p: p$d
5487
+ p: p$a
5534
5488
  },
5535
5489
  icon: TextIcon,
5536
5490
  constraints: {
5537
5491
  relation: "ancestor",
5538
- component: { $eq: "DialogContent" }
5492
+ component: { $eq: n.DialogContent }
5539
5493
  }
5540
- }, B = {
5494
+ }, E = {
5541
5495
  type: "container",
5542
5496
  presetStyle: {
5543
- button: [b$3, button].flat()
5497
+ button: [b$6, button].flat()
5544
5498
  },
5545
5499
  states: defaultStates,
5546
5500
  icon: ButtonElementIcon,
5547
5501
  label: "Close Button",
5548
5502
  constraints: {
5549
5503
  relation: "ancestor",
5550
- component: { $eq: "DialogContent" }
5504
+ component: { $eq: n.DialogContent }
5551
5505
  }
5552
- }, h = {
5506
+ }, H$1 = {
5553
5507
  type: "container",
5554
5508
  icon: DialogIcon,
5555
5509
  constraints: [
5556
5510
  {
5557
5511
  relation: "descendant",
5558
- component: { $eq: "DialogTrigger" }
5512
+ component: { $eq: n.DialogTrigger }
5559
5513
  },
5560
5514
  {
5561
5515
  relation: "descendant",
5562
- component: { $eq: "DialogOverlay" }
5516
+ component: { $eq: n.DialogOverlay }
5563
5517
  }
5564
5518
  ]
5565
5519
  };
5566
- const P$1 = {
5520
+ const v$1 = {
5567
5521
  type: "container",
5568
5522
  icon: TriggerIcon,
5569
5523
  constraints: {
5570
5524
  relation: "ancestor",
5571
- component: { $eq: "Popover" }
5525
+ component: { $eq: n.Popover }
5572
5526
  }
5573
- }, v$2 = {
5527
+ }, g$1 = {
5574
5528
  type: "container",
5575
5529
  presetStyle: {
5576
5530
  div
@@ -5578,30 +5532,30 @@ const P$1 = {
5578
5532
  icon: ContentIcon,
5579
5533
  constraints: {
5580
5534
  relation: "ancestor",
5581
- component: { $eq: "Popover" }
5535
+ component: { $eq: n.Popover }
5582
5536
  }
5583
- }, m$1 = {
5537
+ }, l$1 = {
5584
5538
  type: "container",
5585
5539
  icon: PopoverIcon,
5586
5540
  constraints: [
5587
5541
  {
5588
5542
  relation: "descendant",
5589
- component: { $eq: "PopoverTrigger" }
5543
+ component: { $eq: n.PopoverTrigger }
5590
5544
  },
5591
5545
  {
5592
5546
  relation: "descendant",
5593
- component: { $eq: "PopoverContent" }
5547
+ component: { $eq: n.PopoverContent }
5594
5548
  }
5595
5549
  ]
5596
5550
  };
5597
- const l$2 = {
5551
+ const m = {
5598
5552
  type: "container",
5599
5553
  icon: TriggerIcon,
5600
5554
  constraints: {
5601
5555
  relation: "ancestor",
5602
- component: { $eq: "Tooltip" }
5556
+ component: { $eq: n.Tooltip }
5603
5557
  }
5604
- }, T$1 = {
5558
+ }, g = {
5605
5559
  type: "container",
5606
5560
  icon: ContentIcon,
5607
5561
  presetStyle: {
@@ -5609,64 +5563,64 @@ const l$2 = {
5609
5563
  },
5610
5564
  constraints: {
5611
5565
  relation: "ancestor",
5612
- component: { $eq: "Tooltip" }
5566
+ component: { $eq: n.Tooltip }
5613
5567
  }
5614
- }, m = {
5568
+ }, d$1 = {
5615
5569
  type: "container",
5616
5570
  constraints: [
5617
5571
  {
5618
5572
  relation: "descendant",
5619
- component: { $eq: "TooltipTrigger" }
5573
+ component: { $eq: n.TooltipTrigger }
5620
5574
  },
5621
5575
  {
5622
5576
  relation: "descendant",
5623
- component: { $eq: "TooltipContent" }
5577
+ component: { $eq: n.TooltipContent }
5624
5578
  }
5625
5579
  ],
5626
5580
  icon: TooltipIcon
5627
5581
  };
5628
- const t = {
5582
+ const o = {
5629
5583
  div
5630
- }, y$2 = {
5584
+ }, C$3 = {
5631
5585
  type: "container",
5632
5586
  icon: TabsIcon,
5633
5587
  constraints: [
5634
5588
  {
5635
5589
  relation: "descendant",
5636
- component: { $eq: "TabsTrigger" }
5590
+ component: { $eq: n.TabsTrigger }
5637
5591
  },
5638
5592
  {
5639
5593
  relation: "descendant",
5640
- component: { $eq: "TabsList" }
5594
+ component: { $eq: n.TabsList }
5641
5595
  },
5642
5596
  {
5643
5597
  relation: "descendant",
5644
- component: { $eq: "TabsContent" }
5598
+ component: { $eq: n.TabsContent }
5645
5599
  }
5646
5600
  ],
5647
- presetStyle: t
5648
- }, $$1 = {
5601
+ presetStyle: o
5602
+ }, L = {
5649
5603
  type: "container",
5650
5604
  icon: HeaderIcon,
5651
5605
  constraints: {
5652
5606
  relation: "ancestor",
5653
- component: { $eq: "Tabs" }
5607
+ component: { $eq: n.Tabs }
5654
5608
  },
5655
- presetStyle: t
5656
- }, C$2 = {
5609
+ presetStyle: o
5610
+ }, u = {
5657
5611
  type: "container",
5658
5612
  icon: TriggerIcon,
5659
5613
  constraints: [
5660
5614
  {
5661
5615
  relation: "ancestor",
5662
- component: { $eq: "TabsList" }
5616
+ component: { $eq: n.TabsList }
5663
5617
  },
5664
5618
  {
5665
5619
  relation: "ancestor",
5666
- component: { $neq: "TabsTrigger" }
5620
+ component: { $neq: n.TabsTrigger }
5667
5621
  }
5668
5622
  ],
5669
- indexWithinAncestor: "Tabs",
5623
+ indexWithinAncestor: n.Tabs,
5670
5624
  label: "Tab Trigger",
5671
5625
  states: [
5672
5626
  ...defaultStates,
@@ -5677,71 +5631,71 @@ const t = {
5677
5631
  }
5678
5632
  ],
5679
5633
  presetStyle: {
5680
- button: [button, b$3].flat()
5634
+ button: [button, b$6].flat()
5681
5635
  }
5682
- }, L$1 = {
5636
+ }, x$2 = {
5683
5637
  type: "container",
5684
5638
  label: "Tab Content",
5685
5639
  icon: ContentIcon,
5686
5640
  constraints: {
5687
5641
  relation: "ancestor",
5688
- component: { $eq: "Tabs" }
5642
+ component: { $eq: n.Tabs }
5689
5643
  },
5690
- indexWithinAncestor: "Tabs",
5691
- presetStyle: t
5644
+ indexWithinAncestor: n.Tabs,
5645
+ presetStyle: o
5692
5646
  };
5693
5647
  const p = {
5694
5648
  label
5695
- }, l$1 = {
5649
+ }, l = {
5696
5650
  type: "container",
5697
5651
  icon: LabelIcon,
5698
5652
  presetStyle: p,
5699
5653
  states: defaultStates
5700
5654
  };
5701
- const o = {
5655
+ const t = {
5702
5656
  div
5703
- }, f$2 = {
5657
+ }, H = {
5704
5658
  type: "container",
5705
5659
  icon: AccordionIcon,
5706
- presetStyle: o,
5660
+ presetStyle: t,
5707
5661
  constraints: [
5708
5662
  {
5709
5663
  relation: "descendant",
5710
- component: { $eq: "AccordionItem" }
5664
+ component: { $eq: n.AccordionItem }
5711
5665
  }
5712
5666
  ]
5713
- }, v$1 = {
5667
+ }, C$2 = {
5714
5668
  type: "container",
5715
5669
  label: "Item",
5716
5670
  icon: ItemIcon,
5717
5671
  constraints: [
5718
5672
  {
5719
5673
  relation: "ancestor",
5720
- component: { $eq: "Accordion" }
5674
+ component: { $eq: n.Accordion }
5721
5675
  },
5722
5676
  {
5723
5677
  relation: "descendant",
5724
- component: { $eq: "AccordionHeader" }
5678
+ component: { $eq: n.AccordionHeader }
5725
5679
  },
5726
5680
  {
5727
5681
  relation: "descendant",
5728
- component: { $eq: "AccordionContent" }
5682
+ component: { $eq: n.AccordionContent }
5729
5683
  }
5730
5684
  ],
5731
- indexWithinAncestor: "Accordion",
5732
- presetStyle: o
5733
- }, H = {
5685
+ indexWithinAncestor: n.Accordion,
5686
+ presetStyle: t
5687
+ }, T = {
5734
5688
  type: "container",
5735
5689
  label: "Item Header",
5736
5690
  icon: HeaderIcon,
5737
5691
  constraints: [
5738
5692
  {
5739
5693
  relation: "ancestor",
5740
- component: { $eq: "AccordionItem" }
5694
+ component: { $eq: n.AccordionItem }
5741
5695
  },
5742
5696
  {
5743
5697
  relation: "descendant",
5744
- component: { $eq: "AccordionTrigger" }
5698
+ component: { $eq: n.AccordionTrigger }
5745
5699
  }
5746
5700
  ],
5747
5701
  presetStyle: {
@@ -5757,13 +5711,13 @@ const o = {
5757
5711
  }
5758
5712
  ]
5759
5713
  }
5760
- }, C$1 = {
5714
+ }, x$1 = {
5761
5715
  type: "container",
5762
5716
  label: "Item Trigger",
5763
5717
  icon: TriggerIcon,
5764
5718
  constraints: {
5765
5719
  relation: "ancestor",
5766
- component: { $eq: "AccordionHeader" }
5720
+ component: { $eq: n.AccordionHeader }
5767
5721
  },
5768
5722
  states: [
5769
5723
  ...defaultStates,
@@ -5774,19 +5728,19 @@ const o = {
5774
5728
  }
5775
5729
  ],
5776
5730
  presetStyle: {
5777
- button: [button, b$3].flat()
5731
+ button: [button, b$6].flat()
5778
5732
  }
5779
- }, T = {
5733
+ }, M = {
5780
5734
  type: "container",
5781
5735
  label: "Item Content",
5782
5736
  icon: ContentIcon,
5783
5737
  constraints: {
5784
5738
  relation: "ancestor",
5785
- component: { $eq: "AccordionItem" }
5739
+ component: { $eq: n.AccordionItem }
5786
5740
  },
5787
- presetStyle: o
5741
+ presetStyle: t
5788
5742
  };
5789
- const y$1 = {
5743
+ const d = {
5790
5744
  type: "container",
5791
5745
  icon: NavigationMenuIcon,
5792
5746
  presetStyle: {
@@ -5795,102 +5749,104 @@ const y$1 = {
5795
5749
  constraints: [
5796
5750
  {
5797
5751
  relation: "descendant",
5798
- component: { $eq: "NavigationMenuList" }
5752
+ component: { $eq: n.NavigationMenuList }
5799
5753
  },
5800
5754
  {
5801
5755
  relation: "descendant",
5802
- component: { $eq: "NavigationMenuViewport" }
5756
+ component: { $eq: n.NavigationMenuViewport }
5803
5757
  }
5804
5758
  ]
5805
- }, L = {
5759
+ }, $ = {
5806
5760
  type: "container",
5807
5761
  icon: ListIcon,
5808
5762
  constraints: [
5809
5763
  {
5810
5764
  relation: "ancestor",
5811
- component: { $eq: "NavigationMenu" }
5765
+ component: { $eq: n.NavigationMenu }
5812
5766
  },
5813
5767
  {
5814
5768
  relation: "descendant",
5815
- component: { $eq: "NavigationMenuItem" }
5769
+ component: { $eq: n.NavigationMenuItem }
5816
5770
  }
5817
5771
  ],
5818
5772
  presetStyle: {
5819
5773
  div
5820
5774
  },
5821
5775
  label: "Menu List"
5822
- }, $ = {
5776
+ }, q$1 = {
5823
5777
  type: "container",
5824
5778
  icon: ListItemIcon,
5825
5779
  constraints: {
5826
5780
  relation: "ancestor",
5827
- component: { $eq: "NavigationMenuList" }
5781
+ component: { $eq: n.NavigationMenuList }
5828
5782
  },
5829
5783
  presetStyle: {
5830
5784
  div
5831
5785
  },
5832
- indexWithinAncestor: "NavigationMenu",
5786
+ indexWithinAncestor: n.NavigationMenu,
5833
5787
  label: "Menu Item"
5834
- }, d$1 = {
5788
+ }, b$4 = {
5835
5789
  type: "container",
5836
5790
  icon: TriggerIcon,
5837
5791
  constraints: {
5838
5792
  relation: "ancestor",
5839
- component: { $eq: "NavigationMenuItem" }
5793
+ component: { $eq: n.NavigationMenuItem }
5840
5794
  },
5841
5795
  label: "Menu Trigger"
5842
- }, q = {
5796
+ }, w$1 = {
5843
5797
  type: "container",
5844
5798
  icon: ContentIcon,
5845
5799
  constraints: {
5846
5800
  relation: "ancestor",
5847
- component: { $eq: "NavigationMenuItem" }
5801
+ component: { $eq: n.NavigationMenuItem }
5848
5802
  },
5849
- indexWithinAncestor: "NavigationMenu",
5803
+ indexWithinAncestor: n.NavigationMenu,
5850
5804
  presetStyle: {
5851
5805
  div
5852
5806
  },
5853
5807
  label: "Menu Content"
5854
- }, b$1 = {
5808
+ }, C$1 = {
5855
5809
  type: "container",
5856
5810
  icon: BoxIcon,
5857
5811
  constraints: [
5858
5812
  {
5859
5813
  relation: "ancestor",
5860
- component: { $eq: "NavigationMenu" }
5814
+ component: { $eq: n.NavigationMenu }
5861
5815
  },
5862
5816
  {
5863
5817
  relation: "ancestor",
5864
- component: { $in: ["NavigationMenuContent", "NavigationMenuItem"] }
5818
+ component: {
5819
+ $in: [n.NavigationMenuContent, n.NavigationMenuItem]
5820
+ }
5865
5821
  }
5866
5822
  ],
5867
5823
  label: "Accessible Link Wrapper"
5868
- }, w$1 = {
5824
+ }, V = {
5869
5825
  type: "container",
5870
5826
  icon: ViewportIcon,
5871
5827
  constraints: {
5872
5828
  relation: "ancestor",
5873
- component: { $eq: "NavigationMenu" }
5829
+ component: { $eq: n.NavigationMenu }
5874
5830
  },
5875
5831
  presetStyle: {
5876
5832
  div
5877
5833
  },
5878
5834
  label: "Menu Viewport"
5879
5835
  };
5880
- const M = {
5836
+ const C = {
5881
5837
  type: "container",
5882
5838
  icon: SelectIcon,
5883
5839
  constraints: [
5884
5840
  {
5885
5841
  relation: "descendant",
5886
- component: { $eq: "SelectTrigger" }
5842
+ component: { $eq: n.SelectTrigger }
5887
5843
  },
5888
5844
  {
5889
5845
  relation: "descendant",
5890
- component: { $eq: "SelectContent" }
5846
+ component: { $eq: n.SelectContent }
5891
5847
  }
5892
5848
  ]
5893
- }, x = {
5849
+ }, w = {
5894
5850
  type: "container",
5895
5851
  icon: TriggerIcon,
5896
5852
  presetStyle: {
@@ -5899,14 +5855,14 @@ const M = {
5899
5855
  constraints: [
5900
5856
  {
5901
5857
  relation: "ancestor",
5902
- component: { $eq: "Select" }
5858
+ component: { $eq: n.Select }
5903
5859
  },
5904
5860
  {
5905
5861
  relation: "descendant",
5906
- component: { $eq: "SelectValue" }
5862
+ component: { $eq: n.SelectValue }
5907
5863
  }
5908
5864
  ]
5909
- }, C = {
5865
+ }, b$3 = {
5910
5866
  type: "container",
5911
5867
  label: "Value",
5912
5868
  icon: FormTextFieldIcon,
@@ -5915,9 +5871,9 @@ const M = {
5915
5871
  },
5916
5872
  constraints: {
5917
5873
  relation: "ancestor",
5918
- component: { $eq: "SelectTrigger" }
5874
+ component: { $eq: n.SelectTrigger }
5919
5875
  }
5920
- }, w = {
5876
+ }, f = {
5921
5877
  type: "container",
5922
5878
  icon: ContentIcon,
5923
5879
  presetStyle: {
@@ -5926,14 +5882,14 @@ const M = {
5926
5882
  constraints: [
5927
5883
  {
5928
5884
  relation: "ancestor",
5929
- component: { $eq: "Select" }
5885
+ component: { $eq: n.Select }
5930
5886
  },
5931
5887
  {
5932
5888
  relation: "descendant",
5933
- component: { $eq: "SelectViewport" }
5889
+ component: { $eq: n.SelectViewport }
5934
5890
  }
5935
5891
  ]
5936
- }, b = {
5892
+ }, v = {
5937
5893
  type: "container",
5938
5894
  icon: ViewportIcon,
5939
5895
  presetStyle: {
@@ -5942,61 +5898,61 @@ const M = {
5942
5898
  constraints: [
5943
5899
  {
5944
5900
  relation: "ancestor",
5945
- component: { $eq: "SelectContent" }
5901
+ component: { $eq: n.SelectContent }
5946
5902
  },
5947
5903
  {
5948
5904
  relation: "descendant",
5949
- component: { $eq: "SelectItem" }
5905
+ component: { $eq: n.SelectItem }
5950
5906
  }
5951
5907
  ]
5952
- }, f$1 = {
5908
+ }, P = {
5953
5909
  type: "container",
5954
5910
  icon: ItemIcon,
5955
5911
  constraints: [
5956
5912
  {
5957
5913
  relation: "ancestor",
5958
- component: { $eq: "SelectViewport" }
5914
+ component: { $eq: n.SelectViewport }
5959
5915
  },
5960
5916
  {
5961
5917
  relation: "descendant",
5962
- component: { $eq: "SelectItemIndicator" }
5918
+ component: { $eq: n.SelectItemIndicator }
5963
5919
  },
5964
5920
  {
5965
5921
  relation: "descendant",
5966
- component: { $eq: "SelectItemText" }
5922
+ component: { $eq: n.SelectItemText }
5967
5923
  }
5968
5924
  ],
5969
5925
  presetStyle: {
5970
5926
  div
5971
5927
  }
5972
- }, v = {
5928
+ }, h = {
5973
5929
  type: "container",
5974
5930
  label: "Indicator",
5975
5931
  icon: CheckMarkIcon,
5976
5932
  constraints: {
5977
5933
  relation: "ancestor",
5978
- component: { $eq: "SelectItem" }
5934
+ component: { $eq: n.SelectItem }
5979
5935
  },
5980
5936
  presetStyle: {
5981
5937
  span
5982
5938
  }
5983
- }, P = {
5939
+ }, k = {
5984
5940
  type: "container",
5985
5941
  label: "Item Text",
5986
5942
  icon: TextIcon,
5987
5943
  constraints: {
5988
5944
  relation: "ancestor",
5989
- component: { $eq: "SelectItem" }
5945
+ component: { $eq: n.SelectItem }
5990
5946
  },
5991
5947
  presetStyle: {
5992
5948
  span
5993
5949
  }
5994
5950
  };
5995
- const d = {
5951
+ const S = {
5996
5952
  type: "container",
5997
5953
  constraints: {
5998
5954
  relation: "descendant",
5999
- component: { $eq: "SwitchThumb" }
5955
+ component: { $eq: n.SwitchThumb }
6000
5956
  },
6001
5957
  icon: SwitchIcon,
6002
5958
  states: [
@@ -6013,13 +5969,13 @@ const d = {
6013
5969
  }
6014
5970
  ],
6015
5971
  presetStyle: {
6016
- button: [button, b$3].flat()
5972
+ button: [button, b$6].flat()
6017
5973
  }
6018
- }, u = {
5974
+ }, b$2 = {
6019
5975
  type: "container",
6020
5976
  constraints: {
6021
5977
  relation: "ancestor",
6022
- component: { $eq: "Switch" }
5978
+ component: { $eq: n.Switch }
6023
5979
  },
6024
5980
  icon: TriggerIcon,
6025
5981
  states: [
@@ -6039,11 +5995,11 @@ const d = {
6039
5995
  span
6040
5996
  }
6041
5997
  };
6042
- const k = {
5998
+ const b$1 = {
6043
5999
  type: "container",
6044
6000
  constraints: {
6045
6001
  relation: "descendant",
6046
- component: { $eq: "CheckboxIndicator" }
6002
+ component: { $eq: n.CheckboxIndicator }
6047
6003
  },
6048
6004
  icon: CheckboxCheckedIcon,
6049
6005
  states: [
@@ -6060,13 +6016,13 @@ const k = {
6060
6016
  }
6061
6017
  ],
6062
6018
  presetStyle: {
6063
- button: [button, b$3].flat()
6019
+ button: [button, b$6].flat()
6064
6020
  }
6065
- }, l = {
6021
+ }, x = {
6066
6022
  type: "container",
6067
6023
  constraints: {
6068
6024
  relation: "ancestor",
6069
- component: { $eq: "Checkbox" }
6025
+ component: { $eq: n.Checkbox }
6070
6026
  },
6071
6027
  icon: TriggerIcon,
6072
6028
  states: defaultStates,
@@ -6074,11 +6030,11 @@ const k = {
6074
6030
  span
6075
6031
  }
6076
6032
  };
6077
- const I = {
6033
+ const y = {
6078
6034
  type: "container",
6079
6035
  constraints: {
6080
6036
  relation: "descendant",
6081
- component: { $eq: "RadioGroupItem" }
6037
+ component: { $eq: n.RadioGroupItem }
6082
6038
  },
6083
6039
  icon: RadioGroupIcon,
6084
6040
  states: [
@@ -6097,29 +6053,29 @@ const I = {
6097
6053
  presetStyle: {
6098
6054
  div
6099
6055
  }
6100
- }, y = {
6056
+ }, b = {
6101
6057
  type: "container",
6102
6058
  constraints: [
6103
6059
  {
6104
6060
  relation: "ancestor",
6105
- component: { $eq: "RadioGroup" }
6061
+ component: { $eq: n.RadioGroup }
6106
6062
  },
6107
6063
  {
6108
6064
  relation: "descendant",
6109
- component: { $eq: "RadioGroupIndicator" }
6065
+ component: { $eq: n.RadioGroupIndicator }
6110
6066
  }
6111
6067
  ],
6112
6068
  icon: ItemIcon,
6113
6069
  states: defaultStates,
6114
6070
  presetStyle: {
6115
- button: [button, b$3].flat()
6071
+ button: [button, b$6].flat()
6116
6072
  }
6117
- }, f = {
6073
+ }, q = {
6118
6074
  type: "container",
6119
6075
  icon: TriggerIcon,
6120
6076
  constraints: {
6121
6077
  relation: "ancestor",
6122
- component: { $eq: "RadioGroupItem" }
6078
+ component: { $eq: n.RadioGroupItem }
6123
6079
  },
6124
6080
  states: defaultStates,
6125
6081
  presetStyle: {
@@ -6128,54 +6084,54 @@ const I = {
6128
6084
  };
6129
6085
  const radixComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6130
6086
  __proto__: null,
6131
- Accordion: f$2,
6132
- AccordionContent: T,
6133
- AccordionHeader: H,
6134
- AccordionItem: v$1,
6135
- AccordionTrigger: C$1,
6136
- Checkbox: k,
6137
- CheckboxIndicator: l,
6138
- Collapsible: c,
6139
- CollapsibleContent: b$4,
6140
- CollapsibleTrigger: C$3,
6141
- Dialog: h,
6142
- DialogClose: B,
6143
- DialogContent: S,
6144
- DialogDescription: x$1,
6145
- DialogOverlay: P$2,
6146
- DialogTitle: b$2,
6147
- DialogTrigger: O,
6148
- Label: l$1,
6149
- NavigationMenu: y$1,
6150
- NavigationMenuContent: q,
6151
- NavigationMenuItem: $,
6152
- NavigationMenuLink: b$1,
6153
- NavigationMenuList: L,
6154
- NavigationMenuTrigger: d$1,
6155
- NavigationMenuViewport: w$1,
6156
- Popover: m$1,
6157
- PopoverContent: v$2,
6158
- PopoverTrigger: P$1,
6159
- RadioGroup: I,
6160
- RadioGroupIndicator: f,
6161
- RadioGroupItem: y,
6162
- Select: M,
6163
- SelectContent: w,
6164
- SelectItem: f$1,
6165
- SelectItemIndicator: v,
6166
- SelectItemText: P,
6167
- SelectTrigger: x,
6168
- SelectValue: C,
6169
- SelectViewport: b,
6170
- Switch: d,
6171
- SwitchThumb: u,
6172
- Tabs: y$2,
6173
- TabsContent: L$1,
6174
- TabsList: $$1,
6175
- TabsTrigger: C$2,
6176
- Tooltip: m,
6177
- TooltipContent: T$1,
6178
- TooltipTrigger: l$2
6087
+ Accordion: H,
6088
+ AccordionContent: M,
6089
+ AccordionHeader: T,
6090
+ AccordionItem: C$2,
6091
+ AccordionTrigger: x$1,
6092
+ Checkbox: b$1,
6093
+ CheckboxIndicator: x,
6094
+ Collapsible: m$1,
6095
+ CollapsibleContent: g$2,
6096
+ CollapsibleTrigger: b$7,
6097
+ Dialog: H$1,
6098
+ DialogClose: E,
6099
+ DialogContent: x$3,
6100
+ DialogDescription: h$1,
6101
+ DialogOverlay: b$5,
6102
+ DialogTitle: B,
6103
+ DialogTrigger: S$1,
6104
+ Label: l,
6105
+ NavigationMenu: d,
6106
+ NavigationMenuContent: w$1,
6107
+ NavigationMenuItem: q$1,
6108
+ NavigationMenuLink: C$1,
6109
+ NavigationMenuList: $,
6110
+ NavigationMenuTrigger: b$4,
6111
+ NavigationMenuViewport: V,
6112
+ Popover: l$1,
6113
+ PopoverContent: g$1,
6114
+ PopoverTrigger: v$1,
6115
+ RadioGroup: y,
6116
+ RadioGroupIndicator: q,
6117
+ RadioGroupItem: b,
6118
+ Select: C,
6119
+ SelectContent: f,
6120
+ SelectItem: P,
6121
+ SelectItemIndicator: h,
6122
+ SelectItemText: k,
6123
+ SelectTrigger: w,
6124
+ SelectValue: b$3,
6125
+ SelectViewport: v,
6126
+ Switch: S,
6127
+ SwitchThumb: b$2,
6128
+ Tabs: C$3,
6129
+ TabsContent: x$2,
6130
+ TabsList: L,
6131
+ TabsTrigger: u,
6132
+ Tooltip: d$1,
6133
+ TooltipContent: g,
6134
+ TooltipTrigger: m
6179
6135
  }, Symbol.toStringTag, { value: "Module" }));
6180
6136
  const createFramework$2 = async () => {
6181
6137
  const routeTemplatesDir = join("app", "route-templates");
@@ -6199,20 +6155,12 @@ const createFramework$2 = async () => {
6199
6155
  const radixComponentNamespacedMetas = {};
6200
6156
  for (const [name2, meta] of Object.entries(radixComponentMetas)) {
6201
6157
  const namespace = "@webstudio-is/sdk-components-react-radix";
6202
- radixComponentNamespacedMetas[`${namespace}:${name2}`] = namespaceMeta(
6203
- meta,
6204
- namespace,
6205
- new Set(Object.keys(radixComponentMetas))
6206
- );
6158
+ radixComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
6207
6159
  }
6208
6160
  const animationComponentNamespacedMetas = {};
6209
6161
  for (const [name2, meta] of Object.entries(animationComponentMetas)) {
6210
6162
  const namespace = "@webstudio-is/sdk-components-animation";
6211
- animationComponentNamespacedMetas[`${namespace}:${name2}`] = namespaceMeta(
6212
- meta,
6213
- namespace,
6214
- new Set(Object.keys(animationComponentMetas))
6215
- );
6163
+ animationComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
6216
6164
  }
6217
6165
  return {
6218
6166
  components: [
@@ -6265,11 +6213,11 @@ const createFramework$2 = async () => {
6265
6213
  };
6266
6214
  const reactRouterComponentMetas = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
6267
6215
  __proto__: null,
6268
- Body: n$5,
6269
- Form: n$3,
6270
- Link: l$6,
6271
- RemixForm: p$9,
6272
- RichTextLink: a$7
6216
+ Body: n$9,
6217
+ Form: c$4,
6218
+ Link: n$5,
6219
+ RemixForm: n$4,
6220
+ RichTextLink: a$8
6273
6221
  }, Symbol.toStringTag, { value: "Module" }));
6274
6222
  const createFramework$1 = async () => {
6275
6223
  const routeTemplatesDir = join("app", "route-templates");
@@ -6293,20 +6241,12 @@ const createFramework$1 = async () => {
6293
6241
  const radixComponentNamespacedMetas = {};
6294
6242
  for (const [name2, meta] of Object.entries(radixComponentMetas)) {
6295
6243
  const namespace = "@webstudio-is/sdk-components-react-radix";
6296
- radixComponentNamespacedMetas[`${namespace}:${name2}`] = namespaceMeta(
6297
- meta,
6298
- namespace,
6299
- new Set(Object.keys(radixComponentMetas))
6300
- );
6244
+ radixComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
6301
6245
  }
6302
6246
  const animationComponentNamespacedMetas = {};
6303
6247
  for (const [name2, meta] of Object.entries(animationComponentMetas)) {
6304
6248
  const namespace = "@webstudio-is/sdk-components-animation";
6305
- animationComponentNamespacedMetas[`${namespace}:${name2}`] = namespaceMeta(
6306
- meta,
6307
- namespace,
6308
- new Set(Object.keys(animationComponentMetas))
6309
- );
6249
+ animationComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
6310
6250
  }
6311
6251
  return {
6312
6252
  components: [
@@ -6381,20 +6321,12 @@ const createFramework = async () => {
6381
6321
  const radixComponentNamespacedMetas = {};
6382
6322
  for (const [name2, meta] of Object.entries(radixComponentMetas)) {
6383
6323
  const namespace = "@webstudio-is/sdk-components-react-radix";
6384
- radixComponentNamespacedMetas[`${namespace}:${name2}`] = namespaceMeta(
6385
- meta,
6386
- namespace,
6387
- new Set(Object.keys(radixComponentMetas))
6388
- );
6324
+ radixComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
6389
6325
  }
6390
6326
  const animationComponentNamespacedMetas = {};
6391
6327
  for (const [name2, meta] of Object.entries(animationComponentMetas)) {
6392
6328
  const namespace = "@webstudio-is/sdk-components-animation";
6393
- animationComponentNamespacedMetas[`${namespace}:${name2}`] = namespaceMeta(
6394
- meta,
6395
- namespace,
6396
- new Set(Object.keys(animationComponentMetas))
6397
- );
6329
+ animationComponentNamespacedMetas[`${namespace}:${name2}`] = meta;
6398
6330
  }
6399
6331
  return {
6400
6332
  components: [
@@ -7006,7 +6938,7 @@ const build = async (options) => {
7006
6938
  const exitIfCancelled = (value) => {
7007
6939
  if (isCancel(value)) {
7008
6940
  cancel("Project initialization is cancelled");
7009
- process.exit(0);
6941
+ process.exit(1);
7010
6942
  }
7011
6943
  return value;
7012
6944
  };
@@ -7014,7 +6946,7 @@ const initFlow = async (options) => {
7014
6946
  const isProjectConfigured = await isFileExists(".webstudio/config.json");
7015
6947
  let shouldInstallDeps = false;
7016
6948
  let folderName;
7017
- let projectTemplate = void 0;
6949
+ let projectTemplate;
7018
6950
  if (isProjectConfigured === false) {
7019
6951
  const shouldCreateFolder = exitIfCancelled(
7020
6952
  await confirm({
@@ -7043,12 +6975,14 @@ const initFlow = async (options) => {
7043
6975
  })
7044
6976
  );
7045
6977
  await link({ link: shareLink });
7046
- projectTemplate = exitIfCancelled(
7047
- await select$1({
7048
- message: "Where would you like to deploy your project?",
7049
- options: PROJECT_TEMPLATES
7050
- })
7051
- );
6978
+ if (!options.template.length) {
6979
+ projectTemplate = exitIfCancelled(
6980
+ await select$1({
6981
+ message: "Where would you like to deploy your project?",
6982
+ options: PROJECT_TEMPLATES
6983
+ })
6984
+ );
6985
+ }
7052
6986
  shouldInstallDeps = exitIfCancelled(
7053
6987
  await confirm({
7054
6988
  message: "Would you like to install dependencies? (recommended)",
@@ -7056,7 +6990,7 @@ const initFlow = async (options) => {
7056
6990
  })
7057
6991
  );
7058
6992
  }
7059
- if (projectTemplate === void 0) {
6993
+ if (!options.template.length && projectTemplate === void 0) {
7060
6994
  projectTemplate = exitIfCancelled(
7061
6995
  await select$1({
7062
6996
  message: "Where would you like to deploy your project?",
@@ -7067,14 +7001,12 @@ const initFlow = async (options) => {
7067
7001
  await sync({ buildId: void 0, origin: void 0, authToken: void 0 });
7068
7002
  await build({
7069
7003
  ...options,
7070
- ...projectTemplate && {
7071
- template: mapToTemplatesFromOptions([projectTemplate])
7072
- }
7004
+ template: projectTemplate ? mapToTemplatesFromOptions([projectTemplate]) : options.template
7073
7005
  });
7074
7006
  if (shouldInstallDeps === true) {
7075
7007
  const install = spinner();
7076
7008
  install.start("Installing dependencies");
7077
- await x$2("npm", ["install"]);
7009
+ await x$4("npm", ["install"]);
7078
7010
  install.stop("Installed dependencies");
7079
7011
  }
7080
7012
  log.message();
@@ -7105,7 +7037,7 @@ const getDeploymentInstructions = (deployTarget) => {
7105
7037
  }
7106
7038
  };
7107
7039
  const name = "webstudio";
7108
- const version = "0.208.0";
7040
+ const version = "0.210.0";
7109
7041
  const description = "Webstudio CLI";
7110
7042
  const author = "Webstudio <github@webstudio.is>";
7111
7043
  const homepage = "https://webstudio.is";
@@ -7150,28 +7082,28 @@ const dependencies = {
7150
7082
  "reserved-identifiers": "^1.0.0",
7151
7083
  tinyexec: "^0.3.2",
7152
7084
  yargs: "^17.7.2",
7153
- zod: "^3.22.4"
7085
+ zod: "^3.24.2"
7154
7086
  };
7155
7087
  const devDependencies = {
7156
7088
  "@netlify/vite-plugin-react-router": "^1.0.0",
7157
- "@react-router/dev": "^7.3.0",
7158
- "@react-router/fs-routes": "^7.3.0",
7159
- "@remix-run/cloudflare": "^2.16.0",
7160
- "@remix-run/cloudflare-pages": "^2.16.0",
7161
- "@remix-run/dev": "^2.16.0",
7162
- "@remix-run/node": "^2.16.0",
7163
- "@remix-run/react": "^2.16.0",
7164
- "@remix-run/server-runtime": "^2.16.0",
7089
+ "@react-router/dev": "^7.4.0",
7090
+ "@react-router/fs-routes": "^7.4.0",
7091
+ "@remix-run/cloudflare": "^2.16.2",
7092
+ "@remix-run/cloudflare-pages": "^2.16.2",
7093
+ "@remix-run/dev": "^2.16.2",
7094
+ "@remix-run/node": "^2.16.2",
7095
+ "@remix-run/react": "^2.16.2",
7096
+ "@remix-run/server-runtime": "^2.16.2",
7165
7097
  "@types/react": "^18.2.70",
7166
7098
  "@types/react-dom": "^18.2.25",
7167
7099
  "@types/yargs": "^17.0.33",
7168
7100
  "@vercel/react-router": "^1.1.0",
7169
7101
  "@vitejs/plugin-react": "^4.3.4",
7102
+ "@webstudio-is/css-engine": "workspace:*",
7170
7103
  "@webstudio-is/http-client": "workspace:*",
7171
7104
  "@webstudio-is/image": "workspace:*",
7172
7105
  "@webstudio-is/react-sdk": "workspace:*",
7173
7106
  "@webstudio-is/sdk": "workspace:*",
7174
- "@webstudio-is/css-engine": "workspace:*",
7175
7107
  "@webstudio-is/sdk-components-animation": "workspace:*",
7176
7108
  "@webstudio-is/sdk-components-react": "workspace:*",
7177
7109
  "@webstudio-is/sdk-components-react-radix": "workspace:*",
@@ -7179,13 +7111,13 @@ const devDependencies = {
7179
7111
  "@webstudio-is/sdk-components-react-router": "workspace:*",
7180
7112
  "@webstudio-is/tsconfig": "workspace:*",
7181
7113
  h3: "^1.15.1",
7182
- ipx: "^3.0.1",
7114
+ ipx: "^3.0.3",
7183
7115
  prettier: "3.5.3",
7184
7116
  react: "18.3.0-canary-14898b6a9-20240318",
7185
7117
  "react-dom": "18.3.0-canary-14898b6a9-20240318",
7186
- "react-router": "^7.3.0",
7118
+ "react-router": "^7.4.0",
7187
7119
  "ts-expect": "^1.3.0",
7188
- vike: "^0.4.224",
7120
+ vike: "^0.4.227",
7189
7121
  vite: "^5.4.11",
7190
7122
  vitest: "^3.0.8",
7191
7123
  wrangler: "^3.63.2"